第三章多媒体软件硬件是实现多媒体应用的基础和支柱,软件是把硬件有机的结合起来,并控制各种硬件设备实现多媒体数据处理。3.1多媒体软件概述与多媒体计算机紧密结合的多媒体软件可以分成四类:多媒体系统软件、多媒体素材创作软件、多媒体应用系统开发软件、多媒体应用软件。多媒体系统软件提供硬件层上的基础服务,拥有一系列的服务软件,包括对多种硬件设备的连接、控制,对用户使用的语言环境的支持和解释,不仅要向用户提供一个易于操作的环境,同时要维护这个环境以保证运行正常。多媒体数据处理包括素材创作、多媒体合成和多媒体应用三个方面,其中多媒体应用是目的,素材内容是基础,合成是关键。(包括部分驱动和维护软件)多媒体素材制作软件多媒体应用系统创作软件多媒体应用软件多媒体操作系统多媒体附加设备驱动扩充的系统维护软件多媒体计算机硬件用户3.2多媒体系统软件3.2.1多媒体操作系统多媒体操作系统技术建立在多媒体设备的基础上,研究的是如何组织管理设备,如何调度设备,如何帮助用户使用计算机,所以多媒体操作系统技术主要涉及计算机系统硬、软件资源管理、计算机语言环境的支持、操作环境的设置,提供基本的的操作工具及支持各种多媒体软件的运行,从而使用户能够方便地调用多媒体设备和数据资源,达到应用计算机多媒体的目的。1.Windows操作系统目前多媒体开发比较流行是Windows系列,BeOS操作系统。Windows操作系统拥有大量的应用程序,包括面向专业领域的软件、和适合一般用户的需要。多媒体方面的功能主要有:1.多媒体数据编辑2.与多媒体设备联合3.多媒体同步4.网络通讯Windows操作系统的多个版本(Windows95/98、NT/2000、XP)在多媒体处理和网络功能上都有较大的改善。2.BeOS操作系统BeOS系统是1996年11月由Be.Inc公司推出的,最初的版本是运行在Mac上,1998年发布的版本可运行在Intel平台。如果说Windows是现代办公软件的世界,Unix是网络的天下,那BeOS就称得上是多媒体大师的天堂了。BeOS以其出色的多媒体功能而闻名,它在多媒体制作、编辑、播放方面都得心应手,因此吸引了不少多媒体爱好者加入到BeOS阵营。由于BeOS的设计十分适合进行多媒体开发,所以不少制作人都采用BeOS作为他们的操作平台。BeOS的优点1、全图形化这使得BeOS是真正具有图形界面的操作系统。而Windows等都是以字符界面作为其基础,这样就让结构比较复杂,会在运行过程中存在一些不稳定的因素。具有全图形结构对提高稳定性和运行效率都很有帮助。2、拥有众多功能强大的多媒体软件BeOS拥有众多的多媒体软件作为一个面向广大多媒体爱好者的操作系统,从制作到播放是应有尽有,并且许多软件都是内置在系统中的。其中有MediaPlayer、CDBurner、CDPlayer、MIDIPlayer等。当然也有一些专业的多媒体软件能够运行在BeOS环境中。3、先进的文件系统BeOS使用了64位的文件系统,这是个人电脑上的首次尝试。由于进行多媒体制作时需要进行大规模的数据交换,而64位的文件系统使其运行得更高效。4、多处理器支持和Linux、WindowsNT一样,BeOS也能够支持多处理器。由于多媒体制作对系统的存储设备和处理器能力都是一个较大的考验,采用多处理器无疑能够大幅度提高工作效率,完成多媒体制作的高负荷工作。5、完备的网络功能除了在多媒体方面出色外,BeOS的网络功能也不容轻视。它的网络功能十分完备,BeOS服务器能够提供、Ftp、E-Mail、Telnet等网络服务。BeOS的不足表现在面向一般用户的应用程序太少。虽然能够运行的程序十分多,但大部分对于一般的家庭、办公用户并不实用,而无法被大众用户所接受。Windows却拥有数量巨大的应用程序,除了面向专业领域的软件外,大部分都能适合一般用户的需要,并且许多软件已深入人心。这就是Windows在普通家庭、办公用户电脑中占有率巨大的主要原因之一。BeOS的应用程序中,多媒体方面的软件占了大多数,并且它对某些硬件的支持也不尽人意。多媒体驱动软件是多媒体计算机软件中直接和硬件打交道的部件。它完成设备的初始化,完成各种设备操作以及设备的关闭等。驱动软件一般常驻内存,每种多媒体硬件需要一个相应的驱动软件。2.1.2多媒体驱动软件一般设备驱动程序的主要功能:1.开启、关闭、执行内部程序2.设置设备IRQ(中断号)CPU就为每个设备分配一个IRQ号,这样CPU就知道是哪一设备需要它处理。防止“资源”冲突。对于某些PCI接口的设备而言,有些特殊的情况下也能够共用。3.提供I/O输入输出地址:每个设备都会有一个专用的I/O地址,用来处理自己的输入输出信息,绝对不能够重复。Win32设备驱动程序体系结构由于需要支持新的业务和新的PC外部设备类型对驱动程序开发造成了新的挑战。新型总线增加了设备的数量和对设备驱动程序的需求。设备上各种功能的不断增加使驱动程序的开发变得越来越复杂。同时,快速反应的交互式应用程序要求将软件和硬件紧密的结合在一起。1997年,在用于Windows95和WindowsNT的统一的Win32驱动程序模型(WDM)有了进一步的发展,将这些因素全部考虑在内。WDM允许使用一个单一的驱动程序源(x86二进制)来同时在Windows95和WindowsNT中实现对新的总线和新设备的支持。是通过提供一种灵活的方式来简化驱动程序的开发,使在实现对新硬件支持的基础上减少并降低所必须开发的驱动程序的数量和复杂性。WDM还必须为即插即用和设备的电源管理提供一个通用的框架结构。WDM是实现对新型设备的简便支持和方便使用的关键组件。发展的背景WDM的关键目标为了实现这些目标,WDM只能以WindowsNTI/O子系统提供的一组通用服务为基础。WDM改进了由一组核心扩展构成的功能实现对即插即用、设备电源管理、和快速反应I/O流的支持。除了通用的平台服务和扩展外,WDM还实现了一个模块化的、分层次类型的微型驱动程序结构。类型驱动程序实现了支持通用总线、协议、或设备类所需的功能性接口。类驱动程序的一般特性是为逻辑设备的命令设置、协议、和代码重用所需的总线接口实现标准化提供必要的条件。WDM对标准类接口的支持减少了Windows95和WindowsNT所需的设备驱动程序的数量和复杂性。微型驱动程序允许通用类驱动程序的扩展实现对特定设备协议或物理编程接口的支持。实现的方法具体的应用例如,一个微型驱动程序可以被用于实现对IEEE1394总线类驱动程序的扩展,用于对特定主机控制器编程接口的支持。微型驱动程序非常易于开发,因为它们可以通过简单的扩展通用的类驱动程序接口功能来实现。尽管微型驱动程序设计简便,但是重复使用微型驱动程序模块所带来的优点也可以通过对标准设备编程接口的支持来实现。USB主机控制器接口(OpenHCI或UHCI)就是这方面的一个例子。模块化的WDM体系结构灵活统一的接口使操作系统可以动态的配置不同的驱动程序模块来支持特定的设备。一个典型的驱动程序堆栈由通用设备、协议、和用特定协议和特定总线的微型驱动程序联接的总线类驱动程序构成。例如,操作系统可以配置一个驱动程序堆栈来支持这样一个照相机,它的命令是用图象类定义的,并且它是根据来自IEEE1394总线类的功能控制协议(FCP)类而发表的。这种灵活性还使其可以很容易的支持一个多功能设备,仅需简单的实现一个微型驱动程序将多功能硬件与几个设备类的接口相连接。动态构造WDM驱动程序堆栈是实现即插即用设备支持的关键。WDM服务使实现一个用于WindowsNT和Windows95快速反应的模型成为可能。WDM提供了多个执行优先级包括核心态和非核心态线程、IRQ级别、和被延缓的程序调用(DPC)。所有的WDM类和微型驱动程序都作为核心态(第0层)的特权级线程(不会被CPU调度程序中断)执行。32个IRQ级可以被用于区分硬件中断服务的优先级。对于每个中断,DPC被排入队列等到被启用中断的IRQ服务例程完成后再执行。DPCs通过有效的减少中断被禁止的时间,使系统对中断的响应获得了很大的提高。对于使用多处理器的基于x86的PC系统,在WindowsNT下对中断的支持是以Intel的多处理器规范1.4版本为基础的。对于需要活动的多媒体的应用程序,WDM在核心态提供了快速反应的接口来处理I/O流。WDM的流接口是通过标准的WDM类接口提供出的。对于WDM,一个多媒体流完全可以用一个或多个软件过滤器和设备驱动程序来处理。为了加速对I/O流的处理,WDM流可以直接对硬件进行访问,避免了由于进行非核心态和核心态之间的转换而造成的延迟,并且还省取了对中间I/O缓冲区的需要。要充分利用WDM提供的优点,建议你使用即插即用兼容的电源管理输入、声音、图形、和使用USB和IEEE1394的存储外围设备。WDM驱动程序可以在WindowsNT上与现有的WindowsNT驱动程序共存,也可以在Windows95上与现有的Windows95驱动程序共存。现有的WindowsNT和Windows95驱动程序将继续被支持,但是却不能使用WDM的先进优点。由微软提供的可扩展的WDM类驱动程序是支持新设备的最好选择。在开始开发一个新的WDM类驱动程序之前,硬件开发者应当请教微软公司以取得对特定设备类的支持信息。一旦有可能,就采用仅编写一次类驱动程序,然后通过使用WDM的微型驱动程序来将其扩展成针对特定硬件接口的驱动程序的方法。3.2.3多媒体系统维护软件最常用的多媒体系统维护软件包含以下几个方面1.系统设置软件:用来实现系统注册表的修改,例如要清理注册表、修改显示方式、禁止程序的自动运行等。较流行的有超级兔子、Windows优化大师、Winxp总管和Windows超级设置等工具。2.防毒杀毒软件:能防止计算机功能遭受破坏。较流行的有瑞星杀毒软件、NortonAntiVirus病毒库、iparmor木马克星、XFILTER费尔个人防火墙等工具。3.系统备份和恢复软件:用来保存计算机系统环境和数据,必要时可恢复系统。例如工作在WIN9X/WINNT/WINXP下的NortonGhost、工作在WindowsXP下的Back4WinXP等。3.3多媒体素材创作软件获取多媒体素材的途径通常有:完全计算机创作、通过网络或外接设备获取、通过现有的电子多媒体素材库3.3.1音频创作软件音频(Audio)包括声音、语音和音乐三种类型。声音和语音是用波形(WAV)格式保存在文件中的,波形文件中记载着声音或语音的采样数据。音乐是用音序(MID)格式保存在文件中的,音序文件中保存的是模拟乐器的命令符号。波形处理软件常用的波形处理软件有SoundRecorder、WaveEdit、CoolEdit、Dexster等软件。适合在网上播放、记录和保存到MP3文件的软件有AVVCSGold,在网上能够戏剧性地改变用户声音的软件代表有AVVoiceChangerDiamondEdition。MIDI音序处理软件音乐软件是用来创建音乐协奏曲的,是通过多音轨合成的,可以创建如同大型交响乐团的演示效果。常用的MIDI音序处理软件有Cakewalk、作曲大师等,具有比较完善的MIDI作曲和编辑、音频处理和格式转换功能。CD抓轨和转换软件通过CD抓轨可以获取获取更多的歌曲和音乐作品,抓轨软件采用了MP3压缩方法,并使用了LAME技术。例如,较好用的软件如AltoMP3Maker:具有将音乐文件格式的转变、编辑和播放功能。可以将CD原声轨迹转换成MP3或者WAV格式、将WAV文件编码为MP3文件、解码MP3文件为WAV文件、从CD唱片和wave文件中制作OggVorbis文件(.OGG一种新的音频压缩格式)。3.3.2图形和图像创作软件计算机所处理的图分为矢量图(VectorGraphic)和位图(Bitmap),即图形和图像。矢量图文件保存的是一组描述点、线、面等几何图形的大小、形状、及其位置、维数以及其他属性的指令集合,通过读取指令可将其转换为输