1.AVSS结构的新需要
  AVSS VCR的工作方式是一个很有用途的工作方式,它能够像磁带一样处理视频信息。简单的培训,多媒体的演示或者联机的"视频 Help"对于VCR模式都是合适的例子。现在的DVI软件还有交互式图形效应以及动态音频数据流的混合等。由AOM(Applied Optical Media)研制开发卡车驾驶员安全培训系统以及CMU(Carnegie-Mellan University)研制开发的软件工程人员编码观察和检验的培训系统,都展示了多媒体计算机系统的能力,这种能力,VCR系统是不能完成的。下一代的DVI系统希望进一步提高应用水平。例如视频会议以及多媒体的电子邮件等。为了扩大交互式多媒体技术的应用,需要建立综合的概念模型。
  AVSS解压缩和显示任务共享屏蔽阵列中的位映射图。这样就妨碍了在同一时间控制多个数据流的应用。为了使控制多个数据流成为可能,解压缩的位映射和显示位映射在存储空间必须分开,把视频数据从一个存储空间拷贝到另一个存储空间。拷贝应该包括改变将要显示的视频数据的比例因子,在窗口环境下重新定位和改变尺寸。
  AVSS/RTX的结构必须在特殊的DOS平台环境下执行,而且不容易移植到新的环境。调度各种任务采用的RTX技术必须重新考虑而找一个新的替代技术。AVK(Audio/Video Kernel)系统能够用新的任务调度机制满足上述两个需要,AVK系统能够在不同操作系统支撑环境下工作,而且为了实时响应它,能够最少的依赖于主机CPU。

  2.新任务调度策略
  新开发的AVK系统,Intel公司考虑了很新的策略,以便进行任务调度,组成可能而有效的数据流。很多其他公司也宣布了他们研制的新的有效的方法,例如由Philips和Sony公司研制的CD-I系统(Compact Disk-Interactive)是一个完备的系统,基本上是面向家电消费者市场。它是计算机控制的家电播放器,它能够播放标准家用电视机以及立体声设备。当CD-I播放器采用视频功能时,使用脱机的并行处理器能够建立CD-I系统的视频数据流。CD-I系统的硬件包括VLSI解码器芯片,DRAM模块,视频键连子系统以及专用的CPU。同CPU连在一起的是包含叫做CD-RTOS(Compact Disk Real-Time Operating System)实时操作系统的ROM。CPU从CD-ROM中读编码数据流并把它送到专用的解码芯片。在解码芯片中的系统控制器保证满足播放数据流实时的需要,从编码的位数据流中抽取时基数据组成播放数据流,这样才能保证播放的连贯性。因为CD-I播放器的硬件全部是独立的,它不考虑交叉平台的兼容性,而且它的应用系统考虑的只是使用完备的CD-I系统环境。这一点在原理上与AVSS/RTX的策略有很多相似之处,在这里它假定只有一个应用程序在运行,而且它控制所有的计算机的资源。这些系统之间的主要区别是CD-RTOS本身是一个完备的系统,它不需要另外的操作系统同时存在和它一起工作,而RTX必须和MS-DOS一起协同工作。
  伯克利加里福尼亚大学研究小组已经提出一个叫做连续介质扩展的X窗口(CMEX)服务器对X窗口进行扩展。CMEX(Continuous Media Extensions to X - Windows)服务器是由运行在工作站上CPU的进程集组成,它采用实时截止期限优先调度的方案。这些进程把连续介质的输入/输出送到压缩编码和解压缩机构中去,例如82750 PB解压缩一帧视频数据之后,82750 PB发一个中断信号给主CPU。中断处理器激活I/O进程并为它设置截止期限,同时传送下一帧经过压缩编码的视频数据。然后通知压缩编码和解压缩机制,对上述数据进行操作。这个策略和RTX是相似的,它把调度各种任务的工作留给主CPU,但是它们之间还有一个重要的不同:设计RTX时,为了达到多进程功能,假设用它的操作系统(MS-DOS)控制主机的CPU,在这里CMEX是使用了主操作系统UNIX多进程的特性。由CMEX所使用的调度策略能够用到由具有足够能力的CPU和I/O带宽所支撑的任何一个多进程的操作系统。事实上,早期的AVK模型系统使用这个策略在OS/2上运行。DOS操作系统以及更重要的DOS/窗口系统都没有提供CMEX系统所需要的具有优先级的多任务系统的支持。
  福隆特(Fluent)机器公司在它们的Fluent系统中使用了完全不同的策略。该系统在IBM PC 386机器上增加了两块新的插板,为了处理连续的多媒体数据,它采用了安装两个协处理器的策略。Intel 80960 RISC处理器运行在流水线数据流任务调度的实时操作系统中,它能够同步多个音频和视频数据流。其他的处理器执行视频信号的压缩编码和解压缩的任务。该策略使主机CPU解脱了所有视频信号处理器的任务,允许该系统能够在任何操作系统环境下工作。这个双协处理器的策略是一个很完美的技术方案,但是它的不足是,比Intel公司单处理器的方法增加了硬件的设备费用。
  为什么要开发AVK系统?
  主要是AVSS结构的新需要、新任务调度策略。


  3.新的概念模型
对于下一代的DVI系统软件,新的模型已经研制开发出来:数字视频信号生产演播器。一个典型的生产演播器应包括混合器,磁带,监视系统,特技处理器以及为了记录,修改和播放视频和音频信息联在一起的其他设备。在我们的概念模型中,数字式生产播放器是控制管理数字式音频和视频数据流子系统的集合。数据流试图集中一起播放,形成一个"组"。模拟量的输入和输出可以想像成一"通道"。 音频和视频数据流从输入通道通过连接,到输出通道。数据流能够混合在一起,例如输出到同一个输入通道,或者它们能够通过一个"效果处理器",用同样方法交换数据。如图5-9所示,数字式生产演播器主要的组成部分是:模拟设备接口,显示管理器,采样器,效果处理器以及音频/视频混合器。
   5-9 多媒体数字式生产演播器的概念模型
 

  (1)模拟接口
  模拟接口允许系统连接到各种模拟的输入设备和输出设备,例如,激光视频盘,VCR,摄像机以及话筒和扩音器。把这些连接叫做物理通道,因为它们直接映射到外部实际的设备。一个实际通道不是双向的,它们的作用不是输入,就是输出信号数据流。这些连接实际上是对应DVI系统硬件的输入输出特性。DVI系统Ⅱ型产品叫做ActionMediaⅡ,它的硬件允许视频输出到计算机的监视器、Super-VHS录像机、电视监视器以及立体声的音响输出。视频和音频的输入组成在一起,连接到一个信号插头上。在所有的输出通道都要完成D/A变换,在所有的输入通道都要完成A/D变换。
  (2)显示系统
显示子系统控制在计算机屏幕上可视数据的显示。多种可视数据类型(静态图像和运动图像)可同时显示在相同的屏幕上。这些集合可以想像成用户的"观察窗口"数据,系统可以定义多于一个"观察窗口"。显示子系统能够建立这些窗口,并且在任意瞬间能够选择并显示这些窗口。这就是具有多个子混合器的等效视频信号,在某一瞬间只能监视这些视频信息的一个。
  (3)采样器
  采样合成器或采样器是音响生产演播器中通用的附件。音响采样记录音响源所建立的波形,作为数字式的序列存在存储器中。通过控制这些值能够改变音响效果。这个概念也能扩展到视频数据。一帧数字化的照片可以想象成运动图像的采样,显示之前在存储器能够进行控制和管理。
  在我们的模型中,采样作为视频存储器块执行,该块可以用来暂时存放视频和音频的数据。从视频文件中能够采样一帧数据,并且可以作为静态图像存储。一幅图像可以送到效果处理器,并传送到其他部件,在传送时能够改变色调、亮度等视频属性,同时进行转换,从一种位映射格式转换成另一种。然后放回到采样器并且显示,或者存到盘上。
  (4)数据流控制器
  数据流控制器特别像磁带机传输控制器,它负责控制数字式数据流,读写存储设备,例如CD-ROM、磁盘或者局域网。数据流流过逻辑通道就像磁带的磁道一样,和物理通道的数据流不一样,逻辑通道的数据流不需要一对一的映射到物理设备上。例如CD-ROM设备能够把交错的视频和音频信号文件提供给数据流控制器,数据流控制器能够把它们映射到几个逻辑通道中去(一个视频通道和两个音频通道)。除了CD-ROM之外,逻辑通道是双向的。这就是说,不在同一时间、同一个通道,既可作为输入,又可作为输出。
  (5)效果处理器
  效果处理器能够用来增加图像的特技效果,在静态和运动图像上增加图形,或者改变音响数据的特性。效果处理器作为特技效果单元,执行与AVSS VCR模型一样的功能。作为VCR播放时,它能够用来增加图像的特技效果,并给静态图像和运动图像增加图形。
  (6)混合器
  音频和视频混合器是生产演播器的心脏。它为将要到来的数据流提供分配到输出通道的机制,或者相反。例如,数字化左和右两个通道的音频数据,然后将它们组合成单一立体声的数据流,视频通道也能够提供连续的运动的数据流或静态的图像。
  当着一个音频输入通道产生单个的音响数据流时,混合器能够把多个音响数据流用多种方法混合在一起送到音频的输出通道。混合器能够用多种方法控制数据流通过系统。录音机或音响演播器,通过从左向右滑动电位计能够使音响数据从左边输出通道向右边输出通道漫游。数字式音响数据流能够用各种百分比,范围从0到100分配给左边和右边输出通道。
  混合视频数据流到视频输出通道是简单的定义源实体(运动图像或静止图像)以及目的的实体(在计算机屏幕上应用者的窗口)的问题。几个源能够分配到相同的目的实体,产生复合的图像或者是"可视性的混合"。混合器实际上为修改数据提供某些控制功能。在数字式视频的情况下,它包括定义源和目的实体的矩形区,可用于剪裁,改变尺寸,变换属性,如色调、对比度、亮度以及色饱和度。
  (7)带宽饱和
  在音响生产演播器中,如果太多的输入通道分配到磁带的同一磁道上,磁带会产生饱和现象,它将严重的影响声音的质量。同样,能够通过计算机实时解决大量数据流和数据流组存在的各种实际限制。例如,各种设备的数据传输率,主机总线的带宽,可用的CPU周期的数量,所有这些都影响计算机处理这些复杂的数据类型各种可能的限制。这些限制在数字式生产演播器模型中用饱和这个词来描述。
  逻辑磁道可能是这样分配的,它们超过了某些设备的数据传输率,例如CD-ROM或硬盘。结果,可能丢失记录数据,或者可能合适地播放文件。在这两种情况,都可以说成是饱和。
  当太多的特技效果同时安排播放时,将出现另一种形式的饱和。视频和音频处理器也受带宽的限制,当视频播放时,分给视频音频处理器的任务超过了它们能够实时完成的范围,结果就会出现丢帧或使声音速度放慢以及产生很多噪声。
  另一个限制因素是总线的带宽,即总线数据传输数率的限制。在DVI系统执行解压缩编码和显示之见,数字式数据必须从存储介质或局域网传送到DVI的局部存储器中。如果几个实际设备的数据同时传给混合器,这时系统总线的带宽会成为饱和,以至于不能传输数据。
  新的模型分为几部分?
  (1) 模拟接口
  (2) 显示系统
  (3) 采样器 
  (4) 数据流控制器
  (5) 效果处理器
  (6) 混合器
  (7) 带宽饱和

  4.AVK系统的结构
  由于新的82750 PB增加了像素处理能力,可移植到多个操作系统环境,以及希望支持窗口环境,所有这些都影响AVK的设计。AVK的设计要满足下述一些新的设计目标:第一,AVK可用到多个主计算机平台和多种操作系统环境。第二,当系统硬件能力增加时,AVK系统具有可扩展性。例如,软件系统设计时,不限制同时播放的视频数据流的数目。最后一点,很清楚,依靠主CPU要最少。
  AVK的系统结构如图5-10所示,它具有多层模块结构允许在多种支撑平台上工作具有极大的可移植性。图中AVK的最下层是82750 PB像素处理器微码子程序的集合,我们称它为"微码引擎"。有一个功能叫做DoMotion,它管理解压缩的任务以及缓冲区,另一个功能叫做Copy Scale,它能够实时地,按任意任选的比例尺将一幅视频图像拷贝到显示缓冲区。微码也能用来调度显示任务。DoMotion微码功能允许其他的微码子程序及其相应的参数,为了增加视频效果,动态地加载和执行。
   5-10 AVK系统结构图

  再上一层叫做AVD,音频和视频的驱动器,这一层是和DVI系统ActionMedia的硬件紧密相关,它和AVK系统的其他部分是分开的。AVD(Audio/Video Driver)的接口提供下述功能:存取在设备上局部视频存储(VRAM),为82750 DB显示处理器设置显示格式以及从VRAM加载微码到82750 PB在片指令存储器中。AVD还提供一个到声音子系统以及任选的音响获取子系统的接口。
第三层叫音频视频库(AVL-Audio/Video Library)。AVL提供很多与新的数据类型紧密相关的如上所述的数字式生产演播室模型的功能。管理控制视频和音频所需的数据类型规格化为数据流,这些数据流集成一个数据流组。一个数据流组是一个或多个数据流的集合,目的是为了完成同步控制的需要。这里的控制功能就是播放、暂停、停止前一帧数据流组的操作。AVL执行的控制功能是为获取和显示缓冲区读写数据的功能。AVL还可提供控制这些数据类型的属性,例如,调整声频数据流的音量大小或者调整视频数据流的色调。这一层是独立的较大的平台,因此很容易移植到其他的硬件环境和操作系统。
  AVL还包括一个内部使用的C功能集,如VRAM存储器的控制管理,位映射图的格式化以及产生和管理命令表。命令表是微码功能和它们的参数集合。命令表可作为存储器的内部指令,然后由82750 PB作为数据流组调度执行。这也可以看到,在我们设计的AVK模型中效果处理器是如何工作的。每个微码功能都可以看成是一个操作。把一个操作放到命令表里就相当于把一个"效果"安排给效果处理器进行特技处理。命令表在静态图像时与位映射有关,或者是与视频数据流有关。如果命令表与视频数据有关,那么它将一帧帧执行下去,直到命令表换掉或删除。
  图5-10中最上一层是特定的支撑环境层,它有两个主要功能:读写数据到主文件系统;把AVK集成到窗口系统的支撑环境中。这些功能用特定环境的方法能够有效地执行,而且在这里把它放在AVK结构的外面,目的是为了更方便地移植到其他支撑环境。由Microsoft公司扩展的多媒体窗口系统(Multimedia Extensions to Windows)定义的媒体控制接口MCI(Media Control Interface)以及QMT(Quicktime Movie Tool box)接口都是特定环境接口的例子,它们都能在AVK上层执行。
  AVK系统结构分为那三个层次?
  第1层:"微码引擎"。有一个功能叫做DoMotion,它管理解压缩的任务以及缓冲区,另一个功能叫做Copy Scale,它能够实时地,按任意任选的比例尺将一幅视频图像拷贝到显示缓冲区。
  第2层:AVD,音频和视频的驱动器,这一层是和DVI系统ActionMedia的硬件紧密相关,它和AVK系统的其他部分是分开的。
  第3层:音频视频库(AVL-Audio/Video Library)。AVL提供很多与新的数据类型紧密相关的如上所述的数字式生产演播室模型的功能。