滤波模块FILTER
发布时间:2008/10/13 0:00:00 访问次数:573
对于sobel算法的各个滤波器,h、v、dr、dl经变换后可得到:
h=(q0+q3+q3+q6)_(q2+q5+q5+q8);v=(q0+q1+q1+q2)-(q6+q7+q7+q8)
dr=(q1+q0+q0+q3)-(q5+q8+q8+q7);dl=(q1+q2+q2+q5)-(q3+q6+q6+q7)
因此我们对于滤波模块∏lter的设计可采用两级并行流水方案,其内部结构如图1 所示。图中的输入若采用qa、qb、qc、qd、qe、qf,输出采用∏lter,则这时表示的是一个通用滤波器;图中的输入qa、qb、qc、qd、qe、qf若对应地接上q0、q3、q6、q2、q5、q8,则这时表示的是水平方向滤波器h filter,其输出则为h filter。垂直方向滤波器、左对角滤波器、右对角滤波器与上设计类似。
图1 滤波模块filter的内部结构图
对于上述滤波数据的处理,在不采用流水线的情况下,像素从进入处理器到结果输出,需要经过两级加法和一级减法的时延,但是使用流水线技术后(其本质为对中间结果进行寄存),结果输出仅仅滞后三个时钟频率,但是增加了数据吞吐量,同时也提高了时钟频率。为提高加法运算的速度,本设计中的加法器采用超前进位加法器。下面对其作一个简单的回顾:
sum(i)=a(i)xor b(i)x0r c(i-l)
c(i)=(a(i)and b(i))or(a(i)x0r b(i)and c(i-1)
令
p(d=a(i)xor b(i);g(i)=a(i)and b(i)
其中p(i)、g(i)均与进位信号无关,则sum(i)与c(i)可表达为
sum(i)=p(i)xor c(i-1);c(i)=g(i)or(p(i)and c(i-1))
由上述递推公式可以看出,超前进位的基本思想是让本位和与本位进位与低位的进位无关。超前进位的一个缺点是随着位数的增加,加法器的逻辑越来越复杂,同时高位的门级延时也呈线性增长。对于上面图中提到的减法运算,我们需要考虑符号问题。同时考虑到与输出模块的衔接,我们必须使用符号位,而不能摒弃之。减法运算的本质是先对减数求补码,然后采用加法运算。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
对于sobel算法的各个滤波器,h、v、dr、dl经变换后可得到:
h=(q0+q3+q3+q6)_(q2+q5+q5+q8);v=(q0+q1+q1+q2)-(q6+q7+q7+q8)
dr=(q1+q0+q0+q3)-(q5+q8+q8+q7);dl=(q1+q2+q2+q5)-(q3+q6+q6+q7)
因此我们对于滤波模块∏lter的设计可采用两级并行流水方案,其内部结构如图1 所示。图中的输入若采用qa、qb、qc、qd、qe、qf,输出采用∏lter,则这时表示的是一个通用滤波器;图中的输入qa、qb、qc、qd、qe、qf若对应地接上q0、q3、q6、q2、q5、q8,则这时表示的是水平方向滤波器h filter,其输出则为h filter。垂直方向滤波器、左对角滤波器、右对角滤波器与上设计类似。
图1 滤波模块filter的内部结构图
对于上述滤波数据的处理,在不采用流水线的情况下,像素从进入处理器到结果输出,需要经过两级加法和一级减法的时延,但是使用流水线技术后(其本质为对中间结果进行寄存),结果输出仅仅滞后三个时钟频率,但是增加了数据吞吐量,同时也提高了时钟频率。为提高加法运算的速度,本设计中的加法器采用超前进位加法器。下面对其作一个简单的回顾:
sum(i)=a(i)xor b(i)x0r c(i-l)
c(i)=(a(i)and b(i))or(a(i)x0r b(i)and c(i-1)
令
p(d=a(i)xor b(i);g(i)=a(i)and b(i)
其中p(i)、g(i)均与进位信号无关,则sum(i)与c(i)可表达为
sum(i)=p(i)xor c(i-1);c(i)=g(i)or(p(i)and c(i-1))
由上述递推公式可以看出,超前进位的基本思想是让本位和与本位进位与低位的进位无关。超前进位的一个缺点是随着位数的增加,加法器的逻辑越来越复杂,同时高位的门级延时也呈线性增长。对于上面图中提到的减法运算,我们需要考虑符号问题。同时考虑到与输出模块的衔接,我们必须使用符号位,而不能摒弃之。减法运算的本质是先对减数求补码,然后采用加法运算。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
上一篇:主要功能模块的设计