概述
介紹
黑電平(Black Level Correction)也就是黑色的最低點,以8bit資料來說,指在經過一定校準的顯示裝置上,沒有一行光亮輸出的視頻信號電平,定義影像資料為0時對應的信號電平,
原因
那么為什么要進行黑電平校正呢?原因如下:
-
CMOS傳感器采集的資訊經過一系列轉換生成原始RAW格式資料,以8bit資料為例,單個pixel的有效值是0~255,但是實際AD芯片(模數轉換芯片)的精度可能無法將電壓值很小的一部分轉換出來,因此,sensor廠家一般會在AD的輸入之前加上一個固定的偏移量,使輸出的pixel value在5(非固定)~255之間,目的是為了讓暗部的細節完全保留,當然同時也會損失一些亮部細節,由于對于影像來說,我們的關注度更傾向于暗部區域,ISP后面會有很多增益模塊(LSC、AWB、Gamma等),因此亮區的一點點損失是可以接受的,
-
sensor的電路本身會存在暗電流,導致在沒有光線照射的時候,像素單位也有一定的輸出電壓,暗電流這個東西跟曝光時間和gain都有關系,不同的位置也是不一樣的,因此在gain增大的時候,電路的增益增大,暗電流也會增強,因此很多ISP會選擇在不同gain下減去不同的bl的值,
Optical Black
每個sensor都有OB區域,CCD sensor初期成像效果較差,它會把top OB 和 side OB暴露給isp使用,這樣isp可以自己估算不同區域不同的black level值,再分別處理,然而ob并不能真實的反映黑電平的值,因此目前很少有ISP或sensor去使用ob區域進行計算,
校正
現在的主流cmos sensor都是自己把black level已經處理完了,在isp部分減掉的其實不是black level,而是sensor統一做出來的pedestal,sensor端不會將bl減完,因為sensor輸出不能為負數,若將bl減完,就等于小于0的部分直接就丟掉了,這樣做會改變noise的分布,
演算法
一般BLC模塊會放在ISP比較靠前的位置,因為我們希望影像在進入其他模塊之前能夠還原最為真實的影像,有些sensor會在sensor內部集成BLC的模塊,那么此時ISP里的BLC模塊只做微調即可,
由于硬體設計人員在設計BLC模塊時需要考慮效果和成本,因此目前市場上使用的ISP一般采用的方法是在sensor輸出的影像上減去一個數值,
BLC各個通道均需要校正,目前比較常用的方法有:
- 中值
- 全域均值
- 區域均值
- 自定義
計算較為簡單,這里不附代碼了,
tuning
由于電源、PCB等各個原因,我們遇到的黑平衡并不是那么理想,如下兩種情況,當然還有更糟的,這里不一一列舉,
校正前需要根據影像的具體情況進行分析,若影像平面趨于平整,則推薦使用全幀均值;若影像出現一些峰值,有明顯突出山峰等,推薦使用中值的方法;若出現某個角的值比較高,可能由于電源或者其他的原因引起的,則推薦使用區域計算的方法;此外,還有自定義、最大值等方法,需要根據不同影像的情況去選擇方法,終其目的都是一樣的,
以單通道為例,以下是黑電平校正的示意圖:
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/208551.html
標籤:嵌入式
上一篇:磁阻式隨機存盤器MRAM基本原理
下一篇:影像處理之FPN校正
