[发明专利]一种并行滤波方法及相应的装置有效
申请号: | 201310139302.2 | 申请日: | 2013-04-19 |
公开(公告)号: | CN103227622A | 公开(公告)日: | 2013-07-31 |
发明(设计)人: | 王东琳;尹磊祖;杨勇勇;谢少林;汪涛 | 申请(专利权)人: | 中国科学院自动化研究所 |
主分类号: | H03H17/02 | 分类号: | H03H17/02 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 宋焰琴 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并行 滤波 方法 相应 装置 | ||
技术领域
本发明属于信号处理技术领域,尤其涉及一种并行滤波方法及其在集成电路设计中的电路实现结构。
背景技术
在比如图像处理等信号处理系统中,对于获得的信噪比较低的图像,图像滤波是个不可或缺的处理操作。
现有的解决方案中,主要有两类方法来实现滤波:第一类方法是利用可编程器件,比如FPGA、CPLD等,针对不同的应用场合,设计特定的滤波器,该方法具有一定的实时性,但是由于可编程器件存在固有的弱点,因此使得该方法不能达到一个高的主频,相对功能单一。比如,申请号为200310105132的专利讨论了如何使用CPLD和单片机来实现一个二维滤波,该方法基于一个5*5的滤波模板,其具有一定的实时性特点,但是当滤波模板的大小发生改变时,整个结构需要重新设计,不具有灵活和模块化的特点,另外10M的工作频率也是一个较低的频率。
第二类方法是利用专用DSP或者ASIC芯片,此时图像以数据阵列的形式放在存储器中,芯片通过处理存储器中的数据阵列来对图像进行滤波。由于传统的信号处理器需要重复加载待滤波数据,因此该方法会造成较大的访问开销,并且滤波效率低下。
本发明是在第二类方法的范畴下,提出了一种优化的并行滤波方法,并且根据该方法设计了一种利用向量运算部件实现滤波运算的结构。
发明内容
为了解决上述现有技术中的一个或多个问题,本发明提出了一种并行滤波方法及相应的装置。本发明适用于多种不同的滤波运算,通过“数据缓存,系数广播”的机制,结合一个并行、运算模式多样的运算部件,使得滤波运算充分并行进行。
根据本发明的一个方面,提出一种并行滤波装置,该装置包括:多粒度存储器10、数据缓存装置20、系数缓冲广播装置30、向量运算装置40和命令队列装置50,其中:
所述多粒度存储器10用于存储分别从待滤波数据矩阵和滤波系数矩阵中读取的、参与并行滤波运算的待滤波数据和滤波系数,以及滤波之后得到的滤波结果数据;所述多粒度存储器10包括:多粒度待滤波数据存储单元101,多粒度滤波系数存储单元102,多粒度滤波结果存储单元103;
所述多粒度待滤波数据存储单元101、多粒度滤波系数存储单元102的读写位宽与所述向量运算装置40的运算尺寸一致,记为BS;
所述数据缓存装置20,用于缓存从所述多粒度待滤波数据存储单元101中取出的待滤波数据,并对缓存数据进行读取和更新;所述数据缓存装置20包括数据缓存体201和数据缓冲控制单元202;
所述系数缓冲广播装置30,用于缓存从所述多粒度滤波系数存储单元102中取出的滤波系数,并对缓存数据进行广播,即将所述缓存数据复制BS份,得到宽度为BS个数据元素的输出系数数据3001;所述系数缓冲广播装置30包括系数缓冲区实体301和多个系数缓冲区控制单元:读控制逻辑单元302,初始化逻辑单元303和更新逻辑单元304;
所述命令队列装置50用于存放并向所述向量运算装置40输出并行滤波运算的操作命令队列;
所述向量运算装置40用于基于从所述数据缓存装置20中读取得到的待滤波数据和从所述系数缓冲广播装置30中读取得到的输出系数数据3001进行向量运算,并将运算结果写入所述多粒度滤波结果存储单元103中。
根据本发明的另一个方面,还提出一种并行滤波方法,该方法包括以下步骤:
步骤1,读取并获得数据缓存装置20中的BS个待滤波数据和系数缓冲广播装置30中的BS个输出系数数据,所述BS个待滤波数据为待滤波数据矩阵中的前BS行的第一个数据;
同时,向量乘累加装置40的信号组4004中的读数据缓冲区使能信号有效,读数据缓冲区列号信号中的列号对应应读取的数据列号,读数据缓冲区列内偏移信号、以及读系数缓冲区使能信号4007有效;所述向量乘累加装置40的输入端读取到待滤波数据4001和输出系数4002;
步骤2,通过向量乘法单元401将读取得到的输出系数与待滤波数据分别进行相乘;
步骤3-1,将所述步骤2得到的相乘结果与向量累加寄存单元403中的当前值进行相加,之后进入步骤4;
步骤3-2,执行所述步骤3-1的同时,判断当前从所述系数缓冲广播装置30中所读取的输出系数是否是最后一个输出系数,如果是,则对所述系数缓冲广播装置30进行更新,然后进入步骤4;如果否,则直接进入步骤4;
步骤4,判断当前的运算次数与滤波系数矩阵的大小是否相等,如果相等,进入步骤6;如果不相等,则进入步骤5;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院自动化研究所,未经中国科学院自动化研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310139302.2/2.html,转载请声明来源钻瓜专利网。