http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Multimedia-Systems: Synchronization Prof. Dr.-Ing. Ralf Steinmetz Dr. L.Wolf, Dr. S.Fischer TU Darmstadt - Darmstadt University of Technology, Dept. of Electrical Engineering and Information Technology, Dept. of Computer Science KOM - Industrial Process and System Communications, Tel.+49 6151 166151, Merckstr. 25, D-64283 Darmstadt, Germany, Ralf.Steinmetz@KOM.tu-darmstadt.de Fax. +49 6151 166152 GMD - German National Research Center for Information Technology IPSI - Integrated Publication and Information Systems Institute, Tel.+49 6151 869869 Dolivostr. 15, D-64293 Darmstadt, Germany, Ralf.Steinmetz@darmstadt.gmd.de Fax. +49 6151 869870 14-sync.fm 1 22.October.99 Usage Services Systems http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Scope Applications Learning & Teaching Content Processing Documents Design Security Opt. Memories Group SynchroCommuninization cations ... Databases Media-Server User Interfaces Programming Operating Systems Communications Quality of Service Networks Basics Compression 14-sync.fm 2 22.October.99 Computer Architectures Image & Graphics Animation Video Audio http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz 14-sync.fm 3 22.October.99 Contents 1. Motivation - What is (Multimedia) Synchronization? 2. Synchronization and Multimedia 3. Reference Model for Multimedia - Synchronization 4. Synchronization in a Distributed Environment 5. Synchronization Techniques 6. Case Studies http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz 1. Motivation - What is (Multimedia) Synchronization? Application 1 Content Space Application 2 Application 4 Application 3 Time We concentrate on: • Temporal relationship • New flavor in the context of multimedia • Essential for communications 14-sync.fm 4 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Content Relations Dependence of media objects on data Examples: • A graphic that visualizes data from a spreadsheet • Two graphics showing different views of the same data Explicit definition of dependences for automated update • Only the data are edited • All views of the data are • generated automatically • cannot be edited directly • An update of the data triggers an update of the related views. Implementation of content relations is based on the use of • common data structures or • common object interfaces 14-sync.fm 5 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Spatial Relations Usually known as layout relationships • Define the space which is used for the presentation of a media object • on an output device • at a certain point of time in a multimedia presentation Typically expressed in layout frames: • A layout frame is placed and a content is assigned to this frame • The positioning of a layout frame in a document may be • fixed to a position in a document • fixed to a position on a page • relative to the positioning of other frames Spatial relations for time-dependent media objects: • A frame or a group of frames may be presented in a window • An audio presentation can be positioned on a stereo output device 14-sync.fm 6 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Temporal Relations Importance for time-dependent media objects • new flavor in context of Multimedia • essential for communications Example for temporal relations: • Temporal relation between • video object • audio object recorded during a concert At presentation time: • temporal relation of the two media objects must correspond to the temporal relation at the recording moment Relations: • at the same time • independently • after another 14-sync.fm 7 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Intra-object Synchronization Intra-object Synchronization Intraobject synchronization defines the time relation between various presentation units of one time-dependent media object Example: • Time relation between the single frames of a video sequence. For a video with a rate of 25 frames per second each of the frames has to be displayed for 40 ms 40ms t Frames of a video sequence that shows a jumping ball 14-sync.fm 8 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Inter-object Synchronization Inter-object Synchronization Inter-object synchronization defines the synchronization between media objects Example: • Time relations of a multimedia synchronization that starts with an audio/video sequence, followed by several pictures and an animation that is commented by an audio sequence Audio1 Audio2 P1 Video P2 P3 Animation t 14-sync.fm 9 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Logical Data Units Logical Data Unit An information unit - usually part of a sequence of information units - of a time-dependent media object Granularity levels of LDUs • Application dependent • Imply a hierarchical decomposition of media objects • Example: Samples Notes Movements Symphony The LDU hierarchy of a Symphony 14-sync.fm 10 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Classification of LDUs Closed LDUs • have a predictable duration Example: • LDUs that are parts of stored media objects of continuous media like • audio and video or • stored media objects with a fixed duration. Open LDUs • duration is not predictable before the presentation execution Example: • Open LDUs typically represent • input from a life source, for example a camera or a microphone, or • media objects that include an user interaction 14-sync.fm 11 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Classification of LDUs (cont.) Physical units as LDUs: Pic. 1 Pic. 2 Pic. 3 Pic. 4 Pic.n 1/30 s t t Physical units of a video sequence as LDUs Blocks of samples as LDUs: physical frame duration = 1/sample frequency (e.g., 1/8000 s) Audio 1 Audio 2 Audio 3 Audio 4 Audio n t duration of a Logical Data Unit of 512 Bytes (e.g., = 0.064 s) Blocked physical units of an audio sequence as LDUs 14-sync.fm 12 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Classification of LDUs (cont.) User selected LDU duration • typically in the case of computer generated media objects. Frame1 Frame 2 Frame 3 Frame 4 Frame n t duration of Logical Data Units of selected size (= e.g.1/15 s) LDUs of an animation sequence of user selected size Varying durations of LDUs • typically in the case of recorded user interactions. Action 1 Action 2 A.3 Action 4 t LDUs of a recorded user interaction LDUs of an user interaction in a window system with varying durations 14-sync.fm 13 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Classification of LDUs (cont.) Open LDUs with unpredictable duration • Typically a user interaction with in advance unknown duration User selection LDU duration not known before the actual processing An open LDU representing an user interaction Timers represented as stream of empty LDUs LDUs of 10 ms duration LDUs of a timer 14-sync.fm 14 22.October.99 t t http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Classification of LDUs - Overview 14-sync.fm 15 22.October.99 Duration defined by Fixed Duration of LDU Variable or unknown Duration of LDU Capturing User Audio, Video Animation, Timer Recorded interaction User interaction http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization Examples Lip synchronization • demands for a tight coupling of audio and video streams with • a limited skew between the two media streams Frame 1 Frame 2 Frame 3 Frame 4 Audio 1 Frame n Audio 2 Audio max. 80 ms advance Audio n Video max. 80 ms advance LDU view of lip synchronization Slide show with audio comment: Slide 1 Slide 2 Slide 3 Audio sequence LDU view of a slide show 14-sync.fm 16 22.October.99 Slide 4 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Application Example Example used further in the course: A lip synchronized audio video sequence (Audio1 and Video) is followed by a replay of a recorded user interaction (RI), a slide sequence (P1 - P3) and an animation (Animation) which is partially commented using an audio sequence (Audio2). Starting the animation presentation, a multiple choice question is presented to the user (Interaction). If the user has made a selection, a final picture (P4) is shown. RI Audio1 Video Interaction P1 P2 P3 Audio2 P4 Animation t Synchronization example 14-sync.fm 17 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz 2. Synchronization and Multimedia MM User Interface MM Application MM Programming Environment Sync. QoS Requirements MM Operating System Environment Typical Requirements: • hard vs. soft Strong Interaction with QoS • acceptable, too bad ... Variety of Mechanisms • Live Synchronisation • Live Synchronisation with Storage • Synthetical Synchronisation 14-sync.fm 18 22.October.99 Sync. QoS Provision http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Why Multimedia-Synchronization? MM User Interface MM Application MM Programming Environment Sync. QoS Requirements MM Operating System Environment Media Video Audio 14-sync.fm 19 22.October.99 Sync. Qos Provision Animation Audio Image Text Animation Audio Image Text Pointer Influenced by Skew (QoS) ? ? ? ? ? ? ? ? ? ? http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Multimedia Synchronization - Experiments Example: • at IBM ENC Heidelberg to quantify synchronization requirements for: • Audio/video synchronization • Audio/pointer synchronization Selection of material: • Duration • 30s in experiments • 5s would have been sufficient • Reuse of same material for all tests Introduction of artificial skew: • By media composition with professional video equipment • With frame based granularity Test conditions: • Huge set of test candidates • Professional: cutter at TV studios • Casual: every day “user” • Awareness of the synchronization issues • Set of tests with different skews lasted 45 min 14-sync.fm 20 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Feedback - Questionnaire 1 While watching this video clip, did you detect any artifact or strange effect? If so, please try to describe it in a few words. (-) .... 2 Are you able to identify if audio was ahead of or behind the moving pictures? (.) a) Yes, I identify audio to be played ahead of video b) Yes, I identify audio to be played behind video c) No, I notice that audio is out of sync with respect to video but, I am not sure if audio is played ahead of or behind video. 3 14-sync.fm 21 22.October.99 You noticed a synchronization error. How would you qualify this error if you have to watch all your TV programs with such an error? (.) a) I would not mind, the error is acceptable b) I dislike it, the error is annoying c) I am not sure if I would accept such an error or if I would really dislike it http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Lip Synchronization: Major Influencing Factors Video: • Content • Continuous (talking head) vs. discrete events (hammer and nails) • Background (no distraction) • Resolution and quality • View mode (head view, shoulder view, body view) Audio: • Content • Background noise or music • Language and articulation 14-sync.fm 22 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Lip Synchronization: Level of Detection Detected Errors [%] 100 80 60 40 20 0 -320 -280 -240 -200 -160 -120 -80 -40 Head View Shoulder View audio behind video Areas: • In sync QoS: +/- 80 ms • Transient • Out of sync 14-sync.fm 23 22.October.99 0 40 80 Body View 120 160 200 240 280 320 Skew [msec] audio ahead of video http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Lip Synch.: Level of Accuracy/Annoyance Level Of Annoyance [%] 100 80 60 40 20 0 -320 -280 -240 -200 -160 -120 -80 -40 annoying indifferent audio behind video Some observations: • Asymmetry • Additional tests with long movie • +/- 80 ms: no distraction • -240 ms, +160 ms: disturbing 14-sync.fm 24 22.October.99 0 40 acceptable 80 120 160 200 240 280 320 Skew [msec] View: Shoulder audio ahead of video http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Pointer Synchronization Fundamental CSCW shared workspace issue Analysis of CSCW scenarios: • Discrete pointer movement (e.g. “technical sketch”) • Continuous pointer movements (e.g. “route on map”) Most challenging probes: • Short audio • Fast pointer movement 14-sync.fm 25 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Pointer Synchronization: Level of Detection Detected Errors [%] 100 80 60 40 20 0 -3000 -2000 -1500 -1250 -1000 -750 -500 -250 Map 250 Technical Sketch audio behind pointer Observations: • Difficult to detect “out of sync”: • i.e., other magnitude than lip sync • Asymmetry: • According to every day experience 14-sync.fm 26 22.October.99 0 500 750 1000 1250 1500 2000 3000 Skew [msec] audio ahead of pointer http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Pointer Synchronization: Level of Annoyance Level Of Annoyance [%] 100 80 60 40 20 0 -3000 -2000 -1500 -1250 -1000 -750 -500 -250 Map audio behind pointer Areas: • In sync: QoS -500 ms, +750 ms • Transient • Out of sync 14-sync.fm 27 22.October.99 0 250 Technical Sketch 500 750 1000 1250 1500 2000 3000 Skew [msec] audio ahead of pointer http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization QoS: Skew Values Media Mode, Application Video Animation correlated +/- 120 ms Audio lip synchronization +/- 80 ms Image overlay +/- 240 ms non-overlay +/-500 ms overlay +/- 240 ms non-overlay +/-500 ms Text Audio Animation event correlation (e.g., dancing) +/- 80 ms tightly coupled (stereo) +/- 11 µs loosely coupled (dialogue mode with various participants) +/- 120 ms loosely coupled (e.g., background music) +/- 500 ms tightly coupled (e.g., music with notes) +/- 5 ms loosely coupled (e.g., slide show) +/- 500 ms Text Anmerkungen zu Text +/- 240 ms Pointer Audio Related to the Itlem -500ms +750 ms Audio Image 14-sync.fm 28 22.October.99 QoS http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz 3. Reference Model for Multimedia - Synchronization A reference model is needed • to understand the various requirements for multimedia synchronization • to identify and structure runtime mechanisms • to identify interfaces between runtime mechanisms • to compare system solutions for multimedia synchronization systems 14-sync.fm 29 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Existing Synchronization Models Classification methods: • Physical, system, and human level • Intra-stream (fine-grain) synchronization and inter-stream (coarse-grain) synchronization • Live and synthetical synchronization • Mapping Multimedia Object t Time composition Derived Media Objects Derivation Media Objects Interpretation Uninterpreted Bytestream 14-sync.fm 30 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Classification of Synchronization Techniques Inter-object synchronization techniques: • used to control jitter between media streams • classification according to the type and location of the synchronization control Distributed synchronization control: • distributed control based on protocols • distribution based on servers • distribution on nodes without server structure Local synchronization control: • control on several layers • use of local servers 14-sync.fm 31 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Four Layer Model Multimedia application Specification layer Stream layer Media layer 14-sync.fm 32 22.October.99 Abstraction Object layer high low http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization Specification Synchronization specification • describes all temporal dependencies of the included objects in a multimedia object • is part of the description of a multimedia object • should comprise: • Intra-object synchronization specifications for the media objects of the presentation • Quality of service descriptions for the intra-object synchronizations • Inter-object synchronization specifications between the media objects of the presentation • Quality of service descriptions for the inter-object synchronizations • may comprise: • alternative presentation forms • must be explicitly described in a synthetical synchronization • is implicitly defined in a live synchronization 14-sync.fm 33 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Layered Model - Summary Layer Interface Abstraction Tasks Specification The tools performing the tasks of this layer have interfaces, the layer itself has no upper interface to edit to format to map the quality of service values to the object layer Object Objects that hide types of enclosed media Plan and coordinate presentation execution Synchronization Specification Initiate presentation of time-dependent media objects Media-oriented quality of service (In terms like allowed skew, allowed jitter) Stream Streams and groups of streams Guarantees for intra-stream synchronization Initiate presentation of time-independent media objects Resource Reservation and scheduling of LDU processing Guarantees for inter-stream synchronization of streams in a group Media Device independent access to LDUs. Guarantees for single LDU processing 14-sync.fm 34 22.October.99 File and device access http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz 4. Synchronization in a Distributed Environment More complex than in a local environment: • Distributed storage of synchronization information • Distributed storage of media objects • Communication delays and jitter • Multi-party communication patterns 14-sync.fm 35 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Transport of Synchronization Specification Delivery of the complete synchronization information before the start of the presentation Use of an additional synchronization channel: Video Audio Source Sink Synchronization Use of a multiplexed channel: Video Source multiplexed Audio Synchronization 14-sync.fm 36 22.October.99 Sink http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Location of Synchronization Operations Synchronization at the sink node Source Bandwidth demand Sink Synchronization at the source node Source 14-sync.fm 37 22.October.99 Bandwidth demand Sink http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Clock Synchronization Problem: Skew between the clocks Source A Ta, Sa Audio Nla Sink AV Tav Tv, Sv Source V Video Nlv • Clock skew has to be considered in the planning of the presentation: • Tav: Start of presentation • Nla: Known net delay • Sa,Sv as Skews • Start time of audio transmission of Source A: Ta=Tav - Nla - Sa • Start time of video transmission of Source V: Tv=Tav - Nlb - Sv. • Restricted buffer size demands for restricted skew 14-sync.fm 38 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Multiple Communication Relations Sources : Sinks 1:1 n:1 1:n n:m Sources 14-sync.fm 39 22.October.99 Sinks http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Multi Step Synchronization • Synchronization during object acquirement • Synchronization of retrieval • Synchronization during delivery of the LDUs to the network • Synchronization during the transport • Synchronization at the sink • Synchronization within the output device 14-sync.fm 40 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz 5. Synchronization Techniques Specification of great importance • Simple specification method: A before B A overlaps B A starts B A equals B A B A B A B A meets B A during B A finishes B A B Types of temporal relations between two objects 14-sync.fm 41 22.October.99 A B A B A B http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Specification Methods - Requirements Complex specification comprise: • multiple object synchronization • user interactions Requirements for a specification method: • Support of object consistency and for maintenance of specifications • Media objects should be kept as one logical unit in the specification • All types of synchronization relations should be easily describable • Support for the integration of time-dependent and time-independent media objects • Quality of service requirements must be describable • Support of hierarchical levels of a synchronization 14-sync.fm 42 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Basic Hierarchical Specification Two main synchronization operations: • Serial synchronization of actions • Parallel synchronization of actions Action: • an atomic action handles the presentation of either a single-media object or a user input or a delay. • a compound action is a combination of synchronization operators and atomic actions. Pic. 1 Pic. 2 Pic. 3 Slide sequence Serial and parallel presentations 14-sync.fm 43 22.October.99 Audio Video Lip synchronous audio/video presentation http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Basic Hierarchical Specification Delay as a possible action allows for • delays in serial presentations and • delayed presentations of objects in a parallel synchronization. Application example: RI Audio1 Pic.1 Pic.2 Pic.3 Video Ani.1 Ani.2 Aud.2 Ani.3 UI Pic.4 Hierarchical specification of the application example (RI = Recorded Interaction, Pic. = Picture, Aud. = Audio, Ani. = Animation, UI = User Interaction) 14-sync.fm 44 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Basic Hierarchical Specification Not all relations can be described. A1 A2 B1 A3 B2 C1 B3 C2 C3 Example of a synchronization that can not be described Advantages Disadvantages Easy to understand Additional description of skew quality of service necessary Natural support of For the presentation of time-independent media objects presentation durations must be added hierarchies Integration of interactive objects is easy Need for the splitting of media objects for synchronization purposes No adequate abstractions for media object contents Some synchronization scenarios can not be described 14-sync.fm 45 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization Based on a Global Timer All single-media objects are attached to a time axis Application example Record. UI Audio1 Video Interaction P1 P2 P3 Animation P4 Audio2 t ? Time axis synchronization specification of the application example 14-sync.fm 46 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization Based on a Global Timer Advantages Easy to understand Objects of unknown duration cannot be integrated, extensions to the model are required Support of hierarchies easy to realize Skew quality of service has to be specified indirectly by using the common time axis or additional quality of service specifications have to be given Easy to maintain because of the mutual independence of objects In a distributed environment the notion of a global unique time has to be kept Good abstraction for media contents Integration of time-independent objects is easy 14-sync.fm 47 22.October.99 Disadvantages http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization Based on Virtual Axes Specification using • coordinate systems with user defined measurement units • several virtual axes to create a virtual coordinate space Example: Virtual axes with measurement unit pitch Virtual axis with measurement unit beat Music notes as example for virtual axes At runtime the virtual axes are mapped to real axes 14-sync.fm 48 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization Based on Virtual Axes Application example:. P4 Time axis t Interaction Interaction axis P1 P2 P3 Audio1 Animation Record. UI Video Audio2 Time axis Virtual time axis specification of the application example 14-sync.fm 49 22.October.99 t http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization Based on Virtual Axes Advantages Easy to understand Skew quality of service only indirectly or by additional specifications definable Often specification according to the problem space possible Specification may become complex by many axes Good possibility for building hierarchies Mapping of axes at runtime may be complex and time consuming Easy maintainable, because objects are kept as units and mutual independent objects Good abstraction for media content Easy integration of time independent media objects Interactive objects can be included using specialized axes 14-sync.fm 50 22.October.99 Disadvantages http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization based on Reference Points Synchronization via reference points: • Time-dependent single-media objects are regarded as sequences of LDUs • Reference points: • the start time and the stop time of the presentation of a media object • the start-times of the subunits of time-dependent media objects • Synchronization point: • A set of connected reference points • Defines the synchronization between objects • LDUs have to be started resp. stopped when it is reached • Description of temporal relations without explicit reference to time. 14-sync.fm 51 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization based on Reference Points Lip synchronization example Video Audio Lip synchronization in the reference point synchronization model Slide show example. Slide 1 Slide 2 Slide 3 Slide 4 Audio Example of a slide show with audio sequence in the reference point model 14-sync.fm 52 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization based on Reference Points Application example Record. UI Audio Video Interaction P1 P2 P3 Audio P4 Animation Example of the integration of time-dependent and time-independent media objects as well as closed and open LDUs in a reference point synchronization specification 14-sync.fm 53 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization based on Reference Points . Advantages Easy to understand More difficult to change because of the direct description of dependencies Natural description of temporal relations Sometimes complex hierarchies Easy integration of open LDUs Integrated description of skew quality of service Easy integration of time-independent objects Time axis are special case of the reference point synchronization model 14-sync.fm 54 22.October.99 Disadvantages http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Event-based Synchronization Event-based synchronization presentation actions are initiated by the synchronization events Typical presentation actions are: • to start a presentation • to stop a presentation • to prepare a presentation Events • may be external, e.g. generated by a timer, or • internal to the presentation generated by a time-dependent media object that reaches a specific LDU 14-sync.fm 55 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Event-based Synchronization Application example: Event Action Start Audio1 start Video start Pic.1 start Timer1 start(3) Pic.2 ... 14-sync.fm 56 22.October.99 Audio.stop Timer1. ready stop start ... http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Event-based Synchronization Advantages Disadvantages Easy integration of interactive objects Not easy to handle Easy extensible by new events Complex specification Flexible because any event can be specified Hard to maintain Integration of time-independent objects by using additional timers Separate descriptions of quality of service necessary Difficult use of hierarchies 14-sync.fm 57 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Petri net-based synchronization The rules for a timed petri net are: • A transition fires if all input places contain a non blocking token. • If a transition fires, on each input place a token is removed and to each output place a token is added • After firing, a token is blocked for the duration that is assigned to its new place Lip synchronization example. F1 F2 F3 F4 F5 11 ms 11 ms 11 ms 11 ms 11 ms A1 A1 33ms 33ms Petri net based synchronization of a lip synchronization 14-sync.fm 58 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Petri-Net based synchronization Example for a hierarchy: D 0 ms F1 F2 11 ms 11 ms A1 33ms S 33 ms 14-sync.fm 59 22.October.99 F3 11 ms D 0 ms http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Petri-Net based synchronization Application example: Audio-Video subnet Record.UI Picture subnet S R P 60 s 20 s 15 s User interaction PI A1 Animationsubnet 1 Closing picture P4 A2 Au Animation subnet 2 and Audio subnet Petri net specification of the application example 14-sync.fm 60 22.October.99 A3 Animation subnet 3 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Petri-Net based synchronization . 14-sync.fm 61 22.October.99 Advantages Disadvantages Hierarchies can be created Not easy to handle Easy integration of time-independent objects Complex specification Easy integration of interactive objects Splitting of media objects Integrated skew quality of service Insufficient abstraction for the content of the media objects http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Scripts Script • Textual description of a synchronization scenario • Elements of scripts are activities and subscripts • Three main operations in a script are • serial presentation • parallel presentation • repeated presentation of a media object • Often full programming languages extended by the timing operations 14-sync.fm 62 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Scripts activity activity activity activity activity activity activity activity activity activity DigAudioAudio(“video.au”); SMPVideo(“video.smp”); XRecorderRecorder(“window.rec”); PicturePicture1(“bild1.jpeg”); PicturePicture2(“bild2.jpeg”); PicturePicture3(“bild3.jpeg”); PicturePicture4(“bild4.jpeg”); StartIntercationSelection; DigAudioAniAudio(“animation.au”); RTAnimaAnimation(“animation.ani”); script Picture_sequence 3Pictures= Picture1.Duration(5) >> Picture2.Duration(5) >> Picture3.Duration(5); script Lipsynch AV = Audio & Video; script AniComment AA = Animation & AniAudio.Translate(2); script Multimedia Application_example {( AV >> Record. UI >> 3Pictures >> ( (Selection >> Picture4) & AA )} 14-sync.fm 63 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Scripts Advantages Disadvantages Easy hierarchies Not easy to handle Logical structure of objects can be kept Complex specification Easy integration of time-independent objects Implicit usage of common timers necessary Easy integration of interactive objects Special constructs for skew quality of service necessary Skew quality of service can be specified Easy extensible by new synchronization constructs Flexible because programmable 14-sync.fm 64 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz 6. Case Studies MHEG Coded Representation of Multimedia and Hypermedia Objects • representation and encoding of • final form multimedia and hypermedia information objects to be interchanged within or across applications and services MHEG objects • Content objects encapsulate media objects that are part of the presentation • Composite objects act as a ‘container’ to group a set of MHEG objects • Action objects are used to exchange sets of actions to be performed between objects • Link objects are used to specify spatial, temporal and conditional relations between MHEG objects 14-sync.fm 65 22.October.99 http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Synchronization in MHEG Generic space: • provides a virtual coordinate system • used to specify the layout and relation of content objects • one time axis of infinite length measured in generic units of time • three spatial axes (X=latitude, Y=longtitude, Z=altitude) of finite length in an interval of [-32768,+32767] • MHEG maps from the virtual to the real coordinate space Presentation of content objects: • Based on the exchange of action objects that are sent to an object • Examples for actions are: • prepare for setting the object in a state that enables the object to present itself • run to start the presentation • stop to stop the presentation 14-sync.fm 66 22.October.99 Action list: • Combination of actions to action lists • Parallel action lists are executed in parallel • Each list is composed of a delay followed by delayed sequential actions. delay actions sequential Parallel lists of actions Delayed http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz MHEG action lists action delay action Links: • used to create event-based synchronizations • can trigger events 14-sync.fm 67 22.October.99 ... Application MHEG Engine Object Manager Link Processor Interpreter Operating System 14-sync.fm 68 22.October.99 Generic Presentation Services http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz MHEG Engine AV-Subsystem User Interface Services http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz MHEG Relation to Reference Model Specification layer Object layer interface MHEG Engine Object layer Stream layer interface Stream layer Media layer interface Media layer 14-sync.fm 69 22.October.99 MHEG coded multimedia object Interpreter Object Manager Link Processor User Interface Service AV Subsystem http://www.kom.e-technik.tu-darmstadt.de http://www.ipsi.gmd.de © Ralf Steinmetz Case Studies Other systems to be mentioned: • HyTime • FireFly • MODE (Multimedia Objects in a Distributed Environment) • Multimedia Tele-Orchestra • ACME (Abstractions for Continuous MEdia) • Apple QuickTime • ... 14-sync.fm 70 22.October.99