UNIX的多媒体功能扩展初探
l
第23卷(1995年)第3--4期计算机与数字工程
\suNIx的多媒体功能扩展初探
冯玉才唐拥军曹忠升李玲宋恩民
————露}趸:E挚计算机系武汉430074)
弋j}3\l.
摘要
n本文讨论丁多媒体操作系统的功能特点和研究目标,分析了QuickTime和Windows的多媒体处
理策略,提出了UNIX多媒体功能的扩展MATCH_
word
word文档格式规范word作业纸小票打印word模板word简历模板免费word简历
_1713586709797_1,并简介了实谴该方案的各种技术策略,实现技术,最后指
誉
一
,引言
当前一个世界性的多媒体热浪正冲击着人们的工作,生活,信息高速公路的热风把人们带进了
另一个世界:
坐在家里办公;
坐在家里上课;
坐在家里购物;
超越空间的电视会议;
信息高速公路的基础和核心是多媒体与通讯技术的结合,而多媒体软件是其主体.多媒体软件
包括了多媒体数据的输入,输出,压缩,还原,存储,同步,管理以及多媒体制作工具和多媒体通讯
等,上述这些功能可以归结到多媒体操作系统,多媒体数据库管理系统及多媒体制作工具.其中多
媒体操作系统是所有多媒体软件的平台.没有这一平台,其他软件都成了沙堆上的宝塔.
这方面我们有深刻的体会和教训.我们在Windows3.1上开发多媒体DBIvlS并未遇到多大困
难.而在UNIXV/S86上开发多媒体DBMS时遇到了很多困难,那是因为Windows3.1有多媒体
功能,而UNIXV/386没有多媒体功能.这就是我们研究UNIXV/386多媒体功能扩展的动机和
起困.
二,多媒体操作系统的功能特点
操作系统是一个资源管理软件系统,它所管理的资源分两类:
1.硬件资源:CPU,I/O设备,内存;
2.软件资源:文件(包括软件和数据)
多媒体操作系统管理的资源仍然包括上述两类资源,不过硬件资源
中增加了多媒体设备:触摸
屏,声音卡?视频卡,光盘,录像机,摄像机,音响设备等;软件资源中增
加前述的多媒体软件及多媒
体数据此外还要管理动态画面和控制声像设备
?
收到本文时间tt994年8月1.5日
UNIX的多媒体功能扩展初探第23卷
具体地讲,一个多媒体操作系统应在传统操作系统基础上扩充下列
多媒体功能:
1.对多媒体硬设备的管理,控制,这包括设计各种多媒体设备的驱动
程序,中断处理程序,并
将这些软件有机地揉进原有的操作系统中..
2.开发如下的多媒体实用程序(uTIuTY)
(1)多媒体信息输入软件:
?
语音输入识别软件;
?
图像自动/半自动输入,识别软件;
?
图形自动/半自动输入,识别软件;
?
文字自动输入,识别软件;
(2)多媒体信息压缩和解压缩软件;
(3)声像数据同步控制软件;
(4)动态画面处理软件;
(5)多媒体通讯软件;
(6)多媒体应用软件;
(7)多媒体用户界面软件;
(8)多媒体文件管理.
上述问题有许多是多媒体技术中最关键的技术,有些是至今尚未解决的技术难关,例如,多媒
体信息的自动输入,识别,多媒体信息压缩及多媒体通讯等都是当前多媒体领域中正在研究的难
题.多媒体操作系统的研究开发决不能等待这些技术完全解决了再来进行,比较现实的做法是随着
各种关键技术的逐步解决而逐步扩展传统的操作系统.
三,现有的多媒体操作系统处理策略分析
目前已有的多媒体操作系统仅仅是个人计算机上单用户操作系统MPCOS.其典型代
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
是
Apple公司的Quicktime及微软公司的Windows3.1.以下分析这两个系统对于几个关键问题的
处理策略:
1.动态画面处理
QuickTime为此提供了两种
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
文件
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
:
(1)动态画面文件格式Movie;
(2)动态画面数据剪贴格式PICT.
Movie是指来自录像机动态视频模拟画面数字化后存放的文件形式.它分三个区:?Track通
道区;?Movie画面区;?Media媒体区.
Movie用于管理不同形式的动态数据,由许多Track组成.每个Track有自己的画面演示,起
始时间及在显示屏上的座标.一个Track上放一个程序,它根据要求在特定的时刻完成一特定演示
任务.Track上有一系列指针,指向Media文件区,Media文件描述主体数据存放的物理位置.由此
可见Movie有如下特点:
?有时间参数(画面开始,延续及基准时间){
?文件格式信息分三区存放;
第3—4期计算机与数字工程
?画面主体数据与格式信息分开,Media只放位置指针,主体数据在服务器中;
?可对Track编程.
PICT是Apple的图形数据格式,QuickTime可用PICT处理动态画面数据.
Windows目前还不能处理动态画面文件.
2.同步控制
QuickTime的Movie由不同Track组成.MovieManager可对每一Track进行同步控制.保
证在一确定时刻将一Track中全部数据进行压缩还原并送屏幕,对应的声音同步送声音芯片,实现
声像同步.
3.数据压缩及还原机制
QuickTime有三种压缩算法以适应不同环境:
(1)图片压缩器;
(2)视频压缩器;
(3)动画压缩器.
这些压缩都由软件实现,其中图片压缩器采用JPEG标准,适用静态画面压缩.视频压缩器适
用录像信息压缩,动画压缩器适用动态画面压缩.
QuickTime数据压缩和还原管理由一个图像压缩管理器来实现.
QuickTime完成一个压缩图像还原过程有如下几步:
?应用程序调用图像压缩管理;
?图像压缩管理调用压缩还原设备驱动程序;
?设备驱动程序调用压缩还原软件;
?还原结果交设备驱动程序;
?送显示屏显示.
4.多媒体设备控制及管理
Windows和QuickTime都有一个API装置控制多媒体设备.Windows在设备驱动器和应用
程序之间设有一个转换层MMSYSTEM,它对各种多媒体设备驱动程序的应用接口进行统一管
理,即由转换层提供一个标准接VIAPI—MCI,它由OS厂家规定多媒体设备厂家只提供转换层与
设备驱动器之间的接VI,设备驱动程序作为动态链接库在执行时与应用程序链接.
QuickTime采用类似的设计思想,它有三个子系统提供各种接口:
(1)图像压缩管理子系统——压缩还原接口;
(2)部件管理——多媒体设备接VI;
(3)MovieTo0lbox——提供文件信息和用户接口这些接V1分两层:一层应用程序与OS之
间,另一层0s与设备之间.管理器将应用程序与设备分离,使应用程序独立设备.
以上是对两个现有的单用户多媒体操作系统的多媒体处理策略所进行的分析,它对扩展uni
的多媒体功能有一定的参考价值.
UNIX的多媒体功能扩展初探第23卷
四,UNIX多媒体功能扩展设想
从上述两节分析可知一个操作系统的多媒体功能改造扩展是一项较大的软件工程我们根据
实际需要和技术成熟的程序逐步实施这一工程.整个扩充工作分两大部分:
第一部分扩充UNIX对多媒体设备的控制和管理.具体讲要开发下列多媒体设备驱动程序和
中断处理程序,并将它们有机地纳入UNIX的核心层进行控制管理:
1.触摸屏
2.声音卡
3.视频卡
4.光盘驱动器
5.扫描仪
另外有些设备,如摄像机,录像机,电视机等还要配置或研制硬件控制接t:l,以便统一控制,统
一
管理.
第二部分扩充UNIX的多媒体软件系统,这些软件包括:
1|研制开发一个UNIX环境下的多媒体数据库管理系统.这一工作已进行多年,预计1994年
年底可以完成
2.研制多媒体数据自动/半自动输入,识别,理解系统,包括:
(1)地图自动/半自动输入,识别,理解系统(自行开发);
(2)语音输入识别系统(以购买为主);
(3)文字输入识别系统(以购买为主);
3.研制多媒体数据压缩技术,包括:
(1)静态图片压缩
(2)视频数据压缩
(3)动态画面压缩
(4)语音数据压缩
4.研制声像同步装置
5.研制多媒体通讯软件
6.研制多媒体人机界面
7.研制多媒体制作工具
以上研究工作一部分是自行研制开发,大部分是利用已有的研究成果,进行综合,集成,以尽快
建立一个高速信息公路的模拟或实验系统为目标.
上述研究工作,第一部分应归入UNIX的核心层,即I/0设备管理子系统中,第二部分中除多
媒体数据库管理系统,多媒体人机界面和多媒体制作工具外,其余可归入UNIX的UTILITY(g~
用程序)库.
下面两节将分别介绍UNIX多媒体设备管理扩充策略和UNIX多媒体软件开发技术.
第3—4期计算机与数字工程
五,UNIX的多媒体设备扩充策略
为了将多媒体设备有机地纳入UNIX核心层进行统一控制管理,有必要了解一个UNIX的设
备管理特点和策略.
5.1UNIXI/O设备管理特点及策略
本节中我们将分析讨论UNIX系统的如下几个问题:
1.UNIXI/o设备管理特点
2.UNIX系统配置
3,UNIX系统调用与设备驱动程序接口
4.UNIX设备与其设备驱动程序接口
5.UNIX设备驱动程序入口点
6.UNIX设备分层驱动模型
1.UNIX的I/O设备管理特点
UNIXI/O设备管理有如下几个特点:
(1)将设备看成文件,第一设备有一文件名,使用设备如同使用文件一样
(2)包含两类设备:块设备和字符设备,块设备有字符接口.
(3)设备驱动程序必须是核C,-层的一部分,以便处理中断并访问设备.
(4)内核和所有设备有统一界面
(5)设备文件有一个索引节点,在文件目录树中占据一个节点.
(6)使用DDI(设备驱动程序界面),DKI(驱动程序核心界面)的高级语
言编程的函数.
我们在将多媒体设备纳入UNIX核心层时要充分考虑这些特点.
2.UNIX系统配置
系统配置是系统管理员设置与设备有关的参数过程.
(1)主文件mdevice中的参数规定核tL-表的大小,如进程表,索引节点表,文件表,缓冲池的数
目?驱动程序设备类型,函数入口点,主设备号,DMA通道选择.
(2)系统文件sdevice中的参数规定设备配置,即告诉校C,-层这一设备包含哪些次设备及其地
址,中断向量号,是否进入核心层.
(3)节点文件node,d中参数规定次设备文件名及次设备号.
(4)软件包文件pack.d中的参数包含设备驱动程序的目标代码Driver-Oo
space?c及stubs.e,space.c为每个驱动程序分配存储量,根据这一设备文件配置的子设备.
stubs.c用来”占位置”,指向尚未安装的设备代码.
参数设置后r系统管理员用mknod命令建立设备文件,命令中提供文件类型及主次设备
mknod命令中的
mknod/dev/ttyc
设备文件名字符设备
3.UNIX系统调用与设备驱动程序接口
主设备号
13
次设备号
UNIX的多媒体功能扩展初探第3卷
文件描述符的系统调用过程:核心从用户文件描述符的指针找到核心文件表的索节点,检查文
件类型,以决定调用是块设备还是字符设备开关表,从索引节点中取出主设备号及次设备号一用主
设备号作为索引值进入相应的开关表,根据用户要求调用驱动程序.
4.UNIX设备与其设备驱动程序的接口
设备与其驱动程序的接口是由与机器有关的控制寄存器及操纵设备的i/o指令及中断向量
组成,当某设备中断发生时,系统识别出发出中断的设备.并调用相应的中断处理程序.
5.UNIX设备驱动程序人口点
UNIX的设备驱动程序入I=I点如图1所示,包括open,read,write,ioctl,print,intrsize,close,
strategy,start,ink等这些驱动程序例程入口点提供了从核心到驱动程序的调用格式.当发生系
统调用或在设备启动时,以及设备产生中断时都将调用这些例程.
openctn*tretd_ritc;octL口pBnc~,nsnre{drtc
mount?Q31t
lI
}
字符设鲁井关表I块设备开关表
l1
0PtnctDs,reAd_rite;OcttopencLOSerendwrtc
驱动程序班魂程序
设_备中断处理程序设备 性,这是扩充多媒体设备的条件和基础.
5.2uNIx多媒体设备驱动扩展实现技术
1.声音卡设备驱动程序
声音卡包括声音(波形)的播放和录制以及音乐(MIDI)的播放与录制(详细内容请参看文献
第3—4期计算机与数字工程
[4]),故而从功能上把声音卡分成两部分,1)波形接口设备;2)MIDI接口设备.所声音卡的设
备驱动程序管理了二个次设备
1:/dev/voice
2:/dev/musie
根据声音卡的工作原理可知其属于字符设备,其入口点例程包括open,read,write,intr,ioctl,
cIoseopen例程是在对该设备的特别文件使用open(2)系统调用时,核
心通过对该设备的cdevsw
表项来调用的,它完成对声音卡的数字信号处理器DSP的初始化和申请并初始化核心缓冲区
read例程相应于声音卡的录制过程,write例程相应于声音卡的播放过程,ioct|例程用来完成对
DSP各种功能的控制,intr例程是在播放和录制过程中DMA数据传送完硬件中断入口点例程,完
成核心与DSP的同步工作根据上述入口点,DSP的工作原理和UNIXv/386高速缓冲机制编制
设备驱动程序的源程序Driver.c,并编译成目标文件Drivero.
把驱动程序的目标文件Driver.o加入UNIXV/386核心的过程如下:
(1)系统配置
声音卡所占用的硬件资源包括中断向量7,端口地址是220—22F.DMA通道1.根据硬件资
源,设备驱动程序,入口点例程,次设备数和用户为其建立的设备内部名来编制核心参数的主文件
mdevice,系统文件sdevice,node.d和pack.d.
(2)核心重构
手工执行/etc/c.nf/bin/idbui1dshell脚本,它将运行配置程序,将新的驱动程序连编到核心
中如果核心构造无误,那么将在/etc/conf/cfd目录下建立一个新的UNIX系统映象.
2.触摸屏设备驱动程序
我们采用的是外挂式红外触摸屏.通过串行口同主机通讯的,其工作原理参见产品使用说明
书,触摸屏是典型曲字符设备,其送往主机的数据每次只有两个值,一是x坐标,二是Y坐标其设
备驱动程序包括open,ioctl,intr,close四个入口点,open完成8251的初始化和建立与触摸屏的通
讯,ioctl中完成设置输入端口和显示设备映射对设置,完成坐标值到变化值?x,AY和状态值的设
置;并进行鼠标有关状态的模拟intr例程主要用来唤醒等待信息的进程,并读取x和Y值.
系统配置过程与声音卡类似不再赘述.
3.视频卡的设备驱动程序
我们选用的视频卡是VideoCommand,其工作原理参见文献E43,其主要功能包括;图像的抓
取,捕获,再现,音量的控制,所以它管理两个次设备.
1:/dev/video
2;/dev/audio
其入口点例程包
括:init,open,read,write,ioctl,intr,size,strategy,print,close例程dnit例程
是在核心初始化就初始化视频卡,以便监视器在不用VideoCommand时也能使用监视器,open例
程完成硬件的状态值设置和核心缓冲区申请和初始化,read例程用来读取频卡的帧缓存数据入核
心缓冲区,以完成图像的抓取,write例程用来从核心缓冲区写数据到视频卡的帧缓存,以实现图像
的再现.strategy是块设备的策略过程,它完成对CD-ROM定时读写的缓冲区管理.ioctl完成对图
像的冻结,亮度,色度,RGB三色的选择,视频信号制式NTSC和PAL的选择,端121地址,存储器地
址,音量大小的控制.size用来设置图像显示窗口的位置和大小.print啻9程用来设置图像显示的方
式和特技效果.
UNIX的多媒体功能扩展初探第23卷
视频卡是块设备同时有字符设备的接口.
系统配置完后用mkis/dev/bvideo10O0<CR)建立一个1M的文件系统盘.
4CD—ROM的驱动程序
我们选用的是松下CD—ROM,它是标准的SCSI接口,它既是一个块设备又有一个字符设备接
口,故它管理两个设备.
1:/dev/hedrom
2:/dev/ecdrom
它的入口点例程包括:ink,open,read,write,ioetl,strategf,intr,close.init
例程在核心初始化
时完成对CD—ROM控制器的初始化,open完成核心缓冲区的申请和初始化,read完成读,write完
成写,ioctl完成对CD-ROM的控制,strategy是块设备的策略过程,它完成对CD—ROM定时读写
的缓冲区管理.intr处理硬件中断.
系统配置完后用mkfs/dev/CD-ROM680000<CD>建立一个680M的文件系统盘.
六,UNIX/X86的多媒体软件实现技术
本节所讨论的UNIX/X86的多媒体软件是指在UNIXV/386环境下的多媒体软件,其中有一
部分可纳入UNIX的UTIIITY中,有一部分是作为与UNIXV/386配套使用的独立软件,或称
为以多媒体UNIX为平台的各种软件.为系统起见本节中将一并予以简要介绍.
6.1多媒体数据库管理系统DM2
DM2是国防科工委八五军用型号项目,是在AT&TUNIX/X864.2版平台上的多用户,分
布式,多媒体数据库管理系统,用UNIX,C语言开发,硬件环境是486,200兆外存,8兆内存,TCP/
IP.DM2用了4年时间在DM1(486,UNIX上的多用户网络数据库管
理系统,1993,11,16在北京
通过部级鉴定,评价国内第一个UNIX上实现的多用户DBMS,达到9o年代国际水平)研制成功,
95年验收鉴定交付使用
DM2的多媒体功能包括3方面:
l-对于声音,图像,图形,文字等多媒体信息可与常规数据(整型,实型,字符型等)进行一体化
定义(扩展相应的数据类型)存储,检索,编辑等,是一元结构而不是二元结构(有些系统将常规数据
放数据库,多媒体数据放文件,称二元结构).
2可以使用数据库技术将地图中的常规信息与各种地物进行一体化描述,存储,检索,编辑
等,具有如下功能:
?
分层显示(如只显示水系或交通或等高线等)
?
叠加显示,逐层叠加;
‘
使用谓词(SQL语句中的where子句)检索任一满足条件的地物或地物集合.
‘
空间检索,即以图查图,用鼠标对于地图上限定范围限定位置进行检
索,包括:
?
点检索:用鼠标打一点,可将点附近地物的全部信息查出来
?
线检索:用鼠标打n个点,可将这n个点连线附近的所有地物信息逐个检索出来.
?
面检索:用鼠标扫画一封闭曲线,可将该圈内的所有地物信息逐个显示出来.
?
漫瓣;
第3—4期计算机与数字工程
?
特写镜头;
?
地图拼接;
3.可对地图及多媒体信息进行网络传送进行分布式查询
6.2地图自动/半自动输入,识别,理解系统
地图要进入计算机是当前建立地图数据库或地理信息系统的一个瓶颈.目前的地图输入大都
采用数字化仪人工跟踪纸质地图逐点向计算机输入,一张典型的军
用地图输入计算机要28天,这
种低效的输入不可能将成千上万张纸质图输入到计算机中,建立地图数据库就是句空话.地图输入
的科学方法是利用扫描仪将纸质地图数字化后进入计算机,然后,对各地物进行分类t矢量化,压
缩,进库,但这需要一个地图识别软件来进行自动识别.可惜至今世界上还没有一个完善,可靠.实
用的地图识别系统这是一个难题.鉴于此,我们开展了这项研究工作.这项研究主要针对1:5万
的军用地图,采用半自动方式,即当CPU无法判断时进行人工干涉.在这项研究中,我们使用如下
技术:
1.按颜色分层,将整帽地图分成几种单色图,如水系为兰色,等高线为棕黄色,植被为绿色,居
民地,交通,境界线等为黑色.
2.采用并行识别方法以提高识别的效率.并行的意义有两层:
(1)将整张地图分成若干块,利用互联的多台CPU并行识别各块,然后再拼成整图.
(2)利用多台CPU并行识别分层后的各单色地图.
这样可大大提高识别速度,其总体算法:
1)从扫描仪输入彩色地图;
2)按颜色分层;
3)去除噪音,弥补残缺;
4)在单色图上按特征分类,得到单纯图;
5)对单纯图进行跟踪,选择具有特征意义的坐标信息以便进库.
6.3静态图像压缩研究
我们的静态图像数据压缩算法首先用余弦变换对数据流进行变换,每次经余弦变换及量化后
的站果具有很强的规律性.根据这个规律性,我们将每次余弦变换及量化后的结果分别地存入三个
数据集,然后将这三个数据分别用不同的方法进行压缩,余弦变换及量化后的结果中有许多的零,
在分存其结果时可使一个最大的数据集几乎全是零,这样一来用行程码法可将这个数据集压缩得
很小,从而使整个算法具有很高的压缩比,而失真度和改进以前的算法的完全一样.现在已有的静
态压缩算法是采用将图像数据分段依次用余弦变换,HUFFMAN编码进行压缩,这样没有充分地
利用余弦变换及量化后的数据的规律性
6.4多媒体通讯软件研究
分布式多媒体系统主要实现多媒体信息的分布性存贮,管理,处理和展示,其MPCOS直接影
响分布式多媒体系统的质量,已有的UNIXV/386具有丰富的网络功能,在UNIXV/386环境下
实现异地之间多媒体数据的实时交换,资源共享,必须对现有UNIX/386进行改造,增加多媒体功
能,为UNIXV/386网络应用程序开发者提供一个友好而实用的多媒体开发环境,在MPCOS级
UNIX的多媒体功能扩展初探第z3卷
解决:
UNIXV/386操作系统与通信网络硬件的无关性;
连续媒体数据的压缩和解压缩问题;.
声像设备的控制问题;
视频和声频数据的同步控铷问题}
具有相关性的不同类型的数据的综合展示问题.
目前我们已在以上几个方面,不同层次地开展了研究和探讨工作
结语
UNIXV/386的多媒体功能扩展工作正在全面进行之中,声音卡,触摸屏,CD—ROM三种设备
的控制管理已经成功地揉进UNIXv/386的核心中,效果比较理想.目前正在进行视频卡的嵌入
工作,同时压缩,地图自动输入识别工作也已取得较好成果(见本次会议论文),多媒体数据库管理
系统的研制工作也在紧张进行,预计1995年上半年,多媒体UNIXV/386的扩展工作将与多媒体
数据库管理系统进行联调,年底验收鉴定.关于这方面工作我们将有系列文章介绍.
通过这一阶段研究工作我们体会到对传统操作系统进行扩充,使UNIXv/386成为多媒体操
作系统,这是完全可能的,同时这也是研制开发多媒体操作系统最快最有效的途径.
参考文献
[1:杜贵强,多蜞体软件平台——多攥体操作系统(MPCOS),多蜞体世羿,2994.5期
[2]李国辉,多媒体音频设备驱动程序的结构和原理,型微型计算机系统2994.5期p8-23
[3]UNIX系统V/386第4版设备驱动程序界面驱动程序一一核心界面(DDI/DKD参考手册+电子工业出
版社
]闻小兵,《多媒体技术指南》电子工业出版社