一种大邻域图像并行处理方法

文档序号:6613714阅读:209来源:国知局

专利名称::一种大邻域图像并行处理方法
技术领域
:本发明属于图像处理
技术领域
,特别涉及图像处理领域中的高速图像处理技术。技术背景高速目标检测、定位和跟踪以及遥感图像处理、人脸识别、指纹识别等方面,都需要进行高速的图像处理技术。在图像处理中,邻域图像处理具有普遍性,其特点是邻域性强、计算量大。常用的邻域图像处理算法的邻域数据结构如图l所示(各虚线框表示不同大小的邻域数据结构,其中O表示图像的一个象素)。然而,当前图像存储体的结构难以实现高速的大邻域图像处理的要求。对于邻域图像处理的邻域数据的形成,目前主要采用延迟线的技术。图2给出了采用行延迟线实现3x3巻积器的框图。在图2中,用两级行延迟线形成了相邻3行的图像数据。如果要进行25行x24列的邻域图像处理,则需要24级行延迟线。这种方法存在行延迟线复杂度高、耗时多、灵活性差等缺点。在计算机的MMX/SSE技术中,能并行处理8点或16点的8bit的图像数据,但由于不能有效组织邻域图像数据,因此不能实现高效的邻域图像处理。可以说,大邻域图像处理的速度是当前制约图像处理发展的一个瓶颈,其优劣不仅影响重要行业的应用,也影响图像处理算法的深入发展。
发明内容本发明的目的是为了克服已有的单点处理和依据行延迟线形成图像邻域的不足之处,也为了有效地解决大邻域图像处理的难题,而提出了一种大邻域图像并行处理方法,该方法以较小代价实现超高速的图像处理。本发明提出的一种大邻域图像并行处理方法,对图像采用邻域并行处理,其特征在于,采用的邻域图像处理算法、对邻域图像的存储及邻域图像数据处理均采用同一类型的邻域图像并行数据结构,以实现超高速的图像处理,所述邻域并行数据结构最大包含600点象素,图像的bit位为8bit。本发明的特点及效果本发明方法综合考虑了算法、存储和处理的必然联系,从而采用了并行的算法数据结构、并行存取的存储数据结构、并行处逢的数据结构三者同一的原理,在当前可资利用的条件下,以较小代价实现超高速的图像处理。本发明可应用在国防、工业自动化等领域用。图1为常用的邻域图像处理算法的邻域数据结构。图2为已有的一个基于行延迟线技术的3x3巻积器的框图。图3为本发明的一个存储单元存储相同列且连续行的8个象素的排列形式。图4为本发明采用加法器实现地址变换的框图。图5为本发明的数据排序电路实现的功能示意图。图6为本发明的单列32个相邻行数据的一级点延迟电路。图7为本发明的32行N列的邻域数据形成电路。图8为本发明的双寄存器加一个乘法器的基本结构图。图9为本发明最大含600点象素的邻域图像并行处理装置的框图。具体实施方式本发明提出的一种大邻域图像并行处理方法结合附图及实施例详细说明如下本发明提出的一种大邻域图像并行处理方法,对图像釆用邻域并行处理,其特征在于,采用的邻域图像处理算法、对邻域图像的存储及邻域图像数据处理均采用同一类型的邻域图像并行数据结构,以实现超高速的图像处理,所述邻域并行数据结构最大包含600点象素,图像的bit位为8bit。所述图像处理算法包括邻域处理算法或是点处理算法,其中采用所述邻域处理算法,邻域图像并行数据结构为M(行)xW(列),其中'MxA^600且Af《25;采用所述点处理算法,邻域图像并行数据结构为1列32行。所述图像邻域数据的存取方式包括l).采用4个同类的存储容量均为64A:x64Z^且具有按字节写入功能的半导体存储芯片,其中1^1024,按照确定的分组存储的规律构成一个容量为2xl024xl024x8W的邻域图像存储体,X地址为xo,xi,X2,X3,x4,巧,X6,",x8"9;Y地址为3Wl,"J3,>W5,y6,>W8,>WlO;该分组存储的规律是存储芯片编与分别为Ci,C2,C3,C4,第J列第32x/行32x/十7行的象素存入Ci芯片中,第J列第32x/+8行32x/+15行的象素存入C12芯片中,第J歹ij第32x/+16行32x/+23行的象素存入C3芯片中,第J列第32xJ+24行~32x/+3l行的象素存入C4芯片中,其中,/=0,1,*",63;2).所选用的存储芯片的每一个地址所确定的存储单元存储相同列且连续行的8个象素。象素排列的形式如图3所示图3中,象素存储规律为象素D(J,8n)为8n行J列的象素,存储于存储芯片的^Y0~^Y7位;象素D(J,8n+l)为(8n+l)行J列的象素,存储于存储芯片的W"~》M5位;象素D(J,8n+2)为(8n+2)行J列的象素,存储于存储芯片的6"16~Z)"23位;象素D(J,8n+3)为(8n+3)行J列的象素,存储于存储芯片的6"24&Y31位;象素D(J,8n+4)为(8n+4)行J列的象素,存储于存储芯片的Z^326"39位;象素D(J,8n+5)为(8n+5)行J列的象素,存储于存储芯片的6fM0WM7位;象素D(J,8n+6)为(8n+l)行J列的象素,存储于存储芯片的Z/M8Z"55位;象素D(J,8n+7)为(8n+7)行J列的象素,存储于存储芯片的3).图像数据写入行邻域图像存储体储体有2条通道,一条通道是摄像机输入的模拟信号经图像数字化器后写入行邻域图像存储体储体;另一条通道是由计算机主机内存的数字图像经计算机接口写入行邻域图像存储体储体。写入时,按照给定的x、y地址逐点把图像数据写入行邻域图像存储体储体。在图像数据存入该存储阵列时,则以y0、yl、y2、y3、y4的数值来控制存储芯片的写操作。其中,y3、y4决定所写入芯片的片号,其逻辑表达式如表1所示,y0、yl、y2决定所写入芯片的字节,其逻辑表达式如表2所示。表h写入时存储芯片的选择信号<table>tableseeoriginaldocumentpage6</column></row><table><table>tableseeoriginaldocumentpage7</column></row><table>4).将图像数据读出该存储阵列时,该存储体可以在一个读周期里能同时读出一列32行图像数据,每个芯片的操作时序相同;5).在图像数据并行读出该存储阵列时,行地址要依据y3、y4进行地址变换。存储芯片Cl,C2,C3的行地址分别由两部分相加形成,一部分是y5,^,"J8,少9,yiO的数值,称为基址,另一部分是各芯片的增量Ai,A2,A3的数值,即Ci芯片的Y地址由基址加^形成,C2芯片的Y地址由基址加A2形成,C13芯片的Y地址由基址加A3形成。A!,A2,A3,A4的真值表如表3所示。<table>tableseeoriginaldocumentpage7</column></row><table>采用加法器来实现地址变换的框图如图4所示。在图4中,邻域图像存储体读操作时,行基址和芯片B(B-1,2,3)的偏移地址相加,得到芯片B(B=1,2,3)的实际行地址。6)4个存储芯片同时读,共读出32个象素,以00、***、031表示。数据排序电路实现的功能要求如图5所示,即对读出的图像数据00、***、0;31进行排序,形成数据Do、…、D31。数据排序电路的排序控制信号为yo,^,;^,:^,:^,数据排序电路的逻辑表达式为+少4*少3*少2*少i*少0*o2+少4*少3*_v2*_^*少0*o3+少4*少3*_y2*少i*少o*o4+少4*少3*y2**少0*o5+少4*少3*少2*少l*少0*06+少4*少3*少2*少i*少0*<97+少4*少3*>"2*少l*少o*08+少4*少3*:v2**少0*09+少4*少3*少2*少l**OlO+少4*少3*少2***Oij+y4*:v3*少2**少0*Oi2+*少3*少2*少!*y0*Oi3+少4*少3**7l*少0*<914+y4*>/3*少2**y0*Oi5+J4*WW。16+WW少0*。17+WW3VOi8+y4*wW。19+少4**少2*少l*少0*O20+少4*少3*少2*少l*少0*021+y4*y3*y2*少i*y0*o24+y4*y3*少2**少0*o25+y4*y3*y2**少0*o26+y4*y3*y2*3^*_v0*O27+>VWW。28"4"3"2"l"0*O29+少4*少3*少2*少l*少O*O30+74*JV3*少2*3^*_V0*031攀參肇<formula>formulaseeoriginaldocumentpage9</formula>7)在形成了一列32个数据£0、***、£31之后,通过设置点延迟电路,形成N列32行的邻域数据。单列32个相邻行数据的一级点延迟电路如图6所示。在图6中,CLK是流水线处理的系统点时钟,左端的数据是第x列的以y0为起始行的32个相邻行数据,右端则是x-1列的以yO为起始行的32个相邻行数据。32行N列的邻域数据形成电路为图7所示。图7共设置了32x(W-l)个D触发器,每一次读存储体,即读出相同列的32个象素Oo、"*、C3l,通过排序电路后形成相同列的32个象素/)()、***、1)31。下一次读存储体,列地址加l,又形成相同列的32个象素。在每一个读时钟的作用下,每一列数据顺序向右移动,从某一时刻来看,就是一组32xAT的并行数据。所述的邻域图像并行处理器的具体说明如下采用型号为EP2C70F896C6的FPGA芯片。①通过EP2C70F896C6的FPGA芯片的PLL单元实现时钟的倍频,即输入为60MHz,倍频为120MHz;②将EP2C70F896C6的乘法器配制为300个9bitX9bit的硬件乘法器③采用双寄存器加一个乘法器的基本结构,实现最大600点的乘法并行处理。其基本结构如图8所示。本发明方法的一种实现最大含600点象素的邻域图像并行处理装置实施例结构如图9所示,包括依次相连的将模拟信号转换为数字图像的图像数字化器、具有双向PCI接口的邻域图像存储体和具有邻域处理算法的邻域图像处理器,以及通过双向PCI接口与邻域图像存储体和邻域图像处理器相连的缓存储翠该装置的工作原理详细说明如下本实施例的图像数据来源于摄像机和计算机;在图9中,摄像机的video信号通过图像数字化器转换后为数字图像,继而存入邻域图像存储体,由邻域图像处理器进行高速处理,其处理结果经缓存储器送入计算机。而计算机的数字图像数据直接由PCI接口经缓存储器存入邻域图像存储体,由邻域图像处理器进行高速处理,其处理结果经缓存储器送入计算机。本装置的邻域图像存储体的容量为2Mx8Z^。如果待处理的图像尸(x,力是彩色图像,则选用AG5空间的彩色图像,形成i^(u)、FG(x,力和Fs(;c,少)三幅图像,分别对每一幅图像进行处理;如果待处理的图像F(x,;;)是灰度图像,则直接对F(x,力直接进行图像处理。本装置的图像数字化器选用芯片SAA7111a作为图像数字化芯片,选用四片ISSI公司的IS61SP6464芯片构成邻域图像存储体,该芯片的容量为64A:x646zY,按照图3所示的存储结构,一个地址存储8个象素(同列相邻8行),组成一个2048x1024x8bit(即2048行、1024列)的邻域图像存储体,由此实现一个读周期并行读出32点的数据。在图像数据写入图像存储体时,行地址yo、yl、y2的值选择写入存储芯片的字节,行地址y3、y4的值选择写入的存储芯片的片号。在图像数据读出图像存储体时,利用行地址yo、yl、y2、y3、y4来进行数据排序。表4给出了数据排序电路的输出结果D0-D7和Y地址的对应关系,表5给出了数据排序电路的输出结果D8-D15和Y地址的对应关系,表6给出了数据排序电路的输出结果D16-D23和Y地址的对应关系,表7给出了数据排序电路的输出结果D24-D31和Y地址的对应关系。表4:数据排序电路的输出结果D0-D7和Y地址的对应关系<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table>在本装置中,按照图3图7所描述的方法、表1表7所示的内容以及数据排序电路的逻辑表达式,采用型号为EP2C70F896C6的FPGA芯片来进行相应电路的设计,FPGA的设计采用Verilog语言编写。本装置的邻域图像处理器的具体说明如下采用型号为EP2C70F896C6的FPGA芯片。①通过EP2C70F896C6的FPGA芯片的PLL单元实现时钟的倍频,即输入为60MHz,倍频为120MHz;②将EP2C70F896C6的乘法器配制为300个9bitX9bit的硬件乘法器;③采用双寄存器加一个乘法器的基本结构,实现最大600点的乘法并行处理。其基本结构如图8所示。在图8中,每两个寄存器加一个乘法器,共设置600个寄存器和300个乘法器。本装置的计算机接口采用PCI接口芯片PLXPCI9054。利用本装置对512X512X8bit的图像实现23X23巻积,处理时间为3.7ms。权利要求1、一种大邻域图像并行处理方法,对图像采用邻域并行处理,其特征在于,该方法采用的邻域图像处理算法、对邻域图像的存储及邻域图像数据处理均采用同一类型的邻域图像并行数据结构,以实现超高速的图像处理,所述邻域并行数据结构最大包含600点象素,图像的bit位为8bit。2、如权利要求1所述的方法,其特征在于,所述图像处理算法包括邻域处理算法或点处理算法,其中釆用所述邻域处理算法,邻域图像并行数据结构为MOf亍)xAT(列),其中采用所述点处理算法,邻域图像并行数据结构为1列32行。'3、如权利要求l所述的方法,其特征在于,所述图像邻域数据的存取方式包括1).采用4个同类的存储容量均为64"646"且具有按字节写入功能的半导体存储芯片,其中k4024,按照确定的分组存储的规律构成一个容量为2x1024x1024x8to的邻域图像存储体,X地址为xo,x1,x2,x3,x4,x5,x6,",x8,x9;Y地址为<formula>formulaseeoriginaldocumentpage2</formula>2).所述存储芯片的每一个地址所确定的存储单元存储相同列且连续行的8个象素3).在图像数据存入该存储阵列时,则以yO、yl、y2、y3、y4的数值来控制存储芯片的写操作;其中,y0、yl、y2决定所写入芯片的字节,y3、y4决定所写入芯片的.片号;4).将图像数据读出该存储阵列时,该存储体在一个读周期里同时读出一列32行图像数据,每个芯片的操作时序相同;5).在邻域图像读操作时,每个存储芯片的列地址相同,行地址依据y3、y4的值进行计算,以确定每一个存储芯片的行地址;6).在所述图像存储器阵列的数据输出端接有对存储器阵列输出的数据进行排序的数据排序电路,排序控制信号为^,3W2,y3,y4;7).在所述数据排序电路输出端,湊有数据锁存电路,由此形成并行的邻域图像数据。4.如权利要求3所述的方法,其特征在于,所述分组存储的规律是存储芯片编号分别为C1,C2,C3,C4,第J列第32x/行32x/十7行的象素存入Ci芯片中,第J列第32x/+8行~32x/+15fi1的象素存入C2芯片中,第1列第32乂/+16行32乂/+23行的象素存入C3芯片中,第)列第32乂/+24行~32乂/+31行的象素存入C4芯片中,其中,/=0,1,***,63;5.如权利要求3所述的方法,其特征在于,所述邻域图像数据处理采用型号为EP2C70F896C6的FPGA芯片形成邻域处理器进行邻域图像数据处理;该FPGA内部采用双寄存器加一个乘法器的基本结构,实现最大600点的乘加并行处理。全文摘要本发明涉及一种大邻域图像并行处理方法,属于图像处理
技术领域
;该方法采用的邻域图像处理算法、对邻域图像的存储及邻域图像数据处理均采用同一类型的邻域图像并行数据结构,以实现超高速的图像处理,所述邻域并行数据结构最大包含600点象素,图像的bit位为8bit。该方法综合考虑了算法、存储和处理的必然联系,从而采用了并行的算法数据结构、并行存取的存储数据结构、并行处理的数据结构三者同一的原理,在当前可资利用的条件下,以较小代价实现超高速的图像处理。本发明可应用在国防、工业自动化等领域用。文档编号G06T1/20GK101159061SQ20071017745公开日2008年4月9日申请日期2007年11月16日优先权日2007年11月16日发明者苏光大,陈博亚申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1