demosaic算法相信大家一定都有所耳聞,那么什么是remosaic算法呢?首先就得從Quadra CFA或4 in 1技術講起。
1、Quadra CFA介紹
我們熟悉的CFA,如RGGB這種排列方式,稱為Bayer陣列。但是隨着拍照效果的要求越來越高,這種Quadra CFA陣列被制造出來,他可以提升在弱光條件下的性能和信噪比,提供更加明亮和清晰的圖像,而在正常光照條件下也能提供更高分辨率的圖像。這種功能是通過兩種工作模式來實現的,以16MP的 Quadra CFA sensor為例,在弱光條件或者預覽模式下,啟動Binning mode,這時16MP被轉換成4MP,即所謂的4 in 1,這樣相當於將四個像素點的光照集中到一個super pixel內,故能夠得到更加明亮清晰的圖像或更快的處理速度;而在正常光照下,啟動Non-binning mode,仍然是16MP,但是注意到此時的CFA必須轉換為傳統的Bayer陣列才能送入ISP pipeline處理,此時就需要remosaic算法技術來將Quadra CFA處理成Bayer CFA。如圖所示:
從上面的介紹的可以知道,remosaic算法是做在sensor output和ISP pipeline之間的,因此這部分可以通過stack sensor中的ISP自行處理(硬件),也可以通過在平台pipeline前通過軟件算法實現。但是,由於算力的限制,一般軟件算法僅適用於拍照模式,預覽模式實時的remosaic還不能實現;硬件比軟件的remosaic在處理速度上會快很多,硬件Remosaic可以支持full size Bayer預覽,然而手機端是否要用full size去預覽還需要綜合考慮功耗等其他因素。
2、remosaic算法
remosaic算法流程大致分為三步:1.首先利用Quadra CFA的插值算法,轉換Quad Bayer Raw數據變為RGB數據,類似我們平時看到的Jpeg 2.得到的RGB Image再使用RGB Image轉Bayer的算法,將其分解成Bayer Raw Image 3.送回正常ISP進行下一步處理。
在整個轉換過程中,還會涉及到PD補償、壞點補償和Crosstalk補償等一些優化,主要是優化可能在remosaic轉換中產生的False Color/Color Noise/解析度丟失等常見問題。這里稍微講一下Crosstalk補償。
對於Quadra CFA的芯片像素,由於所處位置的不同,實際上每個像素點的crosstalk不同導致感光能力有一定差別,通常就需要引入Crosstalk校准來消除這種差異。Crosstalk校准工具,通常將全圖分成多個ROI方塊,計算各像素通道的能量並確定其補償數據,芯片再使用這些校准數據讓原本不均勻狀態的能量分布變得更為平衡。Crosstalk校准補償在實際圖像上的反映主要是去除由於信號差別造成的格子,鋸齒狀等的色塊干擾,這種干擾現象通常在拍攝單一色塊的畫面會表現得更為明顯。
3、預覽高動態3HDR算法
HDR即High Dynamic Range,高動態范圍,動態范圍可以簡單理解為同一張圖片中可以分辨的最暗和最亮部分的比。HDR的實現方式有很多種,3-HDR是Quadra CFA芯片特有的HDR,給每種顏色group配置高中低三種曝光,以實現不同的亮度,最后合成HDR圖片。不同於普通HDR技術,3-HDR實時分級曝光技術就是讓組成1個大像素的4個基礎像素能夠實時采集不同的曝光信息,並且同步將這些信息一次處理實現硬件實時分級曝光,不僅前面主體和背景都清晰,而且還能做到預覽效果與實際成像完全一致,真正做到所見即所得。
如圖所示,其中T1代表短曝光,T2代表中曝光,T3代表長曝光,流程如下:
1.將T1、T2、T3以一定的比例設置;
2.全尺寸出圖到Stack Sensor的ISP中;
3.ISP將三個曝光合成,進行處理,拼接為全尺寸的1/4大小的圖像;
4.輸出平台進行后續ISP處理;
經過合成,48M生成的12M具有比普通12M更改的Dynamic Range,從而為用戶帶來實時預覽HDR和實時錄像HDR兩個重要功能,大大提升了消費者的使用體驗。
參考:
https://www.sohu.com/a/334007842_237916
《Quad-bayer及其相關ISP討論》-CIS雜談