《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的實(shí)時(shí)MIPI CSI-2圖像采集與處理系統(tǒng)
基于FPGA的實(shí)時(shí)MIPI CSI-2圖像采集與處理系統(tǒng)
2019年電子技術(shù)應(yīng)用第1期
李先友1,趙曙光1,段永成1,王建強(qiáng)2
1.東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海201620;2.上汽大眾汽車有限公司,上海201805
摘要: 針對(duì)目前移動(dòng)嵌入式領(lǐng)域中廣泛使用的MIPI CSI-2接口,設(shè)計(jì)了一種基于Lattice FPGA的實(shí)時(shí)圖像采集與處理系統(tǒng),實(shí)現(xiàn)了高清圖像采集、Bayer格式轉(zhuǎn)換、圖像縮放、圖像倒置和飽和度調(diào)整等多種功能。通過對(duì)系統(tǒng)進(jìn)行功能驗(yàn)證與測(cè)試,表明系統(tǒng)可以穩(wěn)定地采集1080p60的圖像數(shù)據(jù),并完成相關(guān)的圖像處理功能,具有一定的實(shí)用價(jià)值。相對(duì)于其他平臺(tái),采用FPGA具有實(shí)時(shí)性高,功耗和成本低以及系統(tǒng)升級(jí)方便等優(yōu)勢(shì)。
中圖分類號(hào): TN919.3;TP274
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.181937
中文引用格式: 李先友,趙曙光,段永成,等. 基于FPGA的實(shí)時(shí)MIPI CSI-2圖像采集與處理系統(tǒng)[J].電子技術(shù)應(yīng)用,2019,45(1):97-100.
英文引用格式: Li Xianyou,Zhao Shuguang,Duan Yongcheng,et al. MIPI CSI-2 image acquisition and processing system design based on FPGA[J]. Application of Electronic Technique,2019,45(1):97-100.
MIPI CSI-2 image acquisition and processing system design based on FPGA
Li Xianyou1,Zhao Shuguang1,Duan Yongcheng1,Wang Jianqiang2
1.School of Information Science and Technology,Donghua University,Shanghai 201620,China; 2.SAIC Volkswagen Automotive Co.,Ltd.,Shanghai 201805,China
Abstract: A real-time image acquisition and processing system based on Lattice FPGA is designed for MIPI CSI-2 interface which is widely used in mobile embedded field. This system implements high-definition image acquisition, Bayer format conversion, image scaling, image inversion and saturation adjustment and other functions. It is shown that the system can stably capture 1080p60 image data and complete related image processing functions, through functional verification and testing of the system. It proves that this system has a certain practical value. Compared with other platforms, FPGA-based system has the advantages of high real-time performance, low power consumption, low cost, and easy system upgrade.
Key words : MIPI;CrossLink;FPGA;image acquisition and processing

0 引言

    為了滿足嵌入式設(shè)備中日益增長(zhǎng)的實(shí)時(shí)高清圖像傳輸?shù)膸捯?,ARM和Motorola等公司于2003年提出了移動(dòng)產(chǎn)業(yè)處理器接口(Mobile Industry Processor Interface,MIPI)協(xié)議,以替換傳統(tǒng)的并行數(shù)據(jù)接口。MIPI協(xié)議提出之初,主要有兩個(gè)應(yīng)用,分別是攝像頭串行接口[1](Camera Serial Interface,CSI)和顯示設(shè)備串行接口(Display Serial Interface,DSI)。目前,MIPI協(xié)議被廣泛地應(yīng)用于各種嵌入式設(shè)備中,如智能手機(jī)、VR、智能可穿戴設(shè)備和ADAS系統(tǒng)等。

    本文采用Lattice FPGA設(shè)計(jì)了一種實(shí)時(shí)MIPI CSI-2圖像采集與處理系統(tǒng),并可以將處理后的圖像實(shí)時(shí)地顯示在HDMI接口的顯示器上,最高可支持1080p60的分辨率。與其他平臺(tái)相比,基于FPGA設(shè)計(jì)的本系統(tǒng)在實(shí)時(shí)性、功耗和成本以及系統(tǒng)升級(jí)等方面具有一定的優(yōu)勢(shì)。

1 系統(tǒng)硬件體系結(jié)構(gòu)

    本系統(tǒng)基于Lattice官方的嵌入式視覺開發(fā)套件(Embedded Vision Development Kit,EVDK)設(shè)計(jì),該套件一共有三層電路板,分別為MIPI CSI-2橋接板、ECP5圖像處理開發(fā)板和HDMI橋接板。其中,MIPI CSI-2橋接板上集成了索尼的IMX214攝像頭和Lattice CrossLink系列FPGA[2];ECP5圖像處理開發(fā)板上集成了Lattice ECP5系列FPGA和DDR3內(nèi)存顆粒;HDMI橋接板上采用的是Silicon Image公司的Sil1136專用標(biāo)準(zhǔn)產(chǎn)品(Application Specific Standard Parts,ASSP)[3],用于將并行RGB數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)的HDMI信號(hào)輸出至顯示器。

    設(shè)計(jì)中,采用CrossLink對(duì)IMX214輸出的MIPI CSI-2數(shù)據(jù)進(jìn)行采集,并完成協(xié)議解析、字節(jié)到像素轉(zhuǎn)換等功能。隨后將得到的Bayer格式的數(shù)據(jù),以及相應(yīng)的幀有效信號(hào)(Frame Valid,F(xiàn)V)與行有效信號(hào)(Line Valid,LV)發(fā)送至ECP5圖像處理開發(fā)板。ECP5接收來自CrossLink的Bayer格式數(shù)據(jù)后,依次進(jìn)行線性對(duì)比度展寬、白平衡、去除壞點(diǎn)、Bayer格式轉(zhuǎn)RGB格式、圖像縮放、圖像倒置、飽和度調(diào)整和Gamma矯正等操作。隨后,將處理后的數(shù)據(jù)以并行RGB的形式發(fā)送至Sil1136 HDMI橋接板。CrossLink和ECP5的內(nèi)部邏輯功能框圖分別如圖1和圖2所示。

qrs3-t1.gif

qrs3-t2.gif

    本系統(tǒng)的硬件體系結(jié)構(gòu)圖如圖3所示,ECP5除了實(shí)現(xiàn)了圖像處理功能之外,還分別通過攝像頭控制接口(Camera Control Interface,CCI)和I2C接口對(duì)索尼IMX214攝像頭和Sil1136 ASSP進(jìn)行配置。

qrs3-t3.gif

2 FPGA模塊設(shè)計(jì)

2.1 CrossLink MIPI CSI-2接收模塊設(shè)計(jì)

    如圖4所示,MIPI CSI-2接口有高速和低功耗兩種模式,高速模式下的電平標(biāo)準(zhǔn)為可配置低壓信號(hào)[4](Scalable Low Voltage Signaling,SLVS),其共模電壓為200 mV,擺幅也是200 mV;而低功耗模式的電平標(biāo)準(zhǔn)為L(zhǎng)VCMOS 1.2 V。如果采用普通FPGA來連接MIPI CSI-2接口,一般需要兩對(duì)IO來分別處理高速模式和低功耗模式,而采用Lattice最新推出的CrossLink器件,則可以將其與CrossLink的MIPI專用IO直接相連接。

qrs3-t4.gif

    由于MIPI CSI-2是一種高速串行差分接口,發(fā)送端與接收端之間的不同信號(hào)線的長(zhǎng)度要盡可能地相等。然而,即使PCB嚴(yán)格地按照等長(zhǎng)差分線設(shè)計(jì),也難以保證不同信號(hào)線上的信號(hào)在同一時(shí)刻到達(dá)接收端[5]。因此,接收端需要對(duì)接收到的串行數(shù)據(jù)進(jìn)行對(duì)齊操作。如圖5所示,CrossLink對(duì)MIPI CSI-2串行輸入依次進(jìn)行了字節(jié)對(duì)齊操作和通道對(duì)齊操作,圖中的B8是MIPI CSI-2協(xié)議中的同步識(shí)別碼,表示每次傳輸?shù)臄?shù)據(jù)包的開頭。

qrs3-t5.gif

    如圖1所示,MIPI D-PHY CSI-2接收模塊將對(duì)齊后的數(shù)據(jù)經(jīng)過跨時(shí)鐘域FIFO輸出至?xí)r序控制模塊和字節(jié)到像素轉(zhuǎn)換模塊。字節(jié)到像素轉(zhuǎn)換模塊將索尼IMX214攝像頭輸出的10位Bayer格式(即RAW10)的字節(jié)數(shù)據(jù)轉(zhuǎn)換為10位并行的像素?cái)?shù)據(jù)后輸出。

2.2 ECP5圖像處理模塊設(shè)計(jì)

    由于直接接收到的圖像數(shù)據(jù)均值很?。ū憩F(xiàn)為圖像很暗),且可能會(huì)存在極個(gè)別像素為壞點(diǎn)的情況,因此,ECP5對(duì)接收自CrossLink的像素?cái)?shù)據(jù)首先進(jìn)行了線性對(duì)比度展寬(又稱分段線性映射)、白平衡調(diào)整和壞點(diǎn)去除處理。

    如圖6所示,Bayer格式的圖像數(shù)據(jù)中每一個(gè)像素僅僅包括了光譜的一部分,因此必須通過插值來得到每個(gè)像素的RGB值。本設(shè)計(jì)中采用了常見的鄰域插值算法來實(shí)現(xiàn)Bayer格式到RGB格式的轉(zhuǎn)換。

qrs3-t6.gif

    為了適配顯示器的分辨率,本設(shè)計(jì)還在ECP5中實(shí)現(xiàn)了圖像縮放模塊,可將1080p(1 920×1 080)轉(zhuǎn)化為任意分辨率(如1 280×720、2 048×1 536等)。圖像縮放算法的核心就是插值算法,常見的插值算法有最近鄰插值法、9點(diǎn)插值法、雙線性插值法和雙立方插值法等。其中最近鄰插值法和9點(diǎn)插值法相對(duì)簡(jiǎn)單,但是效果也較為一般,如果縮放比例過大會(huì)導(dǎo)致嚴(yán)重的馬賽克或者失真現(xiàn)象。雙立方算法最為復(fù)雜,效果也最好,但是會(huì)耗費(fèi)較多的FPGA邏輯資源。綜合效果和資源兩方面,本設(shè)計(jì)采用的是雙線性插值,該算法的基本原理如下:

    假設(shè)某個(gè)目標(biāo)像素地址對(duì)應(yīng)的源像素地址的浮點(diǎn)坐標(biāo)為P(i+u,j+v),其中i和j為浮點(diǎn)坐標(biāo)的整數(shù)部分,u和v為浮點(diǎn)坐標(biāo)的小數(shù)部分。如圖7所示,則該像素的值F(i+u,j+v)可由原圖像中坐標(biāo)為Q11(i,j)、Q21(i+1,j)、Q12(i,j+1)和Q22(i+1,j+1)的四個(gè)像素值確定:

     qrs3-gs1.gif

qrs3-t7.gif

    圖像倒置和幀率轉(zhuǎn)換需要至少緩存兩幀的圖像像素值,而ECP5中的嵌入式塊RAM(Embedded Block RAM,EBR)資源不足以緩存下這么多的數(shù)據(jù),因此需要借助外部的DDR3 SDRAM存儲(chǔ)。圖像倒置和幀率轉(zhuǎn)換的功能框圖如圖8所示,數(shù)據(jù)先通過寫入FIFO,完成跨時(shí)鐘域轉(zhuǎn)換,然后借助Lattice的DDR3 SDRAM控制器IP完成對(duì)開發(fā)板上的兩個(gè)Micron DDR3 SDRAM顆粒的讀寫,最后通過讀取FIFO輸出數(shù)據(jù)。此外,還可以通過配置信號(hào)使能或者禁止這兩個(gè)功能,以及修改相關(guān)的參數(shù)等。幀率轉(zhuǎn)換模塊可以將每秒30幀的圖像轉(zhuǎn)換為每秒60幀,或者將每秒60幀轉(zhuǎn)換為每秒30幀。

qrs3-t8.gif

    飽和度調(diào)整模塊可以對(duì)像素的RGB值同時(shí)進(jìn)行調(diào)整,可以只對(duì)其中的一個(gè)或者多個(gè)進(jìn)行調(diào)整。其基本原理如式(2)所示,對(duì)RGB值分別乘以某一個(gè)系數(shù),然后再減去某個(gè)值,從而到達(dá)對(duì)特定色彩鮮艷度的調(diào)整。

    qrs3-gs2.gif

    由于在某些顯示器中,電流與電壓并不是一個(gè)線性的關(guān)系,這會(huì)導(dǎo)致暗區(qū)的像素要比實(shí)際情況更暗,而亮區(qū)要比實(shí)際情況更亮。為了能夠較好地還原實(shí)際的圖像,設(shè)計(jì)中還實(shí)現(xiàn)了伽馬校正(Gamma Correction)的功能。伽馬校正的基本原理如式(3)所示,其中Po表示校正之后的值,Pi為輸入的像素值,γ為伽馬系數(shù)值。

    qrs3-gs3.gif

    為了便于在FPGA中實(shí)現(xiàn),可以對(duì)式(3)稍作處理。如式(4)所示,其中b表示像素值的位寬。

    qrs3-gs4.gif

3 系統(tǒng)驗(yàn)證與結(jié)果分析

    為了驗(yàn)證系統(tǒng)的功能,將索尼IMX214配置為1 920×1 080,60 Hz,RAW10格式輸出。通過Lattice Diamond中的Reveal工具采集ECP5中的相關(guān)輸入輸出信號(hào)波形圖。由于MIPI CSI-2輸入信號(hào)屬于專用IO信號(hào),無法直接使用Reveal采集,因此借助Active HDL軟件對(duì)CrossLink中的設(shè)計(jì)進(jìn)行仿真,以獲得相關(guān)信號(hào)波形。并通過禁止(或者使能)相關(guān)模塊功能,對(duì)比輸出圖像的效果。

3.1 CrossLink相關(guān)信號(hào)波形圖

    CrossLink的仿真波形圖如圖9所示,其中csi_clk_p為MIPI CSI-2輸入時(shí)鐘信號(hào),為連續(xù)模式(Continuous Mode)。csi_d0_p、csi_d1_p、csi_d2_p和csi_d3_p為MIPI CSI-2的四個(gè)數(shù)據(jù)輸入通道(Data Lane)。fv為幀有效信號(hào),lv為行有效信號(hào),pixdata為 RAW10格式的像素?cái)?shù)據(jù)輸出。

qrs3-t9.gif

3.2 ECP5相關(guān)信號(hào)波形圖

    ECP5的Reveal采集波形圖如圖10所示,其中CSI2_sens_fv為CrossLink輸出的幀有效信號(hào),CSI2_sens_lv為行有效信號(hào),CSI2_sens_data為RAW10格式的像素?cái)?shù)據(jù)。vsync和hsync分別為幀同步信號(hào)和行同步信號(hào),data_enable為數(shù)據(jù)有效信號(hào)。pix_red、pix_green和pix_blue分別為輸出的像素的RGB值信號(hào)。

qrs3-t10.gif

3.3 圖像處理效果對(duì)比圖

    圖像處理效果對(duì)比圖如圖11所示,為了保證顯示效果,在測(cè)試過程中,Bayer轉(zhuǎn)RGB模塊和Gamma校正模塊一直處于使能的狀態(tài)。其中圖11(a)為原圖,即未使用白平衡、線性對(duì)比度展寬、圖像縮放與倒置、飽和度調(diào)整等模塊;圖11(b)為僅使用白平衡和線性對(duì)比度展寬模塊所獲得的圖像;圖11(c)為使用了飽和度調(diào)整之后的圖像;圖11(d)為使用了圖像縮放與倒置之后的圖像。

qrs3-t11.gif

    通過對(duì)比,可以發(fā)現(xiàn)IMX214直接輸出的像素信號(hào)值很小,因此顯示的畫面很暗。經(jīng)過線性對(duì)比度展寬等模塊的處理后,圖像又顯得過亮,且色彩不夠鮮艷。再經(jīng)過飽和度調(diào)整模塊處理后,圖像取得了較好的色彩效果。最后,圖像倒置模塊也成功地對(duì)圖像完成了倒置的操作。

4 結(jié)論

    本文設(shè)計(jì)并基于Lattice FPGA實(shí)現(xiàn)了一個(gè)實(shí)時(shí)的高清圖像采集與處理系統(tǒng)。其最高可采集1080p60的實(shí)時(shí)圖像,并完成一系列的實(shí)時(shí)圖像處理功能。由于采用了模塊化的設(shè)計(jì)思想,使得其具有良好的可擴(kuò)展性和可裁剪性。基于本設(shè)計(jì),稍加改動(dòng)還可以完成例如邊緣檢測(cè)、圖像分割與拼接等常規(guī)的圖像處理功能。表明本系統(tǒng)具有良好的靈活性與較高的實(shí)用價(jià)值。

參考文獻(xiàn)

[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簡(jiǎn)介及信號(hào)和協(xié)議測(cè)試方法[J].國(guó)外電子測(cè)量技術(shù),2012,31(3):11-15.



作者信息:

李先友1,趙曙光1,段永成1,王建強(qiáng)2

(1.東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海201620;2.上汽大眾汽車有限公司,上海201805)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。