§5.2.1 DVI概述
DVI(Digital Video Interactive)数字视频交互式系统是1987年RCA公司推出的。该系统可利用CD-ROM光盘播放静止图像、活动图像和音乐。1989年I 和Intel公司在该系统的BM基础上展示了Action Media750多媒体平台,1991年两家公司又联合推出了新一代的Action MediaⅡ,并获得美国Comdex’91的最佳展示奖和最佳多媒体产品奖两项大奖。DVI系统的基本功能就是在个人计算机上实现对数宇视频、音频、静止图像、计算机图形的综合。它为交互式多媒体技术提供了全面的解决方法,是一种典型的多媒体体系结构,也是目前最为先进和成熟的多媒体产品之一。DVI系统有着坚实的理论基础和先进的技术支持,它主要在以下几个方面取得了实质性的突破:
(1)一种全数字化的方法
DVI的关键目标就是:将所有媒体信号作为数字化的数据来存储和处理,以避免部分模拟/部分数字系统的昂贵、复杂、难于同步等缺陷。DVI用一个单一的存储设备和芯片来产生活动视频、声音、合成的视像,它们都直接由一台个人计算机控制,从而形成了一个交互性、实用性都很好的系统。
(2)视频压缩
DVI最具有特色的一个部分就是其先进的视频数据压缩。对视频数据若不进行压缩就要占据大量的存储空间,例如图像由256×240个像素组成,每个像素用24位表示(红、绿、蓝各占八位),按每秒30帧的电视速度放出,96秒就要填满一个500兆宇节的光盘。一是存储空间不能满足要求,二是盘的读出速度也不能满足要求(因为光盘100秒才能读出150兆宇节的数据)。DVI实现了对视频信息进行实时的高效压缩和还原,其基本考虑是:只记录相继帧之间的差别部分。另外在DVI芯片内有特殊的硬件,如:彩色查找表、彩色子样部件以及专有的信息封装技术。
(3)声音压缩
DVI采用自适应的差分脉码调制算法(ADPCM)来提供声音的压缩,并用了特殊的缓冲技术来防止声音的间断。
(4)合成图形
DVI不仅能再现被压缩的视频序列,也能生成计算机图形。硬件直接支持位图图像和“结构化”的图形(由多边形、曲线等图形元素建立),也能提供位图形式的文本。DVI的硬件执行图形算法有着很快的速度,能够支持在视频图像上叠加动画。
DVI同时在以上几个方面提供了强大的功能,因而其系统的整体性能也就非常出色。下面介绍DVI的硬、软件组成和技术。
§5.2.2 DVI硬件系统
DVI硬件结构如图5-5所示。DVI技术的核心依赖于两块芯片:VDP1和VDP2,它们共同形成了视频显示处理器。
图5-5 DVI硬件组成框图
1.VDP1像素处理器
VDP1是像素处理器,每秒执行1250万个操作。它使用了较宽的指令字长,没有永久的微码,所有被执行的代码都要先从双端口的视频RAM(VRAM)中装进芯片上的指令RAM里。较宽的微指令字长能使VDP1同时执行几个操作,地址计算和像素处理能同时进行,图形操作的内循环计算器在操作过程中自动增值。
VDP1还用特殊的硬件能够每秒钟对50万个像素进行卷曲算法(Warp Algorithm),这比任何通用的处理器都快得多。微指令的格式也作了很精心的规定,使其能随着技术的进步而改变。它并不是按微指令的二进制原状进行存储,而是在盘上保持一种逻辑格式,仅在将其移入VRAM中时才转换为物理的微指令。这种设计就很容易使以后版本的芯片提供向下兼容性,以适应DVI结构的发展。
所有情况下,数据必须先装入芯片上的数据RAM中才能被操作。由于初始的芯片结构应用了几项专利技术,Intel声称芯片上的数据RAM能容纳下最后一条扫描线(这是图像处理中一项重要性质)。VDP1可以向主机发出中断(为它自己或为VDP2)来通知发生在视芯片上的事件。
2.超级CRT控制器VDP2
VDP2或称输出显示处理器,它在DVI系统中是作为一个超级的CRT控制器。通过主机系统总线不能直接访问到它,它是自己通过由VRAM装入寄存器的值进行编程。这些寄存器的内容总是在每一帧的末尾被重新装入。但它们也可经在软件控制下更频繁地重新装入。VDP2由一个4位的V-BUS接口返回信号给VDP1
VDP2经过连在VRAM串口上的32位多路选择总线从VRAM中提取数据,然后再由一个特殊设计的像素数据通道将其映像到CRT上显示。
每个像素输出到D/A转换器上是32位(4字节),其中一个字节用于亮度、2个字节用于彩色、一个字节用于Alpha通道,这是一个特殊效果的通道,能够与一个视频混合器一起将VDP2的输出与另一个视频信号混合起来。目前最高分辨率为768×480,但这项技术允许更高的分辨率。
VDP2除了完成CRT控制的常规任务外,也参与对像素数据的还原。用彩色插入法从与屏幕有相同分辨率的亮度位图和两个只有1/16像素的彩色位图中融合出色彩填满邻近区域,建成平滑的图像。
当再现位图文本、图标(icons)、mouse标记或其它彩色对比较强的屏幕部分时,VDP2能将像素×像素的基础转换为彩色查找表(CLUT),从而无需插入就能得到精确的彩色信息。它也能显示未经压缩的16位或32位格式的像素。
在图像数字化期间,VDP2也能组织像素在VRAM中的存储。当VDP2在处理这些琐碎事时,VDP1(这时可能闲着)能对到来的数字化图像进行压缩,VDP1和VDP2组合起来的能力很强。
3.DVI音频处理器
DVI的音频处理器用的是TM320C10数宇信号处理器来实时地记录和还原音频。其运行时钟为25MHz,绝大多数指令用四个周期执行,净速度为每秒625万次操作。这个数宇信号处理器有一个很小的内部数据RAM,它作为16K字节的双端口DRAM(与主机共享)和8K宇节的高速程序RAM的补充。一个可选的音频数字化仪可作附加板。
音频处理器提供三种级别的数宇化音频,其编码容量分别为每秒4K、8K、16K字节。最低质量的音频带宽相当于调幅收音机或电话,最高质量的超过了能听到的调频收音机节目。音频处理器自成一个完整的子系统,能独立于其它的DVI硬件运行。
4.DVI板级产品
目前DVI的板级产品常见的是Action Media Ⅱ,它由一个主板再加上一个采集板组成。VDP1、VDP2和VRAM均在主板上,采集板是一个视频信号的数字化器。
主板的基本特性如下:
·Intel82750PB作为像素处理器(VDP1),操作频率25MHz,进行视频的压缩和还原处理。
·Intel82750DB作为显示处理器(VDP2),操作频率45MHz,支持标准VGA、XGA、NTSC速率的显示器。
·板上的VRAM可到4MB,一般是配2MB
·有音频DSP(数字信号处理器)进行高质量的立体声压缩和还原。
·板上带SCSI接口可连接一个内部CD-ROM驱动器。(www.xing528.com)
·VGA图像和DVI视频可以数字融合。
·DVI视频可以模拟地融合RGB源的图像(包括VGA和XGA)。
·可输出S-Video格式的视频信号。
采集板的主要功能就是采集模拟的视频信号,其输入信号的格式有:RGB+复合同步信号、复合视频信号、S-Video视频信号(Y-C)。也即Action MediaⅡ可以接收多种视频设备的信号,如:RGB视频摄像机、录像机(S-VHSVCR)、激光视盘等。
§5.2.3 DVI系统软件
DVI的硬件提供了强大的功能,但是要充分发挥这些功能以实现系统的目标,系统软件则起着至关重要的作用。因各种应用开发均是以系统软件为基础,所以系统软件就必须要提供一个功能强、充分发挥硬件能力、便于应用开发的环境。DVI的系统软件在这方面也做得相当出色,为其实现系统目标和推广应用奠定了良好的基础。DVI系统软件目前主要有两种,一是基于DOS环境的AVSS(Audio Video Support System),二是基于Windows环境的AVK (Audio Video Kenerl)。
Action Media 750多媒体系统的软件运行在MS-DOS下,该软件系统是DVI系统的第一代软件平台,由RTX(Real Timee Xecutive)、AVSS(Audio/Video Sub System)及系统专用图形库等三个子系统组成。RTX为DVI应用好AVSS提供实时多任务处理服务,AVSS用于数字音频与视频文件的播放和控制,图形库则提供特殊用途的显示效果,使之达到像大多数传统绘画那样好的自然色彩和光源效果。这样的系统,其概念上的模型是一个超级家用录像机。
DVI系统软件的第二代产品是AVK(Audio Video Kernel)音频视频核心系统,该系统的指导模型是新的数字视频制作演播技术,AVK是为Action MediaⅡ系统开发的,它运行在Microsoft的Windows3.x或IBM的OS/22.0环境。
1.AVSS概念模型
AVSS的目标就是要在DOS环境下支持用户对DVI进行应用开发。它以C语言库函数的形式提供了基于DVI视频播放、图形处理、特技效果、任务调度等功能。它的概念模型是“超级VCR”如图5-6所示。
图中“演播单元”的播放(Play)、停止(Stop)、暂停(Pause)和快进(FFAdr)等控制功能都是由C语言的函数调用提供。应用程序能利用它播放视频/音频文件,很像VCR播放录像带。效果处理单元实际上是图形库功能的集合,通过“钩挂例程”这个特殊功能调用工具,可把图形添加到正在播放的视像上去,一个钩挂例程就是提供给该程序的一个C函数。钩挂例程有一套DVI图形操作,当每个被压缩的视频还原后,在其显示前,可执行该视频帧的调控,帧频AVSS在适当时刻自动调用钩挂例程,可以对播放的视频序列进行特技效果处理。
图5-6 AVSS概念模型图
2.AVSS数据流
AVSS采用三个并行播放数字视频,它们都作为RTX的任务:一个是输入任务,它将一帧压缩视频读进内存;另一个是解码任务,它请求像素处理器对该帧视频进行还原;再就是显示任务,它将还原后的视频帧在计算机显示器上显示。这些任务必须每秒钟执行30次,以保证连续地播放视频序列。
AVSS的数据流是利用数据缓冲区进行交互的。从存储设备流入输入缓冲区的压缩数据,而进入“屏幕矩阵”的位图则是每帧的还原数据。如果应用程序已安装了钩挂例程,那么在该帧被显示前可用钩挂例程加进应用图形。屏幕矩阵位图是以循环方式重复使用的,在屏幕矩阵中可用两种位图分辨率:512×480和256×240。源视频帧是以256×240的分辨率存储的,如果屏幕矩阵也是256×240,则还原的视频帧将填满位图,其结果图像也会填满计算机屏幕。如果屏幕矩阵是512×480,显示的视频帧仅是屏幕的四分之一。
由于 S-DOS的BIOS和文件系统只提供了M “等待”方式的读写操作,应用程序在连续处理完成之前必须等待读、写操作完成。但播放数宇视频要求是实时的,所以Action Media软件对一些硬件设备驱动器实现了自己的异步读功能,绕开DOSBIOS和文件系统。这些功能允许AVSS在数据被传送到内存中时,继续调度还原任务和显示任务。
3.AVSS的任务调度RTX
ActionMedia软件使用RTX进行任务调度。RTX假定系统的所有资源都可以被其所用,任务控制是使用一些中断向量号,特别是定时器中断,截取某个通常是由DOS控制的调用号来实现的,RTX的首要任务是为AVSS提供CPU资源,使连续的视频能平滑地播出。ActionMedia的应用程序能够在RTX下建立自己的任务,但必须要精心设计,一方面避免干扰AVSS的任务,另方面保证能在某个任务的执行循环过程中能让已在等待的其它任务得到执行。RTX的优先级范围是从0~15,0为最高优先级,15为最低优先级。AVSS的输入任务。解码任务、显示任务的运行优先级分别为3、4、5。应用程序任务具有最低优先级,它总是要在AVSS任务之后执行。事件等条件是通过调用RTX库函数控制的,通常的事件包括键盘、鼠标和超时事件。RTX调度任务是周期性地被激活,它基于主计时器中断。尽管RTX调度和所有应用程序任务都是在主机CPU 上运行,但AVSS的解码和显示任务实际上是由DVI处理器执行的。
4.AVSS的库函数模块
AVSS的库函数模块有5个。
(1)AVSS:控制播放存于硬盘、RAM、CD-ROM上的视频/音频数据文件。
(2)DVISystem:控制激活或关闭软件库。
(3)Graphics(图形功能):为像素处理器(VDP1)提供通用的编程接口。(画点、线、圆位图操作,图像处理和视频特技)。提供对显示处理器(VLP2)的控制,可以编程实现多种分辨率和多种像素格式的显示。
(4)RTX:提供多任务支持,包括视频、音频及系统事件处理。这是DOS特定平台需求的。
(5)Standard:执行内存分配、缓冲文件I/O、错误处理等任务。
5.AVK的概念模型
AVK是支持用户在Windows平台下对DVI进行应用开发,它的概念模型是模拟一个现代的电视制作演播室,形成一个“数字视频制作演播室”。一个典型的电视制作演播室包括:混频器、监视系统、效果处理以及其它的录制、修改、播放音响及视像的设备。在DVI的AVK概念模型里,一个数字的制作及演播室是由一些相似的子系统组成,但它们是对数字的音频及视频数据流进行操作。要播放的数据流集合形成一个“组”,模拟输入和输出被想像为一些“通道”。音频和视频数据流通过产生“连接”由输入通道到达输出通道,数据流可以被“混合”,也可以被导向一个“效果处理器”,从而改变数据的一些性质。这个制作和演播室模型的主要部件包括:模拟设备接口,采样器、信号流管理器、效果处理器、音频/视频混合处理器,其结构如图5-7所示。
图5-7 数字视频制作演播室概念模型
6.AVK数据流
AVSS选择了用屏幕矩阵位图方式作为显示缓冲区,是出于对处理能力的考虑。老的A系列像素处理器能以每秒30帧的速度实时地还原256×240图像,但却不能拷贝或缩放图像。新的B系列82750PB像素处理器的处理能力是A系列的两倍,所以就能采用更复杂的缓冲机制。显示位图从还原位图矩阵中分离出来,就能插入拷贝/缩放操作,实现了对视频图像的重定位和改变其尺寸的“开窗”效果。这种机制占用了较少的内存。
AVK数据流还有一个优点:由于DVI硬件能力更强,在对同一显示位图执行拷贝/缩放操作时,可对每个视频流分配一个压缩缓冲区和还原矩阵,实现多个视频窗口。而AVSS对还原和显示使用一个位图矩阵。
7.AVK的软件结构
AVK是按层次化的结构建立,其可以分为三层,见图5-8。最低层为微码程序源,包括一组82750PB微码子程序。DVI依靠82750PB来调度所有的实时任务,如进程器、缓冲/流处理、命令表处理和周期处理。同时,82750PB还负责实现压缩/解压RTV视频图像、实时解压缩PLV视频图像等工作。第二层是音频/视频驱动程序,它的功能是存取多媒体板上的VRAM,为82750DB设置显示格式,从VRAM中取微码函数装进82750PB芯片内的指令存储器。它还提供进入音频分系统、捕获分系统的接口。第三层是音频/视频程序库,它提供数字视频制作演播模型所描述的大多数功能,支持视频和音响的专业要求的数据类型,这些数据按子帧、帧、流、组的形式加以组织和控制。它控制多道信号流的组合和同步,控制图像捕获和数据缓冲区的读写,调节音响的音量和视频的颜色。这一层具有独立于平台的性质,可以较方便地同其它硬件和操作环境连接,及动态地连接到不同的应用环境上。
图5-8 AVK的软件结构
在AVK之上是应用编程接口层(API),通过它把AVK连接到特定的应用环境。例如,利用MCI的方法,可把AVK集成到Windows环境之中。AVK的设计考虑了82750PB像素处理器功能的发挥和多任务操作环境的引入。它可适应多种主机平台和操作系统环境,可随着硬件能力的增强而扩展,减小对主机CPU的依赖,具有较强的开放性、可扩展性和友善的用户界面。目前在应用开发中得到了广泛应用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。