ISP-OB, pedestal 以及ISP概述


網上的直接參考資料

1. https://zhuanlan.zhihu.com/p/36896537

2. https://blog.csdn.net/m0_38049850/article/details/80980365

 

ISP-OB

13.1. 基本概念

13.1.1. What is OB & Why OB

OBC全稱為Optical Black Correct,指的是光學暗區矯正。因為sensor本身存在暗電流,導致在沒有外部光線照射的時候,也有一定的輸出電壓。最終sensor的輸出需要減去這個數值,那么這個數值如何獲取呢?具體如下圖所示:

如上圖所示,sensor上預留了一些完全沒有曝光的像素,通過讀取這些像素值的大小,可以實時得到optical black level,此時sensor的輸出RAW = sensor input - optical black level 。

盡管這些black lines已經充分考慮到了不同column的OB不同,但因為在sensor邊緣的black lines會受到PCB layout、電源紋波、模組結構設計等等因素的影響,故此時OB扣除的還是可能不准確,導致部分相機廠商不使用這個功能,但是在安防類或車載類攝像頭上,部分廠商還是使能了OBC功能的。

然后考慮到sensor輸出的信噪比,故一般sensor輸出數據時又會墊上一個基底pedestal,此時sensor的RAW = sensor input - optical black level + pedestal。對於芯片處理來說,一般拿到的就是這個數據,此時需要在ISP處理流程的起始部分減去這個基底。在芯片內部一般叫做BLC,即Black Level Correct黑電平校正。

綜上,黑電平校正可能是做過兩遍的,第一遍做在了sensor內部,第二遍做在了芯片ISP處理的開始。而因為黑電平的存在,會損失畫面中部分高亮處的細節,但考慮到人眼對於畫面暗處更敏感,故可認為這里畫面亮處的損失忽略不計。

13.1.2. Again與OB分布

單純的從Again上,OB的分布滿足如下規律:

隨着增益的增加,OB的均值可能不變,但是方差會增加。主要原因是sensor內OB是做在Again之后,故隨着Again的增加,噪聲的影響增大,故OB的方差增加。

這個時候如果還是按照OB的均值扣除,畫面暗處就有可能出現偏色的問題。例如下圖所示:

注意看畫面中的暗處部分,會有偏紫的問題。原因是因為OB的方差加大,如果再按照OB的均值扣除,那么就可能會有較多的殘余,受白平衡(Rgain、Bgain)的影響,故畫面暗處會偏紫。

此時的解決方法為:1.多扣一點OB,缺點為破壞了噪聲形態會引入較多噪點 2.分通道扣除OB,缺點為偏色的情況會受環境色溫影響。

下圖為B通道多扣了一點OB的結果:

那么OB隨增益聯動是否能解決這個問題呢?答案是從一定程度上能夠解決。但是因為OB的精度和ISO的精度並不匹配(ISO精度更高),所以OB仍然會有時候多扣,有時候少扣,但是這種差異給圖像帶來的影響並不顯著。

13.1.3. 溫度與OB分布

OB還會隨着溫度而發生偏移,故如果OB的扣除沒有跟隨溫度而變化的話,畫面就會出現偏色的現象。如下圖所示,為高溫60度下的圖像效果:

此時,重置sensor的OB,效果圖如下:

故最后扣除OB時還需考慮溫度的影響。

13.1.4. 扣除OB位置的影響

在ISP流程中,可以從兩個地方扣除OB,一個是Raw域去噪之前扣除,一個是Raw域去噪之后扣除。結論為OB在之前扣除清晰度更優,OB在之后扣除噪聲更優。

13.2. 算法設計

在ISP處理中,OB一般為第一個模塊,當然也可以放在RAW域去噪之后。

最簡單扣除OB的方法是減去均值,然后再對G通道做線性拉伸,舉例來說就是Goutput = Ginput*255/(255-Black Level)。做線性拉伸的原因是扣除OB后RGB通道均不飽和,而R、B通道因為白平衡增益(Rgain、Bgain)的存在可以達到飽和,Ggain的增益一般為1,這樣在畫面接近過曝的地方就會偏紫。

除了減去均值,還可以使用最大值、中值、局部均值等等方法扣除OB。

此外,因為OB跟增益相關,故可以根據不同的增益扣除不同的OB。

考慮到ISP處理及環境色溫的影響,還可以根據RGB不同通道扣除不同的OB。

13.3. 調試方法

關於OB offset設置,建議使用推薦值。因為若offset設置過小,則無法cover噪聲的range,負值部分可能無法完全移到正數;若設置過大,則數值較大部分可能溢出。Sensor廠商一般根據需求給出推薦值,並在推薦值的情況下測試sensor的線性度等,因此在實際操作中建議不要修改offset。

夜視的情況下可以適當少扣一點OB,可以保留更多的細節,且夜視沒有偏色的問題。

因OB受到溫度的影響較大,若sensor有溫度傳感器,則發現溫度變化后最好實時重置sensor的BLC功能。

13.4. 測試方法

13.4.1. 客觀測試

最簡單的測試方法就是將鏡頭遮黑,查看各個增益下的畫面亮度,一般認為均值為0-5即認為黑電平扣除正確。

13.4.2. 主觀測試

黑電平是否設置的准確可觀察以下現象:

1. 灰階卡上各灰階的RGB響應是否相同

2. 高增益下畫面暗處是否偏色

3. 正常增益下畫面中過曝處是否偏色

 

ISP概述

一、概述

ISP(Image Signal Processor), 即圖像信號處理, 主要作用是對前端圖像傳感器輸出的信號做后期處理, 依賴於 ISP 才能在不同的光學條件下都能較好的還原現場細節。

Cmos YUV sensor 的 ISP 處理流程如圖 1 所示:

 

景物通過 Lens 生成的光學圖像投射到 sensor 表面上, 經過光電轉換為模擬電信號, 消噪聲后經過 A/D 轉換后變為數字圖像信號, 再送到數字信號處理芯片( DSP) 中加工處理。所以,從 sensor 端過來的圖像是 Bayer 圖像,經過黑電平補償 ( black level compensation)、鏡頭矯正 ( lens shading correction)、壞像素矯正 ( bad pixel correction)、顏色插值 ( demosaic)、Bayer 噪聲去除、 白平衡( awb) 矯正、 色彩矯正( color correction) 、 gamma 矯正、 色彩空間轉換( RGB 轉換為 YUV) 、 在 YUV 色彩空間上彩噪去除與邊緣加強、 色彩與對比度加強,中間還要進行自動曝光控制等, 然后輸出 YUV( 或者 RGB) 格式的數據, 再通過 I/O 接口傳輸到 CPU 中處理。

以下對各個模塊的處理算法做簡要概述。


1.Bayer 

圖像在將實際的景物轉換為圖像數據時, 通常是將傳感器分別接收紅、 綠、 藍三個分量的信息, 然后將紅、 綠、 藍三個分量的信息合成彩色圖像。 該方案需要三塊濾鏡, 這樣價格昂貴,且不好制造, 因為三塊濾鏡都必須保證每一個像素點都對齊。

通過在黑白 cmos 圖像傳感器的基礎上, 增加彩色濾波結構和彩色信息處理模塊就可以獲得圖像的彩色信息, 再對該彩色信息進行處理, 就可以獲得色彩逼真的彩色圖像。通常把彩色圖像傳感器表面覆蓋的濾波稱為彩色濾波陣列( Color Filter Arrays, CFA) 。

目前最常用的濾鏡陣列是棋盤格式的, 已經有很多種類的, 其中絕大多數的攝像產品采用的是原色貝爾模板彩色濾波陣列( Bayer Pattern CFA) , 如圖 2 所示, R、 G、 B 分別表示透紅色、 透綠色和透藍色的濾鏡陣列單元, 圖 3 比較形象地展示了此過程。由於人的視覺對綠色最為敏感, 所以在 Bayer CFA 中 G 分量是 R 和 B 的二倍, 在每個像素點上只能獲取一種色彩分量的信息,然后根據該色彩分量的信息通過插值算法得到全色彩圖像。

 

2.BLC(Black level Correction)

a.暗電流

物理器件不可能是理想的, 由於雜質、 受熱等其他原因的影響, 即使沒有光照射到象素,
象素單元也會產生電荷, 這些電荷產生了暗電流。 而且, 暗電流與光照產生的電荷很難進行
區分。

b.Black Level

Black Level 是用來定義圖像數據為 0 時對應的信號電平。由於暗電流的影響, 傳感器出來的實際原始數據並不是我們需要的黑平衡( 數據不為0) 。 所以,為減少暗電流對圖像信號的影響,可以采用的有效的方法是從已獲得的圖像信號中減去參考暗電流信號。一般情況下, 在傳感器中, 實際像素要比有效像素多, 如下圖所示, 像素區頭幾行作為不感光區( 實際上, 這部分區域也做了 RGB 的 color filter) , 用於自動黑電平校正, 其平均值作為校正值, 然后在下面區域的像素都減去此矯正值, 那么就可以將黑電平矯正過來了。

下面所列圖是做了black level 矯正與沒做black level 矯正的對比, 很明顯, 左邊沒做black level矯正的圖片會比較亮, 影響圖像的對比度: 

3.LSC(Lens Shading Correction)

由於鏡頭本身的物理性質, 造成圖像四周亮度相對中心亮度逐漸降低, 以及, 如下圖所示, 由於圖像光照在透過鏡頭照射到 pixel 上時, 邊角處的焦點夾角大於中心焦點夾角, 造成邊角失光。 表現在圖像上的效果就是亮度從圖像中心到四周逐漸衰減, 且離圖像中心越遠亮度越暗。 為了補償四周的亮度, 需要進行 Lens Shading 的矯正。

Lens Shading 的矯正的方法是根據一定的算法計算每個像素對應的亮度矯正值, 從而補償周邊衰減的亮度。 

矯正方法有二次項矯正、 四次項矯正。

 

4.BPC(Bad Pixel Correction)

a.壞點

壞點為全黑環境下輸出圖像中的白點, 高亮環境下輸出圖像中的黑點。

b.壞點修復方法

一般情況下, RGB 信號應與景物亮度呈線性響應關系, 但由於 Senor 部分 pixel 不良導致輸出的信號不正常, 出現白點或黑點。


壞點修復方法通常有兩種:

一種是自動檢測壞點並自動修復, 另一種是建立壞點像素鏈表進行固定位置的壞像素點修復, 這種方式是 OTP 的方式。

c.壞像素矯正原理

下面以自動檢測壞點修復方法為例, 闡述壞像素矯正算法原理。

 

5.顏色插值

當光線通過 Bayer型 CFAColor Filter Arrays) 陣列之后, 單色光線打在傳感器上, 每個像素都為單色光, 從而理想的Bayer 圖是一個較為昏暗的馬賽克圖。

 

6.Bayer Denoise

使用 cmos sensor獲取圖像,光照程度和傳感器問題是生成圖像中大量噪聲的主要因素。同時, 當信號經過ADC 時, 又會引入其他一些噪聲。 這些噪聲會使圖像整體變得模糊, 而且丟失很多細節, 所以需要對圖像進行去噪處理空間去噪傳統的方法有均值濾波、 高斯濾波等。

但是, 一般的高斯濾波在進行采樣時主要考慮了像素間的空間距離關系, 並沒有考慮像素值之間的相似程度, 因此這樣得到的模糊結果通常是整張圖片一團模糊。 所以, 一般采用非線性去噪算法, 例如雙邊濾波器, 在采樣時不僅考慮像素在空間距離上的關系, 同時加入了像素間的相似程度考慮, 因而可以保持原始圖像的大體分塊, 進而保持邊緣。 


7.AWB(Automatic White Balance)

白平衡的基本原理是在任意環境下, 把白色物體還原成白色物體, 也就是通過找到圖像中的白塊, 然后調整R/G/B 的比例, 如下關系:
R= R * R_Gain
G’ = G * G_Gain
B’ = B * B_Gain
R’ = G= B

AWB 算法通常包括的步驟如下:

(1)色溫統計: 根據圖像統計出色溫;

(2)計算通道增益: 計算出通道的增益;

(3)進行偏色的矯正: 根據給出的增益, 算出偏色圖像的矯正。

 

8.Color Correction

由於人類眼睛可見光的頻譜響應度和半導體傳感器頻譜響應度之間存在差別,還有透鏡等的影響, 得到的RGB 值顏色會存在偏差, 因此必須對顏色進行校正, 通常的做法是通過一個3x3 的顏色變化矩陣來進行顏色矯正。 

 

9.Gamma Correction

人眼對外界光源的感光值與輸入光強不是呈線性關系的, 而是呈指數型關系的。 在低照度下, 人眼更容易分辨出亮度的變化, 隨着照度的增加, 人眼不易分辨出亮度的變化。 而攝像機感光與輸入光強呈線性關系, 為方便人眼辨識圖像, 需要將攝像機采集的圖像進行gamma 矯正。

Gamma 矯正是對輸入圖像灰度值進行的非線性操作, 使輸出圖像灰度值與輸入圖像灰度值呈指數關系:

Vout =AVin

這個指數就是 Gamma, 橫坐標是輸入灰度值, 縱坐標是輸出灰度值, 藍色曲線是 gamma 值小於 1 時的輸入輸出關系, 紅色曲線是 gamma 值大於 1 時的輸入輸出關系。 可以觀察到, 當 gamma 值小於 1 時(藍色曲線), 圖像的整體亮度值得到提升, 同時低灰度處的對比度得到增加, 更利於分辯低灰度值時的圖像細節。


10.色彩空間轉換

YUV 是一種基本色彩空間, 人眼對亮度改變的敏感性遠比對色彩變化大很多, 因此, 對於人眼而言, 亮度分量要比色度分量UV重要得多。 所以, 可以適當地拋棄部分UV分量, 達到壓縮數據的目的。

Laplacian 算子

YCbCr 其實是YUV 經過縮放和偏移的改動版,表示亮度,CrCb 表示色彩的色差, 分別是紅色和藍色的分量。 在YUV 家族中,YCbCr 是在計算機系統中應用最多的成員, 其應用領域很廣泛,JPEGMPEG 均采用此格式。 一般人們所講的YUV 大多是指YCbCrYCbCr有許多取樣格式,。

如 444422, 411和 420

RGB 轉換為YCbCr 的公式如下:

r 0.5 0.4178 0.0813 128

b 0.1678 0.33113 0.5 128

0.299 0.587 0.114

C R G B

C R G G

Y R G B

色彩空間轉換這個模塊, 是將RGB 轉換為 YUV444, 然后在YUV 色彩空間上進行后續的彩色噪聲去除、 邊緣增強等, 也為后續輸出轉換為jpeg 圖片提供方便。

 

11.Color Denoise

為了抑制圖像的彩色噪聲, 一般采用低通濾波器進行處理。 例如使用M×N的高斯低通濾波器在色度通道上進行處理。

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM