何 偉,趙 海,張 玲
(重慶大學通信工程學院,重慶400030)
隨著CCD制造、圖像處理、網絡傳輸等技術的不斷發展,數字圖像采集系統已廣泛應用于交通取證、安防監控等領域。由于傳統低分辨率圖像質量較差,畫面較模糊、細節不夠明顯常導致違章證據不夠充分而給交通民警執法帶來爭議。高清攝像頭記錄的交通違章車輛圖片清晰直觀、違章事實清楚、證據性強,能有效解決這一問題。同時也給圖像處理速度和網絡傳輸速率提出了較高的要求,因此,設計了一種基于千兆以太網的高清電子警察取證系統。與傳統電子警察取證系統相比具有圖片清晰直觀、傳輸快速準確、系統集成度高等優點。
電子警察取證系統主要由視頻采集模塊、圖像處理模塊、千兆以太網傳輸模塊三部分組成,系統組成如圖1所示。其中高清視頻采集模塊由ICX274與AD9923A組成;圖像處理模塊由FPGA實現;千兆物理層芯片采用RTL8212芯片。

圖1 系統硬件結構框圖Fig 1 Block diagram of system hardware structure
FPGA通過SPI口配置視頻采集模塊AD9923A的寄存器得到CCD驅動時序,使CCD正常采集圖像,經A/D轉換后把數據送給圖像處理模塊;FPGA將采集到的圖像進行格式轉換、校正、幀打包以及媒體訪問協議的實現后將數據送給千兆以太網傳輸模塊;傳輸模塊將數據通過千兆物理層芯片發送到交通控制中心。
ICX274是SONY公司設計生產的一種200萬像素、每秒全像素輸出15幀圖像的高清CCD圖像傳感器,常用于安防和交通監控等領域。AD9923A是帶有時序控制器、相關雙采樣、增益放大等功能的模數轉換芯片,除了具有精準的模數轉換功能之外,還可為CCD提供驅動信號。AD9923A與ICX274組成的高清數字攝像機電路原理圖如圖2所示。

圖2 基于ICX274與AD9923A電路原理圖Fig 2 Circuit principle diagram based on ICX274 and AD9923A
圖2中,H1A,H1B,H2A,H2B為水平轉移控制信號,用來控制各像素點的水平轉移。由于CCD水平轉移控制信號要求5V的高電平,而AD9923A輸出高電平值只有3.3 V,所以,經過升壓芯片74F125升壓之后連接到ICX274的水平轉移管腳。V1,V2,V3,V4,V5A,V5B,V6,V7A,V7B,V8直接連接到ICX274垂直轉移管腳,以驅動ICX274的垂直轉移時序。VSUB為電子曝光控制信號,RG為電荷清零信號。
ICX274在RG,VSUB,水平轉移以及垂直轉移信號控制下,依次輸出各像素點的電荷,經AD9923A進行相關雙采樣、增益放大、模數轉換后將生成的12bit的數字信號送給數字圖像處理單元。
FPGA通過SPI接口配置AD9923A相關寄存器以實現ICX274時序要求,AD9923A寄存器由12位地址和28位數據組成。當控制信號有效時,時鐘信號的上升沿將寫入一位數據,每個寄存器要求一次連續寫入完整的40位數據,否則,寄存器數據不會更新。
AD9923A與垂直轉移時序相關的控制寄存器有:VPAT寄存器組,VSEQ寄存器組,Field寄存器組。VPAT序列由特定的CCD時序決定,在VPAT序列前面加上起始極性、重復次數等就構成了VSEQ序列。根據VPAT序列、VSEQ序列選擇不同數目的寄存器組,通過配置相關寄存器組的值,產生所需要的垂直轉移信號。系統配置成2個VPAT寄存器組,2個VSEQ寄存器組1個Field寄存器組。
與水平驅動時序控制相關的控制寄存器包括:H1POSLOC,H1NEGLOC,H1H2POL,H3POSLOC,H3NEGLOC,H3H4POL, HLPOSLOC, HLNEGLOC, HLPOL。 其 中H1POSLOC,H3POSLOC,HLPOSLOC 為H1A,H2A,HL 上升沿跳變點位置,H1NEGLOC,H3NEGLOC,HLNEGLOC 為H1A,H2A,HL下降沿跳變點位置,而 H1H2POL,H3H4POL,HLPOL為H1A,H2A,HL信號的起始極性。
視頻采集模塊得到Bayer格式圖像只有亮度信息,不利于取證系統的應用,采用FPGA進行圖像格式轉換和顯示校正,使系統能夠提供清晰的真彩圖像。
ICX274為Bayer濾色器的彩色面陣CCD,Bayer模式是每一個像素點只包含RGB顏色空間中一種分量,其像素排列方式如圖3所示。在Bayer格式圖像的每一個像素點中插入另外2種顏色分量,就可以實現黑白圖像到彩色圖像的轉換。采用FPGA實現一種Bayer線性插值算法,實現黑白圖像到彩色圖像的快速轉換。

圖3 Bayer色彩濾波模型Fig 3 Bayer color filtering model
用U1,U2,U3,…,U16表示圖3 中各點經模數轉換后得到的電壓值,并假設6,7,10,11像素點經轉換后RGB值分別為R6,G6,B6,R7,G7,B7,R10,G10,B10,R11,G11,B11,Bayer信號到RGB信號轉換算法為

為了達到較高的顯示質量、獲得較好的人眼感觀效果,顯示系統輸出與輸入應呈線性關系。但常用顯示設備的發光器件是陰極射線管(CRT),其輸入輸出以γ為指數的函數關系:Iv=Cl×,這就造成圖像顯示失真。因此,需要對原始輸入進行預補償處理,使得顯示設備輸出與原始輸入之間建立線性關系。為原始輸入提供一個1/γ的非線性補償:Iin=。其中,Io為原始輸入值,Iin為預補償后的值。把補償之后的值Iin送到CRT顯示,可得到輸出值Iv為:Iv=經這種處理后,顯示硬件設備的γ失真相抵消。
經過格式轉換后,輸出24 bit真彩色圖像。計算出從0到255的Gamma校正值,分別得到R,G,B的Gamma校正表。每張表的大小為2 048 bit。將這三張表存儲在FPGA的內部RAM中,通過查表的方式實現Gamma校正。
經過圖像處理模塊之后,每秒鐘數據量非常大,傳統的百兆網絡遠遠不能滿足要求,所以,系統采用千兆以太網傳輸。
千兆以太網對應OSI七層模型中的數據鏈路層和物理層。數據鏈路層包括邏輯鏈路控制(LLC)子層和媒體訪問控制(MAC)子層,其中MAC層主要完成數據封裝、解封裝以及媒體訪問管理兩大功能;物理層實現數據的收發。為了減少硬件設計上芯片數量、簡化連接關系,采用FPGA實現MAC層協議,使用RTL8212實現物理層數據收發。
4.1.1 MAC 層以太網的幀格式
以太網站點發送數據是按以太網幀格式在總線上傳輸的,將標準的幀格式做一個簡化處理,以降低系統復雜度。簡化的以太網MAC幀結構如表1所示。

表1 簡化的MAC幀格式Tab 1 Simplified MAC frame format
前導碼為7字節0x55,使網絡兩端的物理層達到穩定同步狀態;起始位為固定值0xD5,表示幀的開始;目的地址用于識別需要接收幀的站點;源地址用于識別發送幀的站點;長度表示數據的長度;數據表示需要在以太網中發送的數據;校驗位由802.3規定的校驗公式決定,作用范圍從目的地址到數據段。
4.1.2 媒體訪問管理
千兆以太網有半雙工和全雙工2種工作方式,MAC針對不同的工作方式有不同的處理方式。在半雙工模式下媒體訪問管理模塊主要實現CSMA/CD協議,它包含了兩方面含義:
1)載波偵聽:在MAC子層向物理層傳輸數據之前,首先對網絡進行載波偵聽,如果偵聽到載波,說明有數據正在傳輸,本地數據必須在載波消失后還要等待一個時間間隙后才開始發送數據。
2)沖突檢測:當2個及以上站點同時向網絡發送數據就會有產生沖突。MAC檢測到沖突后,站點便向網絡發送擁塞序列。如果在發送前導碼期間檢測到沖突,則將前導碼和起始位發送完之后再發送32位的擁塞序列。如果沖突發生在前導碼發送完成之后,則站點立即發送32位的擁塞序列。
全雙工模式下允許發送站點和接收站點采用點對點的連接,不需要載波偵聽和沖突檢測,只需要完成數據的封裝。
由于系統只需要將采集到的數據發送到交通控制中心,而不接收其他站點數據,所以,MAC子層協議硬件模塊由控制模塊與發送模塊2部分組成。MAC子層實現硬件結構如圖4所示。

圖4 MAC控制器硬件結構框圖Fig 4 Block diagram MAC controller hardware structure
4.2.1 控制模塊
控制模塊包含總線接口、控制寄存器、發送數據緩沖區、GMII管理4個部分??偩€接口部分實現與其他3個模塊之間的數據交換;發送數據緩沖區是圖像數據與發送模塊之間的數據通道,采用FPGA中的FIFO作為緩沖區,通過判斷FIFO中存儲數據的狀態來確定何時開始發送數據;控制寄存器模塊主要用于功能參數的設置和狀態信息的存儲;GMII管理模塊實現對物理層的管理。
4.2.2 發送模塊
發送模塊用于MAC層數據打包和CSMA/CD協議的實現,發送控制狀態機是發送模塊的核心,使各個功能子模塊按照一定的時序協同工作。分為8個狀態來完成數據的發送,其狀態轉移圖如圖5所示。
1)IDLE:復位狀態,系統復位后進入IDLE狀態,當數據緩沖區存儲了規定的數據后,系統就進入DEFE狀態。
2)DEFE:延遲狀態,在此狀態下,如果沒有偵聽到載波CS就進入IPG狀態,當偵聽到載波信號時則放棄本次幀的發送。
3)lPG:幀間隙狀態,在半雙工模式下達到設定的間隙時間且沒有載波信號出現進入PRE狀態,在全雙工模式下,當計數器計數到設定的幀間隙時間時,進入PRE狀態。
4)PRE:前導碼狀態,當進入PRE后,開始發送前導碼。在此期間如果未檢測到沖突發生,則進入SDF狀態。如果出現沖突,發送完前導碼后進入JAM狀態。
5)SDF:起始位狀態,進入SDF狀態后,開始發送起始字符,在此期間如果未檢測到沖突發生,則進入DATA狀態。如果出現沖突,發送完起始符后進入JAM狀態。
6)DATA:數據狀態,在Data狀態開始發送緩沖區FIFO中的數據,在發送幀過程中未出現沖突,進入CRC狀態,如果出現沖突,則進入JAM狀態。
7)CRC:幀校驗狀態,在發送幀校驗碼后進入DEFE狀態,如果出現沖突,則進入發送阻塞碼狀態JAM。
8)JAM:阻塞狀態,發送完四字節的阻塞序列后進入到延時狀態DEFE。
實際測試結果如表2所示。

表2 測試結果Tab 2 Test results
實驗表明:設計的千兆以太網系統傳輸距離遠、穩定性高、利用率接近100%。
設計的基于千兆以太網電子警察取證系統,有效地解決了高清圖像采集、處理與數據的快速傳輸。經過實際測試,系統每秒可以穩定采集、處理、傳輸15幀200萬像素的圖像數據,完全滿足電子警察取證系統對圖像質量和高傳輸速率的要求。對于其他的監控系統或傳輸系統,都有一定的參考價值。
[1]Analog Devices Inc.CCD signal processor with v-driver and precision timing generator:AD9923A[Z].Analog Devices Inc,2006.
[2]莫斯特,吳志紅.200萬像素數字攝像機設計及關鍵技術研究[J].光電工程,2009,36(5):117-121.
[3]楊 華,佟首峰.基于FPGA到Bayer到RGB圖像格式轉換設計[J].現代電子技術,2010,33(2):123-124.
[4]吳俊杰.IEEE802.3以太網MAC控制器的設計[D].南京:東南大學,2008.
[5]郭 俊.以太網媒體訪問控制(MAC)及其FPGA實現研究[J].現代電子技術,2008(10):88-90.