基于FPGA的高清視頻采集與顯示系統(tǒng)設(shè)計(jì)
高清視頻采集與顯示系統(tǒng)設(shè)計(jì)
本文引用地址:http://cafeforensic.com/article/191060.htm近年來(lái),高清網(wǎng)絡(luò)攝像機(jī)席卷視頻監(jiān)控市場(chǎng),傳統(tǒng)的模擬攝像機(jī)也在尋找新的出路提升圖像質(zhì)量,采用非壓縮方案的高清模擬攝像機(jī)成為首選。一般來(lái)說(shuō),非壓縮方案的硬件平臺(tái)有DSP或ASIC或FPGA。本文介紹了一種基于FPGA的視頻采集與顯示系統(tǒng)的設(shè)計(jì)。系統(tǒng)以FPGA為核心,配合高分辨率CCD圖像傳感器、ADC模數(shù)轉(zhuǎn)換、視頻編碼器等,實(shí)現(xiàn)了高清視頻實(shí)時(shí)采集與顯示。詳細(xì)闡述了色彩插值與色彩空間轉(zhuǎn)換算法和BURST傳輸?shù)腇PGA硬件實(shí)現(xiàn)。
本文介紹了一種基于FPGA的視頻采集與顯示系統(tǒng)的設(shè)計(jì)。系統(tǒng)以FPGA為核心,配合高分辨率CCD圖像傳感器、ADC模數(shù)轉(zhuǎn)換、視頻編碼器等,實(shí)現(xiàn)了高清視頻實(shí)時(shí)采集與顯示。詳細(xì)闡述了色彩插值與色彩空間轉(zhuǎn)換算法和BURST傳輸?shù)腇PGA硬件實(shí)現(xiàn)。測(cè)試表明,該系統(tǒng)運(yùn)行良好,能夠滿足高清視頻實(shí)時(shí)監(jiān)控要求。
近年來(lái),高清網(wǎng)絡(luò)攝像機(jī)席卷視頻監(jiān)控市場(chǎng),傳統(tǒng)的模擬攝像機(jī)也在尋找新的出路提升圖像質(zhì)量,采用非壓縮方案的高清模擬攝像機(jī)成為首選。一般來(lái)說(shuō),非壓縮方案的硬件平臺(tái)有DSP或ASIC或FPGA。它們各有優(yōu)缺點(diǎn),F(xiàn)PGA是現(xiàn)場(chǎng)可編程門(mén)陣列,兼顧了實(shí)時(shí)性與靈活性,而且還可以內(nèi)嵌CPU,因此適合用來(lái)做圖像處理。FPGA的最大缺點(diǎn)是功耗太大,但本文設(shè)計(jì)的不是便攜式消費(fèi)電子,功耗問(wèn)題可以不考慮。
本文在數(shù)據(jù)傳輸方式上進(jìn)行了創(chuàng)新,一般的視頻采集與顯示方案均需要使用2個(gè)DMA通道和2片SDRAM做緩存,本文采用自行編寫(xiě)的BURST模塊傳輸,僅需要一片SDRAM,節(jié)省硬件開(kāi)銷的同時(shí)降低了PCB板的復(fù)雜度。
系統(tǒng)總體設(shè)計(jì)
FPGA是整個(gè)系統(tǒng)的核心,本文采用的FPGA是Cyclone系列的EP3C16,它內(nèi)部集成了15408個(gè)邏輯單元,56個(gè)18×18乘法器,4個(gè)鎖相環(huán),CCD是SONY的ICX274,其有效分辨率是1600×1200,像素時(shí)鐘是36MHz,并且逐行掃描。SDRAM是Micron的MT48LC2M32B2,容量是2M×32bit,完全滿足本設(shè)計(jì)的需要。
首先ADC驅(qū)動(dòng)CCD,CCD輸出模擬視頻,經(jīng)過(guò)ADC轉(zhuǎn)換成數(shù)字圖像數(shù)據(jù),然后通過(guò)FPGA內(nèi)部的BURST傳輸寫(xiě)到SDRAM,在SDRAM內(nèi)部開(kāi)辟三段數(shù)據(jù)空間。其中code區(qū)域存放NIOS軟件代碼,bufferA和bufferB作為圖像數(shù)據(jù)緩存,當(dāng)圖像數(shù)據(jù)寫(xiě)入bufferA時(shí),可以讀bufferB用于顯示,當(dāng)一幀數(shù)據(jù)采集完后,切換BURST傳輸?shù)刂?,?xiě)入bufferB,此時(shí)讀bufferA用于顯示,這樣數(shù)據(jù)可以不間斷地采集和顯示,這就是所謂乒乓操作。FPGA輸出的視頻數(shù)據(jù)經(jīng)過(guò)編碼器編碼后形成串行碼流,即SDI數(shù)據(jù),然后經(jīng)過(guò)同軸電纜線傳輸?shù)骄哂蠸DI接口的顯示器顯示。其中,F(xiàn)LASH用來(lái)保存NIOS軟件和FPGA硬件配置信息。
在FPGA內(nèi)部實(shí)現(xiàn)的模塊中,VIDEOIP是根據(jù)AVALON總線規(guī)范編寫(xiě)的用戶自定義模塊,其余的模塊均是ALTERA提供的標(biāo)準(zhǔn)模塊,只需要在SoPCBuilder中調(diào)用即可,因此本系統(tǒng)的設(shè)計(jì)主要是VIDEOIP的設(shè)計(jì)。
硬件模塊設(shè)計(jì)
硬件模塊也就是VIDEOIP模塊,主要由色彩插值、色彩空間轉(zhuǎn)換、FIFO三部分構(gòu)成?;诔杀九c工程復(fù)雜度的考慮,本系統(tǒng)為單CCD系統(tǒng),在CCD表面覆蓋一層色彩濾波陣列(CFA),該濾波陣列采用Bayer格式,每個(gè)像素點(diǎn)只有一個(gè)顏色通道,為了實(shí)現(xiàn)彩色顯示,每個(gè)像素點(diǎn)必須要有RGB3個(gè)通道,要通過(guò)色彩插值才能獲得其余兩個(gè)通道。本文處理的視頻數(shù)據(jù)都是YCbCr格式,因此還需要經(jīng)過(guò)色彩空間轉(zhuǎn)換將RGB格式轉(zhuǎn)換成YCbCr格式。由于NIOS處理器的位寬是32bit,而YCbCr(4:2:2)是16bit,所以YCbCr必須經(jīng)過(guò)FIFO,當(dāng)FIFO半滿時(shí),通過(guò)BURST傳輸寫(xiě)數(shù)據(jù)到SDRAM。值得注意的是:寫(xiě)入FIFO之前,YCbCr的格式是4:4:4,為了方便顯示,必須轉(zhuǎn)換成4:2:2,本設(shè)計(jì)采取了最簡(jiǎn)單的處理方式,就是Cb和Cr間隔采樣。實(shí)驗(yàn)表明,這種處理不影響顯示效果。
評(píng)論