1、第9章 多媒体通信同步技术,9.1 概述 9.2 多媒体同步参考模型 *9.3 同步的描述方法 *9.4 多媒体同步控制机制 练习与思考题,9.1 概 述,9.1.1 同步的基本概念多媒体系统中集成了具有各种不同时态特性的媒体, 这些媒体有依赖于时间的媒体(例如视频、 音频、 动画等)和独立于时间的媒体(例如文本、 静止图像、 表格等)。 媒体对象的时间相关性可能隐藏在建立过程中, 也可能由用户自己定义。 在单一的媒体系统中, 所有的媒体表现出同样的时态行为, 时间并不需要特别的注意。,随着多媒体系统的发展, 媒体间的各种时态关系变得越来越复杂。 任何一种情况下, 媒体对象的时间相关性必须在多
2、媒体系统中得到体现和支持。 ,多媒体数据 由于多媒体系统中集成了多种不同时态特征的媒体,如视频、音频和动画的媒体是依赖于时间的,而文本、静止图像和表格是独立于时间的。实时媒体数据/连续媒体数据有着严格时间关系的音频、视频等类型的数据;非实时媒体数据/静态媒体数据其他类型的数据。一般的讲,多媒体数据这种复合数据体中至少包含一种非实时数据和一种实时数据。,多媒体数据内部约束关系多媒体数据所包含的各种媒体对象并不是相互独立的,它们之间存在着多种相互制约的关系(或者称同步关系)。多媒体数据内部所固有的约束关系可以概括为基于内容的约束关系、空域约束关系和时域约束关系。,基于内容的约束关系指在用不同的媒体
3、对象代表同一内容的不同表现形式时,内容与表现形式之间所具有的约束关系。这种约束关系在数值分析中应用较多。支持这种约束关系需要解决的问题是,在多媒体数据更新过程中确保不同媒体对象所含信息的一致性,即在数据更新后,保证代表不同表现形式的各媒体对象都与更新后的数据相对应。解决问题的方法有:定义原始数据与不同媒体数据之间的转换原则,由系统而不是用户来完成对媒体数据的调整。,空域约束关系又称布局关系,用来定义在多媒体数据显示过程中的某一时刻,不同媒体对象在输出设备上的空间位置关系。时域约束关系又称时域特征,反映媒体对象在时间上的相对依赖关系,主要表现在两个方面:连续媒体对象内的相对时间关系;各个媒体对象
4、之间的相对时间关系。,多媒体同步就是保持和维护各个媒体对象之间和各个媒体对象内部存在的时态关系, 组织多种媒体序列以实现某种特定的表现任务。 多媒体同步的核心基础是为这些同步关系建立一个独立于实现环境的抽象的描述模型。 同步问题有两层含义: 首先, 时态行为(包括表示单元的彼此关系)必须有明确的定义, 使用时态定义可以方便用户复审、 系统表示和存储。 其次, 在表示媒体单元的时候, 多媒体系统必须保证各媒体时态的正确性。 多媒体同步可以从多媒体同步规范和多媒体同步控制两个层次来讨论。,多媒体同步规范描述了媒体对象之间和各个媒体对象内部存在的时态关系, 确定了多媒体的时态说明, 是多媒体系统的重
5、要组成部分。 多媒体同步规范通常包括: 媒体对象内的同步、 媒体对象之间的同步以及业务品质QoS描述。 多媒体同步控制机制是开发各种同步控制策略以及同步控制协议, 解决由于网络延迟、 抖动、 进程调度等各种不确定因素带来的负面影响, 实现多媒体同步规范描述的多媒体时态说明。 ,9.1.2 同步的类型1 上层同步上层同步又称表现级同步或交互同步, 即用户级同步。 这一级同步从用户的角度出发设计模型框架, 要求模型既能体现用户的交互性, 又能容易被用户理解和使用; 同时还是一个同步模型, 即以时间为控制线索的模型。 用户可以对各个媒体进行编排, 由此决定何种媒体何时以何种时空关系表现出来。 上层同
6、步的同步机制是由多媒体信息中的脚本信息来提供的, 在实际的多媒体应用中, 它是一种事件驱动同步, 它发生在系统中某一节点需要起始动作的情况下。,此动作的发生, 即同步点, 如文献中的特定点、 用户鼠标的动作点、 系统设备到达某特定状态等。 例如, 在一个多媒体幻灯片的演示过程中, 要对一组图像进行口头解释, 这就要求在上一段说明语音完成以后, 才能出现下一幅图像, 这种情况下, 同步点处于图像段的改变点或讲解段的起始点(或结束点)上。,2 中层同步中层同步即合成同步, 这里的合成指的是信息的合成, 即不同媒体类型的数据之间的合成, 所以, 合成同步又称为“媒体之间的同步”。 这层同步涉及到不同
7、类型的媒体数据, 侧重于它们在合成表现时的时间关系的描述。 合成同步的作用就是将不同媒体数据流按一定的时间关系进行合成。 一些要求精度较高的连续同步就属于这一类。 如在可视电话中, 音频和视频必须始终同步地表现在接收端上, 以确保口形与声音的同步。 这时媒体之间的同步, 除了数据的开始点和结束点必须保证以外, 从开始点到结束点的整个过程中均要求保持同步。 ,3 底层同步底层同步即系统同步, 又称媒体内部同步。 这里, 系统同步指的是该层同步如何根据各种输入媒体对应的实际硬件系统的性能参数来协调完成其上层合成同步所描述的各对象内的时序关系。 譬如在单机情况下, 同步技术要考虑的时间因素有读盘时间
8、, 这与磁盘存取速度和磁盘碎片有关; 还有图像帧的显示速度, 这与适配器有关; 另外还有机器的处理速度等。 ,对于通信网上分布媒体表现的同步, 要考虑更为复杂的问题: 网络的延迟以及无法预料的网络阻塞, 不仅影响到单一连续媒体传输和播放的稳定性(媒体内部的同步), 而且给各媒体相互配合(媒体之间的同步)设置了障碍, 从而引出同步协议的设计和各种相应的同步技术。,9.1.3 影响媒体同步的因素从媒体关系的角度出发, 媒体对象的同步包括两个方面: 媒体内同步和媒体间同步。 媒体内同步主要是维持一个媒体流内部各信息单元的连续性; 媒体间同步主要是维持多个相关媒体流中媒体单元间的时间关系。 媒体同步关
9、系主要受以下因素的影响: 媒体间时延偏移、 网络抖动、 端系统抖动、 时钟漂移和网络条件变化。,由于各个相关媒体流可能来自不同的信源, 每个信源所处的地理位置可能不同, 每个媒体流选择的信道也不同, 因此各个媒体流的时延也不同, 这就是媒体间的时延偏移, 这些偏移使媒体间的时间关系发生变化。 解决办法可以通过在信宿端设置缓存加以补偿, 也可使各个媒体流在不同时刻发送, 但须保证在经历了不同时延后能够同时到达接收端。 后者特别适合存储数据, 能够充分利用存储数据的灵活性, 大大节省信宿端缓存。 此外还可以将这两种方法配合使用。 ,抖动定义为最大时延与最小时延的差, 也即时延的变化。 网络抖动是指
10、数据包从发送方到接收方网络IO设备的传输过程中所经历的时延变化, 这是由中间节点的缓存引入的。 端系统抖动是指端系统中引起的时延变化, 这些变化主要是由于系统负荷的改变以及媒体单元在各个协议层的打包拆包。 抖动通常是在信宿端通过采用弹性缓冲区来补偿的。 ,连续媒体的捕获、 重新生成和播映都是由端系统时钟来驱动的。 一般来说, 不能假定所有时钟同步。 由于温度的变化或晶体振荡器本身的缺陷, 在经过了较长一段时间后, 端系统的时钟频率会发生变化, 其结果是与真实时间或其他时钟产生偏移, 漂移速率从10-610-3。,时钟漂移的问题可以通过在网络中使用时间同步协议来解决, 例如, 网络时间协议(NT
11、P)为它的用户提供一个全网(虚拟)时钟。 如果忽略时钟漂移, 在较长一段时间后, 客户端的缓存就会发生上溢或下溢。 时钟漂移的结果也称为偏移, 它被定义为一段时间间隔内的平均抖动。,网络条件的变化不是由抖动引入的, 它是指网络连接性质的变化。 例如, 平均时延的改变或媒体单元丢失率的增高。 般地, 多媒体数据的传输都是利用无证实的数据报服务, 重传是不适合的, 数据报服务是种不可靠的服务, 不时会发生媒体单元丢失的事件。 处理丢失单元的同步机制是重复播映前一个媒体单元的内容。,同步问题有两层含义: 首先, 时态行为(包括表示单元的彼此关系)必须有明确的定义, 使用时态定义可以方便用户复审、 系
12、统表示和存储。其次, 在表示媒体单元的时候, 多媒体系统必须保证各媒体时态的正确性。 多媒体同步可以从多媒体同步规范和多媒体同步控制两个层次来讨论。,9.2 多媒体同步参考模型,多媒体同步规范描述了媒体对象之间和各个媒体对象内部存在的时态关系(约束关系), 确定了多媒体的时态说明, 是多媒体系统的重要组成部分。多媒体同步规范通常包括: 媒体对象内的同步、 媒体对象之间的同步以及业务品质QoS描述。在存储和传输多媒体数据时,必须同时存储和传输它们之间的同步关系。,当只考虑时域同步关系时,时域同步规范由同步描述数据和同步容限两部分组成。同步描述数据表示媒体内部和媒体之间的时间约束关系,同步容限则表
13、示这些约束关系所允许的偏差范围。多媒体同步控制机制是开发各种同步控制策略以及同步控制协议, 解决由于网络延迟、 抖动、 进程调度等各种不确定因素带来的负面影响, 实现多媒体同步规范描述的多媒体时态说明。 即在处理多媒体数据的过程中(如采集、传输、播放等),如何维持约束关系。,9.2.1 媒体同步模型概述 媒体同步模型用来从整体上描述多媒体同步, 以利于媒体同步处理。 其主要目的是用于表征多种媒体之间的时序关系。 目前较为流行的多媒体同步模型有三种: 参考点同步模型、 时间轴同步模型、 层次同步模型。,参考点同步模型将连续媒体看作是一系列离散的子单元构成的序列, 一个子单元所在位置称为一个参考点
14、。 不同媒体之间的同步是通过将其在某一时刻的子单元相连接来定义的。 参考点同步模型的缺点是将连续媒体离散化, 从而破坏了连续媒体之间的相互依赖关系, 破坏了连续媒体的整体特性。 ,时间轴同步模型中, 所有媒体对象都是彼此独立地依赖于同一时间轴。 这样, 一个对象的丢失或剔除不会影响其他对象的同步。 这种模型对于那些起始时间点固定的多媒体对象而言, 无疑非常合适。 时间轴同步模型应用比较广泛, 例如, 非线性视频编辑系统、 多媒体演示编辑器大都是基于时间轴的。 ,在层次同步模型中, 对多媒体同步进行了分层处理, 这样有利于得到一个比较完善、 较为通用的多媒体同步模型。 下面将以层次同步模型为例重
15、点介绍。 在介绍层次同步参考模型之前先简单介绍一下与之相关的LDU(Logical Data Unit: 逻辑数据单元)以及同步容限的概念。,1 逻辑数据单元(LDU)各种媒体信息经数字化和编码之后形成的数据根据其与 时间的关系可分为连续媒体数据(实时媒体数据)和离散媒体数据(静态媒体数据)。 连续媒体数据可以看成是由逻辑数据单元LDU构成的时间序列(或称为流)。 LDU的划分(即所包含的内容)由具体的应用、 编码方式、 数据的存储方式和传输方式等因素决定。 例如, 对于符合H.261标准的视频码流, 一个LDU可以是一个宏块、 一个块组、 一帧图像, 或者是构成一个场景的几帧图像等。,图 H
16、.261码流中LDU的不同划分,连续数据的各个LDU之间存在着固定的时间关系。 例如, 以一帧图像为一个LDU, 则相继的LDU之间的时间间隔为40 ms。 这种时间关系是在数据的获取时确定的, 而且要在存储、 处理、 传输和播放过程中保持不变, 否则就会损伤媒体显示时的质量, 例如, 产生图像的停顿、 跳动, 或声音的间断等。 在静态媒体数据内部则不存在这种时间关系。 ,因此, 可以认为逻辑数据单元是时间相关媒体流中的一个信息单元。 把时间相关媒体细分成逻辑数据单元有利于简化时间相关媒体的同步处理。 图9.2-1是用LDU来表示一段音频与一段视频之间的同步关系的示例, 一个音频LDU的展示时
17、间与两个视频LDU的展示时间相同。 ,图9.2-1 不同媒体LDU同步关系示例,2 同步容限在一个多媒体系统的实际运作过程中总存在着一些妨碍准确恢复时域场景的因素, 例如其他进程对CPU的抢占、 缓冲区不够大、 传输带宽不足等, 这些因素往往会导致在恢复后的时域场景中时域事件间的相对位置发生变化, 我们将这种变化称为事件间偏差。 属于同一媒体对象的时域事件之间的偏差称为对象内偏差, 不同媒体对象的时域事件之间的偏差为对象间偏差。 偏差的存在必然会造成多媒体同步质量的降低。,同步容限是用户与同步机制之间就偏差的许可范围所达成的协议。 同步容限包含了用户对偏差许可范围的定义, 同步机制则需依据同步
18、容限, 保证在恢复后的时域场景中, 事件间的偏差在其许可范围之内。,3、多媒体时域特征表示 1)时域场景及时域定义方案 在表示多媒体数据时域特征的过程中所要完成的具体任务,是对多媒体数据进行抽象、描述和给出必要的同步容限。时域特征的表示过程可以用下图来表示。,其中,抽象的过程是忽略多媒体数据中与时域特征不相干的细节(比如数据量、编码方式、传输方式等),将多媒体数据概括为一个时域场景的过程。一个时域场景是由若干时域事件构成,其中的每一个时域事件都是与多媒体数据在时域中发生的某个具体动作相对应的。这些具体动作可以是开始播放、暂停、结束播放、恢复播放等。时域事件的发生可以是在某个时刻瞬间完成,也可以
19、是持续一段时间完成。如果一个时域事件在时域场景中的时间位置是完全确定的,该事件称为确定性事件;否则称为非确定性事件。例如暂停、恢复播放等事件,要根据用户的使用情况确定。,在将一个多媒体数据对象进行抽象并转变为一个时域场景后,需要利用某种时间模型对此时域场景加以描述。时间模型是对数据进行抽象描述的数据模型,它是由若干基本部件和部件的使用规则组成。时间模型是在计算机系统内为时域场景进行建模的依据。所采用的时间模型不同,得到的同步描述数据也就不会完全相同。,两个时刻之间的基本时域关系有三种,即之前(before)、之后(after)和同时(at the same time)。 例如:在一个时域场景中
20、,可以得到三种同步描述数据。,时间模型针对事件发生的时刻 t0秒时显示图像P,t6秒时停止显示图像P; t6秒时播放音频A,t24秒时停止播放音频A; t24秒时显示文本T,t32秒时停止显示文本T。时间模型针对事件发生的相对时刻 音频A的播放时刻比图像P的显示时刻晚6秒; 文本T的显示时刻比图像P的显示时刻晚24秒; 文本T的显示时刻比音频A的播放时刻晚18秒。,时间模型针对事件对应的时间间隔图像P的显示间隔为6秒,音频A的播放间隔为18秒,文本T的显示间隔为8秒;A间隔紧接着P间隔,T间隔紧接着A间隔;T间隔与P间隔相差24秒(以间隔起点计)。建模的结果再通过某种形式化语言转化为形式化描述
21、,这种形式化描述数据就是同步描述数据。时间模型及其形式化语言合称为时域定义方案。,为了使同步机制能够了解并维持多媒体对象的时域特征,除了同步描述数据之外,还需要向同步机制提出必要的服务质量要求,这种要求是用户和同步机制之间,在应当以何种准确程度来维持时域特征方面所达成的一种约定。这种约定就是前面所说的同步容限。同步描述数据和同步容限构成了在计算机系统内部对多媒体数据时域特征(同步规范)的表示。,2)时域参考框架时域参考框架是由多媒体场景、时域定义方案和同步机制三个部分构成。时域定义方案中包含时间模型(基本时间单位、关联信息和时间表示技术)和形式化语言。,9.2.2 层次同步模型对于多媒体通信应
22、用来说, 同步是建立在不同层次的基础上, 通过层次化分析来理解各种相关的因素, 从而找出能够满足要求的解决方法。 图9.2-2所示是Meyer、 Effelsberg和Steinmetz提出的一个四层同步模型, 该模型本身的层次结构与ISO-OSI七层网络协议模型以及时域参考框架的大致对应关系如图9.2-2所示。,图9.2-2 层次同步参考模型,为实现同步所做的规划常称为调度。 同步机制首先依照同步描述数据生成某种调度方案; 其次, 同步机制需要根据同步容限以及多媒体数据的特点申请必要的资源(如 CPU时间、 通信带宽、 通信缓冲区等);然后, 在执行调度方案的过程中, 同步机制将按照同步容限
23、要求完成对偏差的控制, 以维持多媒体数据的时域关系。,1. 媒体层 媒体层的处理对象是来自于连续码流(如音频、 视频数据流)的LDU, LDU的大小在一定程度上取决于同步容限。,在媒体层接口, 该层负责向上提供与设备无关的操作, 如 Read(Devicehandle, LDU)、 Write(Devicehandle, LDU)等。 在媒体层内主要完成两项任务, 其一是申请必要的资源(如CPU时间、 通信带宽、 通信缓冲区等)和系统服务(如服务质量保障服务等), 为该层各项功能的实施提供支持; 其二是访问各类设备的接口函数, 获取或提交一个完整的LDU。,2. 流层流层的处理对象是连续码流或
24、码流组, 其内部主要完成流内同步和流间同步两项任务.由于流内同步和流间同步是多媒体同步的关键, 所以在同步机制的三个层次中, 流层是最为重要的一层。 ,在接口处, 流层向用户提供诸如Start(Stream)、 Stop(Stream)、 Creategroup(list-of-streams)、 Start(group)、 Stop(group)等功能函数。 这些函数将连续码流作为一个整体来看待。当多媒体应用直接使用流层的各接口功能时, 连续数据与非连续数据之间的同步控制则要由应用本身来完成。 ,流层在对码流或码流组进行处理前, 首先需要根据同步容限决定LDU的大小以及对各LDU的处理方案(
25、即何时对何LDU作何种处理)。 此外, 流层还要向媒体层提交必要的服务质量(QoS)要求, 这种要求是由同步容限推导而来的。 媒体层将依照流层提交的 QoS要求, 向底层服务系统申请资源以及QoS保障。 在执行LDU处理方案的过程中, 流层负责将连续媒体对象内的偏差以及连续媒体对象间的偏差保持在许可的范围之内, 即实施流内与流间的同步控制。 ,3. 对象层对象层能够对不同类型的媒体对象进行统一地处理, 使用户不必考虑连续媒体对象和非连续媒体对象之间的差异。 对象层的主要任务是实现连续媒体对象和非连续媒体对象之间的同步并完成对非连续媒体对象的处理。,对象层在处理多媒体对象之前先要完成两项工作:第
26、一, 从规范层提供的同步描述数据出发, 推导出必要的调度方案(如显示调度方案、 通信调度方案等)。第二, 进行必要的初始化工作。 对象层首先将调度方案及同步容限中与连续媒体对象相关的部分提交给流层并要求流层进行初始化; 然后, 对象层要求媒体层向底层服务系统申请必要的资源和QoS保障服务, 并完成其他一些初始化工作, 如初始化编/解码器、 播放设备、 通信设备等与处理连续媒体对象相关的设备。,对象层的接口提供诸如prepare、 run、 stop、 destroy等功能函数, 这些函数通常以一个完整的多媒体对象为参数。 显然, 同步描述数据和同步容限是多媒体对象的必要组成部分。当多媒体应用直
27、接使用对象层的功能时, 多媒体应用只需利用描述层所提供的工具完成对同步描述数据和同步容限的定义即可。,4 描述层描述层的处理对象是由多媒体应用生成的时域场景。 它主要解决的是多媒体表现中各个场景的安排与对象同步的描述问题。描述层的核心是时域定义方案, 其接口为用户提供了使用时间模型描述多媒体数据时域约束关系的工具。 描述层产生的同步描述数据和同步容限, 经由对象层的适当转换后进入由对象层、 流层和媒体层构成的同步机制。 此外, 还可以将用户级的QoS要求映射到对象层接口。,*9.3 同步的描述方法,多媒体同步的描述可以利用描述层的工具生成并为对象层接口所使用, 尽管多媒体同步描述不能直接实现同
28、步, 但它决定着整个同步过程, 因此是多媒体系统的一个中心问题。 一个同步描述包括两个方面: 对同步的QoS的描述和对多媒体对象同步关系的描述。 多媒体同步关系的描述方法较多, 这里主要介绍基于路径的描述方法、 基于Petri网的描述方法以及时间标记法三种, 它们分别适用于不同的场合。,9.3.1 同步的QoS描述同步要求可以用服务质量来表达, 所需的服务质量取决于媒体的应用。 为保证同步要求而定义的QoS参数包括单个媒体流所允许的时延抖动以及两个媒体流中相关媒体单元的时间差即偏移。 对于单个媒体, 最重要的同步要求是时延抖动和时延。 例如, 对于音频类业务允许的最大端到端时延为0.25 s,
29、 时延抖动应小于10 ms, 否则就不能保证音频流的连续性。,对于两个相关媒体的QoS, 定义了可以接受的同步边界, 例如, 一部影片的音频和视频分别保存在数据库的不同目录下, 此时要考虑唇同步, 音频和视频的相关LDU的时间差称为偏移。 研究表明, 当偏移在-80(音频滞后视频)80 ms(音频超前视频)之间时, 多数观众都不会感到偏移的存在, 这就是同步区域; 当偏移在-160160 ms之外时, 几乎所有观众都对播映不满意, 这一区域称为失步区域。 对于多个相关媒体的QoS, 可以通过给出的两两媒体的QoS要求计算出所需要的媒体间的QoS, 如果应用程序将一组相关的同步要求加于个多媒体系
30、统, 也可以通过计算找出最严格的同步要求。,9.3.2 基于路径的描述方法1 动作动作表示发生的事情。 事件(event)是动作的最小单位。 一个动作就是一个事件的复合体, 如果一个动作的某些事情和别的动作的某些事情有对应关系, 那么这个事件就称为同步点。 一个动作始于一个起点, 结束于一个结束点。 根据起始点和结束点是否存在同步这一准则, 可以把动作分为下述两类: 原子动作(Atomic Action): 在起始点间不再有同步点的动作; ,复合动作(Composed Action): 由多个原子动作组成, 和复合动作有关的动作必须同步才能完成一个确定的演示序列。 出于同步的需要, 每一个动作
31、必须分解成原子动作, 通过适当的同步机制使它们在起始点和结束点同步。 ,2 动作和时间的关系动作间的时间关系有: 先于、 衔接、 包含、 相交、 同始、 同终、 平行以及前六种的逆关系(如先于的逆关系是后于), 如图9.3-1(a)所示。 这些关系可以抽象出一组通用的时间关系: 串行同步、 并行同步, 如图9.3-1 (b)所示。,图9.3-1 动作间的时间关系示意图,3 路径表达式在路径表达式中, 由路径操作符来定义动作的同步。 这些操作符是: AB: A和B同时开始, 同时执行。 当第一个参与的动作结束时, 复合动作结束。 AB: A和B同时开始, 同时执行。 当A和B中有一个参与的动作结
32、束时, 复合动作结束。,A;B: 只有当A动作执行完成B动作方开始执行, A的结束点和B的起始点相同, 当B的动作结束时, A和B所组成的复合动作才结束。 A/B: 选择操作。 A和B任选一个执行。 Ai*: 循环操作。 A动作循环执行i次。 N:A: 并发操作。 可有N个动作被允许并发执行。,以上六种操作基本上表示所有的基于起点、 结束点的同步关系。 利用这六种操作, 还可以很方便地用表达式的形式写出多媒体对象的同步关系。 例如, A;(BC)(DE); F end, 它表示由A开始执行, 当A结束时, B, C, D, E同时开始执行, 当B和C或D和E中有一组结束时, F动作开始执行。
33、F动作执行完毕, 则整个复合动作结束。,9.3.3 基于Petri网的描述方法1 Petri网概念Petri网是1962年由C.A.Petri提出的, 它是一种并发系统和同步关系的建模工具。 Petri网可用直观易懂的图像表示, 用户界面友好。 它具有异步并发特征, 并且与物理系统极为相近, 在信息科学的许多领域得到了应用。 简单Petri网的转移触发时间是不确定的, 即变迁触发为一个即时事件。,为了描述Petri网中的非零时间费用, 需要在Petri网中引入时间约束, 即赋予每个变迁以触发时间, 或赋予每个位置以运行时间, 这种增强型Petri网称之为定时Petri网。 以定时Petri网为
34、基础, 可以描述多媒体信息的同步关系, 其中典型的定时Petri网有OCPN模型、 XOCPN模型、 DTPN模型以及ISPN模型。,2 OCPN模型OCPN模型是对象合成Petri网(Object Composite Petri Net, OCPN)模型的英文缩写。 OCPN模型描述了媒体对象内和媒体间的时间关系, 它是一个定时Petri网, 用一个六元组OCPN=T,P,A,D,R,M表示, 其中: T=t1, t2, , tn为变迁集, ti表示同步点和处理位置, 在图中用“”表示。 P=p1, p2, pm为位置集, pi表示进程, 并假定变迁瞬时发生, 故pi具有相应状态, 在图中用
35、圆表示。,A : TPPTI=1,2,是有向孤集, 在图中用箭头表示。 D: PRe定义了由位置集向实数集的映射, 实数集Re表示OCPN中的时间约束。R: Pr1, r2, , rk定义了由位置集向资源集r1, r2, , rk的映射。 M: PI, I=1,2,定义了由位置集向整数集的映射, 它表示集中的标记(Token)分布。 两个对象的时间合成能够基于顺序的和并行的两种时间关系发生。 对于给定的两个对象,,则在时间上存在先于、 衔接、 包含、 相交、 同始、 同终、 平行以及前六种的逆关系。 OCPN能够捕捉用于说明不同对象计时和显示需求的任何时间关系, 这种时间关系模型如图9.3-2
36、(a)所示。 其中, Pd是延时计时, 对应图9.3-2(a)时间关系的OCPN模型如图9.3-2(b)所示。 当然用这种方法也可以描述多个对象组成的复杂多媒体之间的时间关系, 因为多个对象的时间关系可以用两两之间的时间关系逐级描述出来。,图9.3-2 OCPN模型与时间关系对应示意图(a) 时间关系; (b) OCPN模型,图9.3-2 OCPN模型与时间关系对应示意图(a) 时间关系; (b) OCPN模型,对于任何两个原子进程和它们的时间关系, 存在相应的OCPN模型, 反过来也成立。 对于任何OCPN模型能够惟一确定相应的时间关系。 OCPN模型可以描述多媒体系统中媒体对象之间存在的各
37、种同步关系。 OCPN模型是一个粗粒度同步模型, 可以表示多媒体系统的同步规范和时态说明。 但是, OCPN没有提供描述对象内同步关系的能力。 为了便于存储和检索多媒体数据, 可对OCPN模型形式进行简化, 采用统一的OCPN模型, 如图9.3-3所示, 这个模型可以用于表示任何时间关系。,图9.3-3 统一的OCPN模型,图9.3-4是一个电视新闻广播时间线的例子, 图中以时间轴为基础, 按照所需要的时间顺序用时间线对多种媒体进行了表示。 图9.3-5是该电视新闻广播的OCPN例子, 这个OCPN捕捉了全部的时间关系, 可以在正向和逆向两个方向上模拟。 OCPN中的每一个位置表示多媒体对象的
38、播放, 而每一个变迁即为同步点。,图9.3-4 一个电视新闻广播时间线的例子,图9.3-5 电视新闻广播的OCPN例子,对象合成Petri网模型能够以统一的方式描述通信、 播放和同步机理, 可以获得虚电路开通和媒体对象间同步操作时刻表, 以及关于虚电路信道属性的信息。 它除了在用户端进行常规的播放操作、 在服务端进行常规的发送操作外, 还可以进行动态资源分配和释放等操作。,3 XOCPN模型XOCPN模型就是扩展对象合成Petri网模型。 与OCPN模型相对应, XOCPN是一个细粒度的同步模型, 可以用于分布式多媒体信息系统中的同步关系描述以及同步传输控制。 XOCPN考虑了连续媒体基于速率
39、控制进行传输的要求, 将连续媒体对象划分为一系列同步间隔单元(SIU), 即细粒度单元。 XOCPN模型包括传输方模型和接收方模型, 分别用于传输和接收多媒体信息。 XOCPN将Petri网中的位置划分为对象位置和控制位置。 对象位置对应于传输和播放对象的动作。 控制位置表示建立连接、 释放连接以及QoS协商。,XOCPN是在OCPN模型的基础上扩展了对多媒体对象通信和同步机理的描述。 XOCPN可以形式化地定义为一个八元组XOCPN=T,P,A,D,R,M,Y,Z表示, 也就是在OCPN模型的基础上扩展了两个映射函数Y(p )和Z(pi)。,D: Pd1, d2。Y: P控制, 对象定义了位
40、置集向位置类型的映射。 位置分为对象位置和控制位置两种。 Z: P动作, 函数地址, 同步单元地址, 通信和同步的信息地址定义了由位置集向地址集的映射。 其他参数定义与OCPN模型相同。 D中d1和d2分别表示一个动作之前延迟以及动作的执行时间。 R表示各个位置对应的媒体类型。 Y表示各个位置对应媒体单元在通信过程中所执行的动作。 Z表示各个位置对应媒体单元的相关参数地址。,4 动态时间Petri网模型(DTPN)OCPN是一个多媒体同步规范模型, 可以描述媒体对象的各种同步关系, 但是没有提供与用户交互控制的动态描述能力。 在表现多媒体文件时, 用户可能修改多媒体文件的表现次序, 例如, 使
41、用倒进、 跳跃、 暂停等交互控制动作。 B.Prabhakraran和S.V.Rahavan研究了交互控制下表现多媒体文件的需求, 提出了一个动态时间Petri网模型DTPN, 可以支持典型的用户交互控制动作。 DTPN是一个扩展的OCPN模型, 可以处理表现多媒体文件时用户的输入动作。,为了处理用户交互控制动作, DTPN引入了中断概念, 以便终止Petri网的正常执行过程, 处理用户的动作。 另外, 在Petri网的每个位置还引入了剩余时间间隔, 说明终止Petri网正常执行时的精确时间。 DTPN可以形式化地定义为DTPN=T,P,A,D,R,M,C,E其中, T, P, A, D, R
42、, M的定义与OCPN模型一致。 CPT; AC=0E: PR,C是PT的子集, 是出口弧(escape arcs)的集合, 并且集合A和集合C不相交。 E表示位置对应剩余时间间隔, D表示“正常”播放的时间间隔。 最初, D和E具有相同的值。 在DTPN的图形表示中, 有向弧利用箭头表示, 出口弧利用点表示。,5 交互式同步Petri网模型(ISPN)一种理想的同步模型, 应该符合多媒体实际制作、 播放的要求。 在动态时间Petri网模型DTPN中, 假定对一个媒体流施加的动作会对所有的并行媒体流产生相同的影响, 则是一种确定性时态说明的规范方法。 ISPN模型扩展了DTPN模型, 既支持受
43、用户交互影响的多媒体同步关系描述(动态规范), 也支持不受用户交互影响的多媒体同步关系描述(静态规范); 用户可以对个别媒体对象进行控制, 从而使得多媒体文件中每个媒体对象既可以按标准的时间表现, 也可以具有可变的表现时间。,用户的交互控制产生的影响还可以传播到其他媒体对象, 从而影响其他媒体对象的表现过程。 为此, 在ISPN模型中包含一种制约机制, 在用户交互控制下, 始终保持同步关系的全局一致性。 由于逻辑上不同的同步关系, 媒体对象的操作可能传播到其他媒体, 也可能不影响其他媒体对象。 ISPN模型将同步点扩展到连续媒体的逻辑数据单元, 支持用户定义的多媒体同步关系描述, 是一种动态规
44、范。 ISPN可以形式化地定义为ISPN=T,P,A,D,R,M,E,C,X,S,V,其中, T, P, A, D, R, M, E, C的定义与DTPN模型一致。 X=xp, xj, xb, xr, xtS: TAND, ORVXT,在ISPN中, T表示变迁的集合; P表示位置的集合; A表示有向弧的集合; D表示时间间隔; R表示资源集合; M表示令牌数目; E表示在表现过程中位置pi对应媒体对象剩余的、 尚未表现的时间间隔。 最初, D和E相等, 随着位置的执行而相应减少。 C是PT的子集, 是出口弧的集合, 并且集合A和集合C不相交。 X表示用户操作集合, 共有五种操作: 暂停xp、
45、 前跳xj、 重启xb、 回退xr、 变速xt。 S表示同步关系集合, 当变迁T的所有输出位置逻辑上完全同步时, ST=AND; 否则, ST=OR。 V是操作弧集合。,用户的操作定义在对单个媒体对象上, 用户操作采用中断方式传给系统, 系统收到该类中断后立即挂起该媒体对象的表现进程, 然后检查S(ti)的值。 若值为AND, 则立即将中断传播到ti 的所有输出位置, 并激发该操作弧; 若值为OR, 则在ti的其他输出位置之后增加相应时间的延时等待, 并激发该操作弧。,9.3.4 基于时间标记的描述方法前面介绍的两种模型都是在数据生成后抽象出来的。 而基于时间标记的描述方法是在数据生成过程中在
46、数据流中加同步标记的方法。 一个多媒体对象中包含许多内容, 如音频、 视频和文本等。 这些内容可以来自同一地点同一信源, 也可以来自不同地点不同信源, 这时, 要让这些信息同步地表现出来, 使人们产生一个整体的多媒体对象表现印象, 就必须采用一定的同步描述方法和相应的同步机制。,对于不同媒体的产生地点和时间的不同, 引进相对时间系统是一种可行的方法。 多媒体对象起始处的媒体单元位于时间系统的零点, 一个媒体单元在相对时间系统中的位置就作为它的时间标记。,每个媒体单元(如视频帧和音频抽样)都有一个时间标记, 在播放时, 有相同的时间标记的媒体单元必须同步。 如果在没有全局同步时钟的情况下, 时间
47、标记必须由主设备驱动, 主设备上的第一个单元启动时间标记, 以后的媒体单元参照主设备使时间标记递增。 当接收数据服务器接收到不同信源的媒体数据单元时, 首先判断这些媒体数据单元是否位于一个有界的时间窗口。 如果是, 则这些媒体数据单元被赋予相同的时间标记, 在播放时要求同步。 这些媒体数据单元组成的集合称为同步集合。,设媒体单元nm和ns分别是由主设备Sm和从设备Ss生成的, 仅当,时,nm和ns属于同一个同步集合。,其中, gread(nm)和gread(ns)是nm和ns单元的实际生成时间; gstart(Sm)和gstart(Ss)是媒体流在Sm和Ss上生成的起始时间。 如果用g(nm)
48、=gread(nm)-gstart(Sm), g(ns)=gread(ns)-gstart(Ss)表示媒体的相对生成时间, 则同步集合的定义为 | g(nm)-g(ns) | d式中的d可以认为是媒体单元间允许的最大的非同步区间。 d和主设备共同决定赋予媒体单元的时间标记。,这种方法可以解决由不同媒体间产生的媒体流组成的媒体对象的同步问题。 在播放时保持由时间标记描述的同步关系的方法是由回放设备定期向接收数据服务器发一个反馈单元, 这个反馈单元中包含媒体单元的时间标记, 接收数据服务器通过反馈单元, 判断现在正播放的媒体单元是否同步, 如果不同步, 则进行相应的调整。,*9.4 多媒体同步控制
49、机制,9.4.1 同步机制概述在多媒体通信中, 多媒体数据在传输、 分组、 交换等过程中不可避免地会引入信号的延迟、 抖动, 导致媒体间应有的相对关系发生变化。 对于那些经过压缩编解码的多媒体数据, 或者经过不同渠道而汇聚到同一点的多种媒体数据而言, 这种情况将更为严重。由此, 多媒体通信的一个很重要的问题就是如何保持各种媒体之间的同步,,即就是如何采取有效的措施来消除延时、 抖动, 恢复、 保持这些媒体流之间的时间同步关系, 特别是实时连续媒体流之间的同步关系, 同时多媒体终端设备要把多种媒体信息按人们接收信息的方式表现出来, 也需要有一种同步机制来控制多种媒体信息流之间的确定的关系, 并控制多种媒体交互的精确时间。多媒体同步机制的作用就是要将各个媒体的同步误差控制在它所能容忍的范围内。,同步机制实质上是一种服务过程, 它能够了解同步描述数据所定义的时域特征, 并根据用户所要求的同步容限, 完成对该特征的维护(即在运行过程中保证时域特征不受破坏)。一般而言, 所使用的同步控制机制既要保证多媒体数据流的媒体内同步, 又要保证多媒体数据流的媒体间同步。 媒体内的同步关系表现为媒体流的连续性和实时性, 媒体间的同步关系表现为各种媒体流中同步点的同时播放。,