美国Aspex公司生产的流水线结构图像处理机PIPE(Pipelined Image Processing
Engine)与传统的流水线结构的计算机相比,关键的不同点是系统连接的灵活性和动态的重构能力。每个处理级都有3个局部的输入和输出通道及6条全局视频总线。除了一般流水线计算机具有的"向前"通道(Forward
Path)外,还增加了两条"向后"通道(Backward Path)和"递归"通道(Recursive
Path),它允许当前处理级的处理结果选择上述3种局部通道之一与其他处理级交换数据。同时它还提供了6条全局视频总线与任意级以视频速度交换数据。此外,系统还可以通过循环通道完成各种递归运算。
综上所述,PIPE机特别适合完成下述几种视觉处理运算。
1.点处理
点处理是对图像中所有像素作相同的操作,可以不考虑空间位置或时间序列上的相邻像素点。点处理包括单值点处理和二值点处理两种。
单值点处理产生单输入量的任意函数作为输出,PIPE机上众多的LUT,都可作为单值运算器使用,一些典型的单值点处理有:取阈值、位屏蔽、平方、平方根以及绝对值等。
二值点处理计算两个输入量的函数值,可以用ALU或TVF(Two Valued Function)完成。ALU可以执行ADD,SUB、AND,OR,XOR等二值运算。TVF的功能很强,可以计算任意的二值函数。例如,乘法和除法,最大/最小、向量模(
)以及向量辐角(
)。
2.空间邻域处理
邻域处理的输出是输入像素及其八个空域邻点的函数,通常用3×3卷积完成。MPS(Modular Processing Stage)的两个卷积器既可作3×3的卷积,也可作9×1的横向卷积。典型的邻域处理有:平滑、滤波、边缘检测以及过零点的检测。
3.图像序列处理
图像序列处理是对多幅图像的集合进行处理。多幅图像通常是时间轴上的图像序列,可以是立体图像或彩色图像。PIPE机非常适合于处理运动图像。序列图像处理的例子有:运动检测、多分辨率金字塔图像处理、时域滤波以及立体特征检测。
4.布尔处理
PIPE卷积器及ALU可以同时对8个位平面独立地进行布尔运算。因此,8个位平面可以形成一个特征向量,每个平面表示一种特征的空间分布情况。布尔处理对形态学(Morphology)运算尤其有用,例如,膨胀(Dilation),扩展(Expansion)以及收缩(Shrinking)。
5.ROI(Region of Interest)运算
MPS具有ROI运算功能,即对图像的不同区域作不同处理。具体方案是将MPS上的一个帧存储器作为存放操作号的映像存储器,对另一幅图像中任一像素的操作决定于映像存储器中相应位置的操作号,操作号可以从0~15,所以,对同一幅图像可有多达16种不同的操作。映像存储器的内容可以是前面处理的结果,也可以是主机离线创建的。因此,PIPE的ROI功能可对不同像素(或像素形成的区域)作不同处理,ROI处理的典型应用有:图像的区域屏蔽、条件处理以及用当前处理的结果指导进一步的处理。
流水线结构的图像处理机PIPE的方框图如图3.24所示。它由如下几个部分组成:视频接口级、输入级、1~8个处理级模块、输出级ISMAP(Iconic
to Sibolic Mapper)以及系统控制级。整个系统在统一时钟控制下同步运行,每一级均在一个周期内对一幅256×256×8bit的图像完成一次流水线的处理,并将结果存入本级或其它级帧存储器。PIPE的流水周期为一个视频场的时间,即1/60s,各处理级的运算功能和级间连接可以在每个周期重构。
图3.24 流水线结构的图像处理机(PIPE)结构方框图 (点击查看大图)
(1)视频接口级(Video Interface Stage)
视频接口级有3个输入通道,可以同时获取3幅独立的图像,也可以获取彩色图像或立体图像。3路输出可以分别驱动3个单色显示器,或共同驱动一个彩色显示器,提供伪彩色或真彩色输出。3路输出带有查找表LUT(Look
Up Table),可以显示各种变换,如亮度变换和伪彩色变换等。该级还提供数字式视频信号的输入与输出。
(2)输入级(Input Stage)和输出级(Output Stage)
输入级和输出级各有四个帧存储器作为系统全局的公用存储器。输入级还有一个ALU,可以对连续获取的两幅序列图像进行算术逻辑运算,例如,做平均运算可以消除噪声。
(3)模块处理级MPS(Modular Processing Stage)
MPS是PIPE机主要的运算部件,每个MPS有3个查找表(FLUT,RLUT,BLUT)和两个ALU(ALUA和ALUB)组成一个3输入端的多功能的ALU,可以对来自相邻级和本级的图像进行各种组合运算,两个帧存储器用作专用存储器,两个并行的卷积器有四种操作模式:3×3算术卷积;9×1算术卷积;3×3布尔卷积;9×1布尔卷积。布尔卷积时,8个位平面独立,并行进行邻域的布尔运算。布尔卷积还有一种递归(Recursive)模式,卷积时,可以利用左邻像素本次流水处理的最新结果。ALU对本级的两幅图像完成加减或逻辑运算,运算结果可以设置状态位,供控制级检测,完成条件判断和转移。在MPS中,还有一个非常有用的二值函数查找表TVF(Two
Valued Fuction)。TVF可以实现两个变量的任意运算,如乘法、除法、求模等。TVF实际上是一个多端口存储器,如果在两个帧存储器中分别存入x,y的地址映像,作为TVF的地址输入,则TVF可以对已按扫描顺序存入其中的图像完成任意的坐标变换。
(4)ISMAP
ISMAP作为PIPE的最后一级,可以将视觉低层处理的结果从图像数据变换为符号数据,它能够实时获取直方图、累加直方图、特征链以及各特征的指针链。在累加模式下,ISMAP可以用一幅图像作为特征图像的权,计算出各特征的空间分布情况,从而可以方便地求出各特征的一阶矩。
ISMAP的直方图存储器和符号表存储器均有A、B两个,以便在主机或高层处理机读取符号数据时,ISMAP可以使用另一个存储器存放新的结果,从而避免存储器竞争。ISMAP的所有存储器均可以映射到高层处理机的内存空间。
ISMAP既位于流水线上,又能映射到高层处理机的内存空间,所以,它能将低层处理与高层处理紧密地联系在一起,使视觉系统的层间数据和控制传送可以高效地完成。ISMAP支持视觉系统两种控制流:一方面它将PIPE检测到的特征转换为符号格式,由于ISMAP的直方图存储器和特征链存储器可以映射到高层处理机的内存空间,因此,高层处理机能直接获取符号数据,形成自底向上的控制流;另一方面,ISMAP的图符缓存器(Iconic
Buffer)也能映射到高层处理机的内存空间,所以,高层处理机可以将模型、知识等存入ISMAP的图符缓存器,通过ROI运算来指导低层处理,形成自顶向下的控制流。
(5)控制级
PIPE的控制级由时序发生器、命令序列器(Command Sequncer)以及计算机接口组成。时序发生器产生PIPE的所有时序信号,如点频、行频和场频。计算机接口提供两个并行口A和B,用于连接主机和高层处理机,使PIPE可以与外部计算机进行通信。
PIPE的程序由1~16循环组成,每个循环有1~255个周期。在一个循环中,各周期按顺序执行。每个周期,PIPE的每一级由该级上一个128bit(输入级和输出级)或256bit(MPS)的微码字控制,微码字存放在各处理级自带的微操作存储器中,被分成1~5bit宽的字段,每个字段控制该级上特定的运算部件,如ALU或卷积器。
PIPE的程序存放在控制级的命令顺序器的文件中,在每个周期开始时,命令顺序器根据顺序文件内容,指挥各处理级从自己的微操作存储器中取出相应于该周期的微码字,传送到各级自己的寄存器堆中,由寄存器堆直接控制硬件完成一次流水处理,所以,PIPE的各处理级可以并行执行不同的命令,但对程序的控制是由命令顺序器统一完成的。
流水线结构的图像处理机-PIPE是一种很好的视觉信息处理系统,它的特点是:
(1) 丰富的硬件资源:PIPE有1~8个MPS,有ISMAP,PIPE的LUT有16层,每个TVF可以存储两张8位的二维函数表或8张7bit的二值函数表,所有图像存储器都是4层,每个卷积器可以存储 8个卷积核。
(2) 统一的数据结构:整个系统只有一种数据结构,即图像。由于硬件上严格的同步机制和完全相同的线路延迟,任一时刻流入或流出的所有处理级的像素均处于图像中同一空间位置,所以,程序人员不必考虑像素地址、延迟和偏移。
(3) 灵活的数据通道:PIPE级间的连接能以多种方式重构,这取决于PIPE灵活的数据通道。PIPE相邻级间有3种局部通道:向前通道可将本级处理结果送往下一级,形成流水线顺序处理;递归通道将本级的处理结果送回输入端,可以实现反馈和松弛运算;后向通道将本级的处理结果送回上一级。PIPE还有6条视频总线(Video
Bus)提供全局通道,任一级图像均可通过视频总线传送到另一级。
(4) 多种分辨率和数制:在PIPE中,图像的基本分辨率是256×256,同时也支持512×512的分辨率,如果帧存储器配置为16层,分辨率还可达到1024×1024。在PIPE系统中,图像数据的表示有3种:一种是8bit无符号整数,表示范围0~255;第二种是8bit有符号整数,表示范围从-128~127;第三种表示是8个独立的位平面,即可以形成一个8维特征向量,也可以作为8个独立的二值图像。
|