【技术实现步骤摘要】
本专利技术属于信号处理
,尤其涉及一种并行滤波方法及其在集成电路设计中的电路实现结构。
技术介绍
在比如图像处理等信号处理系统中,对于获得的信噪比较低的图像,图像滤波是个不可或缺的处理操作。现有的解决方案中,主要有两类方法来实现滤波:第一类方法是利用可编程器件,比如FPGA、CPLD等,针对不同的应用场合,设计特定的滤波器,该方法具有一定的实时性,但是由于可编程器件存在固有的弱点,因此使得该方法不能达到一个高的主频,相对功能单一。比如,申请号为200310105132的专利讨论了如何使用CPLD和单片机来实现一个二维滤波,该方法基于一个5*5的滤波模板,其具有一定的实时性特点,但是当滤波模板的大小发生改变时,整个结构需要重新设计,不具有灵活和模块化的特点,另外IOM的工作频率也是一个较低的频率。第二类方法是利用专用DSP或者ASIC芯片,此时图像以数据阵列的形式放在存储器中,芯片通过处理存储器中的数据阵列来对图像进行滤波。由于传统的信号处理器需要重复加载待滤波数据,因此该方法会造成较大的访问开销,并且滤波效率低下。本专利技术是在第二类方法的范畴下,提出了一种优化的并行滤波方法,并且根据该方法设计了一种利用向量运算部件实现滤波运算的结构。
技术实现思路
为了解决上述现有 技术中的一个或多个问题,本专利技术提出了一种并行滤波方法及相应的装置。本专利技术适用于多种不同的滤波运算,通过“数据缓存,系数广播”的机制,结合一个并行、运算模式多样的运算部件,使得滤波运算充分并行进行。根据本专利技术的一个方面,提出一种并行滤波装置,该装置包括:多粒度存储器10、数据缓 ...
【技术保护点】
一种并行滤波装置,其特征在于,该装置包括:多粒度存储器(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) ...
【技术特征摘要】
1.一种并行滤波装置,其特征在于,该装置包括:多粒度存储器(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)中。2.根据权利要求1所述的装置,其特征在于,所述并行滤波装置工作时,先将待滤波数据矩阵中的待滤波数据按列从多粒度待滤波数据存储单元(101)中取出,缓存到数据缓存装置(20)中;同时将滤波系数矩阵中的滤波系数按列从多粒度滤波系数存储单元(102)中取出,缓冲到系数缓冲广播装置(30)中;向量运算装置(40)通过读取数据缓存装置(20)来获得待滤波数据,通过读取系数缓冲广播装置(30)来获得经过广播处理的输出系数数据(3001),之后根据命令队列装置(50)发送的运算命令,基于所得到的数据进行滤波运算,并将运算结果写入多粒度滤波结果存储单元(103)中。3.根据权利要求1所述的装置,其特征在于,所述数据缓存体(201)包括上区(211)、下区(213)以及主区(212),所述待滤波数据分布在所述主区(212)中,所述上区(211)、下区(213)以及主区(212)的第一列为滤波运算时对特定点滤波所需要的边界元素。4.根据权利要求1所述的装置,其特征在于,所述系数缓冲区实体(301)用于缓存所述滤波系数矩阵中的滤波系数; 所述读控制逻辑单元(302)用于对所述系数缓冲区实体(301)的读操作进行控制; 所述初始化逻辑单元(303)用于在所述系数缓冲广播装置(30)的输入信号一初始化开始信号(3007)有效时,将所述系数缓冲区实体(301初始化; 所述更新逻辑单元(304)用于当所述缓冲区实体(301)不足以放下所述多粒度滤波系数存储单元(102)中的所有滤波系数时,从所述多粒度滤波系数存储单元(102)中取出其余的滤波系数存到所述缓冲区实体(301)中。5.根据权利要求4所述的装置,其特征在于,所述系数缓冲广播装置(30)的输入信号包括:读使能信号(3002)、滤波系数数目指示信号(3003)、所述初始化逻辑单元(303)或所述更新逻辑单元(304)从所述多粒度待滤波数据存储单元(101)中取得的数据(3005)、向量乘累加装置(40)发送给所述系数缓冲广播装置(30)的更新信号(3006)和初始化开始信号(3007); 输出...
【专利技术属性】
技术研发人员:王东琳,尹磊祖,杨勇勇,谢少林,汪涛,
申请(专利权)人:中国科学院自动化研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。