第 3 章:現代智慧型手機攝影
第 2 章為您奠定了硬體基礎:鏡頭、感光元件、ISP 管線與多相機模組。本章回答了自然的後續問題:現代相機應用程式實際上如何使用這些硬體,產出我在 Instagram 上看到的那種照片?
2010 年的智慧型手機拍攝單一曝光、透過基本 ISP 處理,然後寫入一張 JPEG。2026 年的智慧型手機會為一張靜態照片例行拍攝 5 到 15 個獨立畫面、利用陀螺儀資料將它們對齊到子像素精度、使用多訊框訊號處理進行融合、將結果送入神經網路進行語意分割或深度估測,最後色調映射成一張可分享的影像——全部都在一次按下快門按鈕的時間內完成。
本章是現代智慧型手機攝影功能的逐一巡覽。我們將在硬體 + 軟體層級解釋每個功能的運作方式,不涉及任何 Camera2 API 程式碼。目標是建立一套詞彙,描述現代相機系統能做什麼,這樣當您日後撰寫程式碼控制這些功能時,您會知道背後發生了什麼事。
HDR:高動態範圍多訊框融合
動態範圍是成像系統在同一次記錄中、不發生截斷的情況下,能同時捕捉場景中最亮與最暗部分的比值。人眼得益於掃視適應,在單次凝視中可感知約 20 檔的動態範圍(1,000,000:1 對比度)。單一智慧型手機感光元件曝光在基礎 ISO 下大約可捕捉 10 到 12 檔。這兩個數字之間的差距就是 HDR 存在的原因。
想像您在室內拍攝一張主體背後有明亮窗戶的照片。如果您為人物臉部曝光(假設 1/30s、ISO 400),窗戶會過曝成純白截斷——沒有天空、沒有雲、沒有細節。如果您為窗戶曝光(1/2000s、ISO 50),人物臉部會變成一片剪影般的黑色斑塊。任何單一曝光都無法勝任。
智慧型手機 HDR 的運作方式
現代手機上的每個 HDR 系統都使用多訊框包圍曝光之後進行運算融合。演算法的運作方式如下:
- 包圍曝光捕捉:相機以不同的曝光值(EV)連續快速捕捉 3 到 10 個畫面。一組典型的組合可能是 -3 EV(極短,保留亮部)、-1 EV、+1 EV、+3 EV(極長,捕捉暗部)的畫面。在連拍期間感光元件與 VCM 保持完全不動;只有電子快門時間改變。
- 參考畫面選取:演算法挑選最清晰的中間曝光畫面作為幾何參考。
- 影像配準 / 對齊:每個非參考畫面會以運算方式對齊到參考畫面。演算法使用 FAST 或 SIFT 等演算法尋找獨特的關鍵點特徵(角點、邊緣),計算仿射或單應性變換,將每個畫面的特徵映射到參考畫面上,並相應地扭曲像素。任何過於模糊(因連拍期間的微抖動)的畫面會被完全捨棄。
- 融合:對最終影像中的每個像素位置,演算法結合來自對齊畫面的資訊。曝光不足的像素貢獻其乾淨、未截斷的亮部資料。過曝的像素貢獻其低雜訊的暗部資料。中間調像素在所有畫面間取平均以降低散粒雜訊。
- 色調映射:融合後的線性影像——此時可能包含 14 到 18 檔可用動態範圍——透過精密的局部色調映射運算子壓縮成 8 位元或 10 位元輸出影像,使其在標準 sRGB 顯示器上看起來良好。
真實世界範例:Galaxy S26 Ultra 在預設的「場景最佳化 HDR」模式下,內部會觸發 7 個包圍曝光畫面,總計約 0.2 秒的捕捉時間。內建的手部移動偵測會捨棄 2 個模糊畫面。剩餘的 5 個畫面會被對齊、融合並進行色調映射。輸出在 Android 14+ 裝置上寫入為 JPEG_R Ultra HDR 檔案:一張標準 JPEG 主影像(8 位元 SDR),內嵌一張增益圖,支援 HDR 的檢視器(Android 14 圖庫、Chrome 120+、Adobe Lightroom)可利用它在 HDR10 或 Dolby Vision 顯示器上重建完整的 10 位元 HDR 亮度範圍。
HDR 適用與不適用的時機
HDR 在同時具有明亮亮部與深沉暗部的靜態場景中表現卓越:風景、逆光人像、有窗戶的房間、水面上的日落。當場景中的物體在包圍曝光連拍期間移動時,它會主動失敗——產生鬼影瑕疵:飛鳥、飄揚的旗幟、眨眼的人、奔跑的孩子。現代 AI 驅動的 HDR 演算法會偵測並分割移動物體,僅針對這些像素混合參考畫面,以避免經典的 HDR「鬼影」。
人像模式:透過深度估測產生散景
人像模式產生一種美學效果:主體的臉部完美銳利,而背景溶化成柔滑、失焦的模糊,稱為散景。傳統相機以光學方式達成此效果,使用大型感光元件、寬光圈與長焦距。智慧型手機則以運算方式達成,因為 1/1.3 英吋感光元件在 f/1.6 下無法自然產生足夠淺的景深來呈現此效果。
智慧型手機深度估測的三種方法
現代人像系統使用三種獨立技術;許多手機會組合使用三者。
方法 1:雙相機立體視差。 這是最古老且幾何上最可靠的方法。手機同時對同一主體觸發廣角相機與望遠相機。由於兩個相機在實體上相隔 10 到 15 公釐(「基線」),它們從略微不同的水平位置觀看主體。前景物體在兩個視點之間的位置偏移量大於遠處背景物體的位置偏移量。這個偏移量稱為視差。演算法在兩張校正後的影像上執行區塊比對或半全域比對(SGM)演算法,為每個像素計算視差值。視差與深度成反比,因此視差圖可直接轉換為每像素深度圖。
方法 2:ToF / LiDAR 主動深度感測。 ToF(飛時測距)或 LiDAR 深度感測器將 30,000 個以上的近紅外雷射點結構化圖案投射到場景上,然後測量反射光的往返時間(直接 ToF)或相位偏移(間接 ToF),為每個像素計算出以公尺為單位的真實度量深度。即使在完全黑暗中以及立體比對會失敗的無紋理表面(素色牆面、天空)上,ToF 也能產生精確、密集的深度圖。現代人像系統通常將 ToF 作為真實深度線索,將立體視差作為精修訊號。
方法 3:單眼 ML 深度估測。 對於單相機手機(或對於沒有立體夥伴的前置自拍相機),神經網路會從單張 RGB 影像估測深度。這個以數百萬張帶有真實深度標籤影像訓練的模型,學習了人類用來判斷深度的統計線索:相對大小、遮蔽、線性透視、紋理梯度、失焦模糊與大氣透視。Google 的 PortraitNet 與 Meta 的 DeepLabV3+ 是具代表性的架構。單眼深度在度量精度上不如立體或 ToF,但對看起來合理的人像散景已經足夠。
人像渲染管線
一旦取得深度圖,無論使用哪種深度估測方法,剩餘步驟都相同:
- 主體分割:一個獨立的語意分割神經網路(通常是 U-Net 變體)在主 RGB 相機影像上執行,產生一個柔邊 alpha 遮罩,識別哪些像素屬於「人物」、哪些屬於「背景」。遮罩在邊緣處進行羽化——特別是在頭髮、眼鏡與細微前景細節周圍——以避免早期 2010 年代人像模式的剪紙「紙娃娃」外觀。
- 深度精修:來自方法 1/2/3 的原始深度圖與分割遮罩相乘。背景像素保留其深度值;主體像素被鉗制到單一對焦平面深度。
- 每像素可變模糊:每個背景像素以高斯模糊(或在高階「光學模擬」模式下,以實體渲染的鏡頭核心卷積)模糊,其半徑與該像素到對焦平面的距離呈線性比例。5 公尺處的背景物體獲得重度模糊;1.5 公尺處的背景物體獲得輕微模糊。主體像素則原封不動地複製。
- 仿光學耀光:高階的點綴:模糊背景中的明亮鏡面高光(路燈、反光、太陽)被渲染為具特色的鏡頭形狀散景六邊形或圓形,而非簡單的高斯斑塊。這營造出模糊來自真實鏡頭光圈的錯覺。
夜景模式:多訊框時域合併
在 2018 年之前,沒有閃光燈的低光智慧型手機攝影基本上無法使用。昏暗的酒吧或夜間的城市街道會產生雜訊多、顆粒粗、模糊的一團混亂。然後 Google 在 Pixel 3 上推出 Night Sight,一切都改變了。核心洞見違反直覺:與其拍攝一張長達 1 秒的曝光(會因手部晃動而徹底模糊),不如拍攝 15 張非常短的 1/15 秒曝光(每張各自銳利,因為 OIS 處於作用中),然後以演算法對齊並取平均。總整合曝光時間仍是 1 秒,但每畫面曝光足夠短,手震模糊永遠不會累積。
夜景模式演算法逐步解析
- 連拍捕捉:相機捕捉 8 到 15 張 RAW 畫面。每張畫面使用中等曝光時間(典型為 1/15s 到 1/8s)與中等 ISO(800 到 3200)。個別畫面雜訊多但不模糊。連拍總計 0.5 到 2 秒的實際時間。
- 陀螺儀輔助 EIS 對齊:手機的主要 IMU 陀螺儀在整個連拍期間以 8,000 Hz 記錄角速度。對每個畫面,計算從參考畫面起算的累積旋轉與平移。然後在 NPU 上對每張 RAW 畫面進行數位移動、旋轉與輕微縮放(電子影像穩定,EIS)至子像素精度,即使使用者雙手在連拍期間移動了數個完整像素的模糊量,也能完美地將其配準到參考畫面。
- 時域像素合併:對跨 12 張對齊畫面的每個像素位置,演算法收集 12 個候選像素值。然後執行穩健統計合併而非簡單平均:離群值(由熱像素、宇宙射線撞擊或汽車頭燈經過該點所造成)會被識別並捨棄。剩餘的一致值取平均,將高斯散粒雜訊降低一個等於保留畫面數量平方根的倍數。12 畫面合併可降低雜訊 3.5 倍。
- 空間除噪:基於 CNN 的除噪器(特別針對 RAW 夜間影像訓練)移除任何剩餘的高頻雜訊,同時保留真實邊緣與紋理。
- 局部色調映射:合併後的 RAW 影像具有非常高的動態範圍。空間變化色調映射運算子(基於雙邊濾波或學習式 CNN 色調映射)提升暗部而不過曝城市燈光、增強暗區的色彩飽和度(否則會看起來去飽和),並產生一張感覺明亮乾淨而非昏暗混濁的最終 8 位元影像。
Samsung 的「Nightography」、Apple 的「Night Mode」、Xiaomi 的「Night Mode 2.0」與 OPPO 的「Ultra Dark Mode」都使用大體相同的演算法架構。差異存在於確切畫面數量、穩健合併統計量的選擇、除噪器架構與色調映射的外觀,但核心的陀螺儀對齊多訊框時域平均在整個產業中是通用的。
慢動作:高幀率裁剪捕捉
慢動作影片透過以高於標準 30 fps 播放速率的速度捕捉影片畫面,然後以正常 30 fps 速度播放,藉此拉伸時間。常見的倍數:
- 120 fps 捕捉 → 30 fps 播放 = 4 倍慢動作。 1 秒的真實事件變成 4 秒的影片。
- 240 fps → 30 fps = 8 倍慢動作。
- 960 fps → 30 fps = 32 倍超慢動作。 水滴飛濺、氣球爆破或蜂鳥拍翅都變得可見。
為什麼 960 fps 需要感光元件裁剪
高幀率捕捉的瓶頸是感光元件讀出頻寬。影像感光元件有有限數量的 MIPI CSI-2 通道,以固定的最大資料速率運作(通常每通道 2.5 Gbps,4 通道 = 總計 10 Gbps)。感光元件每秒只能輸出這麼多像素。
- 在 960 fps 下讀出完整 48MP(8000×6000)畫面需要 48,000,000 × 960 = 每秒 46.08 億像素。這是任何 2026 年智慧型手機感光元件實際讀出頻寬的 30 倍。
- 因此,要達到 960 fps,感光元件只能讀出其像素陣列的一小塊中央裁剪區。960 fps 模式通常是 1280×720(720p HD)或有時是 1920×1080(1080p FHD)裁剪。總像素頻寬變得可管理:1280×720×960 fps = 每秒 8.84 億像素,即使在每像素 10 位元編碼下也能輕鬆容納於 10 Gbps 內。
實際的數字:960 fps 捕捉 × 0.3 秒真實時間 = 288 張個別畫面。以 30 fps 播放 = 9.6 秒如絲般順滑的慢動作影片。部分 Sony Xperia 與 Samsung Galaxy 旗艦手機支援 1080p 解析度下短暫的 960 fps 連拍,方法是僅在中央裁剪區域透過有限的類比數位轉換器(ADC)銀行讀取感光元件。
慢動作模式也常使用交錯式 HDR 技術,其中感光元件的交替列以不同持續時間曝光,以在 240 fps 或 960 fps 下維持高動態範圍。
超廣角:畸變校正與邊緣品質
現代旗艦手機上的超廣角相機提供 10–18mm 全片幅等效焦距與 100° 到 130° 的對角視野。它開啟了標準廣角相機無法達成的構圖可能性:遼闊的風景、整棟建築不用走入車流就能完整入鏡的宏偉建築照、真正能容納所有人的團體自拍,以及一種俏皮的「近距離誇張變形」效果,靠近鏡頭的物體相對於背景顯得巨大。
然而,超廣角焦距伴隨三個特有的光學瑕疵,ISP 必須在照片可用之前加以校正:
- 幾何(桶形)畸變:直線像魚眼鏡頭邊緣般向外彎曲。矩形門框的照片看起來會是枕形或桶形。ISP 的幾何畸變校正階段(見第 2 章)使用為該特定模組校準的 4 階或 6 階多項式鏡頭模型,執行每像素座標重新映射。此校正必然會裁剪感光元件陣列外圍 5–10%,因為重新映射會將這些外圍像素推離畫布。
- 橫向色差(LCA):鏡頭對不同波長的光線產生略微不同的彎折量,因此同一個離軸點的紅、綠、藍影像落在略微不同的像素座標上。結果是在角落附近高對比物體上可見的色彩 fringe(紫/綠邊緣)。ISP 透過對紅色與藍色色彩平面相對於綠色套用略微不同的放大因子來校正 LCA。
- 暗角 / 角落偏軟:角落像素接收到的光量明顯少於中心像素(因為鏡頭的 cos⁴θ 自然衰減加上鏡筒的機械暗角),且鏡頭的光學 MTF(調制轉移函數)在極端角度下較低,因此角落看起來偏軟。鏡頭明暗校正階段套用徑向對稱的增益提升以展平照明,並在角落比中心更積極地套用邊緣感知銳化濾波器。
望遠:標準 vs 潛望式
望遠相機捕捉廣角相機無法解析的遠處主體。現代手機配備兩種不同的望遠設計。
標準望遠(2 倍到 3 倍光學): 這是傳統相機模組:鏡筒垂直於手機背蓋,直接位於影像感光元件上方,與廣角相機完全相同,只是焦距較長。3 倍望遠的全片幅等效焦距約為 72mm。實體堆疊受限於手機厚度(7–9mm),因此鏡頭不能超過這個長度。這就是傳統望遠模組 3 倍實際上限的原因。
潛望式望遠(5 倍到 10 倍光學): 為了在不增加手機厚度的情況下獲得更長焦距,工程師使用稜鏡將光路摺疊 90°。光線從手機邊緣或背蓋玻璃的窗口進入,撞擊 45° 直角稜鏡,側向反射 90°,然後水平穿過 10–14mm 長的多元素鏡筒(與手機主機板平行),最後落在側向安裝於 PCB 上的影像感光元件上。稜鏡本身安裝在 2 軸 OIS 雲台上,感光元件有時安裝在獨立的感光元件位移 OIS 上,總計 4 軸或 5 軸穩定——足以在手持下拍攝遠處建築招牌上文字的清晰 10 倍照片。
在實體相機之間的變焦邊界(例如,2.9 倍仍從廣角相機數位裁剪 vs 3.1 倍使用 3 倍潛望式望遠),HAL 會執行一個多相機融合技巧:在切換點周圍約 ±0.2 倍範圍內,它同時捕捉兩個相機並執行以變焦比加權的交叉淡入淡出,因此當作用中的實體相機改變時,使用者永遠看不到可見的「跳動」。
微距:極限近拍攝影
微距攝影捕捉小主體的極限特寫:花瓣的紋理、昆蟲的複眼、一塊布料的纖維、餅乾上個別的糖晶體。
現代手機存在兩種微距策略:
專用微距相機: 平價與中階手機通常配備小型、低解析度(2MP 到 5MP)的專用微距模組,配備定焦短焦距鏡頭。該模組針對特定的最小對焦距離(通常 2–4 公分)進行調校,儘管解析度低,卻能產生令人驚訝的銳利微距影像。主要缺點是感光元件極小,因此在任何低於明亮日光的條件下,影像品質會急劇下降。
超廣角兼作微距: 旗艦手機(Google Pixel、Samsung S 系列 Ultra、iPhone Pro)不配備專用微距相機。相反地,它們將超廣角相機重新任務化。超廣角的短焦距(13mm 等效)使其具有非常短的最小對焦距離——通常距主體 1 到 2 公分。當使用者輕觸「微距」模式或相機應用程式透過 ToF 感測器或相位偵測 AF 測距儀偵測到近距主體時,應用程式會切換到超廣角、將其 VCM 驅動到最小對焦位置、套用額外的幾何畸變校正(因為主體現在處於場曲極端,多項式重新映射與無限遠校準顯著不同),並裁剪超廣角感光元件的中心以產生最終微距畫面。大型 12MP–50MP 超廣角感光元件提供的微距影像品質遠優於 5MP 專用模組。
運算攝影:統一哲學
上述功能——HDR、人像、夜景模式、慢動作、超廣角校正、潛望式變焦融合、微距——共享一個統一理念。運算攝影的理念是:相機感光元件、ISP、陀螺儀/IMU、NPU(神經處理單元)與多訊框訊號處理演算法可以協同運作,產出任何單一鏡頭/感光元件組合——無論玻璃多麼昂貴——都無法獨自產出的影像。
經典的 DSLR 模型是:光線 → 鏡頭 → 感光元件 → 儲存。智慧型手機模型是:光線 → 多個鏡頭 → 多個感光元件 → 陀螺儀/IMU → 多訊框連拍捕捉 → NPU 神經推論 → 每像素決策融合 → 精密色調映射 → 儲存。兩者起始與結束於相同位置,但智慧型手機在中間插入了數十個額外的運算步驟,每個步驟都以前述光學單獨無法達成的方式改善最終結果。
在 Galaxy S26 Ultra 上從 0.5 倍到 10 倍無縫變焦是運算式的:HAL 跨越五個變焦切換點融合三個不同焦距的不同相機。挽救一張主體背後窗戶不再過曝的逆光人像是運算式的:7 畫面 HDR 融合。一張在 DSLR 上需要三腳架與 30 秒曝光的手持銀河夜拍是運算式的:12 畫面陀螺儀對齊時域合併。本章描述的每個功能都是運算攝影。
這是帶入後續 Camera2 API 章節時最重要的觀念。Camera2 API 不只是「拍照」的工具。它是一個低階控制介面,讓您的應用程式能夠觸發精確的多訊框連拍、每畫面讀取陀螺儀詮釋資料、選擇哪個實體相機以哪個變焦比觸發,並將畫面串流經過裝置端神經網路——這些都是實作您自己運算攝影功能的建構區塊。
摘要
在本章中,您學到了現代智慧型手機攝影功能背後的真實世界演算法。HDR 使用 3–10 畫面包圍曝光、每畫面基於特徵的對齊以及色調映射,以捕捉感光元件在單次曝光中無法看見的動態範圍。人像模式透過立體相機視差、ToF 雷射測距或單眼 ML 深度估測計算每像素深度圖,然後執行 U-Net 主體分割並套用以深度縮放的可變每像素高斯模糊。夜景模式捕捉 8–15 張短曝光、使用陀螺儀輔助 EIS 對齊它們、套用穩健時域像素合併以降低雜訊 3.5 倍,並對結果進行局部色調映射。960 fps 的慢動作影片必須裁剪感光元件,因為 MIPI 讀出頻寬是硬性瓶頸。超廣角照片在變得可觀看之前,會在 ISP 中經歷幾何畸變校正、色差校正與角落明暗校正。潛望式望遠相機使用 45° 稜鏡將光路摺疊 90°,在 8.5mm 厚的手機中容納 10 倍光學鏡頭。您學到了運算攝影的定義:光學、感光元件、機器學習與多訊框訊號處理的融合,以創造超越任何單一鏡頭/感光元件系統所能及的影像。
接下來
第 4 章是動手實作的章節。您將從原始碼或 Google Play 安裝 Android Camera Parameters 配套應用程式、在自己的手機上啟動它,並檢查您自己的硬體究竟能做什麼。您將學會讀取相機 ID 與面向方向、檢查每個相機的硬體等級(LEGACY / LIMITED / FULL / LEVEL_3)、列舉支援的輸出格式(JPEG、YUV_420_888、PRIVATE、RAW_SENSOR、JPEG_R Ultra HDR)、尋找最大慢動作 FPS 範圍、探索變焦比與手機實體相機之間的切換點,並檢查您的主感光元件是否支援 RAW 捕捉——為您的特定裝置寫下答案,因為這些答案決定了您自己的 Camera2 API 應用程式在該手機上能做與不能做什麼。