CN117314730B - 一种用于加速数字图像处理的中值滤波计算装置及其方法 - Google Patents
一种用于加速数字图像处理的中值滤波计算装置及其方法 Download PDFInfo
- Publication number
- CN117314730B CN117314730B CN202311599083.6A CN202311599083A CN117314730B CN 117314730 B CN117314730 B CN 117314730B CN 202311599083 A CN202311599083 A CN 202311599083A CN 117314730 B CN117314730 B CN 117314730B
- Authority
- CN
- China
- Prior art keywords
- vector data
- address
- pixel
- value
- median
- 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.)
- Active
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 32
- 239000013598 vector Substances 0.000 claims abstract description 237
- 238000004364 calculation method Methods 0.000 claims abstract description 191
- 238000010586 diagram Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 101100129500 Caenorhabditis elegans max-2 gene Proteins 0.000 description 3
- 101100236987 Dictyostelium discoideum med29 gene Proteins 0.000 description 3
- 101100083446 Danio rerio plekhh1 gene Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 235000002566 Capsicum Nutrition 0.000 description 1
- 239000006002 Pepper Substances 0.000 description 1
- 235000016761 Piper aduncum Nutrition 0.000 description 1
- 235000017804 Piper guineense Nutrition 0.000 description 1
- 244000203593 Piper nigrum Species 0.000 description 1
- 235000008184 Piper nigrum Nutrition 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20032—Median filtering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种用于加速数字图像处理的中值滤波计算装置及其方法,中值滤波计算装置包括地址计算模块、控制模块、地址寄存器、像素加载模块、像素寄存器和中值滤波计算模块;中值滤波计算方法包括如下步骤:步骤Ⅰ、输入图像参数,输入滤波窗口,设定处理器支持的最大向量长度L;步骤Ⅱ、滤波窗口滑过图像,对图像像素进行中值滤波计算;步骤Ⅲ、重复步骤Ⅱ,直至完成图像中所有像素的中值滤波计算。本发明支持直接计算输入向量数据的中值,从而减少了中值滤波计算程序占用的程序存储空间;减少了指令数,从而减少了处理器计算中值滤波所用的时间;减少了计算时寄存器读写的次数;使用独立的计算模块计算中值滤波而不占用其它计算资源。
Description
技术领域
本发明属于图像处理技术领域,尤其涉及一种用于加速数字图像处理的中值滤波计算装置及其方法。
背景技术
数字图像处理是指使用计算机处理数字图像,数字图像处理的目标是对图像内容进行增强、提取有用信息等,它在计算机视觉、计算机图像、人工智能、机器学习等应用领域是十分重要的组成技术。
在数字图像处理领域中,中值滤波广泛使用在边缘平滑、噪声消除等操作中,这些操作主要属于图像的预处理领域,其为后续的算法提供所需的图像。中值滤波负责消除椒盐噪声同时保留图像中的细节。
对给定大小的输入图像,中值滤波是通过一个固定尺寸大小的滤波窗口搜索图像的所有像素,并完成中值计算的滑动窗口过程。该搜索过程的计算量与每张图像的像素和图像的数量呈正相关,随着应用的数据量增加,如无法快速完成计算,后续的各步骤将被暂停,容易形成瓶颈。
处理器是计算机系统的运算和控制核心,目前在涉及使用中值滤波处理大量数字图像的应用时,使用支持SIMD技术的处理器加速图像搜索是实现高性能中值滤波的方法之一,该类处理器在每次计算时,可以同时计算多个中值滤波窗口,存在以下技术缺陷:
处理器内部缺少直接对中值进行计算的指令和模块,虽然可以并行计算多个中值滤波窗口,但在计算每一个中值滤波窗口结果时,需要使用指令组合的方式计算中值滤波结果,导致并行效果不佳及大量占用了所需的寄存器读写硬件资源;且中值滤波的计算需要通过拆分中值计算,再将拆分后各子计算的模块组合形成中值滤波的计算模块,这种方式难以高效率地完成中值滤波的图像搜索过程;此外,由于中值计算的源操作数至少为3个,而处理器中常用于计算中值的比较指令源操作数只有两个,这意味着计算一次中值,处理器要执行3条比较指令,同时也需要增加中间指令来保存产生的中间结果,降低了SIMD技术带来的加速效果。
现有专利文献一(公开号为CN103793873A)公开了“图像像素中值的获取方法和装置”,其算法采用排序法,在累加的和首次大于或等于图像数据的像素点总个数的一半时,获取累加的最大像素值作为图像数据的像素中值,得到的中值是近似中值,并不是真正的中值结果,且对每次中值计算的时间是不一致的,即加速效果不稳定。
现有专利文献二(公开号为CN106600521A)公开了“一种图像处理方法及终端设备”,其算法采用均值加速法,通过计算窗口内所有像素点的平均值,再计算中间像素点与所有像素点的平均值的差值的绝对值,选择与中心像素点的差值的绝对值之和最小的一个方向上的两个像素点,计算这两个像素点的平均值,将该平均值作为中值滤波结果替换中间像素点,计算使用的指令均为算术指令,同时包含除法指令,不利于处理器快速运算。
现有专利文献三(公开号为CN114998158A)公开了“一种图像处理方法、终端设备及存储介质”,其算法采用图像队列排序法,用于计算帧图像的中值滤波计算,在单次的滤波计算时使用排序与比较结合的方法计算中值,实现排序需要额外的存储空间来保存每个像素的历史值,占用了大量的存储空间。
发明内容
本发明目的在于针对现有技术所存在的不足而提供一种用于加速数字图像处理的中值滤波计算装置及其方法的技术方案。
为了解决上述技术问题,本发明采用如下技术方案:
一种用于加速数字图像处理的中值滤波计算装置,其特征在于,包括:
地址计算模块和控制模块,地址计算模块用于根据输入的图像参数进行像素地址计算,并将计算得到的像素地址输出至地址寄存器;地址计算模块输出地址计算完成信号至控制模块,地址计算完成信号用于启动控制模块工作;
控制模块接收到地址计算完成信号后产生控制信号,控制模块输出控制信号至地址计算模块,控制信号用于控制地址计算模块进行下一次像素地址计算;
地址寄存器,用于保存从地址计算模块输入的像素地址,并输出至像素加载模块;
像素加载模块,用于从地址寄存器读取像素地址,加载得到像素地址的向量数据,并将向量数据输出至像素寄存器;
像素寄存器,用于保存从像素加载模块输入的向量数据,并输出至中值滤波计算模块;
中值滤波计算模块,用于对像素寄存器输入的向量数据进行中值滤波计算,并得到中值滤波计算结果。
一种用于加速数字图像处理的中值滤波计算方法,其特征在于,包括如下步骤:
步骤Ⅰ、输入图像参数,输入滤波窗口,设定处理器支持的最大向量长度L;
步骤Ⅱ、滤波窗口滑过图像,对图像像素进行中值滤波计算:
(1)地址计算模块根据输入的图像参数,计算得到滤波窗口内图像像素的像素地址;地址计算模块将计算得到的像素地址输出至地址寄存器进行保存,并且地址计算模块输出启动信号至控制模块;
控制模块根据输入的启动信号产生控制信号,并将控制信号输出至地址计算模块,控制滤波窗口进行下一次滑动,使地址计算模块进行下一次像素地址计算;
(2)像素加载模块读取地址寄存器中的像素地址,加载得到对应的向量数据,并将向量数据输出至像素寄存器进行保存;
(3)像素寄存器将向量数据输入至中值滤波计算模块,中值滤波计算模块进行计算:
(3.1)中值滤波计算模块将输入的向量数据分为三组,使用vsmax指令计算出每组向量数据的最大值,使用vmedia指令计算出每组向量数据的中值,使用vsmin指令计算出每组向量数据的最小值;
(3.2)将每组向量数据的最大值组成最大值组,将每组向量数据的中值组成中值组,将每组向量数据的最小值组成最小值组;
(3.3)使用(3.1)中的vsmin指令计算得到最大值组的最小值,使用(3.1)中的vmedia指令计算得到中值组的中值,使用(3.1)中的vsmax指令计算得到最小值组的最大值;
(3.4)使用(3.1)中的vmedia指令计算最大值组的最小值、中值组的中值、最小值组的最大值这三个向量数据的中值,得到最终中值,作为输入向量数据的中值滤波计算结果;
(4)中值滤波计算模块输出中值滤波计算结果;
步骤Ⅲ、重复步骤Ⅱ,直至完成图像中所有像素的中值滤波计算。
本发明由于采用了上述技术方案,具有以下有益效果:
1、本发明支持直接计算输入向量数据的中值,无需通过vmax指令、vmin指令等基本指令组合实现,处理器在计算中值滤波时不需要将其拆分,减少了中值滤波计算程序占用的程序存储空间。
2、本发明减少了指令数,包括计算中值时所用的扩展计算指令相较于现有技术计算中值时所用的基本计算指令减少了计算指令数量、以及随着计算指令数量的减少而带来的临时变量保存指令的减少,从而减少了处理器执行中值滤波计算所用的时间,进而加快了数字图像处理的速度。
3、本发明减少了计算时寄存器读写的次数,进而减少了计算时寄存器的读写硬件资源使用,同时避免了处理器会因访存密集带来的数据缺失而引起计算的停顿风险。
4、使用独立的计算模块进行中值滤波计算,在进行中值滤波计算时不占用其它计算资源,从而不影响其它计算执行,提升了处理器的计算并行性。
附图说明
下面结合附图对本发明作进一步说明:
图1为本发明中中值滤波计算装置的示意图;
图2为本发明中地址计算模块的示意图;
图3为本发明中控制模块的示意图;
图4为本发明中中值滤波计算模块的示意图;
图5为本发明中最大值/最小值比较单元的示意图;
图6为本发明中中值滤波计算模块对向量数据进行中值滤波计算的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排它的包含。
本发明中记载的专业术语释义:
内部/外部存储空间:对处理器而言,内部存储空间是指其内部寄存器,其余存储空间皆为外部存储空间。处理器访问内部存储空间比访问外部存储空间快,而外部存储空间比内部存储空间大,因此内部存储空间用于存储处理器当前所需数据,当发生数据缺失时,则需要从外部存储空间获取。
加法单元:由k个加法器组成,可同时执行多个加法运算,其中加法器的数量k与加法单元所需计算的像素地址数量保持一致。
多选器:为根据选择信号从多个输入数据中选择其中之一进行输出的功能模块,其中输入数据包括本发明中的向量数据、图像宽度w、处理器支持的最大向量长度L、起始像素地址a、当前行可操作像素长度p、行切换信号Rswitch、k行像素的起始地址。
比较器:比较多个输入值,并输出一个选择信号。
如图1所示,为本发明中的一种用于加速数字图像处理的中值滤波计算装置,包括:地址计算模块和控制模块,地址计算模块用于根据输入的图像参数进行像素地址计算,并将计算得到的像素地址输出至地址寄存器;地址计算模块输出地址计算完成信号至控制模块,地址计算完成信号用于启动控制模块工作。
控制模块接收到地址计算完成信号后产生控制信号,控制模块输出控制信号至地址计算模块,控制信号用于控制地址计算模块进行下一次像素地址计算。
地址计算模块包括第一加法单元、第二加法单元、第一多选器和第二多选器。控制模块包括第一比较器、第二比较器、加法器和第三多选器。
地址寄存器,为处理器内部存储执行指令所需数据的存储空间,用于保存从地址计算模块输入的像素地址,并输出至像素加载模块。
像素加载模块,用于从地址寄存器读取像素地址,加载得到像素地址的向量数据,并将向量数据输出至像素寄存器。
像素寄存器,为处理器内部存储执行指令所需数据的存储空间,支持向量数据的存储与读取,用于保存从像素加载模块输入的向量数据,并输出至中值滤波计算模块。
中值滤波计算模块,用于对像素寄存器输入的向量数据进行中值滤波计算,并得到中值滤波计算结果。
中值滤波计算模块包括第一最大值比较单元、第二最大值比较单元、第三最大值比较单元、第一最小值比较单元、第二最小值比较单元、第三最小值比较单元。
输入至所述中值滤波计算模块的向量数据包括向量数据A、向量数据B和向量数据C。
第一最大值比较单元,用于接收向量数据A和向量数据B,并将两个向量数据比较后输出较大值。
第一最小值比较单元,用于接收向量数据A和向量数据B,并将两个向量数据比较后输出较小值。
第二最大值比较单元,用于接收向量数据C和第一最大值比较单元输出的较大值,并将两个向量数据比较后输出较大值。
第三最小值比较单元,用于接收向量数据C和第一最小值比较单元输出的较小值,并将两个向量数据比较后输出较小值。
第二最小值比较单元,用于接收向量数据C和第一最大值比较单元输出的较大值,并将两个向量数据比较后输出较小值。
第三最大值比较单元,用于接收第一最小值比较单元输出的较小值和第二最小值比较单元输出的较小值,并将两个向量数据比较后输出较大值。
通过第一最大值比较单元和第二最大值比较单元,得到向量数据A、向量数据B和向量数据C中的最大值;通过第一最小值比较单元和第三最小值比较单元,得到向量数据A、向量数据B和向量数据C中的最小值;通过第一最大值比较单元、第一最小值比较单元、第二最小值比较单元和第三最大值比较单元,得到向量数据A、向量数据B和向量数据C中的中值。
如图5所示,上述的三个最大值比较单元和三个最小值比较单元均包括第三比较器和第四多选器,其工作原理为:外部的两个向量数据均输入至第三比较器和第四多选器,第三比较器在比较输入的两个向量数据后,输出一个选择信号至第四多选器,第四多选器根据选择信号从输入的两个向量数据中选择最大值或最小值作为输出。
一种用于加速数字图像处理的中值滤波计算方法,包括如下步骤:
步骤Ⅰ、输入图像并进行保存,图像按像素行存放在处理器的外部存储空间的连续地址空间中,由此获得图像参数,图像参数包括图像宽度w、图像高度h、图像通道数c、起始像素地址a,起始像素地址a的取值范围为图像的每一行像素在外部存储空间内的起始地址集合。
输入图像宽度w、图像高度h、图像通道数c、起始像素地址a,图像宽度w输入至第一多选器、第一比较器、第三多选器、第二比较器,起始像素地址a输入至第二多选器,图像通道数c输入至第二加法单元;
输入尺寸大小为k×k的滤波窗口,其中k为奇数;
设定处理器支持的最大向量长度L,处理器支持的最大向量长度L由处理器运算时所采用的体系结构决定,在本实施例中,处理器运算时采用RISCV体系结构,处理器支持的最大向量长度L输入至第一比较器、第三多选器。
图像参数输入至地址计算模块,地址计算模块对滤波窗口内图像像素进行像素地址计算,在地址计算模块每次进行像素地址计算时,起始像素地址a的具体取值为滤波窗口内的第一行像素在图像中所在行的像素起始地址。
步骤Ⅱ、滤波窗口按照图像的宽度方向和高度方向滑过图像,对图像像素进行中值滤波计算:
(1)如图2所示,地址计算模块开始计算滤波窗口内图像像素的像素地址,第一多选器选择图像宽度w输入至第一加法单元、第二多选器选择起始像素地址a输入至第一加法单元,第一加法单元计算得到滤波窗口内k行像素的起始地址。其中,滤波窗口内第一行像素的起始地址为a,滤波窗口内第二行像素的起始地址为a+w,以此类推,滤波窗口内第k行像素的起始地址为a+(k-1)×w。第一加法单元将计算得到的k行像素的起始地址输入至第二加法单元和第二多选器。
第二加法单元以第一加法单元输入的各行像素的起始地址为中点、图像通道数c为步长,计算出每行长度为k的像素地址,滤波窗口内共有k行像素,得到k×k个像素的像素地址,并将k×k个像素的像素地址输出至地址寄存器进行保存。
上述的每行长度为k的像素地址为从像素地址为m-c×(k-1)/2的像素开始以间隔c个像素向右取至像素地址为m+c×(k-1)/2的像素的像素地址。其中m为各行像素的起始地址,各行像素为k行像素的每一行像素,c为图像通道数c对应的数值。
地址计算模块完成第一次像素地址计算后,输出地址计算完成信号Cfinish至控制模块,此时地址计算完成信号的值由0切换到1,地址计算完成信号Cfinish的默认值为0,控制模块不工作,控制模块接收到地址计算模块输出的地址计算完成信号的值为1后,控制模块开始工作。
以上为地址计算模块对初始的滤波窗口进行图像像素的像素地址计算,只进行一次。
以下为地址计算模块对滑动的滤波窗口进行图像像素的像素地址计算,循环进行,步骤如下:
如图3所示,在控制模块工作时,第一比较器选择图像宽度w与处理器支持的最大向量长度L进行数值比较,当w<L时,比较结果为1,当w>L时,比较结果为0,第一比较器将比较结果输出至第三多选器,并根据比较结果输出当前行可操作像素长度p至地址计算模块。
当比较结果为1时,第三多选器根据输入的图像宽度w与处理器支持的最大向量长度L,选择当前行可操作像素长度p=w作为输出;当比较结果为0时,第三多选器选择当前行可操作像素长度p=L作为输出。
第三多选器将当前行可操作像素长度p输入至加法器、控制模块将上一次输出的当前行可操作像素长度p输入至加法器,加法器第一次接收到控制模块输出的当前行可操作像素长度p对应的数值为0,通过加法器计算得到当前行已操作像素长度q;然后加法器将当前行已操作像素长度q输入至第二比较器,第二比较器将图像宽度w与当前行已操作像素长度q进行数值比较,根据比较结果输出行切换信号Rswitch至地址计算模块。
在当前行已操作像素长度q与图像宽度w的比值过程中,当q<w时,第二比较器输出行切换信号的值为1,控制滤波窗口向右滑动p个像素,其中p为当前行可操作像素长度p对应的数值,使地址计算模块进行下一次像素地址计算,表示在图像中滤波窗口所在行存在未进行像素地址计算的像素;当q>w时,第二比较器输出行切换信号的值为0,控制滤波窗口向下滑动至图像的下一行像素,使地址计算模块进行下一次像素地址计算,此时控制模块重新计算当前行已操作像素长度q。
在地址计算模块进行下一次像素地址计算时,如图2所示,分为以下两种情况:
(i)滤波窗口向右滑动p个像素,其中p为当前行可操作像素长度p对应的数值,第一多选器、第二多选器均接收到行切换信号Rswitch,第一多选器选择当前行可操作像素长度p输入至第一加法单元、第二多选器选择上一次第一加法单元计算得到的k行像素的起始地址输入至第一加法单元,第一加法单元计算得到对应的k行像素的起始地址,并将该计算结果输入至第二加法单元和第二多选器。
第二加法单元以第一加法单元输入的各行像素的起始地址为中点、图像通道数c为步长,计算出每行长度为k的像素地址,滤波窗口内共有k行像素,得到对应的k×k个像素的像素地址,并将k×k个像素的像素地址输出至地址寄存器进行保存。
(ii)滤波窗口向下滑动至图像的下一行像素,第一多选器、第二多选器均接收到行切换信号Rswitch,第一多选器选择图像宽度w输入至第一加法单元、第二多选器选择起始像素地址a输入至第一加法单元,第一加法单元计算得到对应的k行像素的起始地址,并将该计算结果输入至第二加法单元和第二多选器。
第二加法单元以第一加法单元输入的各行像素的起始地址为中点、图像通道数c为步长,计算出每行长度为k的像素地址,滤波窗口内共有k行像素,得到对应的k×k个像素的像素地址,并将k×k个像素的像素地址输出至地址寄存器进行保存。
上述的每行长度为k的像素地址为从像素地址为m-c×(k-1)/2的像素开始以间隔c个像素向右取至像素地址为m+c×(k-1)/2的像素的像素地址。其中m为各行像素的起始地址,各行像素为k行像素的每一行像素,c为图像通道数c对应的数值。
地址计算模块每完成一次像素地址计算,地址计算模块输出地址计算完成信号的值为1至控制模块,使控制模块继续工作,一直循环到计算结束。
(2)地址计算模块每完成一次像素地址计算,像素加载模块以地址寄存器中对应保存的k×k个像素的每一个像素地址为起始地址,读取p个像素的数据,加载得到数据大小为1×p的k×k个向量,并将向量数据输出至像素寄存器进行保存。其中k×k个像素的每一个像素地址为{r1,r2,...,rk×k},r表示一个像素的像素地址,p为当前行可操作像素长度p对应的数值。
(3)像素寄存器将向量数据输入至中值滤波计算模块,中值滤波计算模块进行计算:
将计算三个输入向量数据中的最大值定义为vsmax指令,将计算三个输入向量数据中的最小值定义为vsmin指令,将计算三个输入向量数据中的中值定义为vmedia指令。
在本实施例中,取k=3,输入9个向量数据,如图6所示,计算过程如下。
(3.1)将9个向量数据分为三组,包括第一组向量数据[v1,v2,v3],第二组向量数据[v4,v5,v6],第三组向量数据[v7,v8,v9],并计算出每组向量数据的最大值、中值、最小值。
使用vsmax指令分别计算第一组向量数据的最大值max0=vsmax(v1,v2,v3)、第二组向量数据的最大值max1=vsmax(v4,v5,v6)、第三组向量数据的最大值max2=vsmax(v7,v8,v9);
使用vmedia指令分别计算第一组向量数据的中值med0=vmedia(v1,v2,v3)、第二组向量数据的中值med1=vmedia(v4,v5,v6)、第三组向量数据的中值med2=vmedia(v7,v8,v9);
使用vsmin指令分别计算第一组向量数据的最小值min0=vsmin(v1,v2,v3)、第二组向量数据的最小值min1=vsmin(v4,v5,v6)、第三组向量数据的最小值min2=vsmin(v7,v8,v9)。
其中,每组向量数据包括由像素寄存器A输入的向量数据A、由像素寄存器B输入的向量数据B、由像素寄存器C输入的向量数据C,向量数据A、向量数据B、向量数据C对应上述向量数据v1-v9中的一个。
如图4所示,vsmax指令计算最大值的过程如下:
(i)第一最大值比较单元接收像素寄存器A输入的向量数据A和像素寄存器B输入的向量数据B,将两者进行比较后输出较大值,记为max_temp;
(ii)第二最大值比较单元接收像素寄存器C输入的向量数据C和第一最大值比较单元输入的max_temp,将两者进行比较后输出较大值,该计算结果即为向量数据A、向量数据B、向量数据C中的最大值。
如图4所示,vsmin指令计算最小值的过程如下:
(i)第一最小值比较单元接收像素寄存器A输入的向量数据A和像素寄存器B输入的向量数据B,将两者进行比较后输出较小值,记为min_temp;
(ii)第三最小值比较单元接收像素寄存器C输入的向量数据C和第一最小值比较单元输入的min_temp,将两者进行比较后输出较小值,该计算结果即为向量数据A、向量数据B、向量数据C中的最小值。
如图4所示,vmedia指令计算中值的过程如下:
(i)第一最大值比较单元接收像素寄存器A输入的向量数据A和像素寄存器B输入的向量数据B,将两者进行比较后输出较大值,记为med_temp0;
(ii)第一最小值比较单元接收像素寄存器A输入的向量数据A和像素寄存器B输入的向量数据B,将两者进行比较后输出较小值,记为med_temp1;
(iii)第二最小值比较单元接收像素寄存器C输入的向量数据C和第一最大值比较单元输入的med_temp0,将两者进行比较后输出较小值,记为med_temp2;
(vi)第三最大值比较单元接收第一最小值比较单元输入的med_temp1和第二最小值比较单元输入的med_temp2,将两者进行比较后输出较大值,该计算结果即为向量数据A、向量数据B、向量数据C中的中值。
(3.2)将每组向量数据的最大值组成最大值组S1,S1={max0,max1,max2};将每组向量数据的中值组成中值组S2,S2={med0,med1,med2};将每组向量数据的最小值组成最小值组S3,S3={min0,min1,min2}。
(3.3)使用vsmin指令计算最大值组的最小值S1min, S1min=vsmin{max0,max1,max2};
使用vmedia指令计算中值组的中值S2med, S2med=vmedia{med0,med1,med2};
使用vsmax指令计算最小值组的最大值S3max, S3max=vsmax{min0,min1,min2}。
其中,vsmin指令计算最小值的过程与(3.1)中的vsmin指令计算最小值的过程相同,vmedia指令计算中值的过程与(3.1)中的vmedia指令计算中值的过程相同,vsmax指令计算最大值的过程与(3.1)中的vsmax指令计算最大值的过程相同。
(3.4)使用vmedia指令计算S1min、S2med、S3max这三个向量数据的中值,得到最终中值,作为9个输入向量数据的中值滤波计算结果。其中,vmedia指令计算中值的过程与(3.1)中的vmedia指令计算中值的过程相同。
在本实施例中,输入9个向量长度为1的向量数据,其数值分别为[3,7,2,2,8,8,8,5,9],计算过程如下:
第一步、将输入的9个向量数据分成三组:第一组向量数据[2,3,7],第二组向量数据[2,8,8],第三组向量数据[5,8,9]。
求得第一组向量数据的最大值[7]、第二组向量数据的最大值[8]、第三组向量数据的最大值[9];求得第一组向量数据的中值[3]、第二组向量数据的中值[8]、第三组向量数据的中值[8];求得第一组向量数据的最小值[2]、第二组向量数据的最小值[2]、第三组向量数据的最小值[5]。
第二步、组成最大值组[7,8,9]、中值组[3,8,8]、最小值组[2,2,5]。
第三步、求得最大值组的最小值[7]、中值组的中值[8]、最小值组的最大值[5]。
第四步、求得最大值组的最小值[7]、中值组的中值[8]、最小值组的最大值[5]这三个向量数据的中值为7,作为9个向量数据的中值滤波计算结果。
(4)中值滤波计算模块输出中值滤波计算结果。
步骤Ⅲ、重复步骤Ⅱ,直至完成图像中所有像素的中值滤波计算。
OpenCV是一个开源计算机视觉库,其实现了图像处理和计算机视觉领域中的很多通用算法,本发明中的中值滤波计算方法以OpenCV为实现平台,分别将基于vector 1.0不带扩展指令的版本和基于vector 1.0带扩展指令的版本的中值滤波计算进行对比,结果如表1所示:
图像尺寸 | 总指令数(带扩展指令) | 总指令数(不带扩展指令) | 总向量指令数(带扩展指令) | 总向量指令数(不带扩展指令) | 总指令数比值 | 总向量指令数比值 |
1920×1080 | 111658772 | 186092516 | 59968472 | 113726376 | 0.60001753 | 0.52730487 |
1280×720 | 49557388 | 82591132 | 26617288 | 50474992 | 0.60003280 | 0.52733615 |
表1
从表1可以看出,本发明基于vector 1.0带扩展指令的版本的中值滤波计算相较于基于vector 1.0不带扩展指令的版本的中值滤波计算,在以上两种图像尺寸下执行中值滤波计算时所需的总指令数减少了约40%、所需的总向量指令数减少了约47.3%。
本发明在进行中值滤波计算时,使用了vsmax、vsmin、vmedia扩展指令,不带扩展指令与带扩展指令的中值滤波计算所使用的指令类型对比如表2所示:
不带扩展指令 | add,sub,vpe8,vmax,vmin,vor,bpt |
带扩展指令 | add,sub,vpe8,vsmax,vsmin,vmedia,vor,bpt |
表2
表2中,vmax/vmin指令的功能为计算两个输入向量数据中的较大值/较小值。
以上仅为本发明的具体实施例,但本发明的技术特征并不局限于此。任何以本发明为基础,为解决基本相同的技术问题,实现基本相同的技术效果,所作出的简单变化、等同替换或者修饰等,皆涵盖于本发明的保护范围之中。
Claims (11)
1.一种用于加速数字图像处理的中值滤波计算方法,其特征在于,中值滤波计算装置包括:
地址计算模块和控制模块,地址计算模块包括第一加法单元、第二加法单元、第一多选器和第二多选器,控制模块包括第一比较器、第二比较器、加法器和第三多选器;
所述地址计算模块用于根据输入的图像参数进行像素地址计算,并将计算得到的像素地址输出至地址寄存器;所述地址计算模块输出地址计算完成信号至所述控制模块,地址计算完成信号用于启动所述控制模块工作;
所述控制模块接收到地址计算完成信号后产生控制信号,所述控制模块输出控制信号至所述地址计算模块,控制信号用于控制所述地址计算模块进行下一次像素地址计算;
所述地址寄存器,用于保存从所述地址计算模块输入的像素地址,并输出至像素加载模块;
所述像素加载模块,用于从所述地址寄存器读取像素地址,加载得到像素地址的向量数据,并将向量数据输出至像素寄存器;
所述像素寄存器,用于保存从所述像素加载模块输入的向量数据,并输出至中值滤波计算模块;
所述中值滤波计算模块,用于对所述像素寄存器输入的向量数据进行中值滤波计算,并得到中值滤波计算结果;
中值滤波计算方法包括如下步骤:
步骤Ⅰ、输入图像参数,图像参数包括:图像宽度w、图像通道数c、起始像素地址a;
输入滤波窗口,滤波窗口的尺寸大小为k×k;
设定处理器支持的最大向量长度L;
步骤Ⅱ、滤波窗口滑过图像,对图像像素进行中值滤波计算:
(1)地址计算模块根据输入的图像参数先计算得到滤波窗口内k行像素的起始地址,再以k行像素的每一行像素的起始地址为中点、图像通道数c为步长,计算出每行长度为k的像素地址,得到k×k个像素的像素地址,将k×k个像素的像素地址输出至地址寄存器进行保存,并且地址计算模块输出地址计算完成信号至控制模块,使控制模块开始工作;
在控制模块工作时,控制模块选择图像宽度w与处理器支持的最大向量长度L进行数值比较,控制模块根据比较结果输出当前行可操作像素长度p至地址计算模块,并且控制模块输出行切换信号的值0或1至地址计算模块,控制滤波窗口进行下一次滑动,使地址计算模块进行下一次像素地址计算;
(2)像素加载模块读取地址寄存器中的像素地址,加载得到对应的向量数据,并将向量数据输出至像素寄存器进行保存;
(3)像素寄存器将向量数据输入至中值滤波计算模块,中值滤波计算模块进行计算:
(3.1)中值滤波计算模块将输入的向量数据分为三组,使用vsmax指令计算出每组向量数据的最大值,使用vmedia指令计算出每组向量数据的中值,使用vsmin指令计算出每组向量数据的最小值;
(3.2)将每组向量数据的最大值组成最大值组,将每组向量数据的中值组成中值组,将每组向量数据的最小值组成最小值组;
(3.3)使用(3.1)中的vsmin指令计算得到最大值组的最小值,使用(3.1)中的vmedia指令计算得到中值组的中值,使用(3.1)中的vsmax指令计算得到最小值组的最大值;
(3.4)使用(3.1)中的vmedia指令计算最大值组的最小值、中值组的中值、最小值组的最大值这三个向量数据的中值,得到最终中值,作为输入向量数据的中值滤波计算结果;
(4)中值滤波计算模块输出中值滤波计算结果;
步骤Ⅲ、重复步骤Ⅱ,直至完成图像中所有像素的中值滤波计算。
2.根据权利要求1所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:所述中值滤波计算模块包括第一最大值比较单元、第二最大值比较单元、第三最大值比较单元、第一最小值比较单元、第二最小值比较单元和第三最小值比较单元;
输入至所述中值滤波计算模块的向量数据包括向量数据A、向量数据B和向量数据C;
所述第一最大值比较单元,用于接收向量数据A和向量数据B,并将两个向量数据比较后输出较大值;
所述第一最小值比较单元,用于接收向量数据A和向量数据B,并将两个向量数据比较后输出较小值;
所述第二最大值比较单元,用于接收向量数据C和所述第一最大值比较单元输出的较大值,并将两个向量数据比较后输出较大值;
所述第三最小值比较单元,用于接收向量数据C和所述第一最小值比较单元输出的较小值,并将两个向量数据比较后输出较小值;
所述第二最小值比较单元,用于接收向量数据C和所述第一最大值比较单元输出的较大值,并将两个向量数据比较后输出较小值;
所述第三最大值比较单元,用于接收所述第一最小值比较单元输出的较小值和所述第二最小值比较单元输出的较小值,并将两个向量数据比较后输出较大值;
通过所述第一最大值比较单元和所述第二最大值比较单元,得到向量数据A、向量数据B和向量数据C中的最大值;
通过所述第一最小值比较单元和所述第三最小值比较单元,得到向量数据A、向量数据B和向量数据C中的最小值;
通过所述第一最大值比较单元、所述第一最小值比较单元、所述第二最小值比较单元和所述第三最大值比较单元,得到向量数据A、向量数据B和向量数据C中的中值。
3.根据权利要求1所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤Ⅱ的(1)中,地址计算完成信号的默认值为0,控制模块不工作;在地址计算模块完成一次像素地址计算后,地址计算模块将地址计算完成信号的值置为1,并输出至控制模块,使控制模块开始工作。
4.根据权利要求1所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤Ⅱ的(1)中,在地址计算模块开始进行像素地址计算时,地址计算模块选择图像宽度w和起始像素地址a进行计算,得到对应的k行像素的起始地址,再以k行像素的每一行像素的起始地址为中点、图像通道数c为步长,计算出每行长度为k的像素地址,得到k×k个像素的像素地址。
5.根据权利要求1所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在图像宽度w与处理器支持的最大向量长度L的比值过程中,当w<L时,控制模块选择当前行可操作像素长度p=w作为输出;当w>L时,控制模块选择当前行可操作像素长度p=L作为输出。
6.根据权利要求1所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在控制模块输出当前行可操作像素长度p时,控制模块选择当前行可操作像素长度p和上一次输出的当前行可操作像素长度p进行计算,得到当前行已操作像素长度q,再将当前行已操作像素长度q与图像宽度w进行数值比较,控制模块根据比较结果输出行切换信号的值0或1至地址计算模块。
7.根据权利要求6所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在当前行已操作像素长度q与图像宽度w的比值过程中,当q<w时,控制模块输出行切换信号的值为1,控制滤波窗口向右滑动,使地址计算模块进行下一次像素地址计算;当q>w时,控制模块输出行切换信号的值为0,控制滤波窗口向下滑动,使地址计算模块进行下一次像素地址计算。
8.根据权利要求7所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在地址计算模块进行下一次像素地址计算时,分为以下两种情况:
(i)滤波窗口向右滑动,地址计算模块选择当前行可操作像素长度p和上一次计算得到的k行像素的起始地址进行计算,得到对应的k行像素的起始地址,再以k行像素的每一行像素的起始地址为中点、图像通道数c为步长,计算出每行长度为k的像素地址,得到对应的k×k个像素的像素地址;
(ii)滤波窗口向下滑动,地址计算模块选择图像宽度w和起始像素地址a进行计算,得到对应的k行像素的起始地址,再以k行像素的每一行像素的起始地址为中点、图像通道数c为步长,计算出每行长度为k的像素地址,得到对应的k×k个像素的像素地址。
9.根据权利要求7所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:当行切换信号的值为0时,控制模块重新计算当前行已操作像素长度q。
10.根据权利要求1所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤Ⅱ的(2)中,像素加载模块以地址寄存器中对应保存的k×k个像素的每一个像素地址为起始地址,读取p个像素的数据,其中p为当前行可操作像素长度p对应的数值,加载得到数据大小为1×p的k×k个向量,并将向量数据输出至像素寄存器进行保存。
11.根据权利要求1所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤Ⅱ的(3.1)中,中值滤波计算模块包括第一最大值比较单元、第二最大值比较单元、第三最大值比较单元、第一最小值比较单元、第二最小值比较单元和第三最小值比较单元;
输入至中值滤波计算模块的向量数据包括向量数据A、向量数据B和向量数据C;
其中,vsmax指令计算最大值的过程如下:
(i)第一最大值比较单元接收输入的向量数据A和向量数据B,将两者进行比较后输出较大值,记为max_temp;
(ii)第二最大值比较单元接收输入的向量数据C和第一最大值比较单元输入的max_temp,将两者进行比较后输出较大值,作为向量数据A、向量数据B、向量数据C中的最大值;
其中,vsmin指令计算最小值的过程如下:
(i)第一最小值比较单元接收输入的向量数据A和向量数据B,将两者进行比较后输出较小值,记为min_temp;
(ii)第三最小值比较单元接收输入的向量数据C和第一最小值比较单元输入的min_temp,将两者进行比较后输出较小值,作为向量数据A、向量数据B、向量数据C中的最小值;
其中,vmedia指令计算中值的过程如下:
(i)第一最大值比较单元接收输入的向量数据A和向量数据B,将两者进行比较后输出较大值,记为med_temp0;
(ii)第一最小值比较单元接收输入的向量数据A和向量数据B,将两者进行比较后输出较小值,记为med_temp1;
(iii)第二最小值比较单元接收输入的向量数据C和第一最大值比较单元输入的med_temp0,将两者进行比较后输出较小值,记为med_temp2;
(vi)第三最大值比较单元接收第一最小值比较单元输入的med_temp1和第二最小值比较单元输入的med_temp2,将两者进行比较后输出较大值,作为向量数据A、向量数据B、向量数据C中的中值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311599083.6A CN117314730B (zh) | 2023-11-28 | 2023-11-28 | 一种用于加速数字图像处理的中值滤波计算装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311599083.6A CN117314730B (zh) | 2023-11-28 | 2023-11-28 | 一种用于加速数字图像处理的中值滤波计算装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117314730A CN117314730A (zh) | 2023-12-29 |
CN117314730B true CN117314730B (zh) | 2024-03-15 |
Family
ID=89273970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311599083.6A Active CN117314730B (zh) | 2023-11-28 | 2023-11-28 | 一种用于加速数字图像处理的中值滤波计算装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117314730B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11149554A (ja) * | 1997-08-21 | 1999-06-02 | Motorola Inc | 3x3グリッドのランクに基づくフィルタのSIMD計算 |
US6008792A (en) * | 1995-12-20 | 1999-12-28 | Samsung Electronics Co., Ltd. | N×n window processing method and system for an image processing system |
US6163324A (en) * | 1998-06-30 | 2000-12-19 | Microsoft Corporation | Median calculation using SIMD operations |
US6754684B1 (en) * | 2000-05-11 | 2004-06-22 | Mercury Computer Systems, Inc. | Method and apparatus for median filter on SIMD architecture digital data processor |
JP2008257368A (ja) * | 2007-04-03 | 2008-10-23 | Rarugo:Kk | デジタルデータ処理回路 |
CN101472055A (zh) * | 2007-12-24 | 2009-07-01 | 深圳迈瑞生物医疗电子股份有限公司 | 中值滤波装置和方法以及采用这种装置的超声成像系统 |
CN102163141A (zh) * | 2011-03-22 | 2011-08-24 | 上海交通大学 | 实现数字信号处理器的寻址模块结构 |
CN103793873A (zh) * | 2014-01-26 | 2014-05-14 | 大唐移动通信设备有限公司 | 图像像素中值的获取方法和装置 |
CN106600521A (zh) * | 2016-11-30 | 2017-04-26 | 宇龙计算机通信科技(深圳)有限公司 | 一种图像处理方法及终端设备 |
CN107341772A (zh) * | 2017-05-26 | 2017-11-10 | 哈尔滨工业大学 | 一种基于fpga的灰度图像中值滤波优化方法及其系统 |
CN107705270A (zh) * | 2017-10-27 | 2018-02-16 | 智车优行科技(北京)有限公司 | 中值滤波的处理方法和装置、电子设备、计算机存储介质 |
CN108681984A (zh) * | 2018-07-26 | 2018-10-19 | 珠海市微半导体有限公司 | 一种3*3卷积算法的加速电路 |
CN111833276A (zh) * | 2020-07-20 | 2020-10-27 | 浙江大华技术股份有限公司 | 一种图像的中值滤波处理方法及装置 |
CN113128141A (zh) * | 2021-04-19 | 2021-07-16 | 电子科技大学 | 一种基于无误差随机计算的中值滤波系统 |
CN114998158A (zh) * | 2022-08-03 | 2022-09-02 | 武汉市聚芯微电子有限责任公司 | 一种图像处理方法、终端设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3781634B2 (ja) * | 2001-04-26 | 2006-05-31 | シャープ株式会社 | 画像処理装置および画像処理方法並びに携帯用映像機器 |
US7912311B2 (en) * | 2005-03-21 | 2011-03-22 | Intel Corporation | Techniques to filter media signals |
JP5100611B2 (ja) * | 2008-10-28 | 2012-12-19 | 株式会社東芝 | 画像処理装置 |
US8751990B2 (en) * | 2008-12-19 | 2014-06-10 | L3 Communications Integrated Systems, L.P. | System for determining median values of video data |
-
2023
- 2023-11-28 CN CN202311599083.6A patent/CN117314730B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6008792A (en) * | 1995-12-20 | 1999-12-28 | Samsung Electronics Co., Ltd. | N×n window processing method and system for an image processing system |
JPH11149554A (ja) * | 1997-08-21 | 1999-06-02 | Motorola Inc | 3x3グリッドのランクに基づくフィルタのSIMD計算 |
US6163324A (en) * | 1998-06-30 | 2000-12-19 | Microsoft Corporation | Median calculation using SIMD operations |
US6754684B1 (en) * | 2000-05-11 | 2004-06-22 | Mercury Computer Systems, Inc. | Method and apparatus for median filter on SIMD architecture digital data processor |
JP2008257368A (ja) * | 2007-04-03 | 2008-10-23 | Rarugo:Kk | デジタルデータ処理回路 |
CN101472055A (zh) * | 2007-12-24 | 2009-07-01 | 深圳迈瑞生物医疗电子股份有限公司 | 中值滤波装置和方法以及采用这种装置的超声成像系统 |
CN102163141A (zh) * | 2011-03-22 | 2011-08-24 | 上海交通大学 | 实现数字信号处理器的寻址模块结构 |
CN103793873A (zh) * | 2014-01-26 | 2014-05-14 | 大唐移动通信设备有限公司 | 图像像素中值的获取方法和装置 |
CN106600521A (zh) * | 2016-11-30 | 2017-04-26 | 宇龙计算机通信科技(深圳)有限公司 | 一种图像处理方法及终端设备 |
CN107341772A (zh) * | 2017-05-26 | 2017-11-10 | 哈尔滨工业大学 | 一种基于fpga的灰度图像中值滤波优化方法及其系统 |
CN107705270A (zh) * | 2017-10-27 | 2018-02-16 | 智车优行科技(北京)有限公司 | 中值滤波的处理方法和装置、电子设备、计算机存储介质 |
CN108681984A (zh) * | 2018-07-26 | 2018-10-19 | 珠海市微半导体有限公司 | 一种3*3卷积算法的加速电路 |
CN111833276A (zh) * | 2020-07-20 | 2020-10-27 | 浙江大华技术股份有限公司 | 一种图像的中值滤波处理方法及装置 |
CN113128141A (zh) * | 2021-04-19 | 2021-07-16 | 电子科技大学 | 一种基于无误差随机计算的中值滤波系统 |
CN114998158A (zh) * | 2022-08-03 | 2022-09-02 | 武汉市聚芯微电子有限责任公司 | 一种图像处理方法、终端设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
Impulse noise removal on an embedded, low memory SIMD processor;Kim, J等;2002 14th International Conference on Digital Signal Processing Proceedings;全文 * |
基于ARM架构的滤波函数优化;陈思润 等;《计算机应用与软件》;全文 * |
基于SIMD技术的图像卷积处理器体系结构研究;佟凤辉, 樊晓桠, 王党辉, 辛明瑞;微电子学与计算机(第03期);全文 * |
数字图像中值滤波算法的FPGA实现;胡斌;殷瑞祥;;微处理机(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117314730A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109754359B (zh) | 一种应用于卷积神经网络的池化处理的方法及系统 | |
US20220083857A1 (en) | Convolutional neural network operation method and device | |
WO2022206556A1 (zh) | 图像数据的矩阵运算方法、装置、设备及存储介质 | |
CN110796236B (zh) | 多样本多通道卷积神经网络池化的向量化实现方法 | |
CN112668708B (zh) | 一种提高数据利用率的卷积运算装置 | |
US10169295B2 (en) | Convolution operation device and method | |
CN108304925B (zh) | 一种池化计算装置及方法 | |
CN111639701B (zh) | 一种图像特征提取的方法、系统、设备及可读存储介质 | |
CN111310115B (zh) | 数据处理方法、装置及芯片、电子设备、存储介质 | |
US20200364289A1 (en) | Data processing method and apparatus | |
CN110414672B (zh) | 卷积运算方法、装置及系统 | |
CN117314730B (zh) | 一种用于加速数字图像处理的中值滤波计算装置及其方法 | |
CN110516793B (zh) | 一种池化处理方法及装置、存储介质 | |
CN112001492A (zh) | 关于二值权重DenseNet模型的混合流水式加速架构及加速方法 | |
CN111191774B (zh) | 面向精简卷积神经网络的低代价加速器架构及其处理方法 | |
US7756363B2 (en) | System and method for image processing | |
CN114648444A (zh) | 应用在神经网络数据处理中的向量上采样计算方法及装置 | |
CN115759213A (zh) | 一种用于一维卷积的卷积神经网络协处理器 | |
CN112837256B (zh) | 一种用于Harris角点检测的电路系统及检测方法 | |
CN114677261A (zh) | 一种视差处理电路和视差处理系统及其方法 | |
CN118154452A (zh) | 一种基于fpga的3×3均值滤波图像处理的装置 | |
US20100128989A1 (en) | Correlation processing apparatus and medium readable by correlation processing apparatus | |
CN113902701A (zh) | 一种双边滤波控制方法及芯片 | |
CN115546009B (zh) | 非极大值抑制算法的优化方法、装置以及设备、存储介质 | |
CN114727115B (zh) | 一种视频编码的整数运动估计方法、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |