第四节 数字图像处理系统
自从美国JPL实验室应用第一套数字图像处理系统处理月球照片以来,随着大规模集成电路、计算机技术的蓬勃发展和数字图像处理技术的广泛应用,出现了各种各样的系统组成方案,也有不少产品投放市场。但是,这些系统组成的方案往往不是考虑系统本身的性能是否最佳,而是研制单位现有什么设备,主要是应用什么计算机,还有处理的图像对象是什么等因素来决定。因此,有些系统显得很零乱、不完整、有拼凑而成之感,但能解决实际应用问题。而另一些系统又十分庞杂、昂贵,占用了大型计算机和大量的缓冲存贮器,当然也谈不上标准化和最优化的问题。目前生产以一般的“序贯型”计算机为基础的数字图像处理系统中,系统设计的原则是合理化、经济性、高效率和易实现。特别是合理性和经济性,这对于数字图像处理技术的推广应用,意义十分重要。在系统的组成方面需要考虑以下几个问题:
(1)采用小型计算机,特别是得到迅速发展的微型计算机和少数输入、输出设备来组成系统。其特点是简单、价廉、易实现。但速度慢、容量小、功能有限。这对于某些实现专门目的的图像处理和识别是值得注意的方法。
(2)以主存贮器,而不是以计算机为中心来安排系统的结构。若以计算机为中心,势必要有很多的数据通道及缓冲存贮器,才能取得应有的速度。因为各个外设只能单一使用其数据通道,利用率不高,也不灵活。以主存贮器为中心,各外设可以并行通过数据通道,提高了效率。
(3)尽可能实现人──机对话功能,以减少处理和识别功能的复杂性,提高系统的灵活性和使用性。
(4)在条件可能时,可采用计算机并行处理结构,应用图像阵列处理机和硬件功能部件,以提高处理速度,实现“实时”处理。
(5)软件应尽可能做到通用、简单、标准化。
从数字图像处理系统发展过程来看,大致有以下几个阶段或几种类型:
(1)早期阶段。从七十年代初,美国JPL实验室琐所使用的第一套数字图像处理系统开始,基本上都是使用计算机加上当时通用的磁带机作存贮器以及微密度计、显微胶片记录仪等输入、输出设备所组成。其中计算机有小型、中型或大型机,如PDP11/45、IBM704、IBM360/65、CDC6600/7600等,后来也有使用磁带作为存贮器。但总的来看速度慢、功能有限、设备无法充分利用,尤其是使用大型机,价格昂贵,只能在一些高级研究机构内使用。
(2)以小型机管理,大、中型机处理,并与本地计算中心相联通构成系统。如美国航天公司的系统,是用SDS—9300管理,大型机IBM370/155进行处理。瑞典国防研究院遥感图像处理系统,包括三台PDP—11小型机,其中二台负责控制摄象机输入和实时显示,另一台负责胶片输入、电视显示、数据图像交换并将其存在磁带上。整个系统与研究院计算中心的DEC—10及IBM360/75相联接,图像的处理如滤波、增强、分类都在大型机上进行。类似这样的系统还有英国原子能研究所的HIPS系统、日本京都大学的GIRLS图像处理系统等。
这样组成系统的特点是用小型计算机或微型计算机管理图像的输入、输出等简单、重复、占时较多的操作功能,使主机集中从事计算、处理工作,以提高速度。与计算中心的联系可共享图像文件库资源。这类系统多采用容量为几十到几百兆磁盘作为存贮器,并配有多种输入、输出设备。一般功能齐全、适应范围较广。但只能在具有大型计算机的计算的计算中心的基础上才能实现,而且各种处理方法主要靠软件实现,其处理速度还是较慢的。这对于高等学校、科研中心等条件交好的单位,还是采用较多的一种系统型式。
(3)近年来随着小型计算机,特别是微型计算机性能的迅速提高,以小型机、微型机为基础的图像处理系统得到了很大的发展。特别是采用了一些专用的功能硬件和并行处理结构,使系统的性能/价格比得到很快的提高。典型的系统有英国Magiscan—II型图像分析装置、日本的局部并行模式处理机(PPP系统)等。目前已出现带有通过的或专用的阵列处理机的图像处理系统,这是一个值得重视的新的发展方向,它大大提高了处理速度,成为走向实时图像处理的重要一步。
本节主要介绍几种典型的图像处理系统,它们都是以当前生产的“序贯型”计算机为基础组成的系统。对于采用计算机并行处理结构组成系统的新发展在下节专门介绍。
美国匹兹堡大学图像处理系统是一个典型的大型计算机图像处理系统,系统的原理框图如下图所示。
![]()
图 11-4-1 美国匹兹堡大学图像处理系统
该系统是以一台PDP11/45小型计算机进行图像运算处理,并与该校计算中心DEC-10大型计算机连接。用一台8080微型计算机控制彩色图像输出所示,并进行人──机交互对话。另有一台PDP11/03微型计算机来系统控制硬拷贝输出设备。图像输入设备有电视摄象机采用“纵行采样”方式。外存贮器采用磁带机、磁盘等存贮图像。
该系统的特点是用微型计算机作图像输入、输出设备的管理,小型计算机主要作图像运算处理,并与计算中心相连,共享文件库资源。其功能强、效率强、用途广泛。
随着微型计算机的迅速发展,特别是高档微型计算机的日益普及,其存贮容量、处理速度、软件功能都已接近或超过小型计算机。这样使微型计算机图像处理系统日益受到人们的重视,特别是在一般图像处理中的应用已比较普及。
典型的微型计算机图像处理系统是在Apple-2、IBM PC/AT、长城0520等微机系统的基础上组成的。图像输入设备采用电视摄像机或CCD摄像机,A/D变换器为13MHHz、8比特的视频A/D变换器。设有窗口硬件裁剪电路,可任意设定输入图像的尺寸。
图像输出采用打印机的伪彩色图像显示器。伪彩色显示器可采用灰度级分层或彩色编码技术,能有多达256级彩色变化显示。
微机图像处理系统的软件可采用汇编语言和高级语言,常用的高级语言有BASIC、FORTRAN、PASCAL语言等。汇编语言运行速度快但编制程序不方便;高级语言编制程序方便、通用性强,但运算速度有限。目前已出现应用的兼有汇编和高级语言二者特点的FOUTH(第四代)语言,在图像处理的应用中,是一种很有前途的语言。
微机图像系统的典型产品是美国PCVISION实时图像处理装置,它双称为PCVISION帧捕获器。它与IBMPC微机系统兼容。
PCVISION接收来自电视摄像机的标准视频信号,经高速视频A/D变换器,以每秒25帧的速度将模拟视频信号数字化,每个象素量化为8比特,即256灰度级。
特别是使用了反馈/输入查询表,能将帧存贮器内的图像作实时处理。该查询表内有4096个地址,每个地址12比特。在需要时,此表可用为单一
比特的查询表,或16个独立的
比特查询表。由图11-4-3所示,视频数字信号(8比特),帧存贮器(可达12比特)及查询表选择寄存器(4比特)经多路分工器输入反馈/输入查询表,通过各种不同的组合,可提供各种实时处理能力。例如将视频数字图像存贮到帧存贮器里;转换已放在帧存贮器内的图像;数学运算;应用于图形重叠、两个图像相加或相减、显示窗口等多种图像处理。
帧存贮器的容量为
比特。它用于8比特的视频数字图像的存贮、4比特的窗口控制和图形重叠以及贮存两个6比特图像。帧存贮器的结构被设计成可以同时进行摄像、显示及CPU读/写访问。它对允许用户经高速随访问任一个象素、使主机PC/AT能应用在各种图像处理的算法上面。另外,帧存贮器能够被直接访问,也可以利用指针寄存器作间接访问,该寄存器在向帧存贮器读写访问后,自动增量或减量(数值为1、2、4、8或16)。
视频输出由一个或三个通道组成,每一个通道都有自用的D/A变换器及16个
比特的可编程序查询表,以提供伪彩色图像显示。查询表是以投射帧存贮器方式操作,以保证在任何时刻改变投射地址时,显示画面都可以保持稳定,不会出现闪动条纹。
PCVISION提供的演示软件包括控制它需用的基本驱动程序,这些驱动程序(包括诊断)采用BASIC语言和IBMPC宏汇编程序编写。并且提供各种图像处理应用软件,供用户选用。
图像处理系统(简称S-101系统)是一种多功能、多用户、交互式数字图像处理系统。它主要用于遥感图像处理,也可应用于工业上的质量检验、医疗诊断等领域。
交互式用户控制台、HP3000 II型通用计算机、200MB磁盘和125吋/秒磁带机及电视摄像输入设备。机械扫描鼓、电视照相输出系统等输入、输出设备所组成。
下面介绍各个主要部分的原理及特点:
1.主机──HP3000II型计算机系统
HP3000II型是一台16位字长的通用计算机。计算机具有硬件堆栈结构、虚拟存贮系统、有用户保护设置的动态存贮分配,并具有32位单精度和64位双精度的浮点运算硬件。该机有个显著的特点是CPU和输入输出处理机(I/O处理机)是分离的,使得能同时进行各种计算和数据传送。独立的I/O处理机可以控制多路通道与存贮之间的数据传递、检查外部设备以及监视所有和数据传递。
内存贮器的容量为128~512KB,存贮周期为700ns,存贮器与高速外设的数据传输由通道控制器控制,速率可达1.43兆字/秒。存贮器的组织有两个特点:
(1)程序码和数据分离。为了在多用户程序下共享程序资源,采用独立的数据空间(或称工作存贮区),使数据和数据分离。而且所有程序可自动再入,这样就提高了存贮空间的利用率。
(2)虚拟存贮器。这是一种有效的存贮管理方法,磁盘存贮器作为主存贮器的附件使用。各程序被分成若干程序代码段和数据段而存在虚拟(磁盘)存贮器中,只有那些当时需要使用的程序段和数据段才固定在主存贮器中。如主存贮器中某一个程序段或数据段长期不使用,便自动地转录到磁盘上,代之以新的程序段。用户不必关心这种重新占位和交换过程,它完全由操作(DOS)管理进行。
系统中可本;配置50MB磁盘(HP7920型)8个,提供400MB的规格化存贮量,可作系统操作软件、I/O操作、程序编制、程序库以及存贮图像数据用。另配一台以上的1600字节/吋,45吋/秒的磁带机(HP7970E型)。
2.70型用户控制台
70型交互用户控制台是S-101系统的关键性部件。它由一部专用图像处理机、彩色终端显示器、图像数据库等部分组成。
图像处理机具有高速处理能力,它可与主机计算机HP3000'II脱机运行。它对整个
图像数据的加权和、差、比例、乘法运算只要几毫秒就可完成,比计算机的运算的速度快得多,而且运算结果图像可返回到计算机中去。图像处理机还具有硬件空间二维卷积的能力,具有快速求直方图的能力,其直方图的计算在进行图像数据运算时一起完成。
70型彩色终端显示器能彩色显示已处理的多波段图像或任意中间图像。它含有多个重复显示图像存贮器,并按
的模块式设计,最多可达12个模块,即可同时存贮12幅图像。显示屏幕网格为
个网格点,256级灰度。对贮存的多幀图像可进行选择或将它们线性组合后显示.
在70型控制台的图像数据库中可贮存
个象素的图像,并可在此图像中任取一个
象素,并可在此图像中任取一个
象素的区域进行处理或显示.
3.阵列处理机(AP-120B)
AP-120B是一种小型阵列处理机,它与主机HP3000II相结合,可得到高达12兆次浮点运算/秒的运算速度,比大型计算机的运算速度还要高.AP-120B采用32位浮点数,其中阶码位10位.它与计算机的联系是由主计算机通过DMA通道接口与阵列处理机传送数据,通过PI/O(程控I/O)接口传送控制命令.
阵列处理机的系统只要由二个功能部件组成,即由一个浮点加法器和一个浮点乘法器组成.它们可以独立地进行并运算,并通过多重数据通道与多个独立的存贮器相联接.浮点如加法器采用两级流水线结构,浮点乘法器采用三级流水线结构.例如把乘法运算分三步,第一步为尾数求积,第二步是求阶码和,并结束尾数求积,第三步是规格化和结果拾取.这三步各自独立地由硬件串联进行,每步一拍,每拍167ns,全部浮点求积时间为500ns.但由于采用了流水线结构,在二个浮点数相乘进行到第二步时,二个新的数又可以送入进行第一步运算,因此,整个运算速度是167ns.再加上浮点加法器的并行运算,可达12兆次浮点运算/秒的速度.用此结构与主机相联,可大大地加快图像阵列运算,特征提取和判断运算的速度.
为了配合两个浮点运算器的高速运算,处理机中设有两个累加器块,处理机中设有两个累加器块,每个是
位,它们是用双极型贮存器构成,读出时间小于100ns.处理机是微程序控制的,因它本身有一个程序存贮器和算术逻辑部件(ALU),字长为16位,程序由主计算机送入,控制处理机工作.这些程序由译码器译成64位字长的微指令去控制处理机的运行.
AP-120B有四个软件包可通过FORTRAN语言或机器语言调用,它们是:
(1) APEX──阵列处理机执行程序,翻译用户的调用,并使AP-120B完成规定的动作.
(2)APMATH──阵列处理机数学子程序,共70条。
(3)APAL──阵列处理机汇编语言的交叉汇编程序.其中包括APALNK-连接程序,APDBUG-调试程序,APSIM-程序模拟。
(4)APTEST-四条诊断程序。
4.S-101系统软件
S-101系统软件由四部分组成:(1)主机操作系统和应用软件(MPE-II);(2)图像处理操作系统(OS/101II),由MPE-II控制;(3)图像处理应用软件;(4)阵列处理机软件。
S-101系统提供一个专用的面向图像处理的操作系统,它包括六个子系统:
(1)命令解释程序(CI)-分析从用户控制台打入的全部命令,以保证输入图像名称在图像数据库内。
(2)显示功能管理程序(DMON)──从CI程序接受处理任务和控制数据,并执行这一功能。
(3)应用功能管理系统(FMON)──相识于DMON,但功能是属于中央处理机的应用程序。
(4)参数子系统(PARAMS)──是为应用程序提供参数的。由应用程序提出请求,用户提供参数。
(5)图像输入/输出系统(IMAGEIO)──提供多维图像的调用读入和读出,维数包括波段、时间选段及数据类型的变换等。
(6)显示子程序──是与70型用户控制台之间的一套完整的接口程序。
应用软件以交互式多用户操作,从用户控制台打入命令,然后由命令解释程序翻译并执行。
应用功能子程序包括:
命令子程序──删去、图像重现、编目、消去、归档等。
命令子程序──直方图均衡化、分段线性灰度校正、比例调节、求对数及指数、太阳角度补偿、去条纹干扰等。
算术子程序──求两个或两个以上图像的加权和(或减)、乘法、除法、求绝对值等。
几何处理子程序──去斜(由地球转动引起)、放大、旋转、扭曲、经纬度投影、画面校正等。
统计子程序──直方图计算、相关矩阵计算、统计量(均值、最小值、最大值、协方差矩阵)的计算程序等。
变换子程序──二维FFT,IFT(付立叶反变换)、哈得玛变换、中值滤波、K-L变换、卷积等变换子程序。
分类子程序──最大对数似然分类、最小距离分类、查表分类、训练集、集群算法、特征值计算等。
滤波子程序──指数滤波、高斯滤波等。
实用子程序──子图空间平均、插入、复制、转置、合并、输出等子程序。
逻辑运算子程序──执行二幅图像的与、或、异或、非等逻辑运算。
以上应用程序全部可用FORTRAN语言调用,编成程序文件连续执行。其中有部分子程序是靠70型用户控制台的硬件实现的。