System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于加速数字图像处理的中值滤波计算装置及其方法制造方法及图纸_技高网

一种用于加速数字图像处理的中值滤波计算装置及其方法制造方法及图纸

技术编号:40004327 阅读:11 留言:0更新日期:2024-01-09 04:35
本发明专利技术公开了一种用于加速数字图像处理的中值滤波计算装置及其方法,中值滤波计算装置包括地址计算模块、控制模块、地址寄存器、像素加载模块、像素寄存器和中值滤波计算模块;中值滤波计算方法包括如下步骤:步骤Ⅰ、输入图像参数,输入滤波窗口,设定处理器支持的最大向量长度L;步骤Ⅱ、滤波窗口滑过图像,对图像像素进行中值滤波计算;步骤Ⅲ、重复步骤Ⅱ,直至完成图像中所有像素的中值滤波计算。本发明专利技术支持直接计算输入向量数据的中值,从而减少了中值滤波计算程序占用的程序存储空间;减少了指令数,从而减少了处理器计算中值滤波所用的时间;减少了计算时寄存器读写的次数;使用独立的计算模块计算中值滤波而不占用其它计算资源。

【技术实现步骤摘要】

本专利技术属于图像处理,尤其涉及一种用于加速数字图像处理的中值滤波计算装置及其方法


技术介绍

1、数字图像处理是指使用计算机处理数字图像,数字图像处理的目标是对图像内容进行增强、提取有用信息等,它在计算机视觉、计算机图像、人工智能、机器学习等应用领域是十分重要的组成技术。

2、在数字图像处理领域中,中值滤波广泛使用在边缘平滑、噪声消除等操作中,这些操作主要属于图像的预处理领域,其为后续的算法提供所需的图像。中值滤波负责消除椒盐噪声同时保留图像中的细节。

3、对给定大小的输入图像,中值滤波是通过一个固定尺寸大小的滤波窗口搜索图像的所有像素,并完成中值计算的滑动窗口过程。该搜索过程的计算量与每张图像的像素和图像的数量呈正相关,随着应用的数据量增加,如无法快速完成计算,后续的各步骤将被暂停,容易形成瓶颈。

4、处理器是计算机系统的运算和控制核心,目前在涉及使用中值滤波处理大量数字图像的应用时,使用支持simd技术的处理器加速图像搜索是实现高性能中值滤波的方法之一,该类处理器在每次计算时,可以同时计算多个中值滤波窗口,存在以下技术缺陷:

5、处理器内部缺少直接对中值进行计算的指令和模块,虽然可以并行计算多个中值滤波窗口,但在计算每一个中值滤波窗口结果时,需要使用指令组合的方式计算中值滤波结果,导致并行效果不佳及大量占用了所需的寄存器读写硬件资源;且中值滤波的计算需要通过拆分中值计算,再将拆分后各子计算的模块组合形成中值滤波的计算模块,这种方式难以高效率地完成中值滤波的图像搜索过程;此外,由于中值计算的源操作数至少为3个,而处理器中常用于计算中值的比较指令源操作数只有两个,这意味着计算一次中值,处理器要执行3条比较指令,同时也需要增加中间指令来保存产生的中间结果,降低了simd技术带来的加速效果。

6、现有专利文献一(公开号为cn103793873a)公开了“图像像素中值的获取方法和装置”,其算法采用排序法,在累加的和首次大于或等于图像数据的像素点总个数的一半时,获取累加的最大像素值作为图像数据的像素中值,得到的中值是近似中值,并不是真正的中值结果,且对每次中值计算的时间是不一致的,即加速效果不稳定。

7、现有专利文献二(公开号为cn106600521a)公开了“一种图像处理方法及终端设备”,其算法采用均值加速法,通过计算窗口内所有像素点的平均值,再计算中间像素点与所有像素点的平均值的差值的绝对值,选择与中心像素点的差值的绝对值之和最小的一个方向上的两个像素点,计算这两个像素点的平均值,将该平均值作为中值滤波结果替换中间像素点,计算使用的指令均为算术指令,同时包含除法指令,不利于处理器快速运算。

8、现有专利文献三(公开号为cn114998158a)公开了“一种图像处理方法、终端设备及存储介质”,其算法采用图像队列排序法,用于计算帧图像的中值滤波计算,在单次的滤波计算时使用排序与比较结合的方法计算中值,实现排序需要额外的存储空间来保存每个像素的历史值,占用了大量的存储空间。


技术实现思路

1、本专利技术目的在于针对现有技术所存在的不足而提供一种用于加速数字图像处理的中值滤波计算装置及其方法的技术方案。

2、为了解决上述技术问题,本专利技术采用如下技术方案:

3、一种用于加速数字图像处理的中值滤波计算装置,其特征在于,包括:

4、地址计算模块和控制模块,地址计算模块用于根据输入的图像参数进行像素地址计算,并将计算得到的像素地址输出至地址寄存器;地址计算模块输出地址计算完成信号至控制模块,地址计算完成信号用于启动控制模块工作;

5、控制模块接收到地址计算完成信号后产生控制信号,控制模块输出控制信号至地址计算模块,控制信号用于控制地址计算模块进行下一次像素地址计算;

6、地址寄存器,用于保存从地址计算模块输入的像素地址,并输出至像素加载模块;

7、像素加载模块,用于从地址寄存器读取像素地址,加载得到像素地址的向量数据,并将向量数据输出至像素寄存器;

8、像素寄存器,用于保存从像素加载模块输入的向量数据,并输出至中值滤波计算模块;

9、中值滤波计算模块,用于对像素寄存器输入的向量数据进行中值滤波计算,并得到中值滤波计算结果。

10、一种用于加速数字图像处理的中值滤波计算方法,其特征在于,包括如下步骤:

11、步骤ⅰ、输入图像参数,输入滤波窗口,设定处理器支持的最大向量长度l;

12、步骤ⅱ、滤波窗口滑过图像,对图像像素进行中值滤波计算:

13、(1)地址计算模块根据输入的图像参数,计算得到滤波窗口内图像像素的像素地址;地址计算模块将计算得到的像素地址输出至地址寄存器进行保存,并且地址计算模块输出启动信号至控制模块;

14、控制模块根据输入的启动信号产生控制信号,并将控制信号输出至地址计算模块,控制滤波窗口进行下一次滑动,使地址计算模块进行下一次像素地址计算;

15、(2)像素加载模块读取地址寄存器中的像素地址,加载得到对应的向量数据,并将向量数据输出至像素寄存器进行保存;

16、(3)像素寄存器将向量数据输入至中值滤波计算模块,中值滤波计算模块进行计算:

17、(3.1)中值滤波计算模块将输入的向量数据分为三组,使用vsmax指令计算出每组向量数据的最大值,使用vmedia指令计算出每组向量数据的中值,使用vsmin指令计算出每组向量数据的最小值;

18、(3.2)将每组向量数据的最大值组成最大值组,将每组向量数据的中值组成中值组,将每组向量数据的最小值组成最小值组;

19、(3.3)使用(3.1)中的vsmin指令计算得到最大值组的最小值,使用(3.1)中的vmedia指令计算得到中值组的中值,使用(3.1)中的vsmax指令计算得到最小值组的最大值;

20、(3.4)使用(3.1)中的vmedia指令计算最大值组的最小值、中值组的中值、最小值组的最大值这三个向量数据的中值,得到最终中值,作为输入向量数据的中值滤波计算结果;

21、(4)中值滤波计算模块输出中值滤波计算结果;

22、步骤ⅲ、重复步骤ⅱ,直至完成图像中所有像素的中值滤波计算。

23、本专利技术由于采用了上述技术方案,具有以下有益效果:

24、1、本专利技术支持直接计算输入向量数据的中值,无需通过vmax指令、vmin指令等基本指令组合实现,处理器在计算中值滤波时不需要将其拆分,减少了中值滤波计算程序占用的程序存储空间。

25、2、本专利技术减少了指令数,包括计算中值时所用的扩展计算指令相较于现有技术计算中值时所用的基本计算指令减少了计算指令数量、以及随着计算指令数量的减少而带来的临时变量保存指令的减少,从而减少了处理器执行中值滤波计算所用的时间,进而加快了数字图像处理的速度。

26、3、本专利技术减少了计算时本文档来自技高网...

【技术保护点】

1.一种用于加速数字图像处理的中值滤波计算装置,其特征在于,包括:地址计算模块和控制模块,所述地址计算模块用于根据输入的图像参数进行像素地址计算,并将计算得到的像素地址输出至地址寄存器;所述地址计算模块输出地址计算完成信号至所述控制模块,地址计算完成信号用于启动所述控制模块工作;

2.根据权利要求1所述的一种用于加速数字图像处理的中值滤波计算装置,其特征在于:所述中值滤波计算模块包括第一最大值比较单元、第二最大值比较单元、第三最大值比较单元、第一最小值比较单元、第二最小值比较单元和第三最小值比较单元;

3.一种用于加速数字图像处理的中值滤波计算方法,其特征在于,包括如下步骤:

4.根据权利要求3所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤Ⅰ中,滤波窗口的尺寸大小为k×k,图像参数包括:图像宽度w、图像通道数c、起始像素地址a;在步骤Ⅱ的(1)中,地址计算模块根据输入的图像参数先计算得到滤波窗口内k行像素的起始地址,再以k行像素的每一行像素的起始地址为中点、图像通道数c为步长,计算出每行长度为k的像素地址,得到k×k个像素的像素地址,将k×k个像素的像素地址输出至地址寄存器进行保存,并且地址计算模块输出地址计算完成信号至控制模块,使控制模块开始工作。

5.根据权利要求4所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤Ⅱ的(1)中,地址计算完成信号的默认值为0,控制模块不工作;在地址计算模块完成一次像素地址计算后,地址计算模块将地址计算完成信号的值置为1,并输出至控制模块,使控制模块开始工作。

6.根据权利要求4所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤Ⅱ的(1)中,在地址计算模块开始进行像素地址计算时,地址计算模块选择图像宽度w和起始像素地址a进行计算,得到对应的k行像素的起始地址,再以k行像素的每一行像素的起始地址为中点、图像通道数c为步长,计算出每行长度为k的像素地址,得到k×k个像素的像素地址。

7.根据权利要求4所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤Ⅱ的(1)中,在控制模块工作时,控制模块选择图像宽度w与处理器支持的最大向量长度L进行数值比较,控制模块根据比较结果输出当前行可操作像素长度p至地址计算模块,并且控制模块输出行切换信号的值0或1至地址计算模块,控制滤波窗口进行下一次滑动,使地址计算模块进行下一次像素地址计算。

8.根据权利要求7所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在图像宽度w与处理器支持的最大向量长度L的比值过程中,当w<L时,控制模块选择当前行可操作像素长度p=w作为输出;当w>L时,控制模块选择当前行可操作像素长度p=L作为输出。

9.根据权利要求7所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在控制模块输出当前行可操作像素长度p时,控制模块选择当前行可操作像素长度p和上一次输出的当前行可操作像素长度p进行计算,得到当前行已操作像素长度q,再将当前行已操作像素长度q与图像宽度w进行数值比较,控制模块根据比较结果输出行切换信号的值0或1至地址计算模块。

10.根据权利要求9所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在当前行已操作像素长度q与图像宽度w的比值过程中,当q<w时,控制模块输出行切换信号的值为1,控制滤波窗口向右滑动,使地址计算模块进行下一次像素地址计算;当q>w时,控制模块输出行切换信号的值为0,控制滤波窗口向下滑动,使地址计算模块进行下一次像素地址计算。

11.根据权利要求10所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在地址计算模块进行下一次像素地址计算时,分为以下两种情况:

12.根据权利要求10所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:当行切换信号的值为0时,控制模块重新计算当前行已操作像素长度q。

13.根据权利要求7所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤Ⅱ的(2)中,像素加载模块以地址寄存器中对应保存的k×k个像素的每一个像素地址为起始地址,读取p个像素的数据,其中p为当前行可操作像素长度p对应的数值,加载得到数据大小为1×p的k×k个向量,并将向量数据输出至像素寄存器进行保存。

14.根据权利要求3所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤Ⅱ的(3.1)中,中值滤波计算模块包括第一最大值比较单元、第二最大值比较单元、第三最大值比较单元、第一最小值比...

【技术特征摘要】

1.一种用于加速数字图像处理的中值滤波计算装置,其特征在于,包括:地址计算模块和控制模块,所述地址计算模块用于根据输入的图像参数进行像素地址计算,并将计算得到的像素地址输出至地址寄存器;所述地址计算模块输出地址计算完成信号至所述控制模块,地址计算完成信号用于启动所述控制模块工作;

2.根据权利要求1所述的一种用于加速数字图像处理的中值滤波计算装置,其特征在于:所述中值滤波计算模块包括第一最大值比较单元、第二最大值比较单元、第三最大值比较单元、第一最小值比较单元、第二最小值比较单元和第三最小值比较单元;

3.一种用于加速数字图像处理的中值滤波计算方法,其特征在于,包括如下步骤:

4.根据权利要求3所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤ⅰ中,滤波窗口的尺寸大小为k×k,图像参数包括:图像宽度w、图像通道数c、起始像素地址a;在步骤ⅱ的(1)中,地址计算模块根据输入的图像参数先计算得到滤波窗口内k行像素的起始地址,再以k行像素的每一行像素的起始地址为中点、图像通道数c为步长,计算出每行长度为k的像素地址,得到k×k个像素的像素地址,将k×k个像素的像素地址输出至地址寄存器进行保存,并且地址计算模块输出地址计算完成信号至控制模块,使控制模块开始工作。

5.根据权利要求4所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤ⅱ的(1)中,地址计算完成信号的默认值为0,控制模块不工作;在地址计算模块完成一次像素地址计算后,地址计算模块将地址计算完成信号的值置为1,并输出至控制模块,使控制模块开始工作。

6.根据权利要求4所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤ⅱ的(1)中,在地址计算模块开始进行像素地址计算时,地址计算模块选择图像宽度w和起始像素地址a进行计算,得到对应的k行像素的起始地址,再以k行像素的每一行像素的起始地址为中点、图像通道数c为步长,计算出每行长度为k的像素地址,得到k×k个像素的像素地址。

7.根据权利要求4所述的一种用于加速数字图像处理的中值滤波计算方法,其特征在于:在步骤ⅱ的(1)中,在控制模块工作时,控制模块选择图像宽度w与处理器支持的最大向量长度l进行数值比较,控制模块根据比较结果输出当前行可操作像素长度p至地址计算模块,并且控制...

【专利技术属性】
技术研发人员:凌树豪俞林杰陈志坚
申请(专利权)人:进迭时空杭州科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1