一种通用、可配置的图像滤波计算多行输出系统和方法技术方案

技术编号:37394534 阅读:19 留言:0更新日期:2023-04-27 07:31
本发明专利技术具体涉及一种通用、可配置的图像滤波计算多行输出系统和方法。该系统及方法中CPU将输入图像相关的控制参数,存储到参数配置模块;参数配置模块获取控制参数后利用控制参数控制直接存储器访问模块的存取操作以及控制线性滤波计算模块的卷积计算;直接存储器访问模块按照参数配置模块发送的控制参数从片上缓存区中获取与控制参数相匹配的图像输入数据,并将该输入数据发送给线性滤波计算模块;线性滤波计算模块按照参数配置模块发送的控制参数,进行与控制参数相匹配的卷积计算,并将计算结果通过直接存储器访问模块发送到片上缓存区,由片上缓存区对计算结果进行保存。解决了现有进行滤波计算时不可同时输出多行结果的技术问题。行结果的技术问题。行结果的技术问题。

【技术实现步骤摘要】
一种通用、可配置的图像滤波计算多行输出系统和方法


[0001]本专利技术涉及图像滤波领域,具体而言,涉及一种通用、可配置的图像滤波计算多行输出系统和方法。

技术介绍

[0002]滤波操作是图像处理过程中的常见操作,主要的作用是将图像当中特定频率的波段滤除的操作,这样的滤波有利于降低或者消除环境噪声或者信号提取过程中所产生的噪声对于图像的影响,可以提高图像的质量,并且为之后的图像处理操作提供便利,将保留的频率波段的图像信息进行之后的处理。根据不同的滤除波段可以将滤波分成一下两种作用:(1)降低图像当中的噪声影响。这一功能一般是通过低通滤波来实现的,因为噪声相对于图像一般是高频信号。(2)提取图像当中的关键信息。
[0003]目前已有的相似方案是对输入图像使用单一尺寸大小的滤波核进行滤波操作。已有的图像滤波方案中数据读取地址频繁跳动,没有使用高效的突发传输,缺少高效性以及灵活的数据流,而且滤波使用的是固定的5*5滤波核,无法对多个种类得图像进行滤波,缺少通用性,滤波方案在忆阻器阵列中实现时,忆阻器的利用率较低。

技术实现思路

[0004]本专利技术实施例提供了一种通用、可配置的图像滤波计算多行输出系统和方法,以至少解决现有进行滤波计算时不可同时输出多行结果的技术问题。
[0005]根据本专利技术的一实施例,提供了一种通用、可配置的图像滤波计算多行输出系统,包括:直接存储器访问模块、参数配置模块、片上缓存区、线性滤波计算模块;其中:
[0006]CPU将输入图像相关的控制参数,存储到参数配置模块;参数配置模块获取控制参数后利用控制参数控制直接存储器访问模块的存取操作以及控制线性滤波计算模块的卷积计算;
[0007]直接存储器访问模块按照参数配置模块发送的控制参数从片上缓存区中获取与控制参数相匹配的图像输入数据,并将该输入数据发送给线性滤波计算模块;线性滤波计算模块按照参数配置模块发送的控制参数,进行与控制参数相匹配的卷积计算,并将计算结果通过直接存储器访问模块发送到片上缓存区,由片上缓存区对计算结果进行保存。
[0008]进一步地,CPU将输入图像相关的控制参数,通过AXI

lite总线存储到参数配置模块;参数配置模块从CPU获取控制参数后,利用控制参数控制直接存储器访问模块的存取操作,以及控制线性滤波计算模块的卷积计算;直接存储器访问模块按照参数配置模块发送的控制参数,通过AXI4总线从片外存储器DDR中获取与控制参数相匹配的图像输入数据,并将该输入数据发送给线性滤波计算模块;线性滤波计算模块按照参数配置模块发送的控制参数,进行与控制参数相匹配的卷积计算,并将计算结果通过直接存储器访问模块发送到片外存储器DDR,由片外存储器DDR对计算结果进行保存。
[0009]进一步地,线性滤波计算模块包括缓冲区、控制单元、计算单元;缓冲区接收从片
外存储器DDR提取输入数据,并将输入数据发送给计算单元;计算单元接收缓冲区的输入数据,生成计算后的输出结果,并将计算后的输出结果通过直接存储器访问模块发送给片外存储器DDR进行存储。
[0010]进一步地,参数配置模块计算的控制参数包括涉及片上缓存空间的若干参数,该若干参数包括输出特征的宽度Wout、输出特征的高度Hout、输入通道数CHout等。
[0011]根据本专利技术的另一实施例,提供了一种通用、可配置的图像滤波计算多行输出方法,包括以下步骤:
[0012]CPU将输入图像相关的控制参数,存储到参数配置模块;参数配置模块获取控制参数后利用控制参数控制直接存储器访问模块的存取操作以及控制线性滤波计算模块的卷积计算;
[0013]直接存储器访问模块按照参数配置模块发送的控制参数从片上缓存区中获取与控制参数相匹配的图像输入数据,并将该输入数据发送给线性滤波计算模块;线性滤波计算模块按照参数配置模块发送的控制参数,进行与控制参数相匹配的卷积计算,并将计算结果通过直接存储器访问模块发送到片上缓存区,由片上缓存区对计算结果进行保存。
[0014]进一步地,计算单行、多行输出宽度方向参数包括:
[0015]步骤一、输入一次突发传输的长度BURST_LEN;
[0016]步骤二、宽度方向深度X_DEPTH=突发长度BURST_LEN;
[0017]步骤三、计算宽度方向输出的个数width_out_test;
[0018]步骤四、将width_out_test与Wout进行比较,如果width_out_test比Wout小,则需要右则填充的个数;
[0019]步骤五、计算宽度方向输入的个数width_in_test;
[0020]步骤六、判断宽度方向输入的个数是否不大于宽度方向深度,如果大于,则继续步骤七,如果不大于,则宽度方向需要突发传输的次数split_w_num=1,第一次宽度方向输出个数first_width_out、最后一次宽度方向输出个数last_width_out均等于Wout,第一次宽度方向输入个数first_width_in、最后一次宽度方向输入个数last_width_in均等于width_in_test;
[0021]步骤七、宽度方向输入的个数若大于宽度方向深度,确定第一次宽度方向输入个数first_width_in、剩余宽度方向输入个数res_width_in、第一次宽度方向输出个数first_width_out、剩余宽度方向输出个数res_width_out;
[0022]步骤八、判断剩余宽度方向输入个数res_width_in是否不大于宽度方向深度X_DEPTH,如果大于,则继续步骤九,如果不大于,则宽度方向需要突发传输的次数split_w_num=2,最后一次宽度方向输入个数last_width_in=剩余宽度方向输入个数res_width_in,最后一次宽度方向输出个数last_width_out=剩余宽度方向输出个数res_width_out;
[0023]步骤九、确定宽度方向一次突发传输的最大输出个数max_out_width,确定宽度方向需要突发传输的次数split_w_num;
[0024]步骤十、中间传输宽度方向输出个数middle_width_out=突发传输最大输出个数max_out_width,确定中间传输宽度方向输入个数middle_width_in;
[0025]步骤十一、最大输出个数Wout

第一次宽度方向输出个数first_width_out能否被中间传输宽度方向输出个数Middle_Width_out整除,如果能,继续步骤十二;如果不能,则
确定最后一次突发传输的个数,转入步骤十三;
[0026]步骤十二、最后一次宽度方向输出个数last_width_out=中间传输宽度方向输出的个数middle_width_out;
[0027]步骤十三、确定宽度方向最后一次突发传输的特征值输入的个数last_width_in。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通用、可配置的图像滤波计算多行输出系统,其特征在于,包括:直接存储器访问模块、参数配置模块、片上缓存区、线性滤波计算模块;其中:CPU将输入图像相关的控制参数,存储到参数配置模块;参数配置模块获取控制参数后利用控制参数控制直接存储器访问模块的存取操作以及控制线性滤波计算模块的卷积计算;直接存储器访问模块按照参数配置模块发送的控制参数从片上缓存区中获取与控制参数相匹配的图像输入数据,并将该输入数据发送给线性滤波计算模块;线性滤波计算模块按照参数配置模块发送的控制参数,进行与控制参数相匹配的卷积计算,并将计算结果通过直接存储器访问模块发送到片上缓存区,由片上缓存区对计算结果进行保存。2.根据权利要求1所述的通用、可配置的图像滤波计算多行输出系统,其特征在于,CPU将输入图像相关的控制参数,通过AXI

lite总线存储到参数配置模块;参数配置模块从CPU获取控制参数后,利用控制参数控制直接存储器访问模块的存取操作,以及控制线性滤波计算模块的卷积计算;直接存储器访问模块按照参数配置模块发送的控制参数,通过AXI4总线从片外存储器DDR中获取与控制参数相匹配的图像输入数据,并将该输入数据发送给线性滤波计算模块;线性滤波计算模块按照参数配置模块发送的控制参数,进行与控制参数相匹配的卷积计算,并将计算结果通过直接存储器访问模块发送到片外存储器DDR,由片外存储器DDR对计算结果进行保存。3.根据权利要求1所述的通用、可配置的图像滤波计算多行输出系统,其特征在于,线性滤波计算模块包括缓冲区、控制单元、计算单元;缓冲区接收从片外存储器DDR提取输入数据,并将输入数据发送给计算单元;计算单元接收缓冲区的输入数据,生成计算后的输出结果,并将计算后的输出结果通过直接存储器访问模块发送给片外存储器DDR进行存储。4.一种通用、可配置的图像滤波计算多行输出方法,其特征在于,包括以下步骤:CPU将输入图像相关的控制参数,存储到参数配置模块;参数配置模块获取控制参数后利用控制参数控制直接存储器访问模块的存取操作以及控制线性滤波计算模块的卷积计算;直接存储器访问模块按照参数配置模块发送的控制参数从片上缓存区中获取与控制参数相匹配的图像输入数据,并将该输入数据发送给线性滤波计算模块;线性滤波计算模块按照参数配置模块发送的控制参数,进行与控制参数相匹配的卷积计算,并将计算结果通过直接存储器访问模块发送到片上缓存区,由片上缓存区对计算结果进行保存。5.根据权利要求4所述的通用、可配置的图像滤波计算多行输出方法,其特征在于,计算单行、多行输出宽度方向参数包括:步骤一、输入一次突发传输的长度BURST_LEN;步骤二、宽度方向深度X_DEPTH=突发长度BURST_LEN;步骤三、计算宽度方向输出的个数width_out_test;步骤四、将width_out_test与Wout进行比较,如果width_out_test比Wout小,则需要右则填充的个数;步骤五、计算宽度方向输入的个数width_in_test;步骤六、判断宽度方向输入的个数是否不大于宽度方向深度,如果大于,则继续步骤七,如果不大于,则宽度方向需要突发传输的次数split_w_num=1,第一次宽度方向输出个
数first_width_out、最后一次宽度方向输出个数last_width_out均等于Wout,第一次宽度方向输入个数first_width_in、最后一次宽度方向输入个数last_width_in均等于width_in_test;步骤七、宽度方向输入的个数若大于宽度方向深度,确定第一次宽度方向输入个数first_width_in、剩余宽度方向输入个数res_width_in、第一次宽度方向输出个数first_width_out、剩余宽度方向输出个数res_width_out;步骤八、判断剩余宽度方向输入个数res_width_in是否不大于宽度方向深度X_DEPTH,如果大于,则继续步骤九,如果不大于,则宽度方向需要突发传输的次数split_w_num=2,最后一次宽度方向输入个数last_width_in=剩余宽度方向输入个数res_width_in,最后一次宽度方向输出个数last_width_out=剩余宽度方向输出个数res_width_out;步骤九、确定宽度方向一次突发传输的最大输出个数max_out_width,确定宽度方向需要突发传输的次数split_w_num;步骤十、中间传输宽度方向输出个数middle_width_out=突发传输最大输出个数max_out_width,确定中间传输宽度方向输入个数middle_width_in;步骤十一、最大输出个数Wout

第一次宽度方向输出个数first_width_out能否被中间传输宽度方向输出个数Middle_Width_out整除,如果能,继续步骤十二;如果不能,则确定最后一次突发传输的个数,转入步骤十三;步骤十二、最后一次宽度方向输出个数last_width_out=中间传输宽度方向输...

【专利技术属性】
技术研发人员:黄明强陈嘉豪马文凌
申请(专利权)人:中国科学院深圳先进技术研究院
类型:发明
国别省市:

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

1