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