多媒体是[1]指多种数据流类型的集成,这些数据流包括连续媒体流及离散媒体流。在这些媒体流的信息单元之间孙在某种时间关系。当多媒体系统存储、发送和播映数据时必须维持这种关系。一般地,维持一个或多个媒体流的时间顺序的过程就称为多媒体同步。
同步机制在同步层中实现。多媒体同步需要系统的许多部分支持。包括操作系统、通信系统、数据库以及应用程序。因此,一个多媒体系统的同步要从几个层次上加以考虑。同步层又分为四个子层,每个子层都有自己的接口。接口定义了一些服务,并提供实现同步的机制。每层的接口都可以直接被一个应用程序使用。或者被它的高层利用来实现其接口。
媒体同步描述可以利用描述层次的工具生成并为对象层接口所使用,尽管多媒体同步描述不能直接实现同步。但它决定着整个播映过程,因此是多媒体系统中的一个中心问题,一个同步描述包括两个方面:对同步的QoS的描述对媒体对象播映的同步描述。
同步要求可以用服务质量来表达。所需的服务质量取决于媒体的应用。为保证同步要求而定义的QoS参数包括单个媒体流所允许的时延抖动以及两个媒体流中相关媒体单元的时间差即偏移。
对于单个媒体。最重要的同步要求是时延抖动和时延。例如,对于音频类业务允许的最大端-延时延为0.25s,时延抖动应小于10ms.否则就不能保证音频流的连续性。
对于两个相关媒体的QoS定义了可以接受的同步边界。例如一部影片的音频和视频分别保存在数据库的不同目录下。此时要考虑同步,音频和视频的相关LDU时间差为偏移。当偏移在-80ms到+80ms之间时,多数观众都不会感到偏移的存在,这就是同步区域。
1、基于间隔的描述
在这一描述方法中,一个媒体对象播映所持续的时间叫做间隔,任意两个时间间隔为可用13种类型来同步,在这13种类型呈学包括一些相互反转的类型,如超前和滞后,尹熙将此集合缩减后成为7种类型,这7种类型中不包括相互反转的恶类型,它们是超强、相接、部分重点、起点一致、结尾一致、包含其间和完全一致。
该方法可以处理那些不能预测持续时间的LDU,因此也可以哟能与处理用户交互操作,它对媒体对象的内容作了一个很好的抽象。但它不能对偏移进行描述,也不能对媒体对象子单元间的时间关系作直接描述。
2、基于时间轴的同步
该方法将所有的单个媒体对象放在一个代表真实时间的时间轴上,各个媒体之间时相互独立的。删除其中某个对象不会影响到其他对象的同步,因而易于维护。但是由于同步是定义在固定的时间点上。因此当对象包含有不能预测持续时间的LDU时就会比较复杂,另外该方法要求所有媒体流能够与全网时钟同步,这对音频流可能有点困难,其原因在于重新采样问题。
3、参考点描述法
该方法将时间相关的单个媒体对象看作是一系列的LDU。参考点包括时间相关媒体对象子单元的开始时刻以及一个媒体对象播映的开始和结束时刻,对象间的同步通过连续媒体对象的参考点来定义,一组连接在一起的参考点叫做一个同步点,共享同一个同步点的子单元的播映必须在同步点到达时开始或结束。该方法描述了对象间的时间关系却没有明显的时间参考。基于时间轴的同步可以看作是参考点同步的一种特殊情况。该方法允许在一个对象播映的任意时刻进行同步。而且该方法可以集成交互式媒体对象。可以集成对偏移QoS的描述,但是由于该方法对媒体对象间的关系进行直接描述,因此维护起来比较困难。
4、基于Petri网
该方法易于集成时间独立媒体对象和交互式对象,易于集成对偏移QoS的描述,但该方法对媒体对象内容得抽象不好。媒体对象被分成了许多子对象此外描述较复杂。
5、基于事件的同步
在这种方法中,演播动作是由同步事件发起的,典型的演播动作包括:开始播映、结束播映和准备播映,同步事件可能是外部的,也可能使内部的。该方法易于扩展新的同步类型,较为灵活,但是它需要额外的定时器来描述时间相关媒体对象,此外该方法不能直接描述QoS。
媒体对象的同步包括两个方面:媒体内同步和媒体间同步。媒体内同步主要是维持一个媒体内部各信息单元的连续性;媒体间同步主要是维持多个相关媒体流中媒体单元间的时间关系。媒体同步关系主要受以下因素的影响:媒体时延偏移、网络抖动、端系统抖动、时钟漂移和网络条件变化。
把一个多媒体系统模型化为信源和信宿通过信道相连,其中信源、信宿和信道都可能是一个或多个。这样一个多媒体系统的同步应该是一个分阶段的过程,在过程的各个阶段都要为最终在信宿端实现同步作准备。这些阶段包括对象的获取、对象的检索、对象的提交、对象的传送以及信宿端。媒体同步主要解决两个方面的问题:同步信息的传送和同步播映的实现。