当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:提出了在嵌入式平台上用CPLD实现实时图像增强算法的解决方案,并加以实现。重点讨论了经过改进的图像增强算法以及使用CPLD实现的具体方法,介绍了所采用的嵌入式平台的总体结构。 关键词:嵌入式 CPLD 实时处

摘要:提出了在嵌入式平台上用CPLD实现实时图像增强算法的解决方案,并加以实现。重点讨论了经过改进的图像增强算法以及使用CPLD实现的具体方法,介绍了所采用的嵌入式平台的总体结构。 关键词:嵌入式 CPLD 实时处理 图像增强 通常,在拥有DSP或FPGA的嵌入式平台上,有关图像信号处理的算法部分都由DSP和FPGA完成。但是相对于标准的PC平台来说,嵌入式平台的资源有限得多,而且由于成本的原因,中央处理器的速度也通常无法与PC相比。因此,在PC机上用软件可以轻易实现的图像处理算法,完全移植到嵌入式平台上就要颇费一番周折了。 为了达到实时图像处理的目的,除了最大限度地发挥中央处理器的图像处理能力外,还需要合理地分配任务。DSP芯片的优势在于乘除运算的能力,由于其特殊的流水线结构和处理单元,大部分DSP都能在单周期内完成在PC上需若干个周期才能完成的乘法运算,所以在进行诸如FFT、DCT等运算时优势明显;相反在进行简单的加减运算时,由于时钟频率和总线宽度都无法与PC机相比,效率不高。因此,如果能用硬件实时实现这些相对简单却又繁琐的运算,就可以大大提高系统的总体性能。


1 改进的图像增强算法 图像增强是图像处理中用于改善图像质量以及图像视觉效果的一种方法。在DSP平台上采用直方图均衡实现实时图像增强是一种常用的方法。对一幅连续图像,其具有灰度G的阈值面积(所有轮廓线所包围的面积)为A(G),则其直方图H(G)定义为: H(G)=lim[A(G+ΔG)-A(G)/ΔG=d/dcA(G), ΔG→0 对于数字图像,G为整数,A(G)表示灰度值大于等于G的象素个数,当ΔG=1,H(G)=A(G+1)-A(G)。 如果对A(G)做一次系数为Gm/A0的比例变换,Gm表示灰度的最大值,A0表示图像的面积(在数字图像中为象素总数)。这就是种线性直方图均衡。这种直方图均衡的具体实现如下: (1)对于图像{Pi,j|i=1,2,...,n;j=1,2,...,m},就灰度G,G=0,1,...255,求出直方图H(G); (2)由A(G+1)=A(G)+H(G)求出阈值面积A(G),G=1,2,...,255; (3)求出变换后的灰度分度值hnew(G)=255 A(G)/A0,A0=nm; (4)Pij=hnew(Pij)。 借助LUT,可使运算以最快速度实现。 考察直方图均衡的实现过程可以发现,这是一种有限区间内的单调变换。从其频域特性看,直方图均衡改变了已有频率成分的分布,使它们分布得更加均匀,但并不增加新的频率成分。直方图均衡对于彩色(灰度)值集中在低端的图像,可起到较明显的视觉改善作用。但对于那些色彩分布很不均匀、频带较窄,特别是整体偏亮的图像,效果就不明显了。 本文采用一种新的图像增强方法,将对图像的边缘增强处理与均衡结合起来,并且这些运算最终可由硬件实现。 对于连续图像P,其局部边缘可由对应空间梯度的幅值

,取其一阶近似ΔPi,j=2Pi,j-Pi,j-Pi-1,j,可得图像{Pi,j|i=1,2,...,n;j=1,2,...,m}在(i,j)的边缘信息。 如果不计Pi,j的取值范围,可直接对图像{Pi,j|i=1,2,...,n;j=1,2,...,m}进行修正: P′i,j=Pi,j+ΔPi,j, 其中,P′i,j表示Pi,j修正后的值。显然,图像{Pi,j|i=1,2,...,n;j=1,2,...,m}按此规则修正后边缘值的变化更为强烈,边缘更为突出,可达到边缘增强的效果。同时,由于在原图像上叠加了梯度值,使得修正后的图像的频谱有一定的扩展。但由于没有对Pi,j的取值作约束,这样处理后的象素值可能会溢出,例如对于每个色彩通道为8位的图像,处理后的数值可能会大于255或小于0。因此,通常要对其进行归一化处理,即: Pnew=255%26;#215;(P′-P′min)/(P′max-P′min)。 但用硬件实现乘除运算可能会占用很多资源,上述公式即便以运算实现都是很不经济的。本文采用预拉伸加饱和/截止的方法,在不牺牲频率特性的基础上达到减少计算量的目的。 考察ΔPi,j与Pi,j的直方图,分别取得它们的右峰值所对应的横座标,记为GΔ和G,并找到k,使得kGΔ+G=255,则修正公式变为P′ i,j=Pi,j+kΔPi,j。其中kΔPi,j可以LUT实现。修正后的P′i,j可在[0,255]上进行饱和/截止运算。 2 用CPLD实现实时的图像增强 本文所采用的改进图像增强算法的主要成份是差分、累加以及饱和/截止。这些运算都是加减法及逻辑运算,都属于ALU的简单操作,适合硬件实现。本文采用CPLD实现所提出的算法。以对具有30fps的1280%26;#215;1024 RGB图像计算ΔPi,j为例,每计算一点ΔPi,j需要4次加(减)运算,即总的需要1280%26;#215;1024%26;#215;3%26;#215;30%26;#215;4=471,895,200次加(减)运算。如果采用的DSP的速度是100MHz,且假定所有运算都是单周期的,则仅仅该运算就需要4.7s!所以采用CPLD实现某些运算是必需的。 图3 图像增强算法的硬件实现结构 采用CPLD实现运算(例如边缘处理中涉及的求梯度运算),还需解决数据的暂存问题。本文以一片高速SRAM作为数据缓冲区。由于图像数据的采样输入的频率也很高,需要充分合理地安排好每一次操作的时序,充分利用已参与运算的数据及中间结果,减少数据进出SRAM的次数。 2.1 基于E1-DSP的网络图像采集平台 在分析具体实现方法前,先简要介绍所采用的硬件平台。该平台主要用于远程图像采集和以太网传输,其图像通道结构如图1所示。 OV9620是CMOS的数字图像传感器,负责采集连续的数字图像;中央处理器使用德国HYPERSTONE公司的E1系列RISC DSP,它集DSP和RISC于一身,可以加载OS,方便地实现任务调度、内存管理等功能,大大提高系统的总体性能;CPLD的基本功能是作为E1总线接口控制模块,本文还将用它实现图像增强运算。 2.2 算法的总流程 为了实现实时的读写和运算,需要由外部电路产生24MHz%26;#215;4的时钟EXCLK作为读写时钟,所有时序都由CMOS时钟和EXCLK控制,可以做到完全同步。具体流程如图2所示。 (1)在CMOS时钟到来时,从CMOS传感器的数据输出口采集Pi,j,并实现加法运算RESULT=Pi,j+Pi,j,同时用EXCLK的第0个时钟向SRAM写入P′i,j-1或P′i,m-1 (本行最后一个数据,下一次操作应换行);


(2)在EXCLK的第1个时钟锁存RUSELT,由SRAM读入Pi-1,j,并做减法运算RESULT=RESULT-Pi-1,j; (3)在EXCLK的第2个时钟锁存RUSELT,由SRAM读入Pi,j-1,并做减法运算RESULT=RESULT-Pi,j-1; (4)在EXCLK的第3个时钟锁存RUSELT,同时写入Pi,j。 然后开始下一个点的运算。 2.3 硬件实现的逻辑结构 用CPLD实现该算法所采用的逻辑结构如图3所示。 其中?熏加模块实现2%26;#215;Pi,j运算,生成9位的运算结果交给减模块;减模块在EXCLK的第二和第三个时钟分别读入Pi-1,j和Pi,j-1进行减法运算,并把结果存回result寄存器。由于两次减法在时间上是错开的,因此只需要一个减法器就够了,节约了内部资源。 图3中的脉冲计数器是一个模4计数器,所有的读写时序和运算时序都由它控制。数据通道切换模块控制流入result寄存器的数据流,在第一个EXCLK时钟让加法器的结果进入result,其余的时间都让减法器的结果进入result。两个选通逻辑模块对EXCLK起门控作用,选通逻辑1允许第1个和第2个时钟通过,用来锁存从SRAM读入的数据;选通逻辑2允许第1、2、3个时钟通过,用来锁存三次运算的结果。 SRAM的读写操作由地址发生器和读写控制模块共同实现。由于四次读写操作的地址都不同,且不连续,无法用普通的地址计数器实现。这里采用地址计数器加偏移的相对寻址法,具体结构如图4所示。 地址计数器中保存Pi,j的地址,它由cmos clk作为时钟实现累加;偏移地址则由脉冲计数器模块控制,分别选择P′i,j-1、Pi-1,j、Pi,j-1和Pi,j的偏移地址;最后做减法运算得到绝对地址送到SRAM。 通过上述设计和优化,完全可以在结构和功能都比较简单的CPLD上实现实时的图像增强处理。 由于采用了改进的图像增强算法,在处理窄频带的图像时收到了非常好的效果,部分测试结果如图5所示。


与传统的处理方法相比,改进后的算法对图像的均衡效果更为明显一些,而且由于展宽了频带,图像的细节更加丰富,图像更加明艳和清晰。 以上算法都在CPLD上实现,并没有占用DSP的处理时间,因而节省了大量的运算时间。笔者做过一个实际测试,在100MHz主频的E1 DSP上用C编程实现一帧640%26;#215;480 RGB图像的增强算法大约需要100ms(如果用汇编语言编程或对程序作优化可使性能提高一些),而且要占用大量存储资源。这样的运算速度只适合静止图像的处理。所以,如果不做简化处理或采用更高性能的DSP,根本无法做到实时处理。由此可见,采用硬件处理的方法可以极大地提高系统的总体性能。 综上所述,在拥有DSP的嵌入式平台上使用CPLD实现改进的图像增强算法是可行的,对于实时的图像处理是一种高效的解决方法。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

现如今,越来越多的半导体厂商开始重视低功耗设计,以不断提升产品性能和优化应用方案来满足更多的市场需求。作为行业的引领者,PI在该领域内必然不会缺席,其最近推出的InnoMux-2™系列单级独立稳压的多路输出离线式电源IC...

关键字: PI IC 电源开关

近日,功率变换IC领域的全球领导者Power Integrations推出了一款InnoSwitch™5-Pro系列高效率、可数字控制的反激式开关IC,旨在为业界提供一种更高功率、更低成本的快充解决方案。

关键字: PI IC 电源开关

正弦信号发生器是一种用于产生正弦波信号的电子设备,广泛应用于通信、测试和测量等领域。该发生器主要由两部分组成:正弦波信号发生器和调频、调相、键控等信号产生部分。

关键字: 正弦波信号发生器 CPLD

近几年,PI围绕氮化镓技术,已经先后推出了750V和900V耐压的PowiGaN™开关器件;而如今,PI为了进一步提高开关电源的效率和可靠性,又全新开发了一款单管氮化镓电源IC——InnoSwitch™3-EP 1250...

关键字: PI IC 氮化镓 开关电源

CPLD(可编程逻辑器件)无刷直流电机驱动设计是一种基于硬件可编程逻辑电路的电机驱动方法。CPLD无刷直流电机驱动设计的主要目的是实现高效率、高可靠性和精确控制。以下是CPLD无刷直流电机驱动设计及原理的一些基本信息:

关键字: 无刷直流电机 CPLD 可编程逻辑电路

InnoSwitch3-EP 1250V IC强化了公司在高压氮化镓技术领域的持续领先地位!

关键字: 氮化镓 PI 开关电源

- 经过升级后,MediaGo的IVT过滤器可以识别40多种无效流量 旧金山2023年9月21日 /美通社/ -- 百度国际事业部旗下基于深度学习的智能广告平台MediaGo今天宣布与世界领先的全渠道广告欺诈...

关键字: MEDIA TE PI GO

亚特兰大2023年9月16日 /美通社/ -- 在2023年AppMarket解决方案大奖中,低代码软件开发领域的先驱和领导者Xebia荣获跨行业价值奖。 这一认可凸显了X...

关键字: APP MARKET PPM PI

杭州2023年9月12日 /美通社/ -- 2023年9月8日,国际独立第三方检测、检验和认证机构德国莱茵TÜV集团(以下简称"TÜV...

关键字: 光伏组件 可持续发展 光伏企业 PI

(全球TMT2023年8月24日讯)新思科技(Synopsys, Inc.)宣布已经完成对PikeTec GmbH的收购。PikeTec是汽车控制单元系统软件测试和验证解决方案的领导者之一。软件定义汽车(SDVs)的出...

关键字: 新思科技 TE PI SYNOPSYS
关闭
关闭