logo资料库

基于FPGA的实时MIPI CSI-2图像采集与处理系统.pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
基于基于FPGA的实时的实时MIPI CSI-2图像采集与处理系统 图像采集与处理系统 针对目前移动嵌入式领域中广泛使用的MIPI CSI-2接口,设计了一种基于Lattice FPGA的实时图像采集与处理系 统,实现了高清图像采集、Bayer格式转换、图像缩放、图像倒置和饱和度调整等多种功能。通过对系统进行功 能验证与测试,表明系统可以稳定地采集1080p60的图像数据,并完成相关的图像处理功能,具有一定的实用价 值。相对于其他平台,采用FPGA具有实时性高,功耗和成本低以及系统升级方便等优势。 0 引言引言 为了满足嵌入式设备中日益增长的实时高清图像传输的带宽要求,ARM和Motorola等公司于2003年提出了移动产业处理器 接口(Mobile Industry Processor Interface,MIPI)协议,以替换传统的并行数据接口。MIPI协议提出之初,主要有两个应 用,分别是摄像头串行接口[1](Camera Serial Interface,CSI)和显示设备串行接口(Display Serial Interface,DSI)。目 前,MIPI协议被广泛地应用于各种嵌入式设备中,如智能手机、VR、智能可穿戴设备和ADAS系统等。 本文采用Lattice FPGA设计了一种实时MIPI CSI-2图像采集与处理系统,并可以将处理后的图像实时地显示在HDMI接口的 显示器上,最高可支持1080p60的分辨率。与其他平台相比,基于FPGA设计的本系统在实时性、功耗和成本以及系统升级等 方面具有一定的优势。 1 系统硬件体系结构 系统硬件体系结构 本系统基于Lattice官方的嵌入式视觉开发套件(Embedded Vision Development Kit,EVDK)设计,该套件一共有三层电 路板,分别为MIPI CSI-2桥接板、ECP5图像处理开发板和HDMI桥接板。其中,MIPI CSI-2桥接板上集成了索尼的IMX214摄 像头和Lattice CrossLink系列FPGA[2];ECP5图像处理开发板上集成了Lattice ECP5系列FPGA和DDR3内存颗粒;HDMI桥接 板上采用的是Silicon Image公司的Sil1136专用标准产品(Application Specific Standard Parts,ASSP)[3],用于将并行RGB 数据转换成标准的HDMI信号输出至显示器。 设计中,采用CrossLink对IMX214输出的MIPI CSI-2数据进行采集,并完成协议解析、字节到像素转换等功能。随后将得到 的Bayer格式的数据,以及相应的帧有效信号(Frame Valid,FV)与行有效信号(Line Valid,LV)发送至ECP5图像处理开 发板。ECP5接收来自CrossLink的Bayer格式数据后,依次进行线性对比度展宽、白平衡、去除坏点、Bayer格式转RGB格 式、图像缩放、图像倒置、饱和度调整和Gamma矫正等操作。随后,将处理后的数据以并行RGB的形式发送至Sil1136 HDMI 桥接板。CrossLink和ECP5的内部逻辑功能框图分别如图1和图2所示。 本系统的硬件体系结构图如图3所示,ECP5除了实现了图像处理功能之外,还分别通过摄像头控制接口(Camera Control Interface,CCI)和I2C接口对索尼IMX214摄像头和Sil1136 ASSP进行配置。
2 FPGA模块设计 模块设计 2.1 CrossLink MIPI CSI-2接收模块设计 接收模块设计 如图4所示,MIPI CSI-2接口有高速和低功耗两种模式,高速模式下的电平标准为可配置低压信号[4](Scalable Low Voltage Signaling,SLVS),其共模电压为200 mV,摆幅也是200 mV;而低功耗模式的电平标准为LVCMOS 1.2 V。如果采用普通 FPGA来连接MIPI CSI-2接口,一般需要两对IO来分别处理高速模式和低功耗模式,而采用Lattice最新推出的CrossLink器 件,则可以将其与CrossLink的MIPI专用IO直接相连接。 由于MIPI CSI-2是一种高速串行差分接口,发送端与接收端之间的不同信号线的长度要尽可能地相等。然而,即使PCB严 格地按照等长差分线设计,也难以保证不同信号线上的信号在同一时刻到达接收端[5]。因此,接收端需要对接收到的串行数据 进行对齐操作。如图5所示,CrossLink对MIPI CSI-2串行输入依次进行了字节对齐操作和通道对齐操作,图中的B8是MIPI CSI-2协议中的同步识别码,表示每次传输的数据包的开头。 如图1所示,MIPI D-PHY CSI-2接收模块将对齐后的数据经过跨时钟域FIFO输出至时序控制模块和字节到像素转换模块。 字节到像素转换模块将索尼IMX214摄像头输出的10位Bayer格式(即RAW10)的字节数据转换为10位并行的像素数据后输出。 2.2 ECP5图像处理模块设计 图像处理模块设计 由于直接接收到的图像数据均值很小(表现为图像很暗),且可能会存在极个别像素为坏点的情况,因此,ECP5对接收自 CrossLink的像素数据首先进行了线性对比度展宽(又称分段线性映射)、白平衡调整和坏点去除处理。 如图6所示,Bayer格式的图像数据中每一个像素仅仅包括了光谱的一部分,因此必须通过插值来得到每个像素的RGB值。 本设计中采用了常见的邻域插值算法来实现Bayer格式到RGB格式的转换。
为了适配显示器的分辨率,本设计还在ECP5中实现了图像缩放模块,可将1080p(1 920×1 080)转化为任意分辨率(如1 280×720、2 048×1 536等)。图像缩放算法的核心就是插值算法,常见的插值算法有最近邻插值法、9点插值法、双线性插 值法和双立方插值法等。其中最近邻插值法和9点插值法相对简单,但是效果也较为一般,如果缩放比例过大会导致严重的马 赛克或者失真现象。双立方算法最为复杂,效果也最好,但是会耗费较多的FPGA逻辑资源。综合效果和资源两方面,本设计 采用的是双线性插值,该算法的基本原理如下: 假设某个目标像素地址对应的源像素地址的浮点坐标为P(i+u,j+v),其中i和j为浮点坐标的整数部分,u和v为浮点坐标的小 数部分。如图7所示,则该像素的值F(i+u,j+v)可由原图像中坐标为Q11(i,j)、Q21(i+1,j)、Q12(i,j+1)和Q22(i+1,j+1)的四个 像素值确定: 图像倒置和帧率转换需要至少缓存两帧的图像像素值,而ECP5中的嵌入式块RAM(Embedded Block RAM,EBR)资源不足 以缓存下这么多的数据,因此需要借助外部的DDR3 SDRAM存储。图像倒置和帧率转换的功能框图如图8所示,数据先通过 写入FIFO,完成跨时钟域转换,然后借助Lattice的DDR3 SDRAM控制器IP完成对开发板上的两个Micron DDR3 SDRAM颗粒 的读写,最后通过读取FIFO输出数据。此外,还可以通过配置信号使能或者禁止这两个功能,以及修改相关的参数等。帧率 转换模块可以将每秒30帧的图像转换为每秒60帧,或者将每秒60帧转换为每秒30帧。
饱和度调整模块可以对像素的RGB值同时进行调整,可以只对其中的一个或者多个进行调整。其基本原理如式(2)所示, 对RGB值分别乘以某一个系数,然后再减去某个值,从而到达对特定色彩鲜艳度的调整。 由于在某些显示器中,电流与电压并不是一个线性的关系,这会导致暗区的像素要比实际情况更暗,而亮区要比实际情况 更亮。为了能够较好地还原实际的图像,设计中还实现了伽马校正(Gamma Correction)的功能。伽马校正的基本原理如式 (3)所示,其中Po表示校正之后的值,Pi为输入的像素值,γ为伽马系数值。 为了便于在FPGA中实现,可以对式(3)稍作处理。如式(4)所示,其中b表示像素值的位宽。 3 系统验证与结果分析 系统验证与结果分析 为了验证系统的功能,将索尼IMX214配置为1 920×1 080,60 Hz,RAW10格式输出。通过Lattice Diamond中的Reveal工 具采集ECP5中的相关输入输出信号波形图。由于MIPI CSI-2输入信号属于专用IO信号,无法直接使用Reveal采集,因此借助 Active HDL软件对CrossLink中的设计进行仿真,以获得相关信号波形。并通过禁止(或者使能)相关模块功能,对比输出图 像的效果。 3.1 CrossLink相关信号波形图 相关信号波形图 CrossLink的仿真波形图如图9所示,其中csi_clk_p为MIPI CSI-2输入时钟信号,为连续模式(Continuous Mode)。 csi_d0_p、csi_d1_p、csi_d2_p和csi_d3_p为MIPI CSI-2的四个数据输入通道(Data Lane)。fv为帧有效信号,lv为行有效信 号,pixdata为 RAW10格式的像素数据输出。 3.2 ECP5相关信号波形图 相关信号波形图 ECP5的Reveal采集波形图如图10所示,其中CSI2_sens_fv为CrossLink输出的帧有效信号,CSI2_sens_lv为行有效信 号,CSI2_sens_data为RAW10格式的像素数据。vsync和hsync分别为帧同步信号和行同步信号,data_enable为数据有效信 号。pix_red、pix_green和pix_blue分别为输出的像素的RGB值信号。
3.3 图像处理效果对比图 图像处理效果对比图 图像处理效果对比图如图11所示,为了保证显示效果,在测试过程中,Bayer转RGB模块和Gamma校正模块一直处于使能 的状态。其中图11(a)为原图,即未使用白平衡、线性对比度展宽、图像缩放与倒置、饱和度调整等模块;图11(b)为仅 使用白平衡和线性对比度展宽模块所获得的图像;图11(c)为使用了饱和度调整之后的图像;图11(d)为使用了图像缩放 与倒置之后的图像。 通过对比,可以发现IMX214直接输出的像素信号值很小,因此显示的画面很暗。经过线性对比度展宽等模块的处理后,图 像又显得过亮,且色彩不够鲜艳。再经过饱和度调整模块处理后,图像取得了较好的色彩效果。最后,图像倒置模块也成功地 对图像完成了倒置的操作。 4 结论结论 本文设计并基于Lattice FPGA实现了一个实时的高清图像采集与处理系统。其最高可采集1080p60的实时图像,并完成一系 列的实时图像处理功能。由于采用了模块化的设计思想,使得其具有良好的可扩展性和可裁剪性。基于本设计,稍加改动还可 以完成例如边缘检测、图像分割与拼接等常规的图像处理功能。表明本系统具有良好的灵活性与较高的实用价值。 参考文献 参考文献 [1] MIPI Alliance,Inc.MIPI alliance specification for camera serial interface 2(CSI-2)[Z].2009. [2] Lattice Semiconductor.CrossLink family data sheet[Z].2018. [3] Lattice Semiconductor. Sil9136-3/Sil1136 HDMI deep color transmitter data sheet[Z].2018. [4] MIPI Alliance,Inc.MIPI alliance specification for D-PHY[Z].2009. [5] 李凯.MIPI CSI/DSI简介及信号和协议测试方法[J].国外电子测量技术,2012,31(3):11-15.
作者信息: 作者信息 李先友1,赵曙光1,段永成1,王建强2 (1.东华大学 信息科学与技术学院,上海201620;2.上汽大众汽车有限公司,上海201805)
分享到:
收藏