均值滤波计算_引导滤波器(一)

57c070c5041aed93b06914105a02879b.png

这次主要讲的文献就是这篇“VLSI Architecture Design of Guided Filter for 30 Frames/s Full-HD Video”,本身讲的就是一个用TSMC90nm库为基础的ASIC实现,而且保证30帧/秒的视频流和1920x1080的分辨率。这要求了很高的实时性,高存储耗费和高带宽的软件方略无法做到这种要求。这篇文中大量使用了片上存储,不跨越总线,基本思路和之前的双边滤波器的文章非常相似。

1st stage:盒子滤波器(boxfilter)实现(文中称作integral image engine)

对于输入量p(引导图像),I(输入图像),运算过程中需要计算

f86470e728c4270bf9905b7f4138e22a.png
4项中间值,为得到E(p),E(I),Cov(Ip),Var(I)

计算原理和均值滤波相同,因为均值滤波属于一种权值相等的滤波器类型(卷积核内值全部相等),本身可以通过盒子滤波器进行简化,其思路就是直接计算所有以每个像素点为中心的窗口内的像素和(积分)

e6972c7d08ce0320cfae3259a069bf32.png
图像为12x10,有120个蓝色方格样式的窗口(3x3)

这种计算可以全部用盒子滤波器实现,盒子滤波器的一般做法是求取图中所有位置到其实点的积分和,这种方式有很多问题,在双边滤波器(二)中已经叙述过,文中使用的方法就是基于之前双边滤波器的改进方法(结合RUM、SBM、SOM),

61eac8c534089cba8215a4e5d6eb0189.png
II是这个区域内像素的积分和,角标表示了这个区域范围

整个积分计算就被整合成了如上图的两步,b中黄色框区域内的就是integration image engine输出到ocm(100bitx180,和2个双口寄存器组,每个90个字,100bit)中的结果,图像数据Is、Iq通过总线和I/O wrapper和总线从片外DRAM获取

61501b50a2da639c8e4ee05310398bdf.png
实现过程

ps:计算

6d5eba1777a9663c3320e8b175e42ee1.png

的时候会多一个乘法器,输入16bit位宽原因是:2^8^2=2^16。

4个结果都计算出来,就完成了作者1st stage的部分

2nd Stage 卷积核系数计算(a,b)(coefficient kernel engine):

系数计算过程,作者对过程进行了推导简化

e6b949dd55efa652c99873f506c8b4a9.png

b4d55ae0e32352b121810c19e2ddca54.png

实现方法为(

ae6d60d24a4c38cf260ce53ce7a23799.png

1a0e564d4d4c0f6b65854a46534c37bc.png

13bit和12bit输出位宽是最后截位选择结果

3rd Stage:

同第一级一样,是两个integral engine组成,对ak和bk做区域积分 。

4th Stage:

对积分结果做归一化(

,归一化后效果等同于均值滤波),最后求得输出图像

aef2510939ba920f732f0c4cdecdfb9e.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值