460 likes | 893 Views
Synchronization. TTM4142, 2007 Harald Øverby/Leif Arne Rønningen. Outline. What is synchronization Relationships Logical Data Units (LDU) Reference model for synchronization Specification. Definition of synchronization. Synchronization
E N D
Synchronization TTM4142, 2007 Harald Øverby/Leif Arne Rønningen
Outline • What is synchronization • Relationships • Logical Data Units (LDU) • Reference model for synchronization • Specification
Definition of synchronization • Synchronization The act or result of synchronizing; the state of being synchronous • Synchronize To happen at the same time; to represent or arrange (events) to indicate coincidence or coexistence; to make synchronous in operation; to make (motion or picture sound) exactly simultaneous with the action Source: Merriam-Webster dictionary
Definition of synchronization • Synchronization creates relationships between independent objects • Time dependent / time independent objects • Three types of relationships • Content • Spatial • Temporal
Content relationships • Connection between media objects and data • Example • Between data in a table and a picture • Update in data triggers update in other views • Consistency
Spatial relationships • Layout relationships • Define space of a media object • Objects arranged in a two dimensional area • Output device • Content assigned to frames • Positioning: fixed, relative • Example • Powerpoint slide • Web page
Temporal relationships • Time relationships between objects • Important for time dependent media objects • Examples • Timing relationships between audio object and video object • Further on: focus on temporal relationships
Intra object synchronization • Time relation between various presentation units of one time-dependent media object • Example: bouncing ball
Inter object synchronization • Time relation between two or more media objects • Examples: Audio, Pictures (P), Video, Animation
Logical data unit (LDU) • LDU: Information unit of a time-dependent media object • Granularity of LDU • Video: Frame, object, pixel
Logical data unit (LDU) • Closed LDU • Predictable duration • Ex: Stored media objects • Open LDU • Duration not known before the presentation starts • Ex: Input from live source
Logical data unit (LDU) • Physical units as LDU or blocks of samples as LDU
Logical data unit (LDU) • User-defined vs capturing defined
Synchronization in multimedia systems • Television systems • Sound and video are multiplexed • Delay affects both sound and video • Synchronization always maintained • Focus on time-independent media • LDU to be put in relationship are independent media objects • Quality of Service • Hard guarantees • Soft guarantees
Synchronization examples • Lip synchronization • Coupling between audio and video
Lip synchronization experiment • Skew between video and audio • +/- 40 ms intervals • Positive skew: audio ahead of video • Short clips
Results summary • Asymmetry • Positive skew more disturbing • Difficult to detect errors when object far away • Statistical errors • Long movie • +/- 80 ms : no distraction • -240 ms, +160 ms : disturbing
Reference Models for Multimedia Synchronization • Support to understand requirements • Many proposals • Focus on the following four-layer model • Specification Layer • Object Layer - presentation object synch • Stream Layer - inter-stream synch of media streams • Media Layer - intra-stream synch of continious media
Media Layer • Application handles only one continuous media stream as an LDU sequence • Device-independent interface, file and device access • Read (device-handle, LDU) • Write (device-handle, LDU) • etc • Application runs one process for each stream • Guarantees single LDU processing
Stream Layer • Handles continuous media streams and media stream groups • Guarantees intra-stream synch • Group presents streams in parallel • Gurarantees inter-stream synch of streams in a group • Handles resource reservation and scheduling of LDU processing • Typical operations • start (stream), stop (stream) • create_group (list_of_streams) • start (group), stop (group) • setcuepoint (stream/group, at, event)
Object Layer1 • Deals with all kinds of media • Hides the difference between discrete and continuous media • Accepts a synchronization specification as input • Media-oriented QoS (such as allowed skew, allowed jitter) • Plans and coordinates presentation execution • Initiates presentation of time-dependent and time-independent media objects 1In DMP the term could have been Scene Layer
Specification Layer • Does not provide a specific interface, is open • Tools for generating synch specification • Edit • Format • Maps user interface QoS specifications to the Object Layer
Synchronization Specification, main categories • Interval-based • Temporal relationships between the presentation of media objects • Axis-based • Presentation objects placed in common axes • Control-flow-based • Presentation flow synchronized at certain points • Event-based • Events trigger presentation actions
Synchronization in a distributed environment • More complex than a local environment • Distributed storage of media • Distributed storage of synchronization information • Communications delay and delay jitter • Multi-party communication patterns
Transport of synchronization specification • Additional synchronization channel • Multiplexed channel
• Multi-step Synchronization • Synchronization • during object acquirement • • of retrieval • • during delivery of the LDUs to the network • • during the transport • • at the sink • • within the output device
Synchronization Specification 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 logical units 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
Synchronization Based on a Global Timer Media objects