当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]用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)。  [!--empirenews.page--]

   如果对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,可使运算以最快速度实现。  

    考察直方图均衡的实现过程可以发现,这是一种有限区间内的单调变换。从其频域特性看,直方图均衡改变了已有频率成分的分布,使它们分布得更加均匀,但并不增加新的频率成分。直方图均衡对于彩色(灰度)值集中在低端的图像,可起到较明显的视觉改善作用。但对于那些色彩分布很不均匀、频带较窄,特别是整体偏亮的图像,效果就不明显了。 

   本文采用一种新的图像增强方法,将对图像的边缘增强处理与均衡结合起来,并且这些运算最终可由硬件实现。  [!--empirenews.page--]

   对于连续图像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 1024 RGB图像计算ΔPi,j为例,每计算一点ΔPi,j需要4次加(减)运算,即总的需要1280 1024 5;3 30 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。  [!--empirenews.page--]

然后开始下一个点的运算。  

2.3 硬件实现的逻辑结构  

用CPLD实现该算法所采用的逻辑结构如图3所示。  

    其中加模块实现25;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 480 RGB图像的增强算法大约需要100ms(如果用汇编语言编程或对程序作优化可使性能提高一些),而且要占用大量存储资源。这样的运算速度只适合静止图像的处理。所以,如果不做简化处理或采用更高性能的DSP,根本无法做到实时处理。由此可见,采用硬件处理的方法可以极大地提高系统的总体性能。  

    综上所述,在拥有DSP的嵌入式平台上使用CPLD实现改进的图像增强算法是可行的,对于实时的图像处理是一种高效的解决方法。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭