COLOR FILTER ARRAY
照片還沒長成照片時,先是一張稀疏的顏色地圖
把手機拍到的紅色杯子放大,它仍像一面連續的紅。可是,多數單一感測器彩色相機,第一時間不會在每個位置同時拿到紅、綠、藍。
01 / 起點
感光面上的不是一張彩色小海報
感光面上的每一格,往往先隔著一片小小的彩色濾鏡,只接收其中一種顏色的訊號;另外兩種顏色,得在快門之後從周圍資料推估回來。
這就是一張數位照片最早的樣子:它不是完整彩圖,而是一張有規律的採樣表。這不是偷工減料,而是一種把單一感測器做成彩色相機的方法。成品看起來連續,是因為後面的重建把許多小小的缺口接了起來。
02 / 採樣
每一格,只先拿到一種顏色
想像感光面鋪著一張極細的窗格紙。某些格子只讓紅光通過,某些只讓藍光通過,其餘格子讓綠光通過。常見的排列會在一個小單位裡放入兩個綠色位置、一個紅色位置與一個藍色位置;不同裝置也可能採用不同的濾色排列。
因此,感光面讀到的是「這一格的紅有多強」或「那一格的綠有多強」。它尚未知道同一格的另外兩種顏色。把這個局部採樣恢復成每個位置都有完整色彩的影像,通常稱為去馬賽克或色彩重建。名字聽起來像把畫面變碎,實際上剛好相反:它在把碎片接回一張照片。
03 / 推估
缺的兩種顏色,從旁邊來
重建程序會查看附近格子的關係。若一片區域的顏色與亮度變化平緩,周邊的紅、綠、藍訊號可以提供相當合理的線索;若畫面正好穿過物體邊緣,程序就必須避免把邊緣兩側混在一起。它不是先辨認「這是一只杯子」才補色,而是先處理相鄰取樣的形狀、方向與差異。
這裡最容易誤會的一點是:補回缺失顏色不等於憑空發明內容。它是一種根據已量到的局部訊號做出的估計;估計能很成功,也有條件失效。照片的平滑感正來自這種重建,而重建的限制也會在特定畫面裡露出來。
04 / 看見接合
把三種狀態排在一起看
本篇的圖解把同一個色塊放進三個位置。第一個位置只顯示感光面真正拿到的稀疏訊號;第二個位置標出每一格仍然缺少的兩種顏色;第三個位置才顯示經過鄰近關係補回的連續圖像。即使不操作,這三句話已經是完整的閱讀順序:先採樣、再推估、最後輸出。
採樣狀態:每格先保留一種已量到的色彩。
先採樣
每一個位置只先量到一種色彩。
再推估
缺少的顏色從鄰近訊號取得線索。
才輸出
連續色面是重建後的結果。
狀態 01
先採樣
感光面最初留下的是稀疏的單色情報,而不是已完成的彩色照片。
狀態 02
再推估
缺少的兩種顏色,必須靠附近格子的方向、亮度與差異取得線索。
狀態 03
才輸出
當缺口被接合,每一個位置才呈現完整而平順的色面。
狀態 04
細條紋會逼近限制
規律又細密的圖樣可能使採樣與重建出現彩邊、假色或鋸齒風險。
05 / 轉折
越細的圖樣,越會逼近限制
請想像一條極細的紅白條紋,剛好落在感光面格點之間。紅色取樣點可能沒有恰好落在每一條紅線上,綠色與藍色位置看到的又是另一套節奏。此時,附近資料不再能輕易說明「真正的邊界在哪裡」。規律的濾色排列與規律的細圖樣互相干擾,畫面便可能出現不該有的彩邊、假色或鋸齒狀痕跡。
所以相機的問題不是只有感光元件夠不夠多。濾色排列、鏡頭在感光面上留下的細節,以及後續重建怎麼判斷邊界,會一起決定照片能保住多少細節、又會留下什麼樣的錯誤。研究者會比較不同排列和不同重建方法,正是因為一個看似整齊的小格子,實際上同時在取樣空間與顏色。
06 / 收束
照片完成後,還有其他處理
色彩重建只是相機成像流程中的一段。產品實作還可能在後面做白平衡、雜訊處理、鏡頭校正或色調調整;每一部裝置與每一種拍攝模式的次序、強度都可能不同。本篇只聚焦在一件更早發生的事:當感光面尚未擁有完整 RGB 資料時,彩色照片已經開始被重建。
這也讓「照片是真的嗎」有一個比較準確的回答。感光面確實測到了光;但我們最後看到的每一個完整顏色位置,也包含了如何把稀疏測量接成連續畫面的工程判斷。它不是較不真實的照片,而是一張把量測與估計緊密縫在一起的照片。
下一次放大一張照片時,可以把它想成三層疊在一起:最底下是每格只收下一種色彩的感光面,中間是依鄰近關係補回缺口的重建,最上面才是你滑過螢幕時看見的平順色面。那一面平順不是起點,而是一次成功的接合;也正因如此,遇到太細、太密、太靠近格點邊界的圖樣時,它會提醒我們自己曾經在哪裡不確定。
資料來源
資料來源與事實邊界
下列研究用於支持單感測器濾色取樣、去馬賽克重建與規律取樣可能帶來的視覺誤差。本篇的格點與色帶均為原創示意,並不等同任何品牌或型號的實際演算法。
-
Rafinazari、Dubois:Demosaicking algorithms for RGBW color filter arrays
說明濾色陣列下,各位置取得一種色彩成分,其他成分由去馬賽克演算法估計。
-
Thomas、Farup:Demosaicing of Periodic and Random Color Filter Arrays by Linear Anisotropic Diffusion
討論 Bayer 類規律排列與 visual aliasing artifacts;本文以細條紋作為限制示意。
-
Backes、Fröhlich:A practical approach on non-regular sampling and universal demosaicing of raw image sensor data
說明規律濾色陣列與去馬賽克需要處理取樣誤差,不同取樣與重建方法會影響結果。
不同感光元件、鏡頭、處理器與軟體,會讓結果大不相同;本文不把任何一幅示意圖當成所有手機相機的成像流程。