前言:
ISP(image signal processing),圖像信號處理芯片,在手機(jī)攝像頭和車載攝像頭等領(lǐng)域有著廣泛應(yīng)用,是圖像信號處理的核心芯片。
ISP pipeline 流程圖如下:
光線經(jīng)過lens鏡頭,投射到sensor上,經(jīng)過光電轉(zhuǎn)換成模擬電信號,再由A/D轉(zhuǎn)換成數(shù)字信號,交給ISP芯片進(jìn)行一系列的處理,在LENS部分也需要進(jìn)行鏡頭校正、顏色矯正等一些操作。然后,得到的bayer pattern的image,再經(jīng)過BLC(black level compensation,黑電平補(bǔ)償)、lens shading( lens shading correction,鏡頭陰影矯正)、BPC(bad pixel correction,去壞點(diǎn))、CIP( demosaic,去馬賽克插值)、DNS(denoise,去噪)、AWB(自動白平衡)、 color correction(顏色矯正) 、 gamma 矯正、 色彩空間轉(zhuǎn)換( RGB 轉(zhuǎn)換 YUV),然后輸出 YUV( 或者 RGB) 格式的數(shù)據(jù),再通過 I/O 接口傳輸?shù)?CPU 中處理。
各個模塊功能簡述如下:
Bayer pattern:
?
通常把圖像傳感器表面覆蓋的濾波稱為彩色濾波陣列( Color Filter Arrays, CFA) 。目前最常用的濾鏡陣列是棋盤格式的, 已經(jīng)有很多種類的, 其中絕大多數(shù)的攝像產(chǎn)品采用的是原色貝爾模板彩色濾波陣列( Bayer Pattern CFA) R、 G、 B 分別表示紅色、 綠色和藍(lán)色的濾鏡陣列單元, 比較形象地展示了此過程。由于人的視覺對綠色最為敏感, 所以在 Bayer CFA 中 G 分量是 R 和 B 的二倍, 在每個像素點(diǎn)上只能獲取一種色彩分量的信息,然后根據(jù)該色彩分量的信息通過插值算法得到全色彩圖像。
BLC(Black level Correction):
物理器件不可能是理想的, 由于雜質(zhì)、 受熱等其他原因的影響, 即使沒有光照射到pixel, 象素單元也會產(chǎn)生電荷, 這些電荷產(chǎn)生了暗電流。而且, 暗電流與光照產(chǎn)生的電荷很難進(jìn)行區(qū)分。Black Level 是用來定義圖像數(shù)據(jù)為 0 時對應(yīng)的信號電平。由于暗電流的影響, 傳感器出來的實(shí)際原始數(shù)據(jù)并不是我們需要的黑平衡( 數(shù)據(jù)不為0) 。所以,為減少暗電流對圖像信號的影響,可以采用的有效的方法是從已獲得的圖像信號中減去參考暗電流信號。一般情況下, 在傳感器中, 實(shí)際像素要比有效像素多,像素區(qū)頭幾行作為不感光區(qū),實(shí)際上這部分區(qū)域也做了 RGB 的 color filter , 用于自動黑電平校正, 其平均值作為校正值, 然后在下面區(qū)域的像素都減去此矯正值, 那么就可以將黑電平矯正過來了。做了black level 矯正與沒做black level 矯正對比, 沒做black level矯正的圖片會比較亮。
LSC(Lens Shading Correction)
由于鏡頭本身的物理性質(zhì), 造成圖像四周亮度相對中心亮度逐漸降低,圖像光照在透過鏡頭照射到 pixel 上時, 邊角處的焦點(diǎn)夾角大于中心焦點(diǎn)夾角, 造成邊角失光。表現(xiàn)在圖像上的效果就是亮度從圖像中心到四周逐漸衰減, 且離圖像中心越遠(yuǎn)亮度越暗。為了補(bǔ)償四周的亮度, 需要進(jìn)行 Lens Shading 的矯正。Lens Shading 的矯正的方法是根據(jù)一定的算法計(jì)算每個像素對應(yīng)的亮度矯正值, 從而補(bǔ)償周邊衰減的亮度。
BPC(Bad Pixel Correction)
一般情況下, RGB 信號應(yīng)與景物亮度呈線性響應(yīng)關(guān)系, 但由于 Senor 部分 pixel 不良導(dǎo)致輸出的信號不正常, 出現(xiàn)白點(diǎn)或黑點(diǎn)。壞點(diǎn)為全黑環(huán)境下輸出圖像中的白點(diǎn), 高亮環(huán)境下輸出圖像中的黑點(diǎn)。壞點(diǎn)修復(fù)方法通常有兩種:一種是自動檢測壞點(diǎn)并自動修復(fù), 另一種是建立壞點(diǎn)像素鏈表進(jìn)行固定位置的壞像素點(diǎn)修復(fù), 這種方式是 OTP 的方式。其實(shí)壞點(diǎn)有時候是故意放進(jìn)去的,為的就是作為一個參考標(biāo)尺。
DNS:
使用 cmos sensor獲取圖像,光照程度和傳感器問題是生成圖像中大量噪聲的主要因素。同時, 當(dāng)信號經(jīng)過ADC 時, 又會引入其他一些噪聲。這些噪聲會使圖像整體變得模糊, 而且丟失很多細(xì)節(jié), 所以需要對圖像進(jìn)行去噪處理,空間去噪傳統(tǒng)的方法有均值濾波、 高斯濾波等。但是, 一般的高斯濾波在進(jìn)行采樣時主要考慮了像素間的空間距離關(guān)系, 并沒有考慮像素值之間的相似程度, 因此這樣得到的模糊結(jié)果通常是整張圖片一團(tuán)模糊。所以, 一般采用非線性去噪算法, 例如雙邊濾波器, 在采樣時不僅考慮像素在空間距離上的關(guān)系, 同時加入了像素間的相似程度考慮, 因而可以保持原始圖像的大體分塊, 進(jìn)而保持邊緣。在實(shí)際的應(yīng)用中,小波去噪比較合適,而且在整個pipeline中的各個分段,都會或多或少的應(yīng)用到DNS的操作,在ISP的整個過程中特別重要,幾乎存在于其各個部分。
顏色插值
當(dāng)光線通過 Bayer型 CFA(Color Filter Arrays) 陣列之后, 光線打在傳感器上,分別得到了BGR數(shù)據(jù),在這里,BGR的數(shù)據(jù)采樣比為11,是因?yàn)槿搜蹖G色光(550nm)更為敏感,其中G也稱作亮度信息,BR為色度信息。可以看出,在上面的Bayer圖中,每一個pixel都只有BGR數(shù)據(jù)中的一個,所以就需要利用CIP插值來補(bǔ)充其他兩個通道的顏色信息。才能形成一幅正常的全彩色image。下圖即為采集到的Bayer pattern格式的圖片實(shí)際效果圖,可以看出,整體顯示出暗綠色,這也是綠色分量占了一半的原因造成的。另外附有最近鄰和雙線性插值的效果圖。
AWB(Automatic White Balance)
自動白平衡的基本原理是在任意環(huán)境下, 把白色物體還原成白色物體, 也就是通過找到圖像中的白塊, 然后調(diào)整R/G/B 的比例, 如下關(guān)系:R’= R * R_Gain,G’ = G * G_Gain,B’ = B * B_Gain,R’ = G’= B’ AWB 算法通常包括的步驟如下:(1)色溫統(tǒng)計(jì):根據(jù)圖像統(tǒng)計(jì)出色溫;(2)計(jì)算通道增益:計(jì)算出R 和B 通道的增益;(3)進(jìn)行偏色的矯正:根據(jù)給出的增益, 算出偏色圖像的矯正。
其中,灰度世界法和完美反射法等都是比較常用且有效的方法。
Gamma Correction
人眼對外界光源的感光值與輸入光強(qiáng)不是呈線性關(guān)系的, 而是呈指數(shù)型關(guān)系的。在低照度下, 人眼更容易分辨出亮度的變化, 隨著照度的增加, 人眼不易分辨出亮度的變化。而攝像機(jī)感光與輸入光強(qiáng)呈線性關(guān)系, 為方便人眼辨識圖像, 需要將攝像機(jī)采集的圖像進(jìn)行g(shù)amma 矯正。Gamma 矯正是對輸入圖像灰度值進(jìn)行的非線性操作, 使輸出圖像灰度值與輸入圖像灰度值呈指數(shù)關(guān)系,這個指數(shù)就是 Gamma, 橫坐標(biāo)是輸入灰度值, 縱坐標(biāo)是輸出灰度值, 藍(lán)色曲線是 gamma 值小于 1 時的輸入輸出關(guān)系, 紅色曲線是 gamma 值大于 1 時的輸入輸出關(guān)系。可以觀察到, 當(dāng) gamma 值小于 1 時(藍(lán)色曲線), 圖像的整體亮度值得到提升, 同時低灰度處的對比度得到增加, 更利于分辯低灰度值時的圖像細(xì)節(jié)。
Color Correction
由于人類眼睛可見光的頻譜響應(yīng)度和半導(dǎo)體傳感器頻譜響應(yīng)度之間存在差別,還有透鏡等的影響, 得到的RGB 值顏色會存在偏差, 因此必須對顏色進(jìn)行校正, 通常的做法是通過一個3x3 的顏色變化矩陣來進(jìn)行顏色矯正。
色彩空間轉(zhuǎn)換:
UV 是一種基本色彩空間, 人眼對亮度改變的敏感性遠(yuǎn)比對色彩變化大很多, 因此, 對于人眼而言, 亮度分量Y 要比色度分量U、V 重要得多。所以, 可以適當(dāng)?shù)貟仐壊糠諹、V分量, 達(dá)到壓縮數(shù)據(jù)的目的。Laplacian 算子:YCbCr 其實(shí)是YUV 經(jīng)過縮放和偏移的改動版,Y 表示亮度,Cr、Cb 表示色彩的色差, 分別是紅色和藍(lán)色的分量。在YUV 家族中,YCbCr 是在計(jì)算機(jī)系統(tǒng)中應(yīng)用最多的成員, 其應(yīng)用領(lǐng)域很廣泛,JPEG、MPEG 均采用此格式。一般人們所講的YUV 大多是指YCbCr。YCbCr有許多取樣格式,。
?
?
如 4∶4∶4,4∶2∶2, 4∶1∶1和 4∶2∶0。RGB 轉(zhuǎn)換為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
?
?
色彩空間轉(zhuǎn)換這個模塊, 是將RGB 轉(zhuǎn)換為 YUV444, 然后在YUV 色彩空間上進(jìn)行后續(xù)的彩色噪聲去除、 邊緣增強(qiáng)等, 也為后續(xù)輸出轉(zhuǎn)換為jpeg 圖片提供方便。
編輯:黃飛
評論