时间:2024-05-22
方彩婷,叶 盛,汪雪峰,袁承宗,吴红松
(上海航天电子技术研究所,上海201109)
基于FPGA的数字高清CMOS遥感成像技术
方彩婷,叶 盛,汪雪峰,袁承宗,吴红松
(上海航天电子技术研究所,上海201109)
为得到高质量的数字高清遥感图像,设计了一种基于FPGA的CMOS遥感成像系统。首先阐述了以FPGA为主处理器的硬件平台结构,然后从模块化的角度详细介绍了如何用FPGA器件实现硬件系统的数字功能并得到高质量的遥感图像,这些内容主要包括主控制接口、传感器接口、图像预处理、DDR2控制、数字视频合成等模块。通过软件仿真和硬件测试,验证了设计方案的正确性和有效性。
CMOS图像传感器;FPGA;图像预处理
近年来,快速发展的CMOS图像传感器因具有高集成、功耗低、工艺简单和开发周期短等优点,已被广泛应用在工业、监控、航空和航天等众多领域[1-2]。目前我国航天领域中摄像设备的分辨率普遍不高,画面质量有待提高,严重制约着我国空间可视监控技术的进一步发展[3],因此研究以CMOS图像传感器作为光电转换器件的数字高清遥感成像技术,在航天领域具有较高的实际应用价值。
本文主要采用了CMOS图像传感器、可编程逻辑门阵列FPGA、第二代双倍速率同步动态随机存储器(Double Date Rate Synchronous Dynamic Random Access,DDR2)、视频串行器等,搭建了一个可实现图像实时采集、预处理及传输功能的高清成像系统,如图1所示。本文采用的传感器是APTINA公司的MT9M034,它集成了模拟图像采样和模数转换及在片自动曝光等功能,并支持720p60的高清视频,具有重量轻、体积小、功耗低、动态范围宽等优点,适合航天的应用场景。
图1 系统框图
FPGA作为系统主处理器,主要完成对传感器的初始化和接口控制,并对传感器输出的图像数据进行采集和预处理,以提高图像质量并供显示,这些处理主要包
括时序调整、图像类型转换、图像预处理、数据存储、高清数字分量串行接口(High Definition Serial Digital Interface,HD-SDI)视频合成等。本文FPGA选用的是 Xilinx公司的 XC6SLX75t,它内部具有丰富的逻辑、存储资源及用户接口。
为了将图像传输至监视器上呈现出来,本系统选用了 National Semiconductor公司的芯片LHM0340作为数字视频串行器,它对接收到的亮度和色差信号的并行数据进行并串转换,输出HD-SDI数据流并送往监视器。
根据模块化的设计思路,将FPGA的功能分为主控制接口、传感器接口、图像预处理等6个子模块来实现,如图2所示。
图2 FPGA各子模块连接示意图
2.1 时钟管理模块
时钟管理模块接收外部晶振输入的 74.25 MHz时钟,再利用FPGA的时钟管理资源和全局时钟资源产生74.25 MHz和148.5 MHz的全局时钟。其中,除DDR2控制模块和数字视频合成模块使用了两个全局时钟外,其他模块均使用74.25 MHz全局时钟。
2.2 主控制接口模块
如图2所示,该模块连接其他各模块并控制它们的运作,产生其他各模块的复位信号并通过对寄存器读写的方式产生系统控制信号;另外,主控接口模块还支持通过异步串口连接上位机进行通信和控制。
2.3 传感器接口模块
传感器接口模块的主要功能是对CMOS传感器进行复位及内部寄存器的配置、采集传感器输出的 Bayer模式图像数据并输出符合格式要求的图像数据。该模块与传感器通过I2C接口进行通信,由于传感器的分辨率是 1 280×960,为符合数字高清的标准,需对其稍作调整,转换为1 280×720的分辨率。
2.4 图像预处理模块
由于航天应用场景中存在多种光照环境,且遥感画面动态范围较大,为了使获得的图像在各种光照环境下都能呈现最佳的效果,图像预处理模块采用了多种算法对传感器输出的图像信号进行处理,这些处理包括坏点校正、去马赛克、自动白平衡、色彩校正、伽马校正、色度空间转换、宽动态处理以及色度/亮度/饱和度/对比度调整。在FPGA设计时,将该模块分割为8个算法子模块和一个控制子模块,如图3所示。
图3 图像预处理模块内部结构图
各模块的输入参数均通过主控模块配置。其中,宽动态处理、色彩校正和色度空间转换均采用了 Xilinx公司的IP核予以实现,色度/亮度/饱和度/对比度调整则采用Lattice公司的IP核,对其他几个模块介绍如下。
2.4.1 坏点校正模块
本模块接收到的Bayer阵列型图像数据,其特点如图4所示,对任一像素而言,若其为坏点,则可利用同一行中其左右相邻同分量的两个像素值来纠正。
图4 传感器输出数据阵列图
为得到3个相邻的同类型分量像素,需得到5个连续的像素。因此将模块的输入图像数据作4级延迟,与当前输入的数据一起组成5个像素。对于这5个像素的中心像素,计算出其左右相邻两个同分量像素的平均值,再分别乘上1.25、1.5和2的系数构成3种阈值以供不同场景使用。
根据主控制接口模块的指示,从3种阈值中选择一种作为当前阈值,对中心像素进行判断,若超出该阈值则判为坏点,用已计算出的其相邻同分量的平均值代替该像素的值,否则保持不变。利用FPGA来设计这一算法,可实现流水线式的坏点检测与校正功能。
2.4.2 自动白平衡
自动白平衡算法有很多,其中应用极为广泛的是基于灰度世界理论:对于任一幅图像,当它有足够的色彩变化时,则它的RGB分量的均值会趋于相等。
相对于其他算法而言,该算法简单可靠且便于硬件实现,本文采用的即是这种基于灰度世界假设的算法[4],如图5所示。
图5 自动白平衡算法框图
图像分割判断模块首先把图像分块,对每一块计算其像素的标准差(即颜色变化的情况),判断是否是大色块,是否是过亮块、过暗块。对于标准差越大的图像块,说明其颜色越丰富,越符合灰度世界理论的假设,权重
越大;而标准差越小的块则权重越小。
计算模块根据图像分割模块提供的信息,进行全局的块选取,并按照灰度世界的假设进行计算,得到矫正过的图像数据。
2.4.3 去马赛克
去马赛克算法的目的是将Bayer格式的图像信号通过插值处理去马赛克,转化成完整的RGB信号。本模块选用的是改进的线性插值法[5]。
本模块设有4个行缓存,用于接收输入的图像数据。将当前输入的图像数据以及从4个行缓存中读出的数据分别进行5级延迟,则可得到5×5的Bayer数据块。按照数据块中心像素为 R/G/B何种分量以及与其领域各像素相对关系的不同,可总结出4种情况,分别如图6所示,中心像素点的坐标为(3,3)。对待插值像素(中心像素)的5×5邻域内数据块在不同情况下通过不同的公式进行插值运算即可得出中心像素点R、G、B三分量的值。
图6 插值选取的数据块示意图
2.4.4 伽马校正
大多数的显示设备的输入电压与显示的彩色图像强度成非线性的关系,为了使显示图像和真实图像相符,得到更加自然、真实、悦目的画面,有必要对因为显示器特性造成的非线性误差进行伽马校正。
本模块通过预先设定伽马校正数据表,通过上位机经过异步串口写入 FPGA,存入只读存储器中,再进行查表获取伽马校正后的数据。
2.5 DDR2控制模块
DDR2控制模块通过管理 DDR2存储芯片将图像预处理模块输出的YCbCr格式数据进行缓存并输出。其功能通过3个子模块来实现,如图7所示。子模块1将接收到的16 bit并行数据进行缓存;子模块2为Xilinx公司的DDR2控制器IP核,它将子模块1中的缓存数据以32位写入DDR2,同样以32位读出发送至子模块3再次进行缓存,最终恢复成16 bit并行数据输出。
图7 DDR2控制模块内部子模块连接图
2.6 数字视频合成模块
数字视频合成模块按照HD-SDI格式将数据合成为并行数据,并送入串行器进行并串转换。该模块的功能通过3个子模块来实现,分别是打包子模块、编码子模块、串行器接口子模块。
打包子模块接收DDR2控制模块输出的图像数据,通过对Y分量和C分量分别低位填零扩展至 20 bit并行,再根据2.2节所述主控制接口模块的指示,在图像数据中插入HD-SDI格式所需的时间基准信号及消隐,打包输出至编码子模块。
编码子模块为 Xilinx公司的 IP核,它通过检测输入的视频数据流,提取时间基准并进行CRC校验,再进行 HD-SDI编码,以 20 bit并行输出至串行器接口子模块。
串行器接口子模块将输入的 20 bit并行数据用148.5 MHz时钟进行高速采样,再利用FPGA的ODDR2资源双沿发送将数据提速,拆分成 5 bit并行数据,最后用OBUFDS资源将其转换为差分信号发送至串行器。
本文通过ISE14.1开发环境进行了FPGA代码设计和仿真验证。图8是HD-SDI合成模块的仿真结果,图9是本文成像系统在监视器上的显示结果对比,其中(a)是未启动白平衡算法和伽马校正的原始图像,(b)是经过白平衡算法和伽马校正等预处理后的图像,从两者对比可以看出,未经过预处理的图像颜色失真,而经本文预处理后的图像画面逼真,质量更高。
图8 HD-SDI合成模块仿真结果
图9 预处理前后效果对比
本文设计了一种基于FPGA的数字高清CMOS遥感成像系统,以FPGA为主处理器,经过对传感器控制、图像采集与图像预处理,得到了高质量的遥感图像。通过软件仿真和硬件测试,验证了该设计方案的正确性和有效性。
[1]范铁道.基于FPGA的数字高清CCD摄像机技术研究[D].西安:中国科学院研究生院(西安光学精密机械研究所),2009.
[2]赵鹏,沈庭芝,单宝堂.基于 CMOS图像传感器的微型无人机遥感系统设计[J].光子学报,2008,37(8):1657-1661.
[3]刘海英.基于 CMOS图像传感器的数字高清成像技术研究[D].西安:中国科学院研究生院(西安光学精密机械研究所),2008.
[4]谷元保,付守卓.一种基于灰度世界模型自动白平衡方法[J].计算机仿真,2005,22(9):185-188.
[5]MALVAR H S,He Liwei,CUTLER R.High-quality linear interpolation for demosaicing of Bayer-patterned color images[C].IEEE International Conference on Acoustics,Speech and Signal Processing.Montreal:IEEE,Piscataway,NJ,2004.
High-definition digital and remote sensing imaging for CMOS sensor based on FPGA
Fang Caiting,Ye Sheng,Wang Xuefeng,Yuan Chengzong,Wu Hongsong
(Shanghai Aerospace Electronic Technology Institute,Shanghai 201109,China)
To get high-quality and high-definition digital image,a remote sensing image system for CMOS sensor based on FPGA is designed.The hardware structure of the system with FPGA as its main processor is introduced at first,the detail of how to realize the function of the system and how to improve the quality of the image are described later.The FPGA design is consist of modules which including main control,sensor interface control,image preprocessing,double date rate synchronous dynamic random access(DDR2)control,video organization,etc.The validity of the design is proved by software simulation and hardware test at the end of the paper.
CMOS sensor;FPGA;image preprocess
TP212;TN791;TP391.41
A
0258-7998(2015)04-0043-03
10.16157/j.issn.0258-7998.2015.04.008
2014-11-16)
方彩婷(1982-),女,硕士,工程师,主要研究方向:图像处理、FPGA设计。
叶盛(1977-),男,本科,高级工程师,主要研究方向:信号处理。
汪雪峰(1977-),男,本科,高级工程师,主要研究方向:信号处理。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!