基于FPGA的高清实时视频去雾系统的设计与实现

2015-04-10 03:23曹亚辉
电视技术 2015年7期
关键词:透射率亮度高清

曹亚辉,刘 峰

(南京邮电大学 图像处理与图像通信江苏省重点实验室,江苏 南京 210003)



基于FPGA的高清实时视频去雾系统的设计与实现

曹亚辉,刘 峰

(南京邮电大学 图像处理与图像通信江苏省重点实验室,江苏 南京 210003)

实现了基于Xilinx XC6SLX45 FPGA的高清实时视频去雾系统,详细介绍了系统的逻辑框架及主要的算法实现。首先,介绍了整个系统的硬件框架及FPGA内部的逻辑框架;其次,描述了改进的暗原色先验去雾算法,给出了在FPGA中的算法实现过程;最后,对系统进行测试。实验结果表明,该系统实现了预期的高清视频实时去雾,并具有自适应功能,去雾效果良好。

高清;实时;暗原色先验;视频去雾;FPGA

近年来环境的恶化导致雾霾天气增多,图像去雾的研究渐成热点。尤其是户外场景的视频监控更需要实时地对采集的视频图像去雾。同时,视频监控的高清化对视频去雾系统提出了更高的实时要求。文献[1]实现了PAL视频尺寸的实时去雾,但其没有考虑到色度信号的信息,还有一定可优化的空间。文献[2]通过利用GPU实现了图像去雾算法,但其目前主要应用于通用PC机平台,没有考虑到小型嵌入式系统的应用。文献[3]实现了基于暗原色先验[4]的PAL制视频去雾,但暂不支持高清视频去雾。文献[5]实现了基于DSP+FPGA高清实时视频去雾,但其不适用于低成本设备。本文采用了一种FPGA实时视频处理框架,并基于暗原色先验去雾算法,实现了720p视频60 Hz实时视频去雾,并具有自适应功能,系统成本低,且具有良好的扩展性,非常容易向1 080p视频去雾系统升级。

1 视频处理框架及系统资源

1.1 视频处理框架

视频处理的实时性以及高分辨率特点对整个视频处理系统的时延和带宽都提出了较高的要求,因此高效的视频处理框架是系统逻辑设计的关键之一。本系统的视频处理框架如图1所示,整个视频处理框架基于ARM AMBA AXI4[6]协议,使得整个框架具有高带宽、低时延、扩展性好等特点。首先贯穿整个处理框架的是AXI4 Stream[7]协议,它无需传输地址,并且具有无限长突发传输特点,适宜于宽带信号互联。同时该框架采用AXI4映射的外部内存帧缓冲进行输入输出时钟域的同步。最后FPGA内部还综合出一个MicroBlaze软核,通过AXI4-Lite协议配置IP的寄存器并提供额外的运算能力现了图像去雾IP核,具体内容将在下一节介绍。

1.2 系统资源

本视频去雾系统以Xilinx 的低成本Spartan 6 LX45为核心,内部集成了43 661个逻辑单元,2 088 kbit RAM,58个DSP Slice,并且还集成了内存控制器硬核,最大支持800 Mbit/s速率、12.8 Gbit/s峰值带宽,为高清视频处理提供了足够带宽。整个系统的输入输出基于HDMI接口,采用TI的TMDS141作为驱动器,兼容HDMI 1.3a标准,最高支持1 080p分辨率。

图1 视频处理框架

2 基于暗原色先验的去雾算法及其FPGA实现

本系统实现的FPGA去雾算法主要参考文献[5]基于暗原色先验的方法,同时为了实现高清实时视频去雾,在去雾的效果和系统性能上做了一些折中。另外,本系统还借助于视频处理框架中的MicroBlaze软核实现了自适应算法,提高了去雾视频的用户体验。

2.1 逻辑设计

去雾算法的逻辑实现如图2所示。整个去雾分成3个模块实现,输入图像依次经过暗通道图像计算模块A、雾天透射率计算模块B和无雾图像生成模块C,最后完成图像去雾后输出。为了实现图像处理的流水线操作,整个图像处理IP基于像素流,即所有的像素都是串行地依次经过模块A、B、C并输出,从而每一个模块都是基于逐个像素进行处理,并配合FIFO进行各个模块之间缓冲,有利于实现高带宽、低时延的IP核。下面依次介绍各个模块的实现。

图2 算法逻辑框图

1) 暗通道图像计算模块

暗原色先验是针对户外无雾图像统计得出的规律,即在绝大部分非天空局部区域中,每个像素至少会有一个通道具有极低的密度。由该密度值组成的图像称为暗通道图像,因此图像中被浓雾覆盖区域的暗通道往往具有较高的强度值。暗通道图像可以近似地估计出图像透射率,即为模块B雾天透射率计算模块所用。

暗通道的数学模型定义为

(1)

式中:Jc是J的一个颜色通道;Ω(x)是以x为中心的区域。

为了便于实现基于逐个像素处理的IP核,本文将中心区域定为单像素区域,即直接求取每个像素的RGB三通道的最小值。虽然这样在效果上存在一定程度的损失,但是换取了运算速度性能的极大提高。为了快速地求取最小值,利用2个数字比较器实现了RGB最小值求取运算,具体实现如图3所示。

图3 暗通道图像逻辑实现框图

2) 雾天透射率计算模块

雾天透射率即雾天图像的传输函数,由该传输函数即可从有雾图像恢复出原图。传输的数学模型定义为

(2)

透射率模块的实现借助于Spartan 6的DSP Slice实现了流水线乘加运算。由于求取大气光强度A需要遍历图像所有的像素点,严重影响图像的实时性,并且考虑到实际视频中的亮度特性,于是系统将大气光求取的运算留给了MicroBlaze软核,由软核负责遍历图像求取大气光亮度并更新参数A。同时为了增加更多的灵活性,增加保留远处雾气的参数ω也通过软核配置更新。最后为了使去雾后的天空区域更加真实,有必要给透射率设置下限R并通过软核配置更新,以上涉及到的参数均通过AXI4-Lite映射到MicroBlaze地址空间,从而能够直接访问。

3) 无雾图像生成模块

无雾图像生成模块的主要功能是利用得到的透射率图像以及输入的有雾图像计算出无雾图像。数学模型定义为

(3)

该模块首先将原图与大气光相减,为了避免负数出现,实际的运算中首先判断I(x)与A的大小,若I(x)>A,则采用式(3)计算,若I(x)

(4)

除法运算的实现借助于Spartan 6的DSP Slice实现的高速除法器进行。同时为了实现除法器的流水化,需要进行逻辑上的优化。这里的大气光A参数同样通过MicroBlaze软核配置更新,具体实现如图4所示。

图4 无雾图像生成模块逻辑实现框图

2.2 软件设计

本系统综合出的MicroBlaze软核为32位MPU,工作频率50 MHz,除了进行IP核工作方式的配置外还能辅助去雾IP进行去雾参数的动态调整。

1) 大气光参数计算

经过实验证明,大气光参数A的变化对去雾后视频的影响较小。同时对于户外拍摄的视频而言,图像亮度变化较为缓慢,从而大气光参数A会在较长的一段时间范围内保持不变,综合以上两点特性,可以使用运算能力较低的MicroBlaze进行雾天图像的遍历来求取并更新大气光参数A。为了简化算法,取每个像素的RGB通道的平均作为像素的亮度值,算法流程图如图5所示。

图5 大气光参数求取算法流程图

2) 去雾图像亮度调节

通常图像去雾后往往伴随着亮度的降低,然而图像亮度的降低程度因不同的图片而异,这会导致去雾后的视频时亮时暗,给用户造成了一定的视觉疲劳。实际上,拍摄视频的亮度一般较为固定,考虑到这个特性,本文利用MicroBlaze求取有雾图像以及去雾图像后的平均亮度,估计出去雾前后视频的整体亮度差,并动态地调节参数ω(ω用于指示去雾程度),可以使去雾后视频的亮度保持稳定。算法流程图如图6所示。

图6 去雾图像亮度调节算法流程图

3 实验结果

为了测试本系统的高清实时视频去雾的显示效果,搭建了基于HDMI输入输出的测试环境,将预先拍摄好的有雾视频通过带有HDMI接口的高清视频源输出连接至FPGA高清视频去雾系统的输入接口,同时该视频源也通过分量信号接口输出视频至LG 43 in(1 in=2.54 cm)大屏幕高清电视机,再将该系统的输出连接至另一台LG 43 in电视机作为高清显示的测试工具并进行前后对。经验证,系统能实时处理1 280×720分辨率且刷新率为60 Hz的视频,整个视频去雾系统占用FPGA资源情况如表1所示。实验处理视频为720p雾天彩色图像,视频截图效果如图7~8所示。

表1 FPGA资源占用情况

图7 去雾效果图

图8 固定参数下的去雾图(失真严重)

4 结论

本文提出了一种基于FPGA的高清实时视频去雾系统。首先描述了该系统的总体硬件结构以及视频去雾系统的逻辑框架,然后介绍了基于暗原色先验理论的图像去雾算法及其FPGA的高速实现。实验结果表明,本系统能够实现720p 60 Hz视频的实时去雾,去雾效果良好,且系统设计简单、成本较低,并具有自适应功能,可以改善去雾后视频亮度突变等问题。

[1]龚亮,孙俊喜,顾播宇,等.基于FPGA的视频图像去雾系统的设计与实现[J].电视技术,2013,37(7):6-8.

[2]刘晓光.基于OpenCL的图像去雾算法研究[D].哈尔滨:哈尔滨工业大学,2013.

[3]韩子奇.基于FPGA的视频雾场景去除算法研究与实现[D].成都:电子科技大学,2013.

[4]HE K, SUN J, TANG X.Single image haze removal using dark channel prior[J].IEEE Trans.Pattern Analysis and Machine Intelligence,2011,33(12):2341-2353.

[5]贺柏根,刘剑,马天玮.基于DSP+FPGA的实时图像去雾增强系统设计[J].液晶与显示,2013(6):968-972.

[6]AMR.AMBA AXI and ACE Protocol Specification[EB/OL].[2014-10-06].http://www.arm.com/zh/products/system-ip/amba/amba-open-specifications.php.

[7]AMR.AMBA 4 AXI4-Stream Protocol Specification[EB/OL].[2014-10-06].http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0051a/index.html.

Design and Implementation of High-definition Real-time Video Dehazing System Based on FPGA

CAO Yahui, LIU Feng

(JiangsuKeyLaboratoryofImageProcessing&Communication,NanjingUniversityofPostsandTelecommunications,Nanjing210003,China)

Design and implementation of high-definition real-time video dehazing system based on Xilinx XC6SLX45 FPGA are introduced in this paper.The overall architecture of the system and algorithm are described in detail.At first, hardware architecture of the system and logic architecture inside FPGA are introduced.Secondly, improved dark channel prior haze removal algorithm is contributed with the algorithm implementation in the FPGA.Finally, the result shows that the system works as expected with the adaptive function.The system has good real-time performance and dehazing effect for high-definition haze video.

high-definition; real-time; dark channel prior; video dehazing; FPGA

江苏省高校自然科学研究项目(13KJA510004;12KJB510019);广州市软件和信息服务业发展专项资金项目(2060404)

TN911.73

A

10.16280/j.videoe.2015.07.011

2014-10-07

【本文献信息】曹亚辉,刘峰.基于FPGA的高清实时视频去雾系统的设计与实现[J].电视技术,2015,39(7).

曹亚辉(1990— ),硕士生,主研图像处理与多媒体通信;

刘 峰(1964— ),博士,教授,博士生导师,主研图像处理与多媒体通信、高速 DSP 与嵌入式系统。

责任编辑:闫雯雯

猜你喜欢
透射率亮度高清
高清大脑皮层发育新图谱绘成
噪声对相干衍射成像重构物体图像的影响
一种改进的场景透射率修正图像去雾算法
教你玩转AV设备(一):4K高清播放机使用指南
亮度调色多面手
纯色太阳镜镜片耐日光辐照性能试验研究
亮度一样吗?
基于斩波调制的LED亮度控制
人生的亮度
数码单反拍摄高清视频时同期声的收录探索