第 8章 多媒体系统的数据模型
? 多媒体系统数据模型概述
? 超文本系统的形式化模型
? 信息元模型
? 表现与同步模型
8.1 多媒体系统数据模型概述
? 数据模型 就是在计算机数据世界中建立的计算机能
接受的对现实世界中所要研究对象的抽象描述 。
? 多媒体系统的数据模型的主要任务,
? 表示各种不同媒体数据构造及其属性特征;
? 指出不同媒体数据之间的相互关系 。
? 多媒体数据时空关系的建模是多媒体系统研究的重
要特色,这种时空关系主要由多媒体系统表现 模型
刻划。
多媒体系统表现模型
? 多媒体表现是多媒体数据的合成再现。
? 多媒体合成主要包括空间和时间合成。
? 空间合成是同一表现空间域中共存的一系列媒体
对象之间的空间特性、位置关系的描述。
? 时间合成是在某一时间域内并发 (包括顺序和并行 )
表现的一系列媒体对象之间的时序关系的描述。
? 多媒体同步是指采用进程来协调时序关系的机制,
亦即实现时间合成方法的描述。
图 8.1 多媒体系统数据模型的层次结构
应用层
信息元层
数据元层
脚本同步
合成同步
系统同步
内容 表现
? 表现模型从“表现”入手,根据多媒体表现强
烈的时空特性,往往以时间为线索来组织安排
多媒体活动。
? 同步指对多个对象间的时间关系的协调控制,
同步模型是以时间为线索来组织多媒体表现。
? 同步也是有层次的,一般分为用户级同步、复
合对象内部的同步及系统同步 。
8.2 超文本系统的形式化模型
? 形式化描述 就是用数学概念或类数学概念来精
确定义和描述信息系统的基本特性的一种方法。
? 优点,精确定义和描述; 便于模型性质的分析;
有利于研究新模型; 指导系统实现。
? 形式化语言或工具 (如 Petri网、时序逻辑语言。
和 Z语言 )被引进到超文本的研究之中。形式化语
言既是正规性语言又是描述性语言,在软件的系
统建模、概念设计中起着重要作用 。
集合论和一阶逻辑
? 定义 8.1 一个序偶 <S,R>,这里 S是一个集合,R是从
S到 S一种关系。如果 <S,R>满足下列条件称它为偏序
集,
(1) R是不对称的;
(2) R是自反的;
(3) R是传递的。
? 定义 8.2 集合 S一个对象 x是偏序 R的最小元素,如果,
?s∈ S(R(s,x)=>(s=x))
? 定义 8.3 偏序集 <S,R>中, 集合 S的元素 X覆盖 S的
元素 Y(≠X)可记为 covers(X,Y,<S,R>),满足,
R(Y,X)∧ ? Z∈ S[(R(Y,Z)∧ R(Z,X))=>(Z=X)∨ (Z=Y)]
? 定义 8.4 偏序集 <S,R>中,S中对象的高度是一个从
S到自然数集合的函数,其定义为,
(1) 如果 X是 <S,R>最小元素,则 height(X)=1;
(2) 如果 covers(X,Y,<S,R>),则 height(X)=height(Y)+1。
? 定义 8.5 一个超文本 η是这样一个集合,它包括,
(1) 域对象集 D0和信息对象集 I0; 且有
D0∩I0 =φ,D0∪ I0=O
其中 φ为空集,O是对象集。
(2) 谓词集合 π;
(3) 属性 (性质 )集合 A。
对超文本 η,D0[η]表示 η的域对象集,I0[η]表示 η的
信息对象集,A[η]表示 η中的属性集,π[η]表示 η中
的谓词集合。
? 定义 8.6 谓词集合 π,由以下 3个子集组成,
(1)π1,一元谓词,表示对象的特征。 SET(X)。
(2)π2,二元谓词,表示对象的关系。 P(X1,X2)。
(3)π3,三元谓词,表示对象的某种属性的取值。 ATR(X,Y,Z)。
? 定义 8.7 D0是一个表示 η的域对象的独有符号的集合,I0是表示信
息对象符号的集合,集合 O=D0∪ I0被称为对象集合。
? 信息对象 (I0)与域对象 (D0)的关系可以通过函数 INSTANCEOF和
INSTANCES来建立。 INSTANCEOF(X)=Y表示 X是一个信息对象,它
是域对象 Y的一个实例。 INSTANCES(X)={X1,X2,…} 则等价于
INSTANCEOF(X1)=X,INSTANCEOF(X2)=X,… 。
? 定义 8.8 超文本 η是一个强定义的超文本,当且
仅当
?X(X∈ I0) => (?Y(INSTANCEOF(X)=Y))
所有的信息对象都通过它们的域对象定义 。
? 信息结点的信息内容由对象的 INFO属性表示。
INFO是一个二元组〈 Position,Value〉,其中
Position指明在信息对象中 Value的位置。
? 定义 8.9 序列对象 Oq是有限个对象的集合,且有,
(1)谓词 SEQUENCE ? X(SEQUENCE(X) <=> (X∈ Oq));
(2)函数 LENGTH LENGTH(X)=X中所含对象的个数;
(3)函数 LIST LIST(X)=X中对象的一个有序排列,用
〈 X1,X2,… 〉 表示;
(4)谓词 in 当对象 X是序列 Y的一个元素时,in(X,Y)或
(X in Y)为真; 如果 X不是 Y的一个元素,即 X不在 Y中,
则 in(X,Y)为假。
? 定义 8.10 聚集对象 Oaggregate是一个序列对象,且须满足下述公理,
(1) 聚集对象具有惟一的成分。
?X,Y[AGGREGATE(X)∧ AGGREGATE(Y)
∧ (LIST(X)=LIST(Y))=>(X=Y)]
(2) 若一聚集对象是域对象,该对象所有成分必是域对象。
? X(AGGREGATE(X)∧ (X∈ D0) =>
? Y[(Y in LIST(X)) =>(Y∈ D0)])
(3) 聚集对象的实例由其成分对象的实例构成。
? X,Y[(AGGREGATE(X)∧ (X∈ INSTANCES(Y)))
=> (AGGREGATE(Y)∧ (Y∈ D0)∧ ?Z[(Z in LIST(X))
=> [(Z in LIST(Y))∧ ?T[(T in LIST(Y))∧ Z∈ INSTANCES(T)]]])]
? 定义 8, 11 归纳定义为对象集合 O 中的一种关系, 若
GENERALIZATION(X,Y),则称 X是 Y的归纳 。 归纳满足下述
公理,
(1)关系 GENERALIZATION是不对称的, 非自反的和传递的 。
(2)如果 X是一信息对象, 它是域对象 Y的实例, 则 Y是 X的归纳 。
(INSTANCEOF(X)=Y) => GENERALIZATION(Y,X)
(3)如果 X是 Y的归纳,并且 Y是一个域对象,则 X必是域对象。
? X,Y[(GENERALIZATION(X,Y)∧ Y∈ D0)=>(X∈ D0)]
(4) 如果 Y是 X的归纳,并且 X是一个信息对象,Y是一个域对象,
则 X在 Y的实例集中。
?X,Y[[GENERALIZATION(Y,X)∧ (X∈ I0)∧ (Y∈ D0)]=>
(X∈ INSTANCES(Y))]
? 引理 8.1 如果 X是 Y的归纳并且 Ym在 Y的实例集中,则
Ym在 X的实例集中。
? 引理 8.2 定义关系
GENERAL(X,Y)=[(X=Y)∨ GENERALIZATION(Y,X)]
序偶 <O,GENERAL>是一个偏序集。
? 定义 8.12 一个对象 X∈ O的归纳级定义为在偏序集
<O,GENERAL>中对象的高度。
8.3 信息元模型
8.3.1 基本概念
? 信息元模型考虑的是信息元构造模型,目的是
提供一个标准,使“信息元”公共化、通用化,
成为上层各类多媒体应用 (或模型 )都可“调用”
的东西,这将会大大方便多媒体数据与信息之
间的交互和通信 。
? 多媒体信息元是具有一定语义的组成信息系统
应用的信息子块 。
? 多媒体信息元是一个或多个媒体数据元经过一
定的添加与包装而合成的超数据元 。
? 多媒体信息元 3个基本特性,
(1)数据元本身的组织附加其表现属性 — 基本对象的内
容与表现 /单媒体对象的表现。
(2)多个数据元的时空同步关系描述 — 复合对象的同步
/多媒体的同步。
(3)成分之间的链接描述 — 基本的链接功能 。
? 信息元的大小 就是上述 3项内容之和。
? 信息元的合成 主要指多个数据元之间的时空合
成,亦即时空关系的描述。
? 面向对象一些特点,如封装、继承、聚合等,
恰好适合于为复杂多媒体数据和信息提供强有
力的抽象机制。
? 多媒体信息元模型更是利用了面向对象的方法 。
8.3.2 MHEG标准
? 由 ISO/IEC JTC1/SC29/WG12专家组 (MHEG)来制
定超文本信息元标准。
? 主要集中在以下几个方面:①交互性和多媒体同
步;②实时表示;③实时交换;④对象格式变
换 。
? 分两个部分来完成标准化工作:第一部分是概念
/原理性定义,第二部分主要是超媒体信息对象
及 MHEG链的表示。
? 采用面向对象的方法来分析设计模型。
MH对象 的分类
? 输出内容 (Output Content)对象
? 一般输入 (generic input)对象
(1)按钮 (button) ;
(2)菜单选择 (menu selection) ;
(3)多项选择 (multiple selection);
(4)字符串 (character string);
(5)位置 (location);
(6)数值 (numberical value)。
? 投射器 (projector)对象
? 基本 (pasic)对象
? 合成 (composite)对象
? 条件与动作
MHEG的同步机制
(1)脚本同步;
(2)条件同步;
(3)空间 — 时间同步;
(4)系统同步 。
8.4 表现与同步模型
8.4.1 表现与同步的有关概念
? 表现 是把各种媒体信息展示 给用户的活动,是多
媒体数据的合成再现。
? 多媒体表现因多种媒体并存而成为复杂活动,以
时间顺序和空间关系来安排多种媒体的合成表现,
即是 多媒体同步 问题。
? 空间合成 确定各种媒体在画面空间上位置变换和
安排,时间合成 确定媒体对象在时间上的顺序 。
1,时空合成的概念描述
? 定义 8.13 角色是多媒体表现环境中的资源,它
分为视角色和听角色。视角色对应一块显示区域
(窗口 ),听角色对应扬声器或声卡 (声音通道 )。
? 定义 8.14 场景是各种媒体对象占用角色活动的
多媒体空间表现环境。
? 定义 8.15 场景运算是对角色施加的操作,它分
为一元运算和二元运算。
表 8.1 场景运算
场景运算 一元运算 二元运算
视角色 定位 (Loc),
变比 (Scale),
剪裁 (Cut),
旋转 (Rotate)
邻接 (Abut),
覆盖 (Overlay),
镶嵌 (Mosaic),
交叠 (Overlap)
听角色 增益 (Gain)
混声 (Mix)
? 定义 8.16 场景表达式 由角色经场景运算而产
生的结果。它可递归定义为,
(1) 角色本身是场景表达式;
(2) 若 Q为场景表达式,则 Q一元运算结果为场景表达式;
(3) 若 Q1和 Q2为场景表达式,则 Q1和 Q2二元运算结果为
场景表达式;
(4) 若 Q为场景表达式,则 (Q)也是场景表达式;
(5) 场景运算优先级由高到低为,(),一元运算,二元运
算;
(6) 场景表达式经 (1)~(5)确定的规则复合而成。
? 定义 8.17 情节表示多媒体表现环境中所发生
的事件,即媒体对象的活动。
? 情节可分为原子情节和复合情节,原子情节是
由一个媒体对象连续完成的活动,复合情节是
由原子情节或复合情节经情节运算构造而成。
? 定义 8.18 设 X1,X2为多媒体表现中的 2个情节,
情节运算定义为,
(1) 并发运算 X1∧ X2,X1∨ X2
X1,X2同时开始执行,都完成时 X1∧ X2完成 (称最后并行 );
X1或 X2有一个完成时 X1∨ X2完成 (称首先并行 )。
(2) 顺序运算 X1;X2
先执行情节 X1,再执行情节 X2,X2完成时 X1;X2完成。
(3) 循环运算 X*m
循环 m(m>1)次执行情节 X,X每次执行有不同对象参与。
(4) 重复运算 X+m
重复 m(m>1)次执行情节 X,X每次执行都同一对象参与。
? 定义 8.19 情节表达式定义为,
(1) 情节本身是情节表达式;
(2) 若 X为情节表达式,则 X*m,X+m也是情节表达式;
(3) 若 X1和 X2为情节表达式,则 X1∧ X2,X1∨ X2和 X1;
X2运算结果也为情节表达式;
(4) 若 X为情节表达式,则 (X)也是情节表达式;
(5) 情节运算优先级为,()优先级高,其余运算优先级相
同;
(6) 情节表达式所有形式可经 (1)~(5)确定的规则复合而成。
? 定义 8.20 多媒体节目脚本是一个情节表达式 。
2,时间合成
? 时 间 关 系 一 般 可 用 before,meets,overlap、
during,starts,finishes和 equals及其逆关系来表
示, 共有 13种 。 定义见表 8.2,
? 多媒体对象在时间上的并行, 顺序, 独立关系,
在对象时间表现控制上分别对应于并发, 串行,
异步 (任意 )执行 。
表 8.2 时间关系的定义
关系 记号 逆关系 定义
A equals B e(A,B) e( B,A) bA=bB < tA=tB
A before B b(A,B) b-1( B,A) bA< tA <bB <tB
A meets B m(A,B) m-1( B,A) bA< tA =bB <tB
A starts B s(A,B) s-1( B,A) bA=bB < tA <tB
A finishes B f(A,B) f--1( B,A) bB <bA < tA=tB
A during B d(A,B) d-1( B,A) bB <bA < tA<tB
A overlaps B o(A,B) o-1( B,A) bA <bB < tA<tB
图 8.2 层次化同步
图 8.3 基于参考时间轴的同步
图 8.4 参考点同步示例
8.4.2 同步模型
1,同步模型概述
? 用户级同步与脚本模型
最上层同步,又称表现级同步或交互同步
? 合成同步
中层同步
? 系统同步
底层同步,是媒体内部同步
同步的层次与类型
时间同步模型的功能需求
其中有些特点是模型必须支持的, 如对象间同步;
有些特点, 模型尽量予以支持, 如不一致性检测 。
目前所提出的同步模型主要有以下 4类,
图模型, 基于 Petri网的模型, 面向对象的模型, 基于
语言的模型 。
表 8.3 时间同步模型的功能需求
表达能力 用户交互 /不确定性 规约生成支持
对象间的同步
对象内的同步
不确定性管理
高级交互功能 (倒带、快进,......)
规约可维护性
规约重用性
不一致性检测
2,图模型
? 图模型把时序场景表示为一个图 G=(V,E),其中
结点 n?V表示合成场景的对象 /事件;
边 e?E表示时序场景构件之间的相互关系。
? 以 Firefly模型为例介绍图模型,该模型使用的记号如下,
方结点 表示多媒体对象的开始和结束时间;
圆结点 表示对象内的同步点, 它们被放置于对应对象的
开始和结束事件之间;
边 表示事件之间的时间关系 。
? 每个边标记上它所连接的事件之间关系 。 例如标记为,
同时 (sim.with)或先于 10秒 (before 10s)。
? Firefly模型支持两种约束,
时间等式, 它要求两个事件同时发生 (如 sim.with)或一个事
件超前于另一事件确定时间量 t(如 before t);
时间不等式, 它支持不确定性的表达 。 例如一个事件超前
于另一个至少某个确定时间 t(如 before at least t),或至少
时间 t至多时间 s (before at least t and no more than s)。
start start
end end
start start
end end
start start
end end
sim.with
Music-Start Logo-start
sim.with
sim.with Car Text
before t1
sim.with
sim.with
sim.with
sim.with
Music-end
Logo-end
图 8.5 Firefly模型场景描述举例
3,Petri网模型
? 时间 Petri网描述多媒体同步基本思路,将时序场景中媒体
对象的布局表示为 Petri网中的库所,时间关系表示为变迁。
? 对象合成 Petri网 (OCPN)模型为例介绍基于 Petri网的多媒体
同步形式描述模型。
? OCPN模型是在常规 Petri网基础上增加了延时值和资源值等
扩充而成的。
? 定义 8.21 Petri网 (PN)记为 CPN={T,P,F},其中
T={t1,t2,…,tn},表示变迁的集合,n≥0;
P={P1,P2,…,Pm},表示库所集合,m≥0且 P∩T=φ;
F?{T× P}∪ {P× T},代表库所与变迁之间有向弧的集合。
? 定义 8.22 标记 Petri网 (MPN)定义为 CMPN={ T,P,F,M}
其中,T,P,F的定义同 PN中的定义,而
M,P—>I,I={ 0,1,2,…}
? 定义 8.23 OCPN的定义为 COCPN ={ T,P,F,D,Re,M}
其中,T,P,F,M的定义同 MPN定义,而
D,P—>R(实数集 )
Re,P— >{ r1,r2,…, rk}
D是从库所集合到实数 (持续时间 )的映射,Re是从库所集合到
资源集合的映射。
图 8.6 一个 PN例子
Car
Delay Text
T1,R1
Tc,
Rc
T2,R2
图 8.7 OCPN模型示例
图 8.8 时间关系和对应的 OCPN
4,面向对象的模型
? 时序场景被建模成相互联系的对象集合。 同步多媒体
对象的时间信息通过对象属性的方式来建模 。
? 合成对象是建模时序场景强有力工具。 可把时序场景
建模成一个合成对象,其中每个组元是合成场景的对
象。建模以及合成场景的对象的属性和方法一般用来
表达同步需求 。
? ODA是由 ISO/ITU/ECMA联合开发的标准化文档结构,
用于管理开放分布式办公文档。 ODA基本版本不能
处理音视频类数据类型,考虑的文档仅由文本、图形
和图像组成。有人提出了对 ODA结构的扩充,加强
ODA框架处理时间信息的能力。
? Hoepner在 ODA框架内提出多媒体对象同步通用模型 。
? 每个时序场景可建模成情节的集合 。 情节在某些给定的对
应于特殊事件的时间点进行合成 。 合成在该模型中仅能出
现在每个情节的开始和结束点 。
? 同步需求通过路径表达式来进行描述, 路径表达式由路径
算子组合原子情节而形成 。
? Hoepner定义的路径算子如下,
(1) 最后并行 (A∧ B) 情节 A和 B起始于一个公共起点, 并行
执行 。 当所有参与情节 (A和 B)都结束时, 合成情节才结束 。
(2) 首先并行 (A∨ B) 情节 A和 B起始于一个公共起点, 并行
执行 。 当其中某一情节首先结束时, 合成情节即结束 。
(3) 串行 (A;B) 只有 A先执行完后才有可能执行 B。
(4) 可选的 (A|B) 执行 A或 B都是允许的。
(5) 重复 (Ai*) 情节 A将重复 i次 。
(6) 并发 (N:A) 情节 A将被许可同时并发执行 N次 。
? 例如,算子路径 Path A; ((B∧ C)∨ (D∧ E)); F* end 含义是,
A开始启动,A刚结束,4个情节 B,C,D,E同时启动,在
B,C结束或 D,E结束时,F开始执行 (0次或多次 )。
5,基于语言的模型
? 利用 同步原语扩展传统的并发程序设计语言建模多媒体同
步需求, 基于 LOTOS,Hytime和 TCSP等语言的模型 。
? TCSP是 CSP语言的时间扩充。
? TCSP作为一种描述语言,它使用了下述记号,
SKIP — 进程 (不做任何事情 )立即结束; STOP — 终止;
WAIT t — 延迟时间 t后结束; ||| — 异步并行;
P Q — 由环境决定的外部选择; P Q — 内部选择;
a?P — 事件 a发生时控制传给 P;
a?P — 事件 a发生后时间 t,控制传给 P;
P Q — 超时操作,如果时间 t之前无与 P的通信发生,把控制
从 P传到 Q;
P;Q — 顺序合成;
等等。
t
t
? TCSP功能强大, 足以描述 Allen定义的 13种关系 。 如,
equals(x,y)=(x.ready ? (y.ready ? E1) (synch-error ? SKIP) )?
(y.ready ? (x.ready ? E1) (synch-error? SKIP))
E1=x.present ? y.present;
(x.free ? (y.free ? SKIP) (synch-error ? SKIP)) ?
(y.free ? (x.free ? SKIP) (synch-error ? SKIP))
? 描述规范生成后必须要检查其正确性。验证正确性分两步:
首先有必要给出规范必须满足的性质;然后证明描述规范
满足了定义的性质。利用 TCSP描述的同步规范可用 TCSP
证明理论来检查其是否满足安全性、活性等性质。
8.4.3 多媒体表现的脚本语言
? 脚本及脚本语言
? S.R.L.Meira和 A.E.L.Moura基于表现对象间及
表现对象与时钟间的时间关系模型而开发的一
种脚本语言,
(1)语法描述;
(2)节目编程举例。
本章小结
? 首先分析 多媒体系统数据模型的层次结构;
? 简要介绍了基于集合论和一阶逻辑的超文本系统
的形式化描述方法,还对信息元模型进行了讨论;
? 讨论了表现与同步的有关概念,时间同步方法,
在多媒体系统建模中有影响的同步模型 ;
? 本章内容属多媒体技术的基础研究部分,目前还
不够系统化,希望通过本章介绍对读者进一步研
究或应用多媒体系统有所帮助 。