天天看點

深入了解Android相機體系結構之九

該系列文章總目錄連結: https://blog.csdn.net/u012596975/article/details/107135938

本篇是《深入了解Android相機體系結構》連載文章的第九篇。

相機硬體層

一、簡介

相機的硬體層,作為整個架構的最底層,通過硬體子產品接收來自客觀世界的真實光影效果,将其轉換為計算機所熟知的數字信号,并按照一定的資料格式向上源源不斷提供成穩定并成像效果優秀的圖像資料,整個部分複雜且高效,可以說是,一個優秀的硬體基礎,就好比為整個相機架構的地基,擁有一個好的地基,便使得建造一座摩天大廈成為可能,接下來我們來詳細介紹下,這部分各個元件的基本情況。

二、基本硬體結構

而今的相機硬體系統紛繁複雜,但是如果仔細深入研究的話,你會發現,其實核心元件無外乎鏡頭、感光器、圖像處理器三大件,其中鏡頭用來聚光,感光器件用于光電轉換,而圖像處理器用來加工處理圖像資料,接下來我們就以這三個元件開始展開對于相機系統的世界的探索之旅。

深入了解Android相機體系結構之九

1. 鏡頭(Lens)

将時間的轉盤向前波動一下,讓我們回到各自的國小時代,那時候老師給我們都布置了一個家庭作業,任務是制作一個小孔成像的簡單模型,這個簡單模型便是我接觸的最原始最簡單的成像系統,但是那是我一直有一個疑問,成像為什麼那麼模糊,這個疑問在我接觸到真正的相機之後才得以解開,原來一切都是光線惹的禍。

根據小孔成像原理,小孔的一端是光源,另一端是成像平面,光經過小孔,入射到平面上,無數個光線都入射到這個平面上,便形成了光源的像,但是有一個問題,就是光線是按照發散路徑向四周蔓延開來,光源某點所發出的某一束光線通過小孔後會到達成像平面的某一點上,但是很顯然,該點也會接收來自另一個光源上的點所發出的另一束光線,這樣就形成的光的幹擾,進而影響了最終的成像效果。是以為了改善這個問題,鏡頭便被發明出來,而鏡頭其實我們日常生活中接觸的凸透鏡,其根本目的就是為了解決光線互相幹擾的問題,其原理就是通過凸透鏡的折射原理,将來自同一點的光線,重新彙聚至一點,進而大幅度提升了成像效果。而這裡的重新彙聚的一點便是光源那點在透鏡後的像點,而由于随着光源點的不斷變換,其像點會相應的變化,是以我們常常将來自無限遠處的光線,通過透鏡之後彙聚而成的那個點稱為該鏡頭的焦點,而焦點到透鏡中心的距離,便稱為焦距,一旦透鏡制作完成,焦距便被确定下來。

2. 光圈快門

對于一個制作完成的鏡頭,無法随意調整鏡頭的直徑,是以便在其中加入了一個叫做光圈的部件,該部件一般采用正多邊形或者圓形的孔狀光栅,通過調整光栅開合大小進而控制這個鏡頭的瞬時進光量,然而針對總的進光亮的控制僅僅依靠光圈也是不夠的,需要再用到另一個叫做快門的部件,它主要決定着曝光的時長,最初的快門是通過調整鏡頭前的蓋子的開關來進行實作,随着時代的進步,現在快門衍生出了多個實作方式,其中包括機械快門,它是作為一種隻使用彈簧或者其他機械結構,不靠電力來驅動與控制速度的快門結構,電子快門,該快門結構通過馬達和磁鐵在電力驅動的作用下進行控制。電子斷流快門,一種完全沒有機械結構的快門結構,具有高快門速率和很快的影響捕捉頻率,但是缺點是容易産生高光溢出現象。

光圈控制着瞬時進光量,快門控制着曝光時間,通過兩者的共同合作,完成了控制光線進入量的目的,進而進一步真實再現了場景的光影效果,避免了過度曝光的情況發生,極大的提升了整個提成像品質。

3. 對焦馬達

正如之前所說,入射光線會在通過透鏡之後以錐形路徑彙聚到一點,該點叫做像點,之後再以錐形發散開去,而所有的相同距離發射的光線,都會彙聚到各自的像點上時,便形成了一個都是像點組成的一個平面,而這個平面一般叫做像平面,又由于這個平面是所有像點所彙聚而成的,是以該平面是成像清晰的,而現如今的對焦的本質便是通過移動透鏡,使像平面與感光器件平面重合,進而在感光器件上形成清晰的像。一般來講,對焦可以通過手動移動透鏡完成,但是更一般地,是通過一個叫做對焦馬達的器件來完成。除了手動調整鏡頭進而完成對焦操作外,現在比較主流的方式是通過自動移動透鏡進而完成對焦動作,随着技術的不斷發展,而今的對焦又發展出了自動對焦政策,其中包括了相位對焦和對比度對焦。其基本原理是前後調整鏡頭使像平面與感光器感光平面重合,進而形成清晰的成像效果。另外,針對更為複雜的相機系統,為了獲得更加優秀的成像品質,一般都會采用多個透鏡組合來實作,一來可以消除色差,二來可以通過馬達調整透鏡間的距離,來動态的修改整個透鏡組的焦距,進而滿足更加複雜場景下的成像需求。

d) 感光器(Sensor)

正如之前所講,透鏡的作用是為了彙聚光線,進而形成像平面,但是如何将這個所謂的像平面轉換成計算機所熟知的圖像資訊呢?這就需要用到這裡的感光器了,感光器并不是現代社會的專有發明,其實早在19世界初期的歐洲便有了這個概念,一位名叫尼埃普斯的法國人通過使用瀝青加上薰衣草油,再以鉛錫合金闆作為片基,拍攝了從他家樓上看到的窗戶外的場景,名叫《鴿子窩》的照片,而這裡的瀝青混以薰衣草油便是一種簡單的感光物質,從這開始感光技術開始進入快速發展期,在1888年,美國柯達公司生産出了一種新型感光材料,柔軟且可卷繞的膠卷,這是感光材料的一個質的飛躍,之後1969年在貝爾實驗室,CCD數字感光器件被發明出來,将整個感光技術推入了數字時代,随後技術的不斷革新,便于大規模批量生産的CMOS應運而生,将成像系統往更小更好的方向推進了一大步。随着CMOS的技術不斷發展,優勢明顯的它漸漸取代了CCD,成為相機系統的主流感光器件。

4. 濾光片(IR Filter)

由于感光材料的特性所緻,它會感受除了可見光波長範圍内的光線,比如部分紅外光,由于這部分紅外光是不可見的,是以對于我們而言沒有實際的用處(當然,這也不絕對,有的情況就是需要采集紅外光的資訊,比如夜視照相機),并且可能會幹擾之後的ISP的處理,是以往往需要使用一個用于過濾紅外光,避免紅外光線幹擾,修正攝入的光線的濾片,一般分為幹涉式的IR/AR-CUT(在低通濾波晶片上鍍膜,利用幹涉相消的原理)和吸收式的玻璃(利用光譜吸收的原理)。

5. 閃光燈(Flash)

針對某些特殊場景,比如暗光環境下拍攝需求,此時由于光線本身較少,無法完成充分的感光操作,但是為了擷取正常的拍攝需求,往往需要通過外部補光來作為額外的光照補償,基于此,閃光燈便應運而生,對于手機而言,其主要分為氙氣燈與LED燈兩種,由于LED閃光燈具有功耗較低、體積較小的優勢,作為手機閃光燈的主流選擇。另外,現在很多手機采用了雙色閃光燈的政策,雙色閃光燈可以根據環境的需要調節兩燈發光的強度,可以更為逼近自然光的效果,相比單閃光燈強度有所提升,另外色溫也較普通雙閃光燈要更為準确,總體來講效果較好。

6. 圖像處理器(ISP)

一旦當感光器件完成光電轉換之後,便會将資料給到圖像處理器,而ISP第一步需要做的便是去掉暗電流噪聲,何為暗電流噪聲呢?這要從感光器件說起,針對CCD/CMOS而言,通常并不是全部都用于感光,有一部分是被專門遮擋住,用于采集在并未感光的情況的暗電流情況,通過這種方式消除掉暗電流帶來的噪聲。

對于鏡頭的各處的折射率不同的屬性,會随着視場角的慢慢增大,能夠通過鏡頭的斜光束慢慢減少,進而産生了圖像中心亮度較邊緣部分要高,這個現象在光學系統中叫做漸暈,很顯然這種差異性會帶成像的不自然,是以ISP接下來需要對于這種偏差進行修正,而修正的算法便是鏡頭陰影矯正,具體原理便是以圖像中間亮度均勻的區域為中心,計算出個點由于衰減帶來的圖像變暗速度,進而計算出RGB三通道的補償因子,根據這些補償因子來對圖像進行修正。

随後,由于感光器件針對光線都是采用紅、綠、藍三基色進行分别采集而成的,是以資料一般會呈現出類似馬賽克的排布效果,此時便需要完成去馬賽克處理,基本原理便是通過一定的插值算法,通過附近的顔色分量猜測該像素所缺失的顔色分量,力争還原每一個像素的真實顔色效果,進而形成一個顔色真實的圖像資料,而此時的資料格式便是RAW資料格式,即最原始的圖像資料。

當感光器進行光電轉換的過程中,每一個環節都會産生一定的偏差,而這個偏差到最後便會以噪聲的方式表現出來,是以接下來需要對于這個無關資訊–噪聲進行一定的降噪處理,目前主要采用了非線性去噪算法,比如雙邊濾波器,在采樣時不僅考慮了像素在空間距離上的關系,同時還加入了像素間的相似程度考慮,進而保持了原始圖像的大體分塊,對于邊緣資訊保持良好。

進一步降低了噪聲之後,ISP需要對于圖像白平衡進行處理,由于不同場景下的外界色溫的不同,需要按照一定的比例調整RGB分量的值,進而使得在感光器中,白色依然是呈現白色的效果。白平衡可以采用手動白平衡,通過手動調整三個顔色分量的比例關系,達到白平衡的目的,而更一般地采用了自動白平衡的處理,這裡ISP就承擔着自動白平衡的使命,通過對目前圖像進行分析,得到各顔色分量的比例關系,進而調整其成像效果。

調整好圖像白平衡後,需要進一步地調整顔色誤差,這裡的誤差主要由于濾光片各顔色塊之間存在顔色滲透所導緻,一般在Tunning過程中會利用相機模組拍攝的圖像與标準圖像相比較得到的一個矯正矩陣,ISP利用這個矩陣來對拍攝的圖像進行圖像顔色矯正,進而達到還原拍攝場景中真實顔色的目的。

以上簡單羅列了下,圖像處理器的幾個基本功能,雖然每個廠商所生産的ISP都不盡相同,但是基本都包括了以上幾個步驟,由此可見,圖像處理器是用來提升整個相機系統的成像效果的。

三、手機相機簡介

深入了解Android相機體系結構之九

對于手機上的相機系統,受到尺寸以及功耗的限制,無法像專業相機那樣,為了保證成像效果,可以的很友善地更換更大的鏡頭,加入更大尺寸的CCD/CMOS感光器件,可以放入更加強大的圖像處理子產品,是以留給手機的發揮空間并不是很大,但是即便如此,各大手機廠商依舊在有限的空間和續航能力下,将相機系統做到了在某些領域媲美專業相機的地步,接下來我們來簡單介紹下這套小體積但具有大能量的相機系統。

如圖所示,手機的相機系統可以分為兩個部分,一個是相機模組,一個是圖像處理器ISP,相機模組是用來進行進行光電轉換的,而圖像處理器正如之前所介紹那樣是用于圖像處理的,接下來我們分别來看下,兩者在手機端是如何運作的。

1. 相機模組

由于受到體積的限制,手機相機模組往往做得十分精緻小巧,裡面主要包括了鏡頭、對焦馬達、濾光片以及感光器(Sensor)。

手機中的鏡頭,一般為了消除色差都會采用多個透鏡的組合,手機中的鏡頭也不例外,其材質多是玻璃和塑膠的組合,對于塑膠鏡頭而言,成本較低,适合用于低端産品中的相機系統,而玻璃一般成像品質較高,但是成本也稍高于塑膠鏡頭,是以往往用于一些追求成像品質的手機中,同時其中,鏡頭主要存在以下幾個參數:

  • 視場角FOV,該參數表明了通過鏡頭可以成像多大範圍的場景,一般FOV越大就越能看到大範圍的景物,但是有可能會帶來嚴重的畸變,通常使用後期的畸變矯正算法來修正大FOV所帶來的畸變。
  • 焦距F ,規定所有平行于透鏡主軸的光線彙聚到的那點叫做焦點,而焦點到透鏡中心的距離便是這裡的焦距,一般焦距越大,鏡頭的FOV也就越小。而越短的焦距,往往FOV越大。
  • 光圈值f,通過鏡頭焦距與實際光圈的直徑比值來指定,該值越小,說明進光量也就越大,手機鏡頭一般采用f/2.0的固定光圈。

緊接着是對焦馬達,這部分在手機中主要采用的是音圈馬達(VCM),而為了友善調整鏡頭,一般會将整個鏡頭內建在馬達模組中,主機闆通過I2C總線傳輸指令,進而驅動馬達的移動調整鏡頭達到對焦或者變焦的目的,這裡我們簡單介紹下音圈馬達。

音圈馬達在電子學中被稱為音圈電機,之是以被稱為音圈,是因為其實作原理與揚聲器類似,都是在一個永久磁場内部,通過改變馬達内線圈的直流電流大小,來控制彈簧片的拉升位置,進而帶動鏡頭上下運動,達到對焦或者變焦的目的,由于具有着高靈敏度與高精度的特點,使之成為手機的主流對焦元件。

在手機端,對于音圈馬達的使用一般分為兩種模式,一種是變焦,一種是對焦,兩者原理和目的都不一樣。

  • 變焦: 通過馬達調整鏡頭組中某一個透鏡的移動,進而改變整個鏡頭的焦距,引起視場角的變化,進而實作對于景物的放大縮小的目的,這種方式便是我們常說的光學變焦,這種變焦手段的優點是在放大景物的過程中,不會損失圖像細節,但是缺點也很明顯,受到體積的限制,無法進行大範圍的光學變焦,是以手機廠商一般采用光學與數字變焦的組合方式,達到高範圍的變焦目的。
  • 對焦: 通過音圈馬達直接前後移動整個鏡頭,使物體的像平面與感光器的感光平面重合,進而得到一幅清晰的圖像,這種方式正是對焦的過程。其目的是為了獲得清晰的圖像。

光線在經過了鏡頭之後,會首先進入到下一個元件–濾光片,該部分會針對光線做進一步處理,主要有兩個目的:

  • 過濾紅外線: 由于感光器會感受到部分不可見的紅外線,進而幹擾後面的圖像處理效果,是以需要通過濾光片,将這部分紅外線過濾掉,隻讓可見光透過。
  • 修正光線: 光線通過透鏡之後,并不都是平行垂直射向感光器的,還有很多并非直射的光線,很顯然如果不對其進行攔截,會對感光器産生一定的幹擾,是以濾光片利用石英的實體偏光特性,保留了直射的光線,反射掉斜射部份,避免影響旁邊的感光點,進一步提升成像效果。

經過濾光片的過濾與修正,此時入射的光線具有一定的穩定性,此時就需要通過這個相機體系的核心感光器來進行光電轉換了。

手機端的感光器主要有CCD與CMOS,但是由于成本較高,體積較大,CCD在手機端已經用的不多了,CMOS成為了這個領域的主流感光器,手機端的CMOS依然采用了三層結構,微透鏡/濾光片/感光層,具體定義如下:

  • 微透鏡層主要用于擴充單個像素的受光面積。
  • 濾光片采用的事Bayer模式,類似與RGB模式,都是采用RGB幾個顔色分量來分别度量每一個像素的三通道的灰階值,但是基于人眼對于綠色更為敏感的基本規律,Bayer模式進一步強調了綠色分量,進而将綠色分量分别定義了Gr以及Gb,用于更好地表達圖像的色彩和亮度。
  • 感光層,用于将光子轉換成電子信号,在經過放大電路以及模電轉換電路,将其轉換成數字信号。

其感光層的核心便是一個個感光二極管,每一個二極管邊上都包含了一個放大器和一個數模轉換電路。由于每一個感光元件都有一個放大器,雖然在一定程度上加快的速度的讀取,但是卻無法保證每一個放大器的放大效果一緻,是以這種設計會帶來可能的噪聲。另外,由于CMOS在每一個二極管旁都加入了額外的硬體電路,勢必會造成感光面積的縮小,是以這種設計會影響整體感光效果,這種設計被稱為前照式,為了解決該問題,CMOS廠商推出了背照式設計,這種設計将感光像素與金屬電極半導體分别放置于感光片的兩面,提高了像素占空比,增加了光線感應效率,增加了像素數量,改善了信噪比,極大的提升了成像效果。

2. 圖像處理器

手機端的圖像處理器的實作流程基本和非手機端的相機系統中類似,對于高通平台的ISP,其中主要包括了諸如IFE/BPS/IPE/JPEG等硬體子產品,他們分别擔任了不通過圖像處理任務,接下來我們一一簡單介紹下:

  • IFE(Image Front End): Sensor輸出的資料首先會到達IFE,該硬體子產品會針對preview以及video去做一些顔色校正、下采樣、去馬賽克統計3A資料的處理。
  • BPS(Bayer processing segment): 該硬體子產品主要用于拍照圖像資料的壞點去除、相位對焦、 去馬賽克,下采樣、HDR處理以及Bayer的混合降噪處理。
  • IPE(Image processing engine): 該硬體主要由NPS、PPS兩部分組成,承擔諸如硬體降噪(MFNR、MFSR)、圖像的裁剪、降噪、顔色處理、細節增強等圖像處理工作。
  • JPEG: 拍照資料的存儲通過該硬體子產品進行jpeg編碼工作。

相對于專業相機而言,手機相機的閱聽人并不了解太多專業的攝影學知識,但是這類群體具有一個明顯不同于專業相機閱聽人的特點,那就是比較關注相機的便攜性和可玩性,其中便攜性不用多說,整體手機相機的都是以小巧著稱,但是可玩性方面,各大手機廠商也是煞費苦心,采用了很多政策來擴充了相機的可玩性,其中多攝便是一個比較典型的例子。

早期的手機相機,一般都是單獨的後攝走遍天下,其功能比較單一,之後随着時代的發展以及年輕使用者日益增多,對于自拍的需求愈發強烈,其中對于該領域的技術也有所突破。是以手機廠商便順勢推出了雙攝模式,在手機前面額外加入一個相機模組來主要用于自拍,其中還在ISP中創新性地加入了美顔算法,進而大幅提升了自拍圖像效果。緊接着,手機廠商将多個模組內建到手機上,進而滿足了多個場景的拍照需求,接下來簡單介紹下,多攝相機系統。

現如今的手機相機,往往采用了多個攝像模組,有專門的用于拍攝微縮景觀的微距模組,也有專門拍攝廣角場景的廣角模組,也有為了滿足特定需求開發的雙攝系統,由于雙攝技術的飛速發展,而今已經産生了很多中成熟的方案。

雙攝技術顧名思義,是采用了兩個攝像頭模組分别成像,并通過特定的算法處理,融合成一張圖像,達到特定成像需求的目的。普遍地,現在雙攝方案主要用于實作背景虛化、提升暗光/夜景條件下成像品質、光學變焦,接下來依次進行簡單的介紹:

a) 背景虛化(RGB + RGB)

為了實作該目的,主要采用了兩個RGB的相機模組,同時對景物進行成像,利用三角測量原理,計算出每個點的景深資料,依靠該系列資料,進行前景以及背景的分離,再通過虛化算法針對背景虛化處理,最終營造出背景虛化的成像效果。值得注意的是,這裡由于三角測量的原理的限制,需要對兩個相機模組進行标定,使得兩者成像平面位于同一平面,并且保持像素對齊。

b) 暗光提升(RGB + MONO)

在較暗的環境中,往往拍攝出來的效果不盡如人意,是以手機廠商便采用了一個RGB和一個黑白相機模組(MONO)來提升暗光成像效果,具體原理是,由于黑白相機模組沒有Bayer濾光片,是以在暗光條件下,可以獲得更多的進光量,進而儲存了更多的圖像細節,再加之RGB相機模組的顔色份量的補充,這樣就可以更好的保證了暗光下的成像品質,同樣的由于同樣需要對兩個相機模組的成像進行融合,是以依然需要進行标定操作,使兩個相機模組能夠保持像素對齊。

c) 光學變焦(廣角 + 長焦)

光學變焦,正如之前介紹的,完全可以在對焦馬達中通過調整單個透鏡進行焦距變換,進而實作變焦的目的,但是有受到體積的限制,往往無法從單個相機模組中得到更大的變焦範圍,是以手機廠商就提出采用兩個具有不同焦距(廣角和長焦)的相機模組,共同實作光學變焦的目的,其原理是通過廣角模組呈現大範圍的場景,通過長焦模組看到更遠的場景,在拍照是模組切換以及優秀的融合算法實作了相對平滑的變焦操作。

通過上面的介紹,我們可以看到一個相機系統是通過鏡頭、光圈快門、感光器以及圖像處理器組成,而為了提高其成像品質,在發展過程中逐漸加入了濾光片、對焦馬達以及閃光燈等元件,同時為了将相機系統嵌入手機中,無法避免地對硬體進行了一定的裁剪,比如光圈往往摒棄了可調形式,采用了固定光圈,另外,由于體積以及續航限制,手機上主流感光器主要采用了CMOS,而對焦馬達也由于體積限制,對焦範圍也有所縮小。但是即便硬體受到不小的限制,通過這這幾年圖像處理晶片不斷發展,以及算法的不斷優化,手機相機系統其實正在逐漸縮小與專業相機的差距,我相信在不久的将來成像效果手機相機完全可以媲美專業相機。