第 3章 多媒体通信同步
第 3章 多媒体通信同步
3.1 引言
3.2 多媒体信息同步描述法
3.3 多媒体同步控制机制
第 3章 多媒体通信同步
3.1 引 言
多媒体对象的同步关系抽象为以下两种类型,
(1)
媒体内的时间关系即流内同步,主要是保证单个媒体流之间
的简单时态关系,也就是按一定的时间要求传送每一个媒体对象,
其表现为媒体流的连续性,以满足人类感知上的要求 。 流内同步
的复杂性不仅和单个媒体的种类有关,而且和分布式系统提供的
服务质量 ( Quality of Service,QoS) 有关 。 同时,也和源端和目
的端操作系统的实时性有关 。
第 3章 多媒体通信同步
(2)
媒体间的同步关系即流间同步,主要是保证不同媒体间的时
间关系,如音频和视频之间的时态关系,音频和文本之间的时态关
系等,表现为各个媒体流中在同步点上的同时播放 。 流间同步的
复杂性和需要同步的媒体的数量有关 。
多媒体对象在时间上存在着并行, 顺序, 独立关系,在对象
的时间表现控制上分别对应于并发, 串行和异步执行 。 多媒体系
统的同步控制必须保证在同步点上各个媒体之间能够保持时间关
系 。 例如,一个有语音讲解的多媒体幻灯片,其讲解必须和一组画
面同时表现,且随着画面的显示,讲解是顺序的 。 这里的同步点处
于画面的改变点和讲解的起始点与结束点 。 又如,一个可视电话
系统,其语音和图像序列通过通信网络传输到接收端,且必须同步
地在接收设备上演示,以保持口型和声音同步 。
第 3章 多媒体通信同步
3.2 多媒体信息同步描述法
3.2.1 基于 Petri网的描述法
图 3.1 将对象分成 SIU例
第 3章 多媒体通信同步
OCPN模型描述了媒体对象内和媒体对象间的时间关系,它
是一个定时 Petri网,用一个六元组 Nocpn = {T,P,A,D,R,M }表示,其中,
T = { t1,t2,…,tn }为变迁集,ti表示同步点和处理位置,在图中
用短垂直棒表示 。
P = { p1,p2,…,pm }为位置集,pi表示进程,并假定变迁瞬时发
生,故 pi具有相应状态,在图中用圆表示 。
A,{ T× P }∪ { P× T }→ I = {1,2,…}是有向孤集,在图中用
箭头表示 。
D,P→ Re定义了由位置集向实数集的映射,实数集 Re
OCPN中的时间约束 。
第 3章 多媒体通信同步
R:P→{ r1,r2,…,rk }定义了由位置集向资源集 { r1,r2,…,rk }的映射 。
M:P→ I,I ={1,2,…} 定义了由位置集向整数集的映射,它表示位
置集中的标记 (token)分布 。
XOCPN是在 OCPN模型的基础上扩展了对多媒体对象通信和
同步机理的描述 。 它用一个八元组 Nxocpn = { T,P,A,D,R,M,Y,Z }表示,
也就是在 OCPN模型的基础上扩展了两个映射函数 Y( pi) 和 Z
( pi),
Y,P→{ 控制,对象 }定义了位置集向位置类型集的映射 。 位
置分为对象位置和控制位置两种 。
Z,P→{ 动作,函数地址,同步单元地址,通信和同步的信息地
址 }定义了由位置集向地址集的映射 。
第 3章 多媒体通信同步
OCPN中的位置分成对象位置和控制位置两种 。
(1)
它表示媒体对象的播放进程,每个对象位置与媒体对象的一
个同步单元 ( SIU) 相对应 。 每个对象位置 Pi指定一个时间间隔,
一个时间间隔与其对应的 SIU的时间间隔相等,由映射函数 Z(Pi )
保持的 SIU的地址可以是一个缓冲器指针 。 每个对象位置表示如
下两种操作之一,
·Action.SIU Playout,在媒体输出设备上播放相关的同步单
元 。
·Action.SIU Transmit,向指定的虚电路通道发送相关的同步
单元。
第 3章 多媒体通信同步
(2)
它表示基于 XOCPN语义的控制过程,在其上执行的操作有资
源的建立,资源的释放以及媒体间的同步等,即,
·Action,Resource Setup,建立虚电路信道, 按用户设置的
QoS参数的协商信道属性, 分配接收端缓冲器, 预备输出设备等 。
其中,资源 ( Resource) 定义了通信通道, 缓冲器或输出设备等 。
·Action,Resource Release,在媒体对象完成播出后,立即释
放所占用的资源 。
·Action.Interstream Synchronize,按所希望的同步策略实现
流间同步机制。
第 3章 多媒体通信同步
1,流内同步
(1) 中断同步
(2) 受限中断同步
图 3.2 流内同步机制
(a) 中断同步; (b) 受限中断同步
第 3章 多媒体通信同步
2,
对于流间同步,XOCPN模型也支持两种同步机制, 中断和
非中断 。
(1)
将在 Nxocpn中的每一个 IPP( 流间播放点 ) 处中断快速流的播放
过程,直到所有需要同步的媒体流都到达 IPP才播放 。
( 2 )
将在 Nxocpn中的每一个 IPP点收集有关流间的同步状态信息,
然后根据所收集的同步状态信息进行某些校正动作,参见图 3.3。
这些校正动作分成两种,
第 3章 多媒体通信同步
图 3.3 流间同步机制
第 3章 多媒体通信同步
图 3.4 一个电视新闻广播时间线的例子
第 3章 多媒体通信同步
图 3.5 电视新闻广播的 XOCPN
第 3章 多媒体通信同步
3.2.2 基于同步标记的描述法
媒体间的同步关系可以借助于插入到各媒体流之中的同步标
记来描述 。 同步标记可以有两种形式, 一是有形标记,如以信息帧
的形式插入到媒体数据流中 ; 二是逻辑标记,如相对数据量和相对
时间 。
这种基于同步标记的描述法的共同点是将各个媒体流映射到
一个逻辑时间轴上,赋予每个媒体单元一个时戳 (Timestamp),以此
来标识媒体单元相对于逻辑时间轴起始点的时域位置 。 逻辑时间
轴的单位应小于最小媒体单元的持续时间,从而使同一媒体中两
个不同的媒体单元的时戳相异 。 在媒体表现过程中,具有相同时
戳的媒体单元同步播放 。
第 3章 多媒体通信同步
图 3.6 RTP报头格式
第 3章 多媒体通信同步
其中,
·V,RTP协议的版本号,占 2位 。 当前协议版本号为 2。
·P,填充标志,占 1位 。 如果 P=1,则在该报文的尾部将填充
一个或多个额外的八位组 。
·X,扩展标志, 占 1位 。 如果 X=1,则在 RTP报头后跟有一个
扩展报头 。
·CC,CSRC计数器,占 4位,指示 CSRC 标识符的个数 。
·M,标记,占 1位,不同的有效载荷有不同的含义 。 对于视频,
标记一帧的结束 ; 对于音频,标记会话的开始 。
·PT,有效载荷类型,占 7位,用于说明 RTP报文中有效载荷的
类型 。 例如,GSM音频, JPEM视频等 。
第 3章 多媒体通信同步
·序列号, 占 16位,用于标识发送者所发送的 RTP报文的序列
号 ; 每发送一个报文,序列号增 1。 接收者通过序列号来检测报文
丢失情况,重新排序报文,恢复数据 。
·时戳 (Timestamp),占 32位,时戳反映了该 RTP报文的第一个
八位组的采样时刻 。 接收者使用时戳来计算延迟和延迟抖动,并
进行同步控制 。
·同步信源 (SSRC)标识符, 占 32位,用于标识同步信源 。 该标
识符是随机选择的,参加同一视频会议的两个同步信源不能有相
同的 SSRC。
·特约信源 (CSRC)标识符, 每个 CSRC标识符占 32位,可以有
0~ 15个 。 每个 CSRC标识了包含在该 RTP报文有效载荷中的所有
特约信源 。
第 3章 多媒体通信同步
典型的时戳递进策略分成以下两类,
(1)
源于主设备的媒体单元的时戳在主设备时钟控制下递进,而源
于从设备的媒体单元的时戳的递进要经过调节过程的处理,使从设
备媒体单元与同时生成的主设备媒体单元具有相同的时戳 。 选择
主设备时的考虑因素有, 时钟频率的精确性和媒体源的重要性等 。
例如,声音媒体和图像媒体中,通常选择声音频媒体源作为主设备,
因为声音媒体的时间误差易被人们的听觉感受 ; 也可以选择外部
时钟源作为主设备 。
(2)
在分布式网络环境中,媒体单元时戳递进率取决于某一网络连
接的数据传输率。
第 3章 多媒体通信同步
3.3 多媒体同步控制机制
1,
在基于参考点的同步法中,视频和音频对象被看作是由等间
距的子单元序列组成的,同步关系可以用同时出现的不同对象子
单元来定义 。 一个媒体对象的子单元的位置称为参考点 。 一个
参考点可以是绝对自然数 ( 如视频帧的帧号 ),也可以是相对参
考点 ( 如 0和 1之间是小数 ) 。 在演示之前,相对参考点必须映射
到最相近的绝对参考点 。
第 3章 多媒体通信同步
(1)
基于参考点的同步法把多媒体对象分为静态和动态两种基
本对象,基本对象由演示属性和信息对象 ( 如文本, 图形, 音
频, 视频等 ) 的索引组成 。 基本对象的同步由参考点定义,一个
参考点与相应基本对象的共同描述称为同步元素,两个或多个元
素可以结合成一个同步点,完整的多媒体对象之间的同步由这些
同步点定义 。
图 3.7 一种视频和音频交替存储的文件格式
第 3章 多媒体通信同步
(2)
在这种同步算法中,同步控制采用如下三种原子动作,这些
动作控制着动态对象的同步 。 即,
·等待, 如果一个动态对象的演示已达到同步点而其它对象
尚未到达,则该对象需要执行一个等待动作,例如,冻结, 暂停
视频帧等 。
·跳过, 如果一个对象的演示需要跟上另一个对象的演示,
则该对象要执行跳过动作去演示下一个媒体单元的数据 。
·连续跳过, 如果一个对象的演示需要连续跳过多个媒体单
元到达新的同步点,则该对象要执行连续跳过动作来增大演示
速度,这是一种加速操作 。
第 3章 多媒体通信同步
一种基于参考点同步法的实现算法如下,
① 初始化,包括测试计算机系统速度和磁盘 I/O速率, 复位
帧计数器, 读取媒体文件的头信息以确定帧的索引 ( 同步 ) 点 。
② 对于第 m帧,先读入第 m帧音频数据,然后检测第 m-1 帧
的音频是否播完 。
③ 如果已经播放完,则说明音频段比一帧图像演示得快,需
要跳过下一帧图像 。 这时只需播放第 m帧音频段,而不必播放图
像帧 。 计数器增值后返回到第 ② 步,继续播放后续的帧 。
第 3章 多媒体通信同步
④ 如果第 m-1帧音频段未播放完,则把第 m帧音频数据存放
到音频输出队列中,使其自动连续播放,然后读入并显示第 m帧
图像 。 计数器增值后返回到第 ② 步,继续播放后续的帧 。
⑤ 如果第 ④ 步中的情况连续出现 N次 ( 经验值 ),则说明
音频段比一帧视频图像演示得慢,在演示图像帧时要适当加入
延时 。
第 3章 多媒体通信同步
基于参考点同步法的优点是,
·对内存的要求较低,无需一次性将所有音频数据调入内
存,而是利用双缓冲技术实现音频数据的连续播放 。
·在播放过程中进行快进, 快退, 暂停或慢放等控制操作
非常方便 。
·与 OCPN机理相吻合。
第 3章 多媒体通信同步
2,基于参考时间线的同步法
(1)
在这种同步法中,一个多媒体影片中的音频和视频数据是分
开存储的 。 音频数据将存储在一个数字化声音文件中,该文件包
含有文件头和声音控制块,每个声音控制块包含播放控制信息和
数字化声音采样值 。 视频数据存放在一个由图像序列组成的视频
图像文件中 。 音频对象将随时间的延伸而映射到时间线,形成音
频轨迹 。 同样,视频对象将随时间的延伸而映射到时间线,形成视
频轨迹 。 在视频图像库中,还包含有音频轨迹,其存储形式是一种
带有控制信息的数据结构,这个数据结构包含音频起始标记和定
位指针等参数 。
第 3章 多媒体通信同步
(2)
为了保持播放速度与视频序列采集速率的一致性,实现媒体
在不同媒介上演示,其同步准则是,
·设视频媒体表现在时间线上的映射为 VideoRate 秒 /帧,视
频的采集速率为 VideoSampleRate 秒 /帧,时间差定义为 t△ =
VideoRate-VideoSampleRate。
·如果 t△ > 0,则播放速度慢于采集速度,需要丢帧 ; 如果 t△ <
0,则播放速度快于采集速度,需要延时 ; 如果 t△ = 0,则播放速度
等于采集速度,正常播放 。
第 3章 多媒体通信同步
一种基于参考时间线同步法的实现算法如下,
① 初始化,包括测试计算机系统速度和磁盘 I/O速率等,以确
定丢帧数目和帧延时时间 。
② 对于非正常顺序播放,其同步控制 ( 如暂停, 快进, 快
退等 ) 是以参考时间线的映射为基础的 。 重定位音频流和视频
流,也就是要定位新的视频数据起始点,并从时间线的映射关系
中找出音频流的帧起始点 。 设音频采样率为 AudioSampleRate
kHz/秒,m位编码 。 若从第 N帧开始播放时,音频定位点为,
N× AudioSampleRate× VideoSampleRate× m/8 ( 字节 ) 。
第 3章 多媒体通信同步
③ 两种媒体并行地演示,例如可采用前台和后台方式播放
音频和视频数据 。
④ 在同步点对帧进行调整,其同步点按下式计算, 当 t△ > 0,
则音频速度快于视频速度,需要视频每隔 VideoSampleRate /
( VideoRate-VideoSampleRate) 帧跳过一帧,以达到同步 ;
t△ < 0,则音频速度慢于视频速度,每帧视频需 要延迟
( VideoSampleRate VideoRate) 秒 ; 以达到同步 。
第 3章 多媒体通信同步
3,
这种方法的演示过程以主设备 ( 如音频演示设备 ) 时钟为基准 。 在演
示过程中,若从设备 ( 如视频演示设备 ) 媒体流的同步点超前或滞后于主设
备媒体流的同步,则对从设备媒体流施加等待或加速动作,使从设备媒体流的
同步点与主设备媒体流的同步点相一致 。 由于各媒体流以同步的方式传送
到演示设备的缓冲器之中,利用缓冲器容量的有限性便可以校正由于演示设
备时钟频率的差异而引发的不同步现象 。 例如,若从设备超前于主设备,则
从设备媒体流到达设备缓冲器的时间滞后于演示流程规定的时间,引起从设
备缓冲器下溢,迫使从设备暂停演示过程以等待主设备 。 另一方面,若从设
备滞后于主设备,则从设备媒体流到达设备缓冲器的时间超前于演示流程规
定的时间,媒体流流入从设备缓冲器中直至将其充满,此时,进一步的媒体流
流入将引起从设备缓冲器上溢,迫使从设备跳跃媒体单元以赶上主设备 。 这
种方法的最大失调取决于演示设备缓冲器的容量 。
第 3章 多媒体通信同步
3.3.2 网络环境下的多媒体同步技术
1,
失调检测是实现强制同步的关键步骤,失调检测可以在媒体
接收端进行,也可以在媒体发送端进行 。 若在媒体接收端进行,
则检测各个媒体流同步点的一致性,同步点可记录在 OCPN或
XOCPN中,也可表示成时间戳的形式 。 若在发送端进行,则由接
收端向发送端反馈轻载状态信息,发送端据此进行失调检测 。 若
出现失调,可采取以下的同步控制手段,
① 发送端改变其数据发送速率 。
② 接收端执行跳过或暂停动作,跳过动作将加速媒体流的演
示过程,而暂停动作则延缓媒体流的演示过程 。
第 3章 多媒体通信同步
在网络环境下,基于反馈的同步机制是常用的同步方法 。
这种方法的主设备和从设备分别向媒体发送端反馈轻载状态信
息 。 当媒体发送端收到来自主设备的反馈信息后,据此估计与
反馈信息相对应的媒体单元在主设备上的最早播放时间和最迟
播放时间,并以此为基础估计该媒体单元的最早发送时间和最
迟发送时间 。 在最早发送时间向主设备发送媒体流会使主设备
缓冲器的占空度处于最高值,而在最迟发送时间向主设备发送
媒体流会使主设备缓冲器的占空度处于最低值 。 选择合适的发
送时间便可保证主设备媒体流的连续播放 。 当媒体发送端收到
来自从设备的反馈信息后,执行如下的同步过程,
第 3章 多媒体通信同步
① 估计与反馈信息相对应的媒体单元在从设备上的最早播
放时间和最迟播放时间 。
② 通过比较在主设备和从设备上媒体单元播放时间的估计
值,确定同步播放的媒体单元集合 。
③ 由同步播放媒体单元集合各元素同步点的差异,确定主设
备和从设备之间失调的程度 。
④ 多媒体服务器根据失调程度,加速或延缓从设备的媒体演
示过程,迫使从设备与主设备同步运行 。
此类方法的最大失调由用户设置,从而使失调容限与演示设
备缓冲器的容量互不相关,具有灵活方便的特点 。
第 3章 多媒体通信同步
2,基于 RTP
基于 RTP协议的同步机制是上述基于反馈的同步机制的一
个实例 。 在网络环境下,为了保持多媒体流内和流间的同步关
系,在演示过程中引入端到端的强制同步机制是必要的,而失调
检测机制则是实施强制同步控制的基础 。 失调检测机制可以采
用两种方法实现, 一是由网络协议提供,应用程序可以利用这种
机制去实现强制同步控制,例如 RTP协议就提供了这种失调检
测机制 ; 二是完全由应用程序实现失调检测和同步控制机制 。
现考察一下 RTP协议所提供的失调检测机制 。
第 3章 多媒体通信同步
在 RTP协议中,采用了如下的同步控制策略, 各个接收端周期
地将一种称为接收者报告的轻载消息反馈给发送端,在接收者报
告中包含有接收者观察到的网络失调状态信息 ( 如 QoS状态 ),发
送端将接收者报告提交给高层应用程序,应用程序据此进行失调
检测与评价 。 如果出现了失调现象,则需要进行强制性同步控制 。
发送端应用程序可以通过改变数据发送速率, 控制传输带宽等方
法来实施强制同步,以满足接收端演示质量 ( QoP) 的要求 。
基于 RTP的同步方法的特点是, 利用 RTP协议机制来传送网络
状态信息,不需要另外构造网络检测机构,易于实现 ; 接收者报告
是一种轻载报文,占用较少的通信带宽 ; 在 RTP报文中包含了序列
号和时戳等同步标记,接收端可以通过这些标记实现同步控制 。
需要指出的是 RTP协议只提供了同步标记, 失调检测和反馈机制,
而强制同步机制要由应用程序来实现 。