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