攝像頭模組 PDAF對焦(Phase Detection Auto Focus)


本文主要是最近看的兩個文檔的總結,相對零散的筆記,包括《imx298 software reference PDAF》與《PDAF Truly》。

1、PDAF功能的實現需要使用到shield pixel的概念,包括right-half-shield與left-half-shield兩種,起到模仿左右眼的類似功能,參考如下圖片。

 

2、shield pixels主要分布在芯片居中的92%范圍內,其中的32×32規格的pixel array被標稱為1個block,shield pixel在這一個block中的占比為1/64,即每個block中有16個shield pixel,right-half-shield與left-half-shield各8個,不同廠家之間組織方式會有區別,可能出於規避專利的問題。

 

3、使用PDAF功能是需要進行模組校正(Calibration),包括SPC(shield pixel calibration)與DCC(defocus conversion coefficient)。嚴格意義上講,SPC功能才是正常的校正動作,而DCC功能非校正而是生成DAC與Focus的系數關系,進而實現PDAF功能。

 

4、SPC:為了實現PDAF功能,芯片的像素矩陣中,部分G pixel進行了遮光結構設計,光能信號比正常的G pixel要弱一些。因此,為了達到正常G pixel的能效水平,需要對此類型的G pixel增加額外的增益,此動作稱之為SPC。校正前后的效果可參考下面圖示,其中橫坐標為像高對應位置,而縱坐標則為pixel感光效能。

 

5、如上圖所示,兩根不同走勢dash線分別表示right-half-shield與left-half-shield兩種情況,通過調整pixel的增益,是的其效能水平與其他正常的G pixel一致。此校正過程使用的是純白的背透式標靶,拍攝純白標靶后通過線性插值獲得各個對應位置的增益,並把此增益寫入OTP位置,此OTP數據稱為SPC Map,共兩份Map,right-half-shield與left-half-shield各一份。

 

6、下圖是SPC Map的組織方式,總共將成像區域划分為9×7個block,其中每個block包含512×512個pixels,最左上角的第一個block中心點為(280,212)。這63個blocks的中心點被稱為Knots(繩子打結處的節點),生成63個插值后的數據,數據大概計算方式為G-pixel/PD-pixel,只有G pixel有shield pixel,其他沒有。

 

7、DCC:在討論PDAF功能的時候,大部分情況下我們都會聲稱通過該功能模組能夠知道當前被攝物的距離。其實我們並非物理上知道被攝物的距離,而是通過左右shield pixel之間的差異來將被攝物映射到鏡頭移動距離中的某個位置。系統在進行對焦的時候,需要將檢測到的相位差(phase difference)轉換為離焦率(Defocus Value),這個轉換過程應用到的表單數據稱為DCC(defocus conversion coefficient)。

 

8、DCC的測試計算方式包括如下的動作:

將模組的有效對焦行程切分為10等分,即(近焦DAC - 遠焦DAC)/10,以此來覆蓋馬達的對焦范圍;

在每個對焦DAC位置進行對焦,並記錄當前對焦DAC位置的相位差;

完成馬達對焦行程后取一組10pcs的對角DAC與獲得的PD數據進行做比(PD/DAC);

生成10pcs相近的比值記為k,DAC與PD組成的二維數據進行描線可以通過算法擬合出逼近斜率為k的直線;

 

9、由於模組之間的個體差異,DCC需要每一模組單獨測量,而且由於鏡頭的場曲、shading之類的問題,同一模組的四周與中心同樣存在差異,不能以同一系數進行轉換,一般而言四周的系數會比中心的系數要高一些。一般而言將區域划分為小的M×N個blocks,每個block通過上面⑧的過程獲得單獨的k。而后計算時離焦率跟離焦系數與相位差之間按如下的換算方式進行:Defocus Value = Phase Difference × Coefficient,如下圖所示:

 

10、DCC校正過程中,需要使用到黑白相間的背透式標靶,拍攝距離按照15cm進行。由於現行shield pixel只有L、R兩個方向,所以校正標靶的黑白條案有走向要求,需要平行於LR shield pixel方向才能被識別並檢測;-------------------------------此項待確認。

 

11、PDAF檢測過程(from Truly document):

獲得被攝物對焦位置的某一行或若干行的數據信息;

讀取right-half-shield與left-half-shield數列信息;

使用right-half-shield與left-half-shield所生成的數列①中所獲取的行信息進行卷積分計算(卷積分計算會是原來行信息只攜帶對應卷積序列的信息);

將卷積后的兩個新數列做平滑微分插值等預處理,獲得兩個平滑切相對位移的數據;

將此兩數據的相位差傳入系統中,應用PDAF庫及DCC數據進行計算獲得離焦率;

通過該離焦率向馬達下達對應DAC動作的指令並完成對焦;

上述是一個簡單的原理介紹,實際的第⑤步驟中還需要混入置信區間的概念,以此作為是否合焦等的確認。


免責聲明!

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



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