计算机应用研究
APPLICATION RESEARCH OF COMPUTERS
2000　Vol.17　No.5　P.70-71，111



多媒体电子出版系统的研究与开发
曾益民　叶汝强
摘  要  将各种多媒体资源灵活地组织起来制作多媒体产品是当前信息技术发展的热点之一。介绍了一套基于一个素材库的多媒体电子出版系统的设计方案及其实现过程中若干问题的解决方法。
关键词  多媒体  电子出版系统  剧本   元件  素材库
　　随着信息技术的发展，采用多媒体技术的各种电子出版物如CAI软件、产品展示软件、百科全书等纷纷涌现，它们具有图、文、声、像并茂，传播迅捷的特点，甚至还能与接受者进行一定程度的交流，因此大受欢迎。然而，由于制作多媒体素材专业性较强，而希望制作多媒体电子出版物的人员遍布于各行各业，往往缺乏专业制作经验，这就使其推广受到了限制。一种解决的策略是将多媒体素材的制作和组织分开，一方面创建和维护一个多媒体素材库，库中资源可以通过多种渠道收集，或根据需要交由专业人士制作；另一方面使用一套简单易用的软件系统来组织素材库中的资源。这种软件系统应尽可能采用直观的方式进行编排，在已有的多媒体素材库的基础上，只需进行点击、拖放等简单的鼠标操作即可将资源组织起来，使非专业人士也能制作出丰富多彩的多媒体出版物。而且，对生成的作品，可以方便地对其内容和结构进行调整，以提供较大的灵活性和适应性。本文即描述了一套这样的软件系统的体系结构，并就其实现过程中的有关问题提出了解决方法。
1  体系结构
　　为直观起见，可以认为多媒体电子出版物有类似普通书籍的结构，由以下几个部分组成：多媒体页面元素-&gt;页面-&gt;电子出版物。它们是依次递进的关系，即由零个或多个页面元素组成页面，再由零个或多个页面组成电子出版物。其层次关系如图1所示。

图1多媒体电子出版物结构
　　其中，多媒体页面元素是构成电子出版物的最小单位，它可以是一段文字，一张图片或动画，一段音像，甚至一个控制按钮等，它拥有位置、大小、颜色、动作等属性，称之为元件。将同一页面上的各个元件的属性以一定方式逐一记录保存即得到页面。同样，通过描述各个页面的次序关系就可以描述一部多媒体电子出版物。
　　由此得出设计思路：根据上述的层次关系，编制一个版面设计器，用来组织各种多媒体素材用以形成一个个版面；编制一个结构设计器用来调整版面次序以及实现一些控制功能，将版面组织成一部完整的多媒体电子出版物。储存在电子出版物中的信息由一个解释器负责解释，将其本来面目展示在视窗中。
　　图2是据此设计的系统结构。系统由版面设计器、结构设计器、解释器、编译器四大程序模块以及一个多媒体素材库组成。

图2系统结构
　　版面设计器用于组织多媒体素材，将其编排成单个的或一系列相关的版面，并将这些版面保存为版面剧本。此处定义版面剧本为对构成版面的各个元件(如图片、按钮等)的属性(位置、大小、执行动作等)的描述，而出版物剧本为对一个多媒体电子出版物的结构和控制命令的描述，其中也包括对版面的描述。为提供一个直观的编排环境，版面设计器采用类似可视化编程工具的设计界面，以面向对象的方式来处理版面元件，认为它们具有属性和方法，而使用者却无需具备“面向对象”的概念，只要从元件板中选取所需类型的元件，然后在当前版面上点击鼠标，在弹出的该类型元件的属性对话窗口中设置好各个属性值，确定后系统即在点击位置生成该元件。
　　结构设计器提供一个以树形目录结构管理版面的工作环境，可以像普通书籍一样以章、节的形式组织版面，加入一些控制命令，使其融合成一个有机的整体，并生成出版物剧本，其操作类似在Windows 9x的资源管理器中增删目录。为增强系统功能和实用性，结构设计器也可以直接组织文本文件、RTF文件、HTML文档、AVI文件、WAV文件以及多种格式的图片等。
解释器则根据剧本逻辑结构和版面描述，从素材库中动态地调用相应的资源并将它正确地显示在播放器视窗中。剧本也可以被编译器编译成可执行文件，与所调用的资源捆绑在一起，这样就可以脱离设计系统和素材库独立运行，便于分发。
2  关键技术
　　实现上述系统的关键在于相关数据结构的定义、作品存储方式和多媒体素材库的组织方式的选择等。
2.1  数据结构
　　数据结构的定义对以后的各个开发步骤都有至关重要的影响，一个合理的数据结构会大大简化后续步骤的开发，反之，数据结构定义不合理将使以后的开发难以进行，甚至只能推翻重来。因此可以说相关数据结构的合理与否是决定开发能否成功的重要因素之一。在实践中发现几个主要的数据是元件属性、元件、版面和电子出版物，现以在Delphi 4环境下的实现为例，分别定义如下。
　　元件属性的定义：
TCompProp = Record　　//元件属性定义
　　CompType: Integer;　　//元件类型
　　Top, Left: Integer;　　//元件在页面上的位置
　　Width, Height: Integer;　　//元件宽、高
　　ActionObject: Integer;　　//元件动作的施加对象
　　ActionType: Integer;　　//元件所执行的动作
　　.
　　.　　　　　//元件的其它属性如字体等 
　　.
end;
　　元件的定义:
TComp = record　　//元件定义
　　CompProp: TCompProp;　//元件属性
　　Comp: TControl;　　//指向一个按CompProp生成的元件，
　　　　　　//用来实现对元件的动态控制，
　　　　　　//只有对当前页此值才不为空
end;
　　版面定义：
TPage = record　　//版面定义
　　IsModified: boolean;　　//版面修改标志
　　order: Integer;　　//版面序号
　　Width, Height: Integer;//版面宽、高
　　CompList: TList;　　//元件序列, 每个元素指向一个元件
　　　　　　//(由Tcomp定义)
　　.
　　.　　　　//其它属性
　　.
end;
　　电子多媒体出版物的定义:
TBook = Record　　//多媒体电子出版物定义
　　Book: TList;　　//版面序列，每个元素指向一个页面
　　　　　　//(由Tpage定义) 
　　Author: String;　　//作者
　　Version:  string;　　//版本
　　.
　　.　　　　//其它信息如版权、发行时间等
　　.
end;
　　由以上的定义也可以看出前述的层次关系。
2.2  存储方式的选择
　　制作完成的作品可以有两种存储方式，一是将实际元件甚至页面以原样存储，这样做的好处是保存、恢复都较简单，速度也较快。但是，由于多媒体文件占据的磁盘空间一般都很大，因此,如果在一个作品中重复引用相同资源将造成大量磁盘空间的浪费。
　　另一种方式是，记录对元件、页面的属性、控制信息的描述和对资源的引用信息而不是记录实际的元件和页面，播放时再由专门的解释程序根据这些描述动态调用资源，创建元件，恢复版面。就像排戏一样，首先由剧作家写好剧本，完成对场景、角色的描述，再由导演指挥演员们去实现(因此称此方式为剧本方式，用来存储这些信息的文件称为剧本文件或剧本)。由于这种方式存储的是资源引用信息，因此它要求有一个位置固定的素材库和最终作品一起发布。
　　由于中间作品的不确定性，选用剧本方式来存储能极大减少存储空间占用。最终作品的发布可以选择解释器+剧本+素材库的方式，这在发布多个共享同一素材库的产品时尤为有利，而且作品可以通过修改剧本而进行调整；也可以用编译器将剧本和资源编译成可执行文件再发布，有利于保持作品的完整性，避免非法修改。
2.3  素材库组织方式
　　本系统的一个重要组成部分是一个多媒体素材库。为简单起见，它可以就是MS Windows系统下的一个目录，各种素材分门别类存放于其中的不同子目录下，资源的引用是根据所给路径查找文件。而更专业的实现则可以设计专门的数据库，采用多媒体数据库或对象-关系数据库技术是理想的选择。当然，由此还要增加素材库管理模块(加在解释器、编译器与素材库之间)，而资源的引用也要通过对素材库的查询进行。
　　不论素材库采用何种方式，很重要的一点是可扩充性，即在为用户提供丰富的多媒体素材的同时，可让用户自行扩充，即将自己开发的多媒体素材加入进去，从而也利用了用户以前的工作。采用目录结构实现的素材库是不难实现扩充性的，而如果采用数据库方式则素材库管理模块中必须提供增加、删除、更新等功能。
3   应用范围
　　以上内容，都已在本文作者开发的《物理化学多媒体CAI课件演播系统》中实现。通过更换、扩充多媒体素材库，该系统即可适用于不同行业的用户，让缺少多媒体专业制作知识的使用者高效率地开发出各种用途的多媒体电子出版物。如根据一个可重组的CAI产品及其素材库，教师可以制作符合自己特色的CAI课件；基于同样的公司宣传资料，企划人员可以制作出不同场合的产品展示材料；以及制作个人作品演示、百科全书等。
本项目获九五”国家重点攻关资助，“96-750 计算机辅助教学软件研制开发与应用”，(合同编号 96-750-01-01-23)
曾益民(华东理工大学化学系  上海  200237)
叶汝强(华东理工大学化学系  上海  200237)
参考文献
1，赵士滨, 张旭旭编著. 多媒体技术与创作. 北京: 人民邮电出版社, 1999年5月第1版
2，[美]Paul Perry著, 陈向群等译. 多媒体开发指南. 北京: 清华大学出版社, 1995年9月第1版
3，王志强, 刘清涛编著. 多媒体应用系统设计与制作. 北京: 电子工业出版社, 1998年3月第1版
4，Delphi Developer's Guide
5，Klara Nahrstedt. Multimedia: Computing, Communication &amp; Applications/Ralf Steinmetz Prentice Hall, 1997.3
收稿日期：1999-12-27
