CCT之CAMERA TUNNING調試學習總結


ob 靜態電流

shading 陰影,

3a 

GAMMA:拍灰階卡,

ccm

 

isp 是image signal processing,用於圖像處理,比如gamma調整,dynamic range correction,smmoth,sharpness,format convert,resize,edge enhancement ,color correction等操作都是這里完成的
3aa 是ae/af/awb algorithms。 3aa 的硬件模塊分析輸出3a的統計信息。3aa軟件是分析統計信息值進行算法處理。

3A:
AE/AF/AWB 。對應的是相機的功能,即自動曝光,自動對焦和自動白平衡。三個功能的實現都需要軟硬件結合起來實現。但基本都是一個負反饋閉環控制系統,即狀態硬件模塊輸出亮度值/FV值/灰度空間,然后對應的3A算法進行計算反饋到相應的處理單元做處理,知道相應的值穩定下來。

ISP:Image Signal Processor ,即圖像信號處理器,形式上指一個硬件,和CPU類似。但現在
ISP都是泛指,因為相機硬件中很多單獨硬件模塊組成,如做色彩轉換的,做濾波降噪的,有做裁剪,做旋轉的。

 

 

對於MT6589平台camera調試的學習總結,camera調試學習的是對於rawsensor的調試,對於yuv格式的sensor是由FAE幫助我們調試的。

  首先在調試一個camera 之前要准備好調試所需要的環境,實驗室是必須的,另外還要有調試的工具安裝。調試camera之前要確保安裝好三個工具:

1.CCT (Camera Calibration Tool)camera的大部分調試工作都是在這個工具下完成的

2.Imatest camera 調試CCM 部分和PCA部分所需要用到的picture分析工具

3.Customer_DP 這個工具在調試AF參數的時候可以用到以及可以驗證當前的照片和所用的軟件代碼是否一致,以及確定camera調試的好壞。

   對於CCT TOOL的使用,

一、OB的調試:

OB形成的原因是:

1)在全黑的環境下,理論上sensor感應到的電流值應該為零,但是由於暗電流的存在,則形成了OB

2)影響OB的原因還有熱燥點,模組漏光,模組的電路打樣等等原因。

我們在開始調試一個camrea之前要先看一下這個camera的模糊的好壞,若效果不好,是否可以通過軟件的方法進行優化,這時我們就要看這顆sensorOB 是否合理。操作方法:在一個完全黑的環境下,將camera用黑色的遮光片遮住,保證不能漏光(調試之前確認軟件已經將meta模式下的閃光燈關掉,否則會影響最后的OB值),OB值可以通過兩種方法得到,如圖一選擇菜單CDVT Sensor Test 中的OB Stability選項,然后run,大概兩分鍾左右就會出現結果,點圖下邊的RAW Anglysis Result,這時候我們可以先把分析驗證出來的結果給export出來,然后分析這顆sensor 的性能是否OK,基本上對於不同的sensor ICOB值是不同的,但是同一個SENSOR ICOB 值是差不多的,如果性能夠好,則OB值相差的范圍在(1~-1)左右,像我們經常使用的OV5647OB值大概是14左右,而OV8825OB值則是64左右。若是跑出來的OB值跟這個值有很大的懸殊,則說明這顆SENSOR的性能太差,軟件調試很難改善效果。

1.通過RAW Anglysis Result得到的圖標如圖二所示:

2.另外一種得出OB值得方法如圖三所示:

CDVT SENSOR Calibration 菜單中直接得出OB的值,操作方法和上邊一樣,若客戶在最后的時候說我們的sensorcapturepreivew的時候顏色,亮度等不一樣,有可能是我們這顆sensor的性能不是很好,這時我們可以分別測試一下previewcapture兩種情況下的OB,然后在后續調試的過程中對於previewcapture扣不同的OB,但是在一般情況下我們只需要測試一種OB即可,在得到OB之后,我們需要將OB的參數寫到我們的NVRAM里邊,操作菜單如圖四所示:

OB所對應的框中將調試得到的OB值填到前邊的四個框中,一般情況下這四個值我們都是填的一樣的,但是如果客戶喜歡圖片偏紅一點,這時我們可以紅色少扣一點,而藍色多扣一些,這時我們可以填16,B就可以填17,設置完成這四個值之后,我們就按下邊的按鈕Calculat計算出來gainoffset,在計算完成之后我們看到圖四左邊還有兩個對話框這時我們要將OB的值給寫到對應的寄存器里邊,我們總共有0~1112OB的數值,我們要將每組到寫進去,每次寫完都要點Apply to register菜單,在12組寫完之后我們可以直接點Save to NVRAM,給保存到NVRAM中去。一般情況下我們在調完一個功能的時候都會保存一個對應的.csv格式的文件,以備我們后續使用。到這里我們的OB調試已經結束,接下來我們要調試shading

二、shading 調試

 

   對於shading 的調試比較麻煩是因為我們要拍出高、中、低三個色溫下對應的preview catpuer video三組的九張照片,但是若對於要求不是很苛刻的客戶,一般情況下我們可以低色溫和中色溫都在TL84這個色溫下去拍,因為中色溫和低色溫的顏色本來也比較接近。在開始拍照之前我們要做好以下幾個工作:1.手機平放在色溫箱中,且要將濾光片放置在camera的上方  2.設置好牌照的條件,如圖五所示:

Banding要設成50HZ,MF設置成100,且要APPLY,保證在capture的過程中AF是在同一個距離不動,設置好之后我們就可以拍照了,拍照的格式可以選擇jpeg,然后照片大小設置成1:1mode要自己設置,shading 的調試框如圖六所示:

在我們設置完拍照模式之后,選擇tuning para按鈕,可設定shding要補償的比列,通常建議設置成85%~90%,我們現在一般都設置成85%tuning完之后我們依次按下calculateApply para and table Apply para按鈕,且save to nvram,設置完之后就可以capture了。Capture后我們可以在左上方看到拍到的照片,可以按邊上的那些條件,看我們圖片的shading 如何,同時可以看下邊的RGBY四條曲線,好的曲線是四條線差不多重合在一起的,且是光滑和平滑的。拍完九組照片之后,我們要把參數save to NVRAM。在這步操作完之后,我們可以將圖五中shding enable這個選項給勾上,去驗證我們的shading是否ok,若最后拍出來的照片RGBY四條曲線是基本平穩的,則說明我們的shading 已經調試ok.(需要注意的是我們在選擇capture mode的時候,圖片的大小要改成16X16的,因為默認的是32X32的)。調試完shading 之后我們要去調試AE.

 

三.AE的調試:mtk不建議我們自己去調試AE,而我們在調試sensor的過程中只需要去將EV去客制化,如下圖七所示:

因為mtk已經幫我們定好了一個標准,因此我們在調試AE的時候,只需要將Target LV給固定為116calibrate EV Offset的值,然后給SAVE TO NVRAM,然后再整個的apply and save to NVRAM即可。AE在調試完之后,需要調AWB.

四、AWB的調試

 

     AWB的調試沒有什么技巧,但是是比較費時且需要耐心的一個過程,因為我們在調試AWB的時候要拍攝(D75DNPStrobe)高色溫、(CWFTL84(中色溫)、(HorizonA)低色溫等七種色溫的圖片,這個要用灰卡進行拍攝。手機需要將整個灰卡鋪滿整個屏幕。且手機是固定的,拍攝之前需要將條件設置好,在圖五的基礎上我們只需要再進行如下設置即可,如下圖八所示:

因為在上邊我們已經調試好shading ,因此在這里我們可以將shading enable這個選項給勾上,同時在調不同色溫的時候,要根據色溫的高低選擇low mid high按鈕,且在進行awb調試的時候我們mode要選擇為capture ,拍照模式要選擇pro Raw --10bit的(也可以選擇pro raw --8bit),但是我們剛開始調試一般都選擇10bit的,拍完照片之后,在如圖九所示的圖中:

的左邊就會出現我們剛拍的照片,我們要在照片上框一個框,然后在對應的下邊的色溫條中雙擊此時拍照模式下的色溫條,則會出現這個色溫下的RGB所占的權重,在拍閃光燈的時候,我們應將圖五中的flash enable給勾選上拍照,在拍完七組照片之后,AUTO TUNING 的按鈕就可以使用了,點AWB Light Area按鈕,此時可以看到七個色溫所對應的的溫度框,如下圖十所示:

一般情況下我們都會自己在增加一個daylight fluolescent的框以保證所有的點都會落在框中,在增加完之后我們update,就可以看到我們新加的框了,在藍色的框下邊。

 

這時候我們再按preference gain按鈕,將RGB三個拉BAR都拉到最左端,保證顏色肯定是灰色的,且沒有偏色,一般情況下我們都不用自己手動去調節RGB的值(默認的都是512),但是若在AWB調完之后我們發現某個場景的照片有偏色也可以自己去調節RGB的值,但是不要太大。如下圖11所示:

調試完這些參數之后,我們就可以將所有的參數給save to NVRAM,之后我們在將圖五中的AWB ENABLE給勾選上,就可以拍照進行驗證了。在驗證的過程中,我們就可以用jpeg格式的照片驗證,這樣比較快,對於我們調試的AWB效果是否好,我們可以看圖九中有一個表格,在表格下方有一個get按鈕,我們可以get一下,對於高色溫下一般都會占到90%以上,對於中色溫和低色溫則是分布的比較開,但是只要你現在的這個色溫占到45%以上都是OK的。調試完awb之后,一般camera的效果都可以可以的,若還要繼續調試,則可以在調試AF(因為AF 是用DP 調的,因此在說完CCT之后,我們再說AF 的調試),接下來是調試GAMMA

四、GAMMA的調試

Gamma的調試是要拍灰階卡的,根據我們拍出來的照片去調試gamma曲線,mtk會給我們幾組之前別人調過的比較好的gamma曲線,一般情況下我們只要用那些曲線就可以了,不用自己去調gamma曲線,因為調試的不好會出現圖片的對比度和噪點有很大的差別。Gamma調試完之后,就是CCM的調試

五、CCM的調試

 

CCM的調試有一半是用CCT調的,還有一半是用Imatest調試的,CCM調試要拍24色卡,且也要拍高中低三組色溫下的照片,且在調試CCM的時候,對於拍照的模式和拍出來的照片的命名方式都是有要求的。照片模式我們要選擇pro raw --10bit,照片的命名方式跟工廠模式中camera拍出來的照片的命名方式是一樣的,如D65__2528x1868_10_0.raw,其中這個照片的信息D65就是在D65的這個光源下拍的,25281868是照片的大小,1010bit,0是顏色格式(B:0GB:1GR:2R:3,在調試CCM 的時候要確定有一個目標原W文件和gamma.csv文件,以及我們自己的照片,如下圖12所示:

在我們將目標文件和我們自己的文件都導進去的時候一定要再圖片上將二十色顏色都框上,同時點AUTO SELECT按鈕,且彈出對話框要按no,確定不在重新導進文件。在選完之后我們要按Optimize按鈕,去優化我們的圖片,這時候我們可以看到上邊的那個矩陣的數字變化,對角線的數字分別代表補償的RGB的值,我們分析可以看到對於中低色溫就藍色補償的多一些,高色溫就紅色的補償的多一些。進行完這些操作的時候在我們安裝工具的目錄下有一個名字為optResult_CCM的文件,我們可以先點Reset polu data按鈕,將這個execl表格中的內容清空,然后按add new poly data 按鈕增加一組數據,再點Gen para,apply para,apply,save to nvram,再各個色溫拍照優化完之后,且進行完這些所有的操作之后,我們就可以拍照驗證我們調試的CCM 結果。這時我們需要將圖五中的Dynamic ccm這個給勾選上,拍照的時候我們要拍JPEG 的照片格式,只有這樣Imatest才能打開,在打開imatest的時候我們就可以分析我們現在照片的飽和度以及顏色是否偏差很大,會有一個圖表出來。

 

七、PCA的調試:

 

八、AF的調試:

       AF的調試的基本是要進工廠模式下,在 Hardware Testing下有camera測試項,進入進行設置,capture size選擇就是capture size,cpture type可以選擇為jpeg only(為了節省手機空間,也可以選擇pure raw,這時會生成兩張照片,一張raw,一張jpeg)Capture number就選擇為singleiso speed可以用默認的,strobe mode選擇為off將閃光燈關掉,AF選擇為FULL SCAN,並從中選擇一張最清晰的照片進行選擇,然后開始preview開始拍照,因為每次AF都要跑1024步,因此拍一張照片的時間會比較長,一般情況下我們只需要對特定距離進行拍照,遠景可以選擇3m2.5m2m,中景可以選擇1.5m1m80cm,70cm一下就是近景了,因為在近景的情況下AF動的會比較小,且比較細,因此在70cm一下,我們就要每隔10cm進行一次拍攝,最近的距離要根據廠家提供給我們的馬達可以達到的最近距離去試,一般情況下我們就測到10cm,拍完這幾組照片之后,就可以用DP工具去分析AF的性能了。

運行DEBUG Parser工具,在里邊有AF Table Gen功能,在這里我們可以將照片都打開,這時候在工具中就可以根據分析最近的照片得到AFoffset,且我們可以看到在不同距離,馬達所在不同位置時camera達到拍照的最清晰點,我們可以直接自己計算將lens_para_FM50AF.cpp文件中AF的參數進行填寫,如下所示:

const NVRAM_LENS_PARA_STRUCT FM50AF_LENS_PARA_DEFAULT_VALUE =

{

    //Version

    NVRAM_CAMERA_LENS_FILE_VERSION,

 

    // Focus Range NVRAM

    {0, 1023},

 

    // AF NVRAM

    {

        // -------- AF ------------

        {100, // i4Offset

          12, // i4NormalNum

          12, // i4MacroNum

           0, // i4InfIdxOffset

           0, //i4MacroIdxOffset         

           {

                 0,   20,  44,  72, 100, 144, 189, 242, 305, 379,

               453,  527,   0,   0,   0,   0,   0,   0,   0,   0,

             0,   0,   0,   0,   0,   0,   0,   0,   0,   0

            },

第一組參數{01023}是指AF總共可以運動1024步,下邊的100是指AF的起始值,AF100以后才會達到第一次最清晰的點,下邊的兩個12,是指下邊數組中AF可以移動的步數,即下邊數組中AF移動的步數的個數,我們可以自己手動填這個文件,也可以將這些數給輸入到CCT工具里,自動生成參數,如下圖所示:

若我們馬達的靜深不夠深,我們會發現在我們拍的照片中,每個照片所達到最清晰狀態,AF移動的距離都很小,這時我們就要將我們camera近距離拍照的距離再縮短一些,可以每5cm拍一張照片,否則在近距離拍照的時候,有可能會錯過最清晰的點,則拍出來的照片效果會不好,照片增多了,我們上邊數組中的個數也要增加,如{

                 0,   20,  44,  72, 100, 144, 189, 242, 305, 379,

               453,  527,   0,   0,   0,   0,   0,   0,   0,   0,

             0,   0,   0,   0,   0,   0,   0,   0,   0,   0

            }這個數組所示,基本上AF每步移動的距離都是差不多的,因此我們再調試的過程中也要注意AF的移動步數不要有太大的跳變,否則會影響照片效果。


免責聲明!

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



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