当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]摘要:文中在FPGA上采用纯verilog逻辑实现了Alpha半透明图像叠加算法,即验证了算法的正确性,同时针对FPGA不善于处理浮点运算的弊端,采用了移位操作的方法,进一步提高了

摘要:文中在FPGA上采用纯verilog逻辑实现了Alpha半透明图像叠加算法,即验证了算法的正确性,同时针对FPGA不善于处理浮点运算的弊端,采用了移位操作的方法,进一步提高了运算速度,实现了Alpha透明系数可调,半透明图像叠加的实时显示,在高清图像显示领域具有很大的实用价值。

关键词:Alpha半透明算法;移位操作;高清图像;实时显示

Alpha透明算法被广泛应用于图像处理,2D游戏,3D游戏图像混合和渲染等领域。在涉及到高清图像时由于计算量比较大,PC处理速度较慢,图像半透明叠加效果无法实时呈现。本文采用了FPGA并行处理的思想,同时对逻辑中设计到的浮点运算进行了移位操作,极大的提高了运算速度,实现了图像的半透明叠加效果的实时显示。可以在高清图像显示领域中实现视频和半透明滚动字幕的叠加,以及多路视频的实时叠加处理。

1 Alpha算法

Alpha通道是一个8位的灰度通道,该通道用256灰度来记录图像中透明度信息、定义透明、不透明和半透明区域,其中黑表示全透明,白表示不透明,灰表示半透明。

Alpha混合算法公式:

 


R(A)、G(A)、B(A)分别代表图像A的RGB分量的原色值,R(B)、G(B)、B(B)分别代表图像B的RGB分量的原色值,R(C)、G(C)、B(C)分别代表混合后图像C的RGB分量的原色值。

alpha为图像的透明度系数,取值为0—1,1为完全透明,0为完全不透明,改变这个值可以得到一个渐变的效果。

透明度alpha的计算。颜色在本质地上是光的产物,可以把透明度理解为玻璃的透光性。例如一个alpha=0.2的颜色,可以将其想象为透光率为80%的彩色玻璃。透过这块玻璃看去,由于80%的光都透过了,因此留下来的颜色只剩20%,即所谓系数为0.2的alpha。

2 Matlab验证效果

现在通过Matlab来进行两幅图片叠加验证。

将alpha设为0.4和0.6的颜色进行叠加。这时相当于叠加了两块玻璃,一块透光率为60%,另一块为40%。一道光束穿过,经过60%透光率玻璃时,光线强度剩下80%,再经过40%透光率玻璃时,光线进一步被削弱,只剩下60%*40%=24%。这意味着合成的图片有24%的透明性。

 


 


两幅图片的分辨率都是1 024*768,叠加后处理效果图如下:

 


由效果图可以看出,实现了海鸥在蓝天白云中飞翔的半透明效果。由于蓝天白云图片alpha为0.4,海鸥图片alpha为0.6,所以海鸥透明度明显高于蓝天白云。随着蓝天白云alpha值的提高,透明度也会提升,相反海鸥透明度会随之降低。

虽然实现了半透明叠加效果,但由于图片分辨率过高,Matlab要对每个像素点的RGB三通道分别进行alpha算法公式运算,最后输出合成图片,用了大约0.75 s的时间。对视频图像无法做到实时处理的效果。因此,考虑用FPGA硬件设计来实现此算法。

3 FPGA硬件实现

本设计硬件采用的市面上常用的开发板,主控芯片是ALTERA公司的Cycelone IV,并带有VGA,百兆网口,RS232串口等一系列接口。FPGA内部产生两幅图片同时进行半透明化叠加,并且通过开发板上的按键来控制alpha系数,从而实现调节两幅图片的之间的透明度,最后在VGA显示器进行显示。

3.1 逻辑设计整体框图

整体框图包括3个模块,alpha_control模块、vga_display模块和vga_driver模块

alpha_control模块:通过外部按键控制alpha半透明参数,实现两幅叠加图片之间透明度实时转换。

vga_display模块:由于FPGA内部的memory容量有限,无法存储高分辨图片,因此通过此模块生成两幅图片,并实现半透明图片的叠加,然后送到VGA显示器进行实时显示。

vga_driver模块:驱动VGA[5]工作在预定的分辨率下,这里驱动显示器工作在1024*768@65MHz的分辨率下。

 


3.2 VGA驱动原理

VGA驱动本质就是在一定工作频率下,产生准确的时序关系包括:VS-垂直同步信号,HS-水平同步信号,消隐信号之间的关系。

在VGA显示过程中,完成一行扫描所要的时间为水平扫描时间,完成一帧扫描所需要的时间称为垂直扫描时间。每扫描完一行用行同步信号进行同步;扫描完所有行后用场同步信号进行同步。本文设计采用的是1024*768@65MHz模式。依据时序标准,每显示行包含1344个点,其中1024为显示有效区,320点为消隐区,每行的行同步脉冲低电平宽度为136个像素点;同理每场有806行,有效行为768,其中场同步脉冲低电平宽度为6行。

 


如上图所示,每一场的扫描都包含若干个行扫描,如此往复循环。

3.3 Alpha算法verilog实现

为了实现快速运算,这里将透明比例按2的N次幂来分级(Alpha=1/256),同时进行了移位算法,式(1)、式(2)、式(3)变为以下公式:

 


 

[!--empirenews.page--]

代码一开始产生了2幅图片:vga_data_ff1为VGA水平驱动vga_xpos与垂直驱动vga_ypos乘积产生的分形图;vga_data_ff2为彩条图形,这是将VGA水平驱动vga_xpos分为8部分,分别对应黑、蓝、品、绿、黄、红、紫、白8种颜色。

然后对每个像素的RGB三通道分别进行alpha算法公式运算,叠加后生成16bit的红色通道的red_data,绿色通道gre_data和蓝色通道blu_data。

最后选取红色通道red_data低5位,绿色通道gre_data低6位,蓝色通道blu_data低5位组成RGB565格式图像送到VGA进行显示。

3.4 显示效果

显示效果如图4所示。由效果图可以看出本设计完美实现了实时的半透明图形的叠加,此时即可以看到分形图,又可以看到8条彩条,二者相互融合。

 


本设计即验证了Alpha混合算法的正确性,又满足了高清图像半透明叠加融合的实时需求。

4 结论

为解决高清领域中涉及到的图像实时叠加和半透明字幕滚动等问题,本设计利用FPGA并行处理的思想,同时对逻辑中设计到的浮点运算进行了移位操作,极大的提高了运算速度,实现了图像的半透明叠加效果的实时显示。同时对实现多路高清视频叠加显示,也有很大的借鉴意义。

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

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 信息技术
关闭
关闭