[发明专利]一种应用于并行滤波运算的数据缓存装置有效
申请号: | 201310139573.8 | 申请日: | 2013-04-19 |
公开(公告)号: | CN103218314A | 公开(公告)日: | 2013-07-24 |
发明(设计)人: | 王东琳;尹磊祖;杨勇勇;谢少林;汪涛 | 申请(专利权)人: | 中国科学院自动化研究所 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 宋焰琴 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用于 并行 滤波 运算 数据 缓存 装置 | ||
技术领域
本发明涉及数字信号处理器与微处理器技术领域,特别是指一种用于滤波运算的数据缓冲区结构,与滤波算法、集成电路结构密切相关。
背景技术
在图像处理等信号处理系统中,对于获得信噪比较低的图像,图像滤波是个不可或缺的处理操作。针对不同的滤波模板,二维滤波的计算量有所不同,一般情况下,对于一个K×K的滤波模板,计算每个滤波结果需要K2个乘法和K2个加法,那么对于一个M×N大小的输入矩阵,所需计算量为2MNK2,所以二维滤波是个计算密集型算法。
对于上面巨大的计算量,其数据使用具有极大的局部性特征,对于一个K×K的滤波模板,相邻两次滤波运算,其数据重复量达到K×(K-1)个。若是采用传统的标量处理方式,存在着大量的数据重复访问过程,大大增加存储器访问次数,使得滤波效率低下。
另外存在其它与二维滤波运算特性相似的算法,它们都表现出如下算法特征:
1、运算对象为输入信号矩阵和输入系数矩阵。该系数矩阵一般为一个规整的表达结构,如矩形窗口、十字窗口等。
2、运算特征为每一个点的输出结果为输入系数矩阵窗口与输入信号矩阵相对应的部分运算,得出一个点的滤波结果,然后将输入矩阵逐点进行该运算,直到得出整个结果矩阵。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是现有的数据缓冲装置不适于并行滤波运算,导致运算效率不足的问题。
(二)技术方案
本发明提出一种用于并行滤波运算的数据缓存装置,包括缓冲区实体,该缓冲区实体用于缓冲来自一个多粒度存储器的数据,所述数据缓存装置还包括读缓冲逻辑、初始化缓冲逻辑和更新缓冲逻辑,其中,所述数据缓存装置的输入信号包括读缓冲区使能信号、读缓冲区列号、读缓冲区列内偏移、初始化开始信号和列移信号;所述数据缓存装置的输出信号包括作用于所述多粒度存储器的由读请求、读粒度和读地址组成的信号组;所述读缓冲逻辑用于接收所述读缓冲区使能信号、读缓冲区列号、读缓冲区列内偏移,并且根据这些信号读取所述缓冲区实体某一列的数据;所述初始化缓冲逻辑用于在初始化开始信号有效时对所述缓冲区实体进行初始化;所述更新缓冲逻辑用于在所述列移信号有效时,按列整体移动缓冲区实体,同时输出所述作用于所述多粒度存储器的信号组。
根据本发明的一种具体实施方式,所述述缓冲区实体包括三个部分:上区、主区和下区。
根据本发明的一种具体实施方式,所述上区和下区的大小相等,尺寸由滤波计算的滤波系数决定;所述主区的大小与所述二维滤波运算的向量乘累加器的运算尺寸有关。
根据本发明的一种具体实施方式,当向量乘累加器运算尺寸为BS,最大支持滤波系数为K×K时,所述上区和下区均为(K-1)/2×K的二维阵列,所述主区为BS×K的二维阵列,其中K为支持的最大滤波模板尺寸。
根据本发明的一种具体实施方式,当初始化该数据缓存装置时,所述初始化逻辑使所述从多粒度存储器取得的数据对应待滤波数据矩阵的第1~K-(k-1)/2列,并将所述数据放入所述主区的第(k-1)/2+1~K列。
根据本发明的一种具体实施方式,当初始化该数据缓存装置时,当加载到主区的数据不含待滤波数据矩阵的最后一行数据时,对于所述主区第1~BS行与第(k-1)/2+1~K列交叉的部分,需要加载多粒度存储器里面的相应待滤波数据;若加载的数据含待滤波数据矩阵的最后一行数据,且当前加载的行数为N且N<BS时,主区第1~N行与第(k-1)/2+1~K列交叉的部分,需要加载多粒度存储器里面的相应待滤波数据,而主区(102)的第N+1~BS行与第(k-1)/2+1~K列交叉的部分,根据填充模式选择信号来决定是填零还是填充第N行的对应元素;主区第1~(k-1)/2列则根据填充模式选择信号来决定是填零还是填充主区的第(k-1)/2+1列的元素。
根据本发明的一种具体实施方式,当初始化该数据缓存装置时,若加载到所述主区的数据包含了待滤波数据矩阵的第一行,则所述上区的第(k-1)/2+1~K列的填充是根据填充模式选择信号来决定是填充零还是填充主区的对应边界数据;若加载到所述主区的数据不包含待滤波数据矩阵的第一行,则需要从多粒度存储器里面取特定位置的值来填充;所述上区的第1~(k-1)/2列则根据填充模式选择信号来决定是填零还是填充上区的第(k-1)/2+1列数据得到。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院自动化研究所,未经中国科学院自动化研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310139573.8/2.html,转载请声明来源钻瓜专利网。