FPGA+DSP架構(gòu)的HD-SDI高清圖像處理系統(tǒng)設(shè)計
摘要:隨著圖像處理技術(shù)及傳感器技術(shù)的不斷發(fā)展,高清數(shù)字圖像取代模擬圖像成為一種趨勢。設(shè)計了一種基于HD-SDI技術(shù)的高清圖像處理系統(tǒng),可通過FPGA+DSP架構(gòu)對1080P全高清圖像進行采集和字符疊加,并實時進行目標提取和偏差量計算。疊加視頻可通過DVI數(shù)字接口或模擬接口實時顯示。利用圖像高分辨率特性,系統(tǒng)可實現(xiàn)運動目標精確跟蹤。
引言
隨著數(shù)字視頻的迅速發(fā)展,高清數(shù)字圖像代替模擬圖像成為必然趨勢。光電系統(tǒng)采用全高清圖像技術(shù),不僅能大大提高顯示效果,而且能顯著提高系統(tǒng)的跟蹤精度。因此,高清圖像處理系統(tǒng)的開發(fā)成為光電系統(tǒng)技術(shù)發(fā)展必須突破的關(guān)鍵技術(shù)之一。SDI(Serial Digital Inter face)即串行數(shù)字接口,其標準由移動圖像和電視工程師協(xié)會(SMPTE)制定,在當今的廣播和視頻產(chǎn)品領(lǐng)域得到了廣泛的應(yīng)用。標準規(guī)定如何通過同軸電纜在設(shè)備間傳送未經(jīng)壓縮的串行數(shù)字視頻數(shù)據(jù)。
在非編后期制作、廣播電臺等領(lǐng)域,基于HD-SDI(High Definition-Serial Digital Interface)高清電視應(yīng)用較為廣泛,在1.485Gb/ s、1.001 Gb/s的信號速率條件下傳輸?shù)慕涌谝?guī)格都符合標準SMPTE-292M。該接口攝像機既能保證光電系統(tǒng)高清顯示的要求,又能滿足目標實時跟蹤的要求。
本文設(shè)計了一種基于HD-SDI的高清圖像處理系統(tǒng),可滿足光電系統(tǒng)實現(xiàn)圖像高清顯示和目標跟蹤的要求,具有較好的平臺兼容性的要求。
1 系統(tǒng)組成
HD-SDI攝像機將高清視頻通過75 Ω同軸電纜實時傳送到高清圖像處理系統(tǒng)。系統(tǒng)對圖像進行處理后,將視頻信號送到數(shù)字顯示終端進行顯示。
由于全高清數(shù)字圖像處理系統(tǒng)涉及大量數(shù)據(jù)的運算及邏輯控制,系統(tǒng)的控制體系采用FPGA+DSP的結(jié)構(gòu)形式。FPGA進行圖像采集、存儲、輸出顯示和整個系統(tǒng)的邏輯控制;DSP作為數(shù)字信號處理核心,則主要用來運行圖像跟蹤算法及完成各種外設(shè)的初始化。系統(tǒng)的硬件組成包括數(shù)據(jù)接收單元—HD-SDI數(shù)字視頻輸入;數(shù)據(jù)發(fā)送單元—HD-SDI、DVI、AV視頻輸出;圖像存儲單元—4個72 Mb SRAM;通信單元—RS422接口。系統(tǒng)組成框圖如圖1所示。
DSP選用TI公司的TMS320C26414,F(xiàn)PGA采用ALTERA公司的EP3C120F780,二者通過32位數(shù)據(jù)總線進行視頻數(shù)據(jù)和其他參數(shù)傳輸。數(shù)據(jù)輸入接口采用HD-SDI高清視頻接口芯片對高清攝像機的視頻信號進行解碼,F(xiàn)PGA接收解碼視頻信號后進行圖像存儲和頻率轉(zhuǎn)換,并將圖像數(shù)據(jù)傳給DSP進行窗口檢測、自適應(yīng)圖像分割、相關(guān)匹配等運算,獲取目標位置相對光軸中心的偏差量。同時,F(xiàn)PGA通過片內(nèi)雙口RAM與DSP進行數(shù)據(jù)通信,完成如字符顯示與消隱等功能,以方便人機界面操作。上位機通過RS422接口與FPGA進行數(shù)據(jù)通信,將測角數(shù)據(jù)、控制參數(shù)、設(shè)備狀態(tài)等信息傳遞給圖像處理系統(tǒng),圖像處理系統(tǒng)則將測偏量信息傳遞給上位機進行目標跟蹤。
圖像處理是光電系統(tǒng)的重要組成部分,在設(shè)計中需保持圖像處理系統(tǒng)的通用性和開放性。采用了模塊化設(shè)計思想,并采用通用通信接口代替總線與上位機通信,可保證硬件適用于不同的系統(tǒng)平臺。各模塊分別完成以下功能:
①FPGA完成圖像采集、圖像顯示接口控制、外部存儲器的讀寫邏輯控制及與上位機的通信。
②DSP與FPGA之間通過雙口RAM實現(xiàn)通信,并通過FPGA讀寫SRAM實現(xiàn)目標提取和字符疊加功能。DSP實現(xiàn)包括目標檢測、模板匹配、電子穩(wěn)像等多種圖像算法。
③SRAM是外擴的圖像存儲器,F(xiàn)PGA通過ping-pong方式將采集到的高清數(shù)字圖像存儲在SRAM中并輸出給DSP和顯示接口。
④數(shù)據(jù)接收單元由高速SDI接口實現(xiàn)高清攝像機輸入視頻解碼。
⑤數(shù)據(jù)發(fā)送單元實現(xiàn)DVI、AV與SDI輸出視頻的編碼功能。
2 數(shù)據(jù)接收單元
數(shù)據(jù)接收單元由SDI解碼器組成。系統(tǒng)選用Gennum公司生產(chǎn)的GS2971對HD-SDI攝像機傳輸?shù)囊曨l信號進行解碼,之后將高清視頻信號的像素時鐘、行、場及視頻數(shù)據(jù)傳給FPGA。數(shù)據(jù)接收單元連接框圖如圖2所示。
GS2971是一款自帶線纜均衡功能的單端口輸入解碼芯片。支持3Gb/s、HD、SD SDI串行數(shù)據(jù)傳輸速度,最高支持4:2:2 10位色深表現(xiàn),分辨率可達1080P。內(nèi)置HD-SDI解串器簡化了外部FPGA的邏輯解串功能。GS2971的初始化采用I/O電平控制與SPI接口相結(jié)合的方法,可被配置為20位數(shù)據(jù)輸出和10位數(shù)據(jù)輸出。當配置為20位數(shù)據(jù)輸出時,亮度信息和色度信息分別占10位數(shù)據(jù)線,時鐘為74.25 MHz;配置為10位數(shù)據(jù)輸出時,亮度和色度信息合成輸出,時鐘為148.5 MHz。本系統(tǒng)中,將GS2971配置為20位數(shù)據(jù)輸出模式,GS2971支持一路SDI信號環(huán)路輸出,可供系統(tǒng)實時檢測SDI信號輸入是否正常。
3 數(shù)據(jù)發(fā)送單元
系統(tǒng)設(shè)計的數(shù)據(jù)發(fā)送單元由一個DVI編碼器和一個PAL編碼器組成。其中,DVI編碼器將數(shù)字信號轉(zhuǎn)換為差分信號,傳遞給DVI接口高清顯示器。DVI接口需實現(xiàn)1080P高清顯示,是系統(tǒng)數(shù)據(jù)發(fā)送單元的關(guān)鍵環(huán)節(jié)。
針對圖像輸出接口的不同要求,選擇NXP公司的SAF7129實現(xiàn)圖像的PAL制式輸出;選擇TI公司的TFP410實現(xiàn)DVI圖像輸出。其中,DVI顯示為數(shù)字信號輸出,與傳統(tǒng)的VGA模擬信號相比,采用DVI數(shù)字信號不會引起像素抖動和相鄰像素間的干擾,顯示器不會造成幾何失真,大大提高了畫面質(zhì)量,顯示畫面細膩、清晰,因此設(shè)計時將DVI接口作為系統(tǒng)的主顯示通道。PAL制式為模擬信號輸出,可以兼容光電系統(tǒng)在特殊情況下的顯示需求。數(shù)據(jù)發(fā)送單元DVI顯示連接如圖3所示。
TFP410支持從VGA到UXGA(25~165 MHz)格式的像素速率,具有12位雙邊和24位單邊兩種輸入模式,可以通過I2C總線進行芯片工作模式配置。TFP410主要通過DE引腳的高低電子來決定發(fā)送信號類型。當DE為高電平時,發(fā)送像素編碼數(shù)據(jù);當DE為低電平時,發(fā)送同步信號以及控制信號。
本設(shè)計通過I2C總線來配置編碼器,編碼器采用24位單邊輸入模式,單邊輸入時鐘,下降沿觸發(fā)。采用I2C總線可以快捷地在線調(diào)整參數(shù)配置,對編碼器高速輸入信號的時鐘沿進行調(diào)整,有效減少圖像噪聲和串擾。
4 圖像存儲單元
圖像處理系統(tǒng)輸入一幀1080P高清圖像的大小為:
1 920×1 080×16=33 177 600位=30 Mb
選擇了CYPRESS公司CY7C1482V33型號的SRAM作為系統(tǒng)圖像存儲單元,CY7C1482V33存儲空間大小為72 Mb,可配置為2M×36位,4M×18位,1M×72位,能同時存下2幅圖像。CY7C1482V33支持最高達250 MHz的讀寫速度,工作電壓為3.3 V。
5 FPGA處理單元
FPGA主要完成圖像采集、存儲、輸出顯示管理,與DSP之間進行數(shù)據(jù)交互以及視頻的像素級處理,是圖像處理系統(tǒng)的核心管理單元,與圖像有關(guān)的功能框架模塊大部分都在FPGA中實現(xiàn)。FPGA功能框圖如圖4所示。
當數(shù)據(jù)發(fā)送單元傳遞1920×1080像素圖像格式的數(shù)據(jù)給FPGA后,根據(jù)每幀圖像20位YCbCr 4:2:2工作模式的要求將亮度和色度信息分開提取。SRAM是單端口存儲器,在同一時間只能完成讀操作或?qū)懖僮鳎虼嗽谳斎霐?shù)據(jù)進行濾波后,選用了2M×36位的3片SRAM作為一組片外存儲器進行Ping-Pong操作。用輸入SDI圖像的場同步信號生成一個計數(shù)器,每一場對SRAM的讀寫切換一次。當需要使用一場圖像信息時,可及時從一個存儲器中讀取。與此同時,連續(xù)的圖像數(shù)據(jù)被存至另一個存儲器中,第3片SRAM則處于DSP讀寫狀態(tài)。3片SRAM通過切換,完成一幀圖像的保存、處理和輸出。
6 軟件設(shè)計
系統(tǒng)的軟件主要包括FPGA和DSP兩部分。FPGA負責采集和輸出電視圖像數(shù)據(jù),利用FPGA內(nèi)部的存儲資源,進行字符、十字絲、波門等信息疊加,不僅提高了數(shù)據(jù)處理速率,而且降低了DSP處理數(shù)據(jù)時產(chǎn)生幀間延時的可能性。DSP負責通過SPI配置和檢測HD-SDI解碼器,實現(xiàn)視頻模式選擇,并根據(jù)檢測結(jié)果確定各個芯片當前的工作狀態(tài),此外通過訪問圖像存儲器進行Mean-shift、非對稱多向梯度、質(zhì)心、相關(guān)、電子穩(wěn)像和航跡預(yù)測等算法運算。
上電之后,對DSP進行初始化,主要包括片外存儲器、SPI、GPIO、外部中斷的配置。初始化完成之后,通過SPI向GS2971發(fā)送開始解碼的指令,向GS2971請求狀態(tài)信息,等待GS2971進入到解碼狀態(tài),更新FPGA的采集數(shù)據(jù)。
DSP從圖像存儲器得到圖像數(shù)據(jù)后,根據(jù)背景的復(fù)雜程度和上位機命令執(zhí)行圖像質(zhì)心、相關(guān)跟蹤與航跡預(yù)測算法。經(jīng)過DSP圖像處理后,判斷出鎖定的運動目標,并計算出所跟蹤目標的角坐標值和跟蹤角誤差值,傳遞給上位機進行實時控制。同時把跟蹤目標的位置信息疊加到SRAM內(nèi)相應(yīng)的視頻幀,經(jīng)DVI通道將電視數(shù)據(jù)送到高清顯示器上顯示。
結(jié)語
HD-SDI既滿足了傳輸高清圖像的要求,又能最大限度保證傳輸過程的實時性,能夠適應(yīng)當今圖像跟蹤技術(shù)的發(fā)展。本文設(shè)計開發(fā)了基于HD-SDI的高清圖像處理系統(tǒng),與傳統(tǒng)模擬圖像相比大幅度提高了圖像細節(jié)質(zhì)量和跟蹤穩(wěn)定性,為光電系統(tǒng)提供了新的解決方案??稍诠怆娤到y(tǒng)的新發(fā)展中得到廣泛應(yīng)用,具有良好的應(yīng)用前景。