ISP的功能可以簡單概括為使后端能正確識別“真實的”世界。凸出真實和有用,這個有用主要是后端需要的信息;真實即使其更加接近現(xiàn)實中人眼所看到的圖像。上面特指的可見光,目前紅外的應用也越來越多,商業(yè)化也會很快來到我們身邊,所以紅外圖像的處理也是我們這篇文章討論的一部分。
分類
這里我將ISP分為兩大種類:
可見和紅外,兩個種類完全不同的ISP,目前可見光市場基本被ASIC所占據(jù),紅外市場則相反,但是這僅僅是目前的狀態(tài),據(jù)內(nèi)部消息,目前ASIC市場馬上要進軍紅外sensor,意味著紅外的商用和大面積推廣也逐漸來到我們身邊。
前景怎么樣
那么是否FPGA在可見光或者紅外領(lǐng)域是否意味著被淘汰?
答案當然是否定的,F(xiàn)PGA在可見光領(lǐng)域還有很多應用:比如特殊分辨率;低延時;醫(yī)療;復雜環(huán)境等。當然目前相對較火的還是紅外領(lǐng)域,或者說,未來可將光和紅外的融合也是一大方向。
可見光ISP相關(guān)知識分類
ISP和光學息息相關(guān),主要涉及以下幾個方面:
sensor的選型一般由光學工程師進行選定(也由總體選定),選擇sensor的分辨率,快門的選擇一般和應用背景有關(guān);但是視場角、焦距、濾光片等光學特性是由光學工程師進行分析設(shè)計,后期的光軸一致性、補光燈類型和位置基本都由光學決定。
當然還有很多東西是由光學決定的,這里就不贅述了,我們這篇文章的核心不是光學。
ISP
本章說明的是以FPGA為核心搭建ISP,這里面其實涉及兩部分工作:FPGA算法及ISP工程師標定調(diào)參:
sensor配置及數(shù)據(jù)接入
這部分工作比較“通用”,和配置ADC或者DAC工作類似,目前接入FPGA的數(shù)據(jù)通道常見的就是LVDS(SubLVDS),當然目前MIPI也比較常見,兩者接入后的數(shù)據(jù)流比較相似(物理層不同)。
這里單獨說明一下全局快門和卷簾快門輸出的數(shù)據(jù)結(jié)構(gòu)不太相同,對于大靶面的sensor可能還需要拼接后進行后續(xù)的ISP的處理。
架構(gòu)
ISP的架構(gòu)是核心,常規(guī)的1080P60以下用何種架構(gòu)其實沒什么太大區(qū)別,但是考慮后續(xù)的繼承性,兼容更大分辨率(8KP60)還是需要考慮的。
這里主要考慮的一個點是ISP調(diào)參接口,F(xiàn)PGA搭建的ISP有個局限性就是修改參數(shù)(包括CCM、Gamma等參數(shù))極其浪費時間,所以有必要在搭建架構(gòu)的時候這部分一定要考慮清楚。傳統(tǒng)的方案是通過外掛單片機通過SPI或者其他并行總線進行參數(shù)修改標定,目前FPGA內(nèi)軟核或者硬核已經(jīng)非常成熟了,直接使用內(nèi)部的資源就可以完成這一操作。
再說一下傳統(tǒng)數(shù)據(jù)流架構(gòu)的弊端:
前一級處理好的數(shù)據(jù)通過標準的VESA信號驅(qū)動后級數(shù)據(jù)流流動,屬于前級推動后級進行數(shù)據(jù)流流動,這種架構(gòu)的優(yōu)點就是簡單,有很多傳統(tǒng)的算法都是使用這種方式搭建的,并且后級如果通過VGA或者HDMI接口進行數(shù)據(jù)輸出,那么比較方便。
但是上面的結(jié)構(gòu)有幾個我認為比較大的缺點:
1、前端sensor的一般通過lvds或者mipi接入,都通過內(nèi)同步方式進行數(shù)據(jù)傳輸,已經(jīng)沒有VS或者HS的概念了,需要經(jīng)過緩存后才能構(gòu)建后端所需的信號;
2、邏輯級數(shù)過大,一級一級的推動容易造成邏輯級數(shù)過大;
3、帶寬利用不夠,傳統(tǒng)的架構(gòu)要考慮顯示器端的顯示,所以會有行場消隱區(qū)存在,而ISP中算法對消隱區(qū)的時間利用不大,造成帶寬利用率不高,這種影響對高分辨率情況尤為明顯。
上面就是我認為目前傳統(tǒng)架構(gòu)遇到的問題,而解決方式,可以選擇自定義總線(前面有文章介紹過一種類AXI-STREAM總線)或者選用官方總線(AXI)。
算法
架構(gòu)定義完畢后,接下來就是算法了,ISP中需要哪些算法,之前的文章中也有介紹,這里再說一下幾個重要的算法,我這里將ISP中算法簡單進行了分類:核心算法、功能算法及3A算法。
核心算法
核心算法當然是后端能夠顯示或者使用的幾類算法,包括:去馬賽克、GAMMA、CCM以及降噪。他們幾個是保證能出圖的關(guān)鍵,尤其對于去馬賽克是關(guān)鍵,后續(xù)我們會單獨出文章討論這幾個核心算法,這里就不贅述了,這幾個算法都是需要根據(jù)實際情況進行調(diào)參,所以在設(shè)計算法時候需要將調(diào)參接口預留出來。
功能算法
這里主要將黑電平矯正、壞點矯正、RAW域降噪、陰影矯正、紫邊矯正、銳化、飽和度、對比度等算法歸于功能算法,這些算法是適用于不同環(huán)境進行參數(shù)調(diào)整,使圖像更加符合預期。
3A算法
3A算法是動態(tài)調(diào)整圖像的亮度、白平衡以及焦距,使攝像頭能夠在不同環(huán)境下自動切換相關(guān)參數(shù)。
這里說一下和架構(gòu)相關(guān)的知識,就是3A算法怎么實現(xiàn)?傳統(tǒng)的架構(gòu)是適用外掛單片機,讓單片機去實現(xiàn)3A算法,這樣的好處就是把工作分出去了,無需浪費時間去實現(xiàn)算法。但是這種架構(gòu)對于高幀率情況無法及時進行處理(單片機和FPGA之間的總線有限制),所以目前可選軟核或者硬核實現(xiàn)3A算法。
標定和調(diào)參
上面的工作是FPGA工程師需要做的事情,剩下的其實才是ISP工程師需要做的事情,對圖像進行標定和調(diào)參,目前有很多專業(yè)軟件進行輔助工作(人眼還是不靠譜~),大部分公司有專業(yè)的ISP工程師,把上面所有的算法暴漏出來的參數(shù)進行調(diào)節(jié),可以把圖像調(diào)節(jié)的“更討喜”。
數(shù)據(jù)輸出
這個就沒什么可以說的了,輸出有很多種形式,包括但不局限于VGA、HDMI、光口等。
伺服
伺服的工作我就簡單說一下:
主要包括兩方面,一個進行聚焦時候調(diào)節(jié)焦距的電機,要“穩(wěn)準快”;還有一個可能不太涉及到的方面就是大型光電中的穩(wěn)像。上面需要的信息也是需要通過ISP將相關(guān)統(tǒng)計信息傳給伺服進行設(shè)計的。
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603371 -
HDMI接口
+關(guān)注
關(guān)注
1文章
134瀏覽量
34050 -
lvds
+關(guān)注
關(guān)注
2文章
1043瀏覽量
65812 -
ISP
+關(guān)注
關(guān)注
6文章
477瀏覽量
51829 -
CCM
+關(guān)注
關(guān)注
0文章
145瀏覽量
23992
原文標題:談談FPGA工程師如何做ISP
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論