摘要:任何类型的图像传感器都存在着不可避免的非均匀性问题,非均匀性直接影响了传感器的成像质量及其应用范围. 为此,本文讨论了多点校正方法的原理和算法,设计了基于复杂可编程逻辑器件(CPLD)的非均匀性校正实现方案,并针对CL512J型自扫描光电二极管阵列( SSPA)图像传感器进行了实时多点校正实验. 结果表明,该校正系统能够将CL512J的非均匀性从40%降到2%.
关键词:图像传感器;非均匀性;复杂可编程逻辑器件自扫描光电二极管阵列
图像传感器是现代视觉信息获取的一种基础器件,它将入射到光敏面上按空间分布的光强信息转换为按时序输出的视频信号,从而能够再现物体的图像信息. 在理想的情况下,当图像传感器受均匀光照时,各光敏元输出的视频信号幅度应该完全相同. 但实际上,由于制作器件的工艺水平、1/f 噪声、光学系统以及电荷传输效率等诸多因素的影响,产生了非均匀性问题,使得在相同的辐照度下,每个光敏元的响应度不可能完全一致,甚至有较大的差异 .
图像传感器的非均匀性直接影响了成像系统的探测灵敏度和空间分辨率,用这样的成像装置观察景物,成像质量必然受到影响,甚至图像会模糊不清. 因此,必须对非均匀性进行校正. 尽管针对非均匀性校正的研究多种多样,但目前在商业上有推广价值的还是2点法,和工程师们的着眼点依然是修正和完善2点法,如提高和算法处理速度. 此外,一些非线性校正方法,如神经网络校正法、时域高通滤波器法还处于实验室研究阶段.
图像传感器光敏元的光电转换特性曲线反映了其输出(U )与辐照度(H)之间的关系,因此,非均匀性体现为各个光敏元具有各不相同的光电转换曲线. 非均匀性校正的终目的就是通过校正处理使得图像传感器所有光敏元表现出完全相同的光电转换关系. 2点法是在光敏元的输出与辐照度成线性关系的前提下建立的,它以某一直线作为标准,通过选择合适的斜率和偏置校正系数,将所有光敏元的转换特性均校正为与标准直线重合(即有相同的线性函数) ,从而使所有的光敏元在相同的辐照度下,有相同的输出.
实际上,光敏元的输出与辐照度两者之间通常被认为服从抛物线模型. 显然, 2点法所采用的线性近似是比较粗糙的,使其应用范围局限于图像传感器光电转换线性较好或工作范围较窄的情况. 为此,笔者引入了多点校正方法,该方法将整个饱和辐照度区域划分成若干子区域,每个子区域的光敏元输出与辐照度的关系采用线性函数表示,从而能够更好地逼近抛物线模型,并将图像传感器的工作范围扩展到整个饱和辐照度区域. 为实现多点校正法,笔者设计了基于复杂可编程逻辑器件的硬件校正实现方案,实验表明,该校正系统可将图像传感器CL512J的非均匀度由40%校正到2%. 因此,多点校正法及其实现系统能在不提高制造工艺和进一步研究光敏元结构的基础上,有效地降低图像传感器的非均匀性,获得较为理想的图像质量.
1 非均匀性多点校正法
如果直接利用光电转换关系的抛物线模型进行校正,硬件实现较为困难. 因此,引入多点校正法,利用分段线性函数来逼近非线性响应关系,即将整个饱和辐照度区域划分成若干个子区域,每个子区域的光电转换关系采用线性函数逼近,然后分别对每个子区域采用2点法进行校正处理. 显然,多点校正法是2点校正法的扩展. 假设进行n点校正, 图1给出了在辐照度子区域(Hj, Hj+1 ) ( j = 1, ., n - 1; Hj+1>Hj )的校正示意图.
图1 2点校正法示意图
图中,直线a和b分别表示图像传感器中a和b 2个光敏元在(Hj , Hj+1 )区域内的光电转换特性的逼近直线,直线c表示校正后2个光敏元的转换特性.
从图1可看出,在Hj和Hj+1辐照度下,校正前a和b光敏元的视频输出值分别为Uaj、Ua(j+1) 、Ubj和Ub(j+1) . 由于非均匀性的存在,使得Uaj ≠Ubj、U a (j+1) ≠U b(j+1) . 校正后, a和b 2个光敏元在H j和H j+1辐照度下,均分别有相同的输出: Ucj和Uc(j+1) . 同时也保证了在(Hj , Hj+1 )区域内,相同辐照度下2个光敏元均有相同的输出. 直线i ( i = a, b)可表示为:
式中, Uij为i光敏元校正前的输出; Kij、bij分别为对应直线的斜率和偏置常数为使a和b光敏元的转换特性经校正后均表现为直线c所表示的转换关系,按以下2式选择斜率校正系数Gij和偏置校正系数Cij.
式(2)中, Kc为常数, 表示直线c的斜率. 对Kc的选择具有很强的随意性, 通常选取所有光敏元中斜率的光电转换直线或者取过2个不同光照下各个光敏元的算术平均值的直线作为标准. 笔者则以获取尽可能大的Gij作为标准, 因此, 由Gij (取值可为250)和(Ui(j+1) - Uij )值可确定(Uc(j+1) - Ucj )值的范围,从而确定Kc值. 同时保证校正后的视频输出值在饱和辐照度范围内随辐照度增强而增大.
式(3)中,Mj为常数. 在保证光电转换曲线分段线性化后的连续性和单值性的情况下,Mj值等于分段点Hj校正后的视频电压值. 同时, 结合Uij以及选择合适的Gij ,保证获取尽可能大Cij. 因此,校正后的视频输出Uc可表示为:
将式(1) 、式(2)和式(3)代入式(4) ,经整理后得:
可见,因为Kc、Mj和Hj均为常数, 经过校正处理后, 在同一辐照度下, 2个光敏元都有相同的视频输出电压并且输出电压值与辐照度大小成一一对应的线性关系. 同理,对有m 个光敏元的传感器采用上述校正原理和校正算法可实现其非均匀性校正.
此外,由于不同图像传感器的光电转换曲线各不相同,所以,在辐照度区域的划分时,各边界点应根据具体传感器的特性加以选择,不能一概而论. 笔者所采取的选取原则是,采用实验测取数据,拟合出曲线的大致变化情况,再进行辐照度区域划分.
2 非均匀性校正系统实现
2. 1 硬件设计
目前,在非均匀性校正的硬件实现上,采用的都是1点或2点校正法. 电路由计数器、存储器、A /D转换器和D /A转换器等器件组成 . 通常,只能针对某个特定型号的图像传感器进行电路板制作,扩展性较差,而且,电路工作频率较低. 采用这些器件很难实现多点实时校正.
为了实现非均匀性多点实时校正,笔者设计了基于复杂可编程逻辑器件(CPLD)的校正系统. 该系统以CPLD EPM7512AE为,包括输入和输出信号调理电路、高速A/D采样单元、D/A转换单元和FLASH存储器等功能模块. 系统结构如图2所示.
图2 校正系统结构图
校正系统通过输入信号调理单元将接收到的图像传感器视频输出信号进行预处理,将信号调整到A/D转换器(ADC) TLV5580的采样电压范围内.系统控制CPLD接收图像传感器工作信号,根据视频信号串行输出的规律,产生控制TLV5580工作的时钟信号和转换数据输出使能信号,从而控制TLV5580对经过调理的视频信号进行采样量化,并将量化后的数字信号实时读入CPLD. 同时, CPLD 从FLASH存储器W29C040的相应单元中读出斜率和偏置校正系数,实现式(4)描述的校正算法,完成对各个视频信号的实时非均匀性校正.
CPLD还产生D/A转换器(DAC) TL5632C工作时钟信号,控制TL5632C将校正后的数字信号实时地转换成模拟信号,并由输出信号调理单元将该模拟信号调理为一个范围合适的电压信号作为校正系统的输出(即经过校正的视频信号).
2. 2 CPLD设计思想
作为控制的CPLD是一种半定制器件,它的优点就是采用编程的方式定制其具体实现的硬件电路,指定CPLD的硬件实现功能. 笔者主要采用硬件描述语言VHDL,并结合原理图方式在MAX + PLUSⅡ集成开发环境下进行CPLD 功能的设计. 采用VHDL语言的设计方法,可实现器件的无关性,并且功能实现灵活、修改方便. CPLD的应用以及VHDL设计方法的使用为校正系统能灵活地适用于不同图像传感器的校正以及实现不同的校正算法提供了可能和保证.
根据系统校正功能要求及工作流程, CPLD 实现的功能主要包括:
1) 分频器. 分频器对晶振信号进行分频,产生校正系统协调工作的时钟基准信号. 分频器采用VHDL进行设计,可以根据不同的晶振、不同的图像传感器工作频率,灵活、方便地选择不同的分频数,产生合适的时钟基准信号.
2) ADC控制信号发生模块. 该模块采用VHDL进行设计,根据分频器产生的时钟基准信号和图像传感器的工作信号,产生能够准确控制TLV5580工作的时钟信号和转换数据输出使能信号,保证TLV5580实时、准确地采集经过调理后的视频输出信号.
3) 地址发生器. 地址发生器产生读取FLASH存储器中斜率和偏置校正系数的地址信号. 由于每个光敏元在每个辐照度子区域有一组数据(一个斜率校正系数和一个偏置校正系数) ,为了方便读取,将同一辐照度子区域的所有光敏元的校正系数按照在图像传感器中的相对位置顺序存储. 所以,同一光敏元在不同子区域下的数据地址,高位地址不同,低位地址则完全相同;同一子区域内不同光敏元的数据地址,则高位相同,低位不同. 因此,地址发生器由2部分构成:高位地址发生器和低位地址发生器.
高位地址发生器实质上是一个比较器,确定当前图像传感器所测量的辐照度所处的子区域. 其设计思想是:将采集到的第1个光敏元的视频信号和预先设定的对应于每段辐照度子区域的边界值进行比较,根据比较的结果产生相应的高位地址. 由于采用并行执行的指令来实现,能够很好地满足实时处理的要求.低位地址发生器根据视频信号逐一串行输出的特点以及TLV5580工作特点(每个工作时钟采集1个光敏元的输出信号)进行设计,实质上是一个计数器,只需对TLV5580工作时钟信号进行计数,就能产生相应的低位地址.
4) 校正模块. 由乘法和加法2个子模块构成,分别采用MAX + PLUS Ⅱ提供的功能单元LPM_MULT和LPM_ADD_SUB来实现. 校正模块将采集到的视频信号以及从FLASH存储器读取的相应校正系数按照式(4)进行处理,实现图像传感器的实时非均匀性校正.
5) DAC控制信号发生模块. 产生控制TL5632C工作的时钟信号,指挥TL5632C实时地将校正后的数字视频信号转换为模拟信号.
由于非均匀性校正功能的实现对时序要求严格,在程序的设计中,一定要注意时序的合理性. 将程序编写出来后,首先进行了仿真实验,在得到期望的工作波形数据后,进行逻辑综合生成网络表和文件,将程序文件到EPM7512AE中,以便进行下一步对图像传感器非均匀性校正指标的测试.
3 实验结果
笔者以重庆大学研制的CL512J型自扫描光电二极管阵列( SSPA)图像传感器作为对象,进行6点非均匀性实时校正的实验. CL512J是一种具有512个光敏元的线阵列图像传感器. 其工作波形如图3所示,以起始脉冲S信号(低电平有效)表示每扫描输出的开始. 光敏元的视频输出电压Uo 与时钟信号CP同步,在CP的上升沿时刻开始输出,经过短暂的上升时间后,稳定下来;在CP为低电平时,输出变为0. 因此,将S和CP信号引入校正系统作为CPLD产生各种控制信号的基本依据.在实验中, 首先通过数据采集卡和计算机, 将 CL512J 的校正系数计算出来, 按指定地址保存在FLASH存储器中.
图3 CL512J工作波形
然后, 在MAX + PLUS Ⅱ开发环境下, 根据CL512J的具体情况(光敏元个数、工作频率、视频信号串行输出的特点等) ,设计出相应的程序,经过仿真验证后,将程序文件到CPLD中.,将CL512J的视频信号接入校正系统,并利用示波器观察校正前后的视频电压波形. 图4给出了一个实时校正的实验结果,上面一条曲线是CL512J实际的视频输出信号,下面一条是经过校正后的视频信号. 校正前, 输出信号值为2V, 值不足0. 8V,非均匀性超过40%. 校正后,电压信号在2V附近变化,非均匀性约为2%. 由于TLV5580等器件的工作特点,校正信号延迟约5个CP时钟后输出.
图4 不均匀性校正实验结果图
4 结束语
设计的非均匀性校正算法以及硬件校正系统,能够有效地实现图像传感器的多点实时非均匀性校正.采用CPLD作为构成的校正系统具有功耗低、抗干扰能力强、功能实现方便和扩展灵活等优点,能够有效地适用于多种图像传感器的校正.
但是,由于存在光电转换曲线分段线性化误差、A/D转换器和D/A转换器等器件转换问题以及实验条件的限制等客观原因,影响了图像传感器非均匀性校正效果的进一步提高.
参考文献:
[1]. CPLD datasheet https://www.dzsc.com/datasheet/CPLD_1136600.html.
[2]. W29C040 datasheet https://www.dzsc.com/datasheet/W29C040_702593.html.