CN102446342B - 可重构二值运算器、可重构二值图像处理***及其实现基本形态学算法的方法 - Google Patents
可重构二值运算器、可重构二值图像处理***及其实现基本形态学算法的方法 Download PDFInfo
- Publication number
- CN102446342B CN102446342B CN 201110252219 CN201110252219A CN102446342B CN 102446342 B CN102446342 B CN 102446342B CN 201110252219 CN201110252219 CN 201110252219 CN 201110252219 A CN201110252219 A CN 201110252219A CN 102446342 B CN102446342 B CN 102446342B
- Authority
- CN
- China
- Prior art keywords
- operation unit
- mux
- binary operation
- binary
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明涉及图像处理技术,具体涉及二值图像的处理技术,提出了一种可重构的二值图像运算单元结构;其结构简单、资源少、速度快、易于移植。在此结构基础上还构建了二值图像处理***;提供了二值图像数学形态学运算在此二值图像处理***上的实现方法。本发明能够灵活的实现多种二值图像操作,而且结构简单规则,处理速度快,能够对大分辨率的二值图像进行实时处理。
Description
技术领域
本发明涉及二值图像处理技术领域,尤其涉及一种用于二值图像处理的可重构二值运算器、根据该可重构二值运算器构建的可重构二值图像处理***及其实现基本形态学算法的方法。
背景技术
二值图像在图像处理、模式识别、机器视觉、导航等领域被用来进行形状分析、特征识别、骨架化等各种应用。特别的,数学形态学发展至今,为二值图像处理提供了快速算法和完整的理论体系。这样,基于二值图像的视觉算法和图像处理方法简单、易实现,而且计算速度快,非常适合于嵌入式***的使用。
当前已有的用于二值图像处理的嵌入式硬件***主要有以下两类:一种是为某一算法设计的ASIC。另一种是使用有一定通用性的可重构运算阵列实现。这两类电路都有其不可避免的缺陷。ASIC设计的电路其灵活性和可扩展性非常差。第二类电路,其阵列结构和运算方式决定了这种结构进行图像处理时,效率低、速度慢,很难对大分辨率的视频信号进行实时处理;而且这种结构的控制非常复杂,不利于被广泛使用。
经过以上分析,可以看出目前的技术在对大分辨率二值图像进行处理时,不能同时满足性能和灵活性的要求。这就需要一个在进行二值图像处理中具有可重构特性的能够对图像进行实时处理的二值图像处理器。
发明内容
本发明的目的在于提供一种用于二值图像处理的可重构的二值运算器,能够灵活的实现多种二值图像操作,而且结构简单规则,处理速度快,能够 对大分辨率的二值图像进行实时处理。
为了达到上述目的,本发明采用以下技术方案予以实现:
一种用于二值图像处理的可重构二值运算器,包括第一总线接口、第二总线接口、与第一总线接口连接的输入控制模块、与第一总线接口连接的输出控制模块、将输入控制模块与输出控制模块连接的可重构二值运算模块、与第二总线接口连接的配置寄存器组、及与配置寄存器组连接的运算控制模块,该运算控制模块与可重构二值运算模块连接;其中输入控制模块确定输入二值图像的源;可重构二值运算模块完成二值图像运算;运算控制模块读取配置寄存器组中的配置信息,对可重构二值运算模块进行配置,控制其运算过程和输入、输出,并在运算中或结束时发送中断请求完成与外部***的交互;输出控制模块选择数据输出通道同时完成计算结果的数据转换;第一总线接口及第二总线接口完成可重构二值运算器与外部的数据交换;
所述可重构二值运算模块包括串并转换单元和若干个串联的二值运算单元,该串并转换单元和所述的若干个串联的二值运算单元串联;
所述若干个串联的二值运算单元各包括第一基本二值运算单元、第二基本二值运算单元、与第一基本二值运算单元连接的第一多路选择器和第三多路选择器、与第二基本二值运算单元连接的第二多路选择器和第四多路选择器、及分别与第一多路选择器、第二多路选择器、第三多路选择器和第三多路选择器连接的集合运算单元;其中第一基本二值运算单元的输出由第一多路选择器控制输入集合运算单元;第二基本二值运算单元的输出由第二多路选择器控制输入集合运算单元;集合运算单元完成并、交、补、差、求和运算;第三多路选择器和第四多路选择器用于选择二值运算单元的输出;
所述基本二值运算单元包括第一行存、第二行存、与第一行存连接的第五多路选择器、与第二行存连接的第六多路选择器、与第五多路选择器和第六多路选择器连接的若干组二值逻辑运算单元、与若干组二值逻辑运算单元 连接的规约运算单元和中值滤波单元;其中第一行存和第二行存用来保存二值图像数据;第五多路选择器和第六多路选择器选择逻辑运算单元的输入;所述若干组二值逻辑运算单元各包括a路寄存器、b路寄存器和二值逻辑运算单元,所述第五多路选择器与每组二值逻辑运算单元的a路寄存器连接形成基本运算单元的a路;所述第六多路选择器与每组二值逻辑运算单元的b路寄存器连接形成基本运算单元的b路,所述二值逻辑运算单元完成逻辑运算,包括直通、与、或、非、与非、或非、异或和同或,其运算结果可以进行规约运算、中值滤波或直通输出;规约运算单元完成包括直通运算、规约与运算、规约与非运算、规约或运算、规约或非运算、规约异或运算、或规约异或非运算;中值滤波单元完成二值图像的中值滤波,通过对输入数据的控制,经过不同的二值逻辑和规约运算,可以同时完成各种bit级数学和图像的逻辑操作。
一种根据上述的可重构二值运算器构建的可重构二值图像处理***,其包括第一总线、第二总线、连接在第一总线上的第一存储器、连接在第二总线上的CPU、连接在第二总线上的第二存储器、连接第一总线和第二总线的桥接电路、及分别与CPU、第一总线和第二总线连接的可重构二值运算器。
优选的,所述可重构二值运算模块包括2个串并转换单元和4个串联的二值运算单元,该2个串并转换单元和4个串联的二值运算单元串联。
优选的,所述基本二值运算单元包括32组二值逻辑运算单元。
一种上述的可重构二值图像处理***在其二值图像处理器上实现基本形态学算法的方法,包括:
(1)实现膨胀算法的方法:结构元为n×n时,基本二值运算单元的a路由行存每时钟输入n2个(n×n的图像块)像素的图像数据,基本二值运算单元的b路由配置寄存器组输入n2个结构元数据,两路数据在二值逻辑运算单元中做与运算,得到n2个结果作规约或,结果即为膨胀运算结果;
(2)实现腐蚀算法的方法:结构元为n×n时,基本二值运算单元的a路由行存每时钟输入n2个(n×n的图像块)像素的图像数据,基本二值运算单元的b路由配置寄存器组输入n2个结构元数据(腐蚀运算时,实际参与运算的结构元数据与原结构元数据是按位取反的关系。例如,完成结构元为 的3×3的腐蚀运算时,输入b路的结构元数据应为 ),两路数据在二值逻辑运算单元中做或运算,得到n2个结果作规约与,结果即为腐蚀运算结果;
(3)实现开启算法的方法:使用2个二值运算单元,其中第一个二值运算单元中:第一基本二值运算单元输入为A和B,完成腐蚀运算,第三多路选择器选择规约运算输出;第二个二值运算单元中:第一基本二值运算单元输入为第一个二值运算单元的第三多路选择器输出和B,完成膨胀运算,第二个二值运算单元的第三多路选择器选择规约运算输出,结果即为开启运算结果;其中A为图像数据,B为结构元;
(4)实现闭合算法的方法:使用2个二值运算单元,其中第一个二值运算单元中:第一基本二值运算单元输入为A和B,完成膨胀运算,第三多路选择器选择规约运算输出;第二个二值运算单元中:第一基本二值运算单元输入为第一个二值运算单元的第三多路选择器输出和B,完成腐蚀运算,第二个二值运算单元的第三多路选择器选择规约运算输出,结果即为闭合运算结果;其中A为图像数据,B为结构元;
(5)实现击中击不中算法的方法:使用2个二值运算单元,第一个二值运算单元中:第一基本二值运算单元输入为A和B1,完成腐蚀运算,第二基本二值运算单元输入为A,其逻辑单元和规约运算单元都完成直通输出,集合运算单元完成第二多路选择器输入图像的补集运算,第二多路选择器选择规约运算输出,第三多路选择器选择规约运算输出,第四多路选择器选择集合 运算输出;第二个二值运算单元中:第一基本二值运算单元输入为该第一基本二值运算单元的第三多路选择器输出,其逻辑和规约运算单元都完成直通输出,第二基本二值运算单元输入为第一基本二值运算单元的第四多路选择器输出和B2,完成腐蚀运算,集合运算单元完成交集运算,第一多路选择器选择规约运算输出,第三多路选择器选择规约运算输出,第三多路选择器选择集合运算输出,结果即为击中击不中运算结果;其中A为图像数据,B1、B2为结构元;
(6)实现噪声滤除算法的方法:使用4个二值运算单元,第一二值运算单元中:第一基本二值运算单元输入为A和B,完成腐蚀运算,第三多路选择器选择规约运算输出;第二二值运算单元中:第一基本二值运算单元输入为第一二值运算单元的第三多路选择器输出和B,完成膨胀运算,第二二值运算单元的第三多路选择器选择规约运算输出;第三二值运算单元中:第一基本二值运算单元输入为第二二值运算单元的第三多路选择器输出和B,完成膨胀运算,第三二值运算单元MUX3选择规约运算输出;第四二值运算单元中:第一基本二值运算单元输入为第三二值运算单元的第三多路选择器输出和B,完成腐蚀运算;第四二值运算单元的第三多路选择器选择规约运算输出,结果即为噪声滤除运算结果;其中A为图像数据,B为结构元;
(7)实现边界提取算法的方法:使用1个二值运算单元,第一基本二值运算单元输入为A,其逻辑运算单元和规约运算单元完成直通输出,第二基本二值运算单元输入为A和B,完成腐蚀运算,第一多路选择器选择规约运算输出,第二多路选择器选择规约运算输出,集合运算单元完成差运算,第三多路选择器选择集合运算输出,即为边界提取运算结果;其中A为图像数据,B为结构元。
本发明利用可重构技术,实现了一种用于二值图像处理的可重构二值运算器,并用此运算器构建了可重构的二值图像处理***,提供了二值图像数 学形态学运算在此二值图像处理***上的实现方法。本发明实现的可重构二值运算器结构简单、资源消耗少、速度快、易于移植,并且能够方便快速的实现形态学的各种运算。本发明构建的二值图像处理***结构简单规则,处理速度快,能够对大分辨率的二值图像进行实时处理;加入配置和控制寄存器组存放控制参数、配置信息和***运行状态参数,可以实现***模块间的通信与同步;加入中断产生器,使***模块相互间同步功能更完善。
下面结合附图说明和具体实施方式对本发明做详细说明。
附图说明
图1是基本二值运算单元的结构示意图;
图2是二值运算单元的结构示意图;
图3是可重构二值运算模块的结构示意图;
图4是可重构二值运算器的结构示意图;
图5是可重构二值图像处理***的结构示意图;
图6是图5所示的可重构二值图像处理***的工作流程图;
图7为膨胀运算映射的示意图;
图8为腐蚀运算映射的示意图;
图9为开启运算映射的示意图;
图10为闭合运算映射的示意图;
图11为击中击不中映射的示意图;
图12为噪声滤除运算映射的示意图;
图13为边界提取运算映射的示意图。
具体实施方式
参照图1,基本二值运算单元包括:第一行存(行存1)、第二行存(行存2)、与第一行存连接的第五多路选择器(MUX5)、与第二行存连接的第六多路选择器(MUX6)、与第五多路选择器和第六多路选择器连接的n组二值逻辑 运算单元、与n组二值逻辑运算单元连接的规约运算单元和中值滤波单元。
其中第一行存和第二行存用来保存二值图像数据;第五多路选择器和第六多路选择器选择逻辑运算单元的输入;所述若干组二值逻辑运算单元各包括a路寄存器、b路寄存器和二值逻辑运算单元,所述第五多路选择器与每组二值逻辑运算单元的a路寄存器连接形成基本运算单元的a路;所述第六多路选择器与每组二值逻辑运算单元的b路寄存器连接形成基本运算单元的b路,所述二值逻辑运算单元完成逻辑运算,包括直通、与、或、非、与非、或非、异或和同或,其运算结果可以进行规约运算、中值滤波或直通输出(即图1中所示的规约运算输出、中值滤波输出和逻辑运算输出);规约运算单元完成包括直通运算、规约与运算、规约与非运算、规约或运算、规约或非运算、规约异或运算、或规约异或非运算;中值滤波单元完成二值图像的中值滤波,通过对输入数据的控制,经过不同的二值逻辑和规约运算,可以同时完成各种bit级数学和图像的逻辑操作。
行存单元(行存1、行存2)保存串行输入的二值图像数据,将保存的图像数据以图像块输入到多路选择器,这样在进行形态学运算时,每时钟周期可以输出给逻辑运算单元一块(5×5或3×3大小的图像块)图像数据。多路输入的数据通过外部控制经过MUX5和MUX6,分别将数据输入给二值逻辑运算单元的a路寄存器和b路寄存器。二值逻辑运算单元对n对a路寄存器和b路寄存器完成二元或一元逻辑运算,包括:直通、与、或、非、与非、或非、异或和同或。二值逻辑运算结果可以进行规约运算、中值滤波或直通输出。规约运算包括直通、规约与、规约与非、规约或、规约或非、规约异或、规约异或非。中值滤波单元首先统计输入数据中1的个数,大于或等于输入数据个数的1/2时,结果输出为“1”;否则输出“0”。输出控制单元根据控制参数,从原始输入、逻辑运算单元、规约运算单元和中值滤波单元的输出中选择一路输出,完成基本二值运算单元的输出控制。这样,通过对输入数据 的控制,经过不同的二值逻辑和规约运算,可以同时完成各种bit级的逻辑操作,同样也可以对二值图像进行不同的处理。
为了获得具有一般通用性的基本二值运算单元,而且为了控制方便,本发明在具体实现基本二值运算单元时,选择基本二值运算单元的两路数据输入位宽为32bits;通过参数控制,规约运算单元可对32bits、25bits或9bits的数据进行规约运算;通过参数控制,中值滤波单元可对32bits、25bits或9bits的数据进行统计并完成中值滤波。基本二值运算单元的输入数据宽度为32bits,在进行25bits的规约运算和统计运算时,选择输入的4-28位进行运算,在进行9bits的规约运算和统计运算时,选择输入的12-20位进行运算。基本二值运算单元直通时,输出为输入的第16位;规约单元直通时,输出为输入的第16位。
参照图2,二值运算单元包括第一基本二值运算单元(基本二值运算单元1)、第二基本二值运算单元(基本二值运算单元2)、与第一基本二值运算单元连接的第一多路选择器(MUX1)和第三多路选择器(MUX3)、与第二基本二值运算单元连接的第二多路选择器(MUX2)和第四多路选择器(MUX4)、及分别与MUX1、MUX2、MUX3和MUX4连接的集合运算单元。
其中第一基本二值运算单元的输出由第一多路选择器控制输入集合运算单元;第二基本二值运算单元的输出由第二多路选择器控制输入集合运算单元;集合运算单元完成并、交、补、差、求和运算;第三多路选择器和第四多路选择器用于选择二值运算单元的输出。
参照图3,可重构二值运算模块包括串并转换单元(串并转换1和串并转换2)和若干个串联的二值运算单元,该串并转换单元和所述的若干个串联的二值运算单元串联。
为了满足基本二值图像运算需求,而且为了易于控制和减少资源,本发明在具体实现可重构二值运算模块时,选择4个二值运算单元实现两路并行 或多级串行的二值运算。这种结构不但能够完成数据的串行流水处理也可以实现数据的并行处理,在满足***灵活性的同时提高了***的处理能力。
其中,每一个基本二值运算单元中的MUX5和MUX6都可以选择输入数据、前一级基本二值运算单元1输出、前一级基本二值运算单元2输出、存储器SDRAM和寄存器组作为逻辑运算单元中寄存器的输入数据。
串并转换1和串并转换2分别将二值运算单元4的两路串行输出结果转换为32bits宽输出。
参照图4,符合本发明的可重构二值运算器包括第一总线接口、第二总线接口、与第一总线接口连接的输入控制模块、与第一总线接口连接的输出控制模块、将输入控制模块与输出控制模块连接的可重构二值运算模块、与第二总线接口连接的配置寄存器组、及与配置寄存器组连接的运算控制模块,该运算控制模块与可重构二值运算模块连接。
其中输入控制模块确定输入二值图像的源。该输入控制模块完成输入数据的选择和数据格式的转换。为了合理减少处理的数据量,输入控制模块支持对输入二值图像的减采样,以提高***处理的效率;将通过总线读入的数据完成并串转换,并且在需要时进行总线读入数据和二值图像的时钟同步。
可重构二值运算单元完成二值图像的运算。
输出控制模块选择数据输出;同时完成计算结果的数据转换,将串行的图像运算结果数据转换为符合总线宽度的并行数据。
运算控制模块读取配置寄存器组中的配置信息,对可重构二值运算模块进行配置,控制其运算过程;对输入和输出控制以及总线接口模块进行控制;在运算过程中或结束时发送中断请求完成与外部***的交互。
第一总线接口及第二总线接口连接可重构二值运算器与外部总线,完成可重构二值运算器与外部的数据交换。
参照图5,符合本发明的可重构二值图像处理***,其包括第一总线、第 二总线、连接在第一总线上的第一存储器、连接在第二总线上的CPU、连接在第二总线上的第二存储器、连接第一总线和第二总线的桥接电路、及分别与CPU、第一总线和第二总线连接的可重构二值运算器。
其中***基于可重构二值运算器以及片上存储和互联资源实现硬件可重构。CPU对各运算单元、存储和互联资源的实现动态配置和重构,灵活地改变***的硬件功能,从而完成不同的二值图像处理任务。这样整个***不仅具有硬件处理的高效性同时也兼具软件的灵活性,使得***的整体性能有了大幅度的改善,为完成复杂多变的视觉任务提供了很好的硬件基础。
参照图6,可重构二值运算***中CPU为LEON2 RISC核,作为AHB总线的主设备,通过AHB总线与Bridge1、Bridge2、AHB/APB桥以及可重构***中的AHB BUS Slaver完成数据交互。Bridge1连接AHB BUS和SDRAM2;Bridge2连接AHB BUS和Global BUS;AHB/APB连接AHB BUS和APB BUS;寄存器组2保存可重构二值运算器的状态;可重构***的AHB BUS Slaver作为AHB BUS的从模块,可以完成CPU对可重构二值***配置寄存器组1的读写操作。Global BUS连接SDRAM1和可重构***。SDRAM1存储需要处理的数据,同时保存处理结果。
***的重配置过程如图中标号顺序:①CPU发出***重配置控制信号给可重构二值运算器,可重构二值运算器停止当前运算,然后CPU通过AHB总线改写可重构二值运算器中配置寄存器组1的部分寄存器值。②运算控制模块根据CPU的控制,读取配置寄存器组1的配置信息,完成对可重构二值运算模块的配置和输入数据的控制;配置完相应模块,依次使能输入、可重构二值运算和输出模块。③输入控制模块根据控制信息,选择将外部输入的图像数据或者SDRAM1中的数据输入可重构二值运算模块。④***的运算结果写入SDRAM1。⑤每一次运算完成,运算控制模块将二值运算模块的状态写入寄存器组2供CPU读取。⑥一次运算完成后,运算控制模块发出中断请求同 时改写寄存器组2中的状态寄存器。⑦CPU响应中断,完成相应的处理。
参照图7,二值图像形态学的膨胀运算映射到二值运算单元。膨胀定义为: 结构元为n×n时,基本二值运算单元的A路(寄存器a1-寄存器an)由行存每时钟输入n2个(n×n的图像块)像素的图像数据,b路(寄存器b1-寄存器bn)由配置寄存器组输入n2个结构元数据,两路数据在二值运算单元中做与运算,得到n2个结果作规约或,结果即为膨胀运算结果。图7以一个5×5大小的结构元为例,演示了可重构***如何完成膨胀运算。其中,A为经过行存存储后输出的二值图像的一个5×5大小的块,B为固定的5×5结构元,B的每一位与A中相应元素做与运算,得到的25个结果作规约或,结果直接输出。
参照图8,二值图像形态学的腐蚀运算映射到二值运算单元。腐蚀定义为: 结构元为n×n时,基本二值运算单元的A路(寄存器a1-寄存器an)由行存每时钟输入n2个(n×n的图像块)像素的图像数据,B路(寄存器b1-寄存器bn)由配置寄存器组输入n2个结构元数据(腐蚀运算时,实际参与运算的结构元数据与原结构元数据是按位取反的关系。例如,完成结构元为 的3×3的腐蚀运算时,输入b路的结构元数据应为 ),两路数据在二值运算单元中做或运算,得到n2个结果作规约与,结果即为腐蚀运算结果。图8以一个5×5大小的结构元为例,演示了可重构***如何完成腐蚀运算。其中,A为经过行存存储后输出的二值图像的一个5×5大小的块,B为固定的5×5结构元,B的每一位与A中相应元素做或运算,得到的25个结果作规约与,结果直接输出。
参照图9,二值图像形态学的开启运算定义: 从图9可 以看到,完成开启运算需要使用2个二值运算单元。二值运算单元1中:基本二值运算单元1输入为A和B,完成腐蚀运算,MUX3选择规约运算输出。二值运算单元2中:基本二值运算单元1输入为二值运算单元1的MUX3输出和B,完成膨胀运算;MUX7选择规约运算输出,结果即为开启运算结果。
参照图10,二值图像形态学的闭合运算定义: 从图10可以看到,完成闭合运算需要使用2个二值运算单元。二值运算单元1中:基本二值运算单元1输入为A和B,完成膨胀运算;MUX3选择规约运算输出。二值运算单元2中:基本二值运算单元1输入为二值运算单元1的MUX3输出和B,完成腐蚀运算;MUX7选择规约运算输出,结果即为闭合运算结果。
参照图11,二值图像形态学的击中击不中变换是形状检测的一种基本工具。表示为: 从图11可以看到,完成击中击不中变换需要使用2个二值运算单元。二值运算单元1中:基本二值运算单元1输入为A和B1,完成腐蚀运算;基本二值运算单元2输入为A,其逻辑单元和规约运算单元都完成直通输出;集合运算单元完成MUX2输入图像的补集运算;MUX2选择规约运算输出;MUX3选择规约运算输出;MUX4选择集合运算输出。二值运算单元2中:基本二值运算单元1输入为基本二值运算单元1的MUX3输出,其逻辑和规约运算单元都完成直通输出;基本二值运算单元2输入为二值运算单元1的MUX4输出和B2,完成腐蚀运算;集合运算单元完成交集运算;MUX5选择规约运算输出;MUX6选择规约运算输出;MUX7选择集合运算输出,结果即为击中击不中运算结果。
参照图12,噪声滤除由开启和闭合运算串联完成。表示为: 从图12可以看到:完成噪声滤除需要使用4个二值运算单元。二值运算单元1中:基本二值运算单元1输入为A和B,完成腐蚀运算;MUX3选择规约运算输出。二值运算单元2中:基本二值运算单元1输入为二值运算单元1的MUX3输出和B,完成膨胀运算;MUX7选择规约 运算输出。二值运算单元3中:基本二值运算单元1输入为二值运算单元2的MUX7输出和B,完成膨胀运算;MUX11选择规约运算输出。二值运算单元4中:基本二值运算单元1输入为二值运算单元3的MUX11输出和B,完成腐蚀运算;MUX15选择规约运算输出,结果即为噪声滤除运算结果。
参照图13,通过先用一个结构元素B腐蚀A,再求取腐蚀结果和A的差集就得到A的边界。表示为:A-(A□B)。从图13可以看到边界提取需要使用1个二值运算单元。基本二值运算单元1输入为A,其逻辑运算单元和规约运算单元完成直通输出;基本二值运算单元2输入为A和B,完成腐蚀运算;MUX1选择规约运算输出;MUX2选择规约运算输出;集合运算完成差运算;MUX3选择集合运算输出,即为边界提取运算结果。
Claims (5)
1.一种用于二值图像处理的可重构二值运算器,其特征在于:包括第一总线接口、第二总线接口、与第一总线接口连接的输入控制模块、与第一总线接口连接的输出控制模块、将输入控制模块与输出控制模块连接的可重构二值运算模块、与第二总线接口连接的配置寄存器组、及与配置寄存器组连接的运算控制模块,该运算控制模块与可重构二值运算模块连接;其中输入控制模块确定输入二值图像的源;可重构二值运算模块完成二值图像运算;运算控制模块读取配置寄存器组中的配置信息,对可重构二值运算模块进行配置,控制其运算过程和输入、输出,并在运算中或结束时发送中断请求完成与外部***的交互;输出控制模块选择数据输出通道同时完成计算结果的数据转换;第一总线接口及第二总线接口完成可重构二值运算器与外部的数据交换;
所述可重构二值运算模块包括串并转换单元和若干个串联的二值运算单元,该串并转换单元和所述的若干个串联的二值运算单元串联;
所述若干个串联的二值运算单元,每一个二值运算单元包括第一基本二值运算单元、第二基本二值运算单元、与第一基本二值运算单元连接的第一多路选择器和第三多路选择器、与第二基本二值运算单元连接的第二多路选择器和第四多路选择器、及分别与第一多路选择器、第二多路选择器、第三多路选择器和第四多路选择器连接的集合运算单元;
其中第一基本二值运算单元的输出由第一多路选择器控制输入集合运算单元;第二基本二值运算单元的输出由第二多路选择器控制输入集合运算单元;集合运算单元完成并、交、补、差、求和运算;第三多路选择器和第四多路选择器用于选择二值运算单元的输出;
所述基本二值运算单元包括第一行存、第二行存、与第一行存连接的第五多路选择器、与第二行存连接的第六多路选择器、与第五多路选择器和第六多路选择器连接的若干组二值逻辑运算单元、与若干组二值逻辑运算单元连接的规约运算单元和中值滤波单元;其中第一行存和第二行存用来保存二值图像数据;第五多路选择器和第六多路选择器选择逻辑运算单元的输入;所述若干组二值逻辑运算单元,每一组二值逻辑运算单元包括a路寄存器、b路寄存器和二值逻辑运算单元,所述第五多路选择器与每组二值逻辑运算单元的a路寄存器连接形成基本运算单元的a路;所述第六多路选择器与每组二值逻辑运算单元的b路寄存器连接形成基本运算单元的b路,所述二值逻辑运算单元完成逻辑运算,包括直通、与、或、非、与非、或非、异或和同或,其运算结果可以进行规约运算、中值滤波或直通输出;规约运算单元完成包括直通运算、规约与运算、规约与非运算、规约或运算、规约或非运算、规约异或运算、或规约异或非运算;中值滤波单元完成二值图像的中值滤波,通过对输入数据的控制,经过不同的二值逻辑和规约运算,可以同时完成各种bit级数学和图像的逻辑操作。
2.一种根据权利要求1所述的可重构二值运算器构建的可重构二值图像处理***,其特征在于:包括第一总线、第二总线、连接在第一总线上的第一存储器、连接在第二总线上的CPU、连接在第二总线上的第二存储器、连接第一总线和第二总线的桥接电路、及分别与CPU、第一总线和第二总线连接的可重构二值运算器。
3.如权利要求2所述的可重构二值图像处理***,其特征在于:所述可重构二值运算模块包括2个串并转换单元和4个串联的二值运算单元,该2个串并转换单元和4个串联的二值运算单元串联。
4.如权利要求2所述的可重构二值图像处理***,其特征在于:4个二值运算单元的每个所述基本二值运算单元包括32组二值逻辑运算单元。
5.一种根据权利要求2所述的可重构二值图像处理***在其二值图像处理器上实现基本形态学算法的方法,其特征在于:所述的方法包括:
(1)实现膨胀算法的方法:结构元为n×n时,基本二值运算单元的a路由行存每时钟输入n2个(n×n的图像块)像素的图像数据,基本二值运算单元的b路由配置寄存器组输入n2个结构元数据,两路数据在二值逻辑运算单元中做与运算,得到n2个结果作规约或,结果即为膨胀运算结果;
(2)实现腐蚀算法的方法:结构元为n×n时,基本二值运算单元的a路由行存每时钟输入n2个像素的图像数据,基本二值运算单元的b路由配置寄存器组输入n2个结构元数据,两路数据在二值逻辑运算单元中做或运算,得到n2个结果作规约与,结果即为腐蚀运算结果;
(3)实现开启算法的方法:使用2个二值运算单元,其中第一个二值运算单元中:第一基本二值运算单元输入为A和B,完成腐蚀运算,第三多路选择器选择规约运算输出;第二个二值运算单元中:第一基本二值运算单元输入为第一个二值运算单元的第三多路选择器输出和B,完成膨胀运算,第二个二值运算单元的第三多路选择器选择规约运算输出,结果即为开启运算结果;其中A为图像数据,B为结构元;
(4)实现闭合算法的方法:使用2个二值运算单元,其中第一个二值运算单元中:第一基本二值运算单元输入为A和B,完成膨胀运算,第三多路选择器选择规约运算输出;第二个二值运算单元中:第一基本二值运算单元输入为第一个二值运算单元的第三多路选择器输出和B,完成腐蚀运算,第二个二值运算单元的第三多路选择器选择规约运算输出,结果即为闭合运算结果;其中A为图像数据,B为结构元;
(5)实现击中击不中算法的方法:使用2个二值运算单元,第一个二值运算单元中:第一基本二值运算单元输入为A和B1,完成腐蚀运算,第二基本二值运算单元输入为A,其逻辑单元和规约运算单元都完成直通输出,集合运算单元完成第二多路选择器输入图像的补集运算,第二多路选择器选择规约运算输出,第三多路选择器选择规约运算输出,第四多路选择器选择集合运算输出;第二个二值运算单元中:第一基本二值运算单元输入为该第一基本二值运算单元的第三多路选择器输出,其逻辑和规约运算单元都完成直通输出,第二基本二值运算单元输入为第一基本二值运算单元的第四多路选择器输出和B2,完成腐蚀运算,集合运算单元完成交集运算,第一多路选择器选择规约运算输出,第三多路选择器选择规约运算输出,第三多路选择器选择集合运算输出,结果即为击中击不中运算结果;其中A为图像数据,B1、B2为结构元;
(6)实现噪声滤除算法的方法:使用4个二值运算单元,第一二值运算单元中:第一基本二值运算单元输入为A和B,完成腐蚀运算,第三多路选择器选择规约运算输出;第二二值运算单元中:第一基本二值运算单元输入为第一二值运算单元的第三多路选择器输出和B,完成膨胀运算,第二二值运算单元的第三多路选择器选择规约运算输出;第三二值运算单元中:第一基本二值运算单元输入为第二二值运算单元的第三多路选择器输出和B,完成膨胀运算,第三二值运算单元MUX3选择规约运算输出;第四二值运算单元中:第一基本二值运算单元输入为第三二值运算单元的第三多路选择器输出和B,完成腐蚀运算;第四二值运算单元的第三多路选择器选择规约运算输出,结果即为噪声滤除运算结果;其中A为图像数据,B为结构元;
(7)实现边界提取算法的方法:使用1个二值运算单元,第一基本二值运算单元输入为A,其逻辑运算单元和规约运算单元完成直通输出,第二基本二值运算单元输入为A和B,完成腐蚀运算,第一多路选择器选择规约运算输出,第二多路选择器选择规约运算输出,集合运算单元完成差运算,第三多路选择器选择集合运算输出,即为边界提取运算结果;其中A为图像数据,B为结构元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110252219 CN102446342B (zh) | 2011-08-30 | 2011-08-30 | 可重构二值运算器、可重构二值图像处理***及其实现基本形态学算法的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110252219 CN102446342B (zh) | 2011-08-30 | 2011-08-30 | 可重构二值运算器、可重构二值图像处理***及其实现基本形态学算法的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102446342A CN102446342A (zh) | 2012-05-09 |
CN102446342B true CN102446342B (zh) | 2013-04-17 |
Family
ID=46008823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110252219 Expired - Fee Related CN102446342B (zh) | 2011-08-30 | 2011-08-30 | 可重构二值运算器、可重构二值图像处理***及其实现基本形态学算法的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102446342B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102759617B (zh) * | 2012-07-20 | 2014-06-25 | 无锡市东林科技发展有限责任公司 | 蛋白印迹自动判读方法及其判读装置 |
CN104200467B (zh) * | 2014-08-25 | 2017-02-15 | 西安交通大学 | 可重构灰度形态学图像处理器及其灰度运算电路和实现形态学运算的方法 |
CN105046632B (zh) * | 2015-06-29 | 2018-09-25 | 湖南大学 | 时空高效的二值图像二元逻辑运算方法 |
CN108805846B (zh) * | 2017-05-03 | 2021-12-14 | 深圳市傲睿智存科技有限公司 | 二值图像处理优化的方法及其*** |
CN109857368B (zh) * | 2018-12-20 | 2022-07-26 | 上海大学 | 一种位数众多、可分组、可重构的多值电子运算器及方法 |
CN111256595A (zh) * | 2020-02-18 | 2020-06-09 | 重庆亚派桥梁工程质量检测有限公司 | 一种光电靶标式结构位移测量方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140809A (zh) * | 2007-09-07 | 2008-03-12 | 炬力集成电路设计有限公司 | 支持流水线纠错码和可配置操作的flash控制器及其控制方法 |
CN101169866A (zh) * | 2006-10-26 | 2008-04-30 | 朱明程 | 自重构片上多媒体处理***及其自重构实现方法 |
CN101976431A (zh) * | 2010-11-02 | 2011-02-16 | 公安部第三研究所 | 一种基于动态可重构技术的通用图像处理平台及其实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011048579A (ja) * | 2009-08-26 | 2011-03-10 | Univ Of Tokyo | 画像処理装置及び画像処理方法 |
-
2011
- 2011-08-30 CN CN 201110252219 patent/CN102446342B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169866A (zh) * | 2006-10-26 | 2008-04-30 | 朱明程 | 自重构片上多媒体处理***及其自重构实现方法 |
CN101140809A (zh) * | 2007-09-07 | 2008-03-12 | 炬力集成电路设计有限公司 | 支持流水线纠错码和可配置操作的flash控制器及其控制方法 |
CN101976431A (zh) * | 2010-11-02 | 2011-02-16 | 公安部第三研究所 | 一种基于动态可重构技术的通用图像处理平台及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102446342A (zh) | 2012-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102446342B (zh) | 可重构二值运算器、可重构二值图像处理***及其实现基本形态学算法的方法 | |
CN108874745B (zh) | 原生张量处理器及张量缩并的分割 | |
CN101782893B (zh) | 可重构数据处理平台 | |
CN110263925B (zh) | 一种基于fpga的卷积神经网络前向预测的硬件加速实现装置 | |
CN111414994B (zh) | 一种基于FPGA的Yolov3网络计算加速***及其加速方法 | |
CN104881666B (zh) | 一种基于fpga的实时二值图像连通域标记实现方法 | |
CN103020890B (zh) | 基于多层次并行处理的视觉处理装置 | |
CN104915322A (zh) | 一种卷积神经网络硬件加速方法及其axi总线ip核 | |
CN104145281A (zh) | 神经网络计算装置和***及其方法 | |
CN107590085B (zh) | 一种具有多级缓存的动态可重构阵列数据通路及其控制方法 | |
CN106127302A (zh) | 处理数据的电路、图像处理***、处理数据的方法和装置 | |
CN107590535A (zh) | 可编程神经网络处理器 | |
CN105912501A (zh) | 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及*** | |
CN103970720A (zh) | 基于大规模粗粒度嵌入式可重构***及其处理方法 | |
CN113361695B (zh) | 卷积神经网络加速器 | |
CN104112053A (zh) | 一种面向图像处理的可重构架构平台设计方法 | |
CN111105023B (zh) | 数据流重构方法及可重构数据流处理器 | |
CN101976431A (zh) | 一种基于动态可重构技术的通用图像处理平台及其实现方法 | |
CN102710236B (zh) | 基于fpga的小波变换实现装置 | |
Abd El-Halym et al. | Proposed hardware architectures of particle filter for object tracking | |
CN106294278A (zh) | 用于动态可重构阵列计算***的自适硬件预配置控制器 | |
CN112307586A (zh) | 基于分布式架构的装备退化状态故障预测*** | |
Meribout et al. | State of art IoT and Edge embedded systems for real-time machine vision applications | |
CN104679670A (zh) | 一种面向fft和fir的共享数据缓存结构及管理方法 | |
CN106021171A (zh) | 一种基于大规模粗粒度可重构处理器的sm4-128的密钥扩展实现方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130417 Termination date: 20150830 |
|
EXPY | Termination of patent right or utility model |