上一篇收在一句話上:「沒有規格的地方,正好就是不可逆的地方。」那句話是從 XYZ D50 往下游走出來的——色適應、色調曲線、查表、色域映射、顯示端 tone mapping,一路走到眼睛。結論成立,但它有一個沒被檢查的前提:XYZ D50 那個座標本身是可信的。

今天往反方向走。從光子打在矽上開始,到 ForwardMatrix 把你送進 XYZ D50 為止,中間有三件事會發生:光被一層彩色濾鏡篩過(一次三維投影,不可逆)、每個像素只量到三分之一的顏色(一次空間取樣,不可逆)、電荷被放大並量化(一次帶雜訊的離散化,不可逆)。下游那些不可逆是取捨造成的——有人選了一條曲線而不是另一條。上游這三個不可逆是物理造成的,而且它們發生在任何軟體能介入之前。

這一段有一個下游沒有的性質:它是可以量測的,而且真的有國際標準在量測它。 EMVA 1288、ISO 15739、ISO 17321 都在這一段。但量測標準不是演算法標準——去馬賽克到 2026 年為止,依然一個字的規格都沒有。上一篇的結論在這裡不但成立,而且變得更尖銳:整條從光子到眼睛的鏈,有標準的只有「怎麼量它」,沒有「怎麼做它」。

今天把三件事算清楚:Bayer 取樣在頻域上到底丟掉了什麼(有完整推導)、色彩濾鏡和人眼差多遠(有 28 台相機的實測數字)、雙增益感測器的動態範圍帳(有逐項計算,而且結論和行銷說法不一樣)。

📖 學

一、Bayer CFA 的頻域分解:一條可以自己推出來的式子

先把去馬賽克從「內插」這個框架裡拿出來。它不是內插問題,它是解調問題,而這件事在 2002 年就被 Alleysson 與 Süsstrunk 寫清楚了(Color Demosaicing by Estimating Luminance and Opponent Chromatic Signals in the Fourier Domain,CIC 2002)。推導只有幾行,自己走一遍比記結論有用得多。

設 Bayer 排列為: 是 R, 與 是 G, 是 B。三個通道的取樣遮罩可以寫成閉式:

m_R(x,y) = (1 + (−1)^x)(1 + (−1)^y) / 4
m_B(x,y) = (1 − (−1)^x)(1 − (−1)^y) / 4
m_G(x,y) = 1 − m_R − m_B

把 展開:

m_R + m_B = [ 2 + 2(−1)^(x+y) ] / 4 = ( 1 + (−1)^(x+y) ) / 2

所以 。這已經說明了一件事:綠色遮罩只含一個載波 ,也就是頻域上的 那個角。綠色的取樣是 quincunx(梅花形),不是方形格點。

現在把感測器實際讀到的單通道影像寫出來:

I_CFA = m_R·R + m_G·G + m_B·B

逐項展開並依載波歸類,得到:

I_CFA(x,y) = φ_L(x,y)
           + φ_C1(x,y) · (−1)^(x+y)
           + φ_C2(x,y) · [ (−1)^x + (−1)^y ]

其中

φ_L  = ( R + 2G + B ) / 4       ← 亮度
φ_C1 = ( R − 2G + B ) / 4       ← 第一色差(藍黃軸)
φ_C2 = ( R − B ) / 4            ← 第二色差(紅綠軸)

驗算一次。取 R = 0.6、G = 0.4、B = 0.2:

φ_L  = (0.6 + 0.8 + 0.2)/4 = 0.400
φ_C1 = (0.6 − 0.8 + 0.2)/4 = 0.000
φ_C2 = (0.6 − 0.2)/4       = 0.100

在 R 位置 :、,所以 = R ✓ 在 G 位置 :、,所以 = G ✓ 在 B 位置 :、,所以 = B ✓

三個位置都對上。這個分解是恆等式,不是近似。

三件事值得停下來看。

第一,那組亮度權重是 ,也就是 0.25 R + 0.50 G + 0.25 B。這個權重不是有人挑的,是從 Bayer 的 2G:1R:1B 配置直接掉出來的。它和 Rec. 709 的亮度權重 差很多——CFA 的「亮度」不是視覺的亮度,它是排列的算術平均。

第二, 是一個二階差分,對純灰階畫面恆等於零。這就是為什麼灰階測試圖去馬賽克幾乎不會出錯,而彩色細紋會炸掉。

第三,也是最關鍵的:這三個訊號被調變到頻域上三個不同的位置。 在基頻(原點), 在 , 同時在 和 。去馬賽克就是三個帶通濾波器加三次解調。

二、頻寬帳:亮度到底拿到多少

二維離散頻譜的定義域是 ,總面積 。在環面(torus)上,三個色差載波只佔三個位置:、、。

假設每個色差載波周圍要留一個邊長 的正方形給它。 那個載波在圖上是四個角、各佔四分之一個正方形,合起來剛好一個; 是左右兩個半方,合起來一個; 同理。所以

色差總面積 = 3 × (2α)² = 12α²
亮度面積   = 4π² − 12α²

實算:

色差半寬 α色差總面積亮度面積佔比沿軸亮度截止頻率(佔 Nyquist)
π/23.0000 π²25.00 %50.0 %
π/31.3333 π²66.67 %66.7 %
π/40.7500 π²81.25 %75.0 %
π/60.3333 π²91.67 %83.3 %
π/80.1875 π²95.31 %87.5 %

那一列很有意思:三個色差方塊加上原點的亮度方塊,四個邊長 的正方形剛好鋪滿整個 。這就是最保守的均分法,亮度只拿到四分之一的頻譜——而這正好對應到「把 Bayer 影像當成四分之一解析度的 RGB 來讀」那種最笨的做法。

另一端, 時亮度拿到 81.25 % 的頻譜面積、沿軸可以走到 Nyquist 的 75 %。這大致就是好的頻率選擇法能達到的水準。

這張表最該讀的不是任何一列,是「α 是自由參數」這件事。 α 該取多少,取決於這張影像的色差成分有多寬——而那是內容相關的。單色調的場景(黑白磚牆、霧、逆光剪影)幾乎沒有色差能量,α 可以壓到極小,亮度幾乎能拿滿整個頻譜;高彩度細紋(花布、電路板、屋瓦)色差能量很寬,α 必須放大,亮度細節就被犧牲。

同一台相機、同一顆鏡頭,解析度是隨被攝物顏色變動的。 這不是比喻。

更正 1:「去馬賽克把 2/3 的資料補回來」是錯的框架

這是我自己過去也講過的說法:每個像素只量到 1 個通道,要輸出 3 個,所以有 2/3 的資料是「補回來」的。

數字沒錯,框架錯了。

從上面的分解直接數自由度: 個感光點給你 個數字。分解之後你有三個訊號 、、,但它們各自被限制在頻譜的一塊區域裡,三塊加起來剛好是 ——總自由度精確等於 ,一個不多一個不少。

所以去馬賽克沒有「補回」任何東西。它做的是:把「我不知道的 個數字」換成「一個關於色差是空間低頻的先驗」。 這個先驗成立時輸出正確,不成立時輸出的是偽色與摩爾紋。

差別在哪?在於「補回 2/3」暗示這是一個內插精度問題,做得夠好就能逼近真值;「換成一個先驗」則說明沒有任何演算法能在先驗失效時給出正確答案,不管它用多大的神經網路。2025 年那些學習式去馬賽克模型並沒有繞過這件事,它們只是用訓練資料學到一個比「低頻」更細緻的先驗——先驗更好,但依然是先驗。

而且這解釋了一個實務現象:同一張圖,不同去馬賽克演算法在平坦區域幾乎完全一致(先驗都成立),在細紋區域天差地遠(先驗都失效,各自用不同方式失效)。

三、色彩濾鏡:Luther 條件與 Vora 值

第二個上游的不可逆:光譜投影。

相機的三條光譜響應曲線 把一個連續光譜投影成三個數字。人眼用 做同一件事。只有當 、 是某個 3×3 可逆矩陣時,相機和人眼的顏色判斷才會完全一致。 這就是 Luther–Ives 條件。

條件不成立會怎樣?會出現兩種相機自己無法區分的錯誤:人眼看起來一樣的兩個光譜,相機給出不同的 RGB(相機看得到人眼看不到的差);人眼看起來不同的兩個光譜,相機給出相同的 RGB(相機看不到人眼看得到的差)。後者是永久損失,前者則會被下游的矩陣放大成可見的偏色。

關鍵在於:這是子空間問題,不是曲線形狀問題。 只要 張出的三維子空間等於 張出的子空間,曲線長什麼樣完全無所謂——一個 3×3 就能修好。反過來,如果兩個子空間不重合,沒有任何 3×3 矩陣能修好,因為 3×3 只能在子空間內部旋轉縮放,不能把子空間搬到別的地方。

Vora 與 Trussell 給了這件事一個純量指標,現在通稱 Vora 值:

ν(S, X) = (1/3) · trace( P_S · P_X )

其中  P_S = S (Sᵀ S)⁻¹ Sᵀ   是投影到相機子空間的正交投影算子
      P_X = X (Xᵀ X)⁻¹ Xᵀ   是投影到 XYZ 子空間的正交投影算子

。 表示兩個子空間完全重合,Luther 條件成立; 表示完全正交,相機對顏色一無所知。

實測數字。Zhu 與 Finlayson 在 Sensors 2020 那篇 A Mathematical Investigation into the Design of Prefilters That Make Cameras More Colorimetric 裡跑了 28 台相機(含專業單眼、工業相機、手機),結果:

條件28 台的平均 Vora 值
原生(無濾鏡)0.918
加 Luther 最佳化濾鏡0.963
加 Vora 最佳化濾鏡0.976

文獻裡常用的經驗門檻是:Vora 值大於 0.95 算「可接受」,大於 0.99 算「很好」。

所以 2026 年在市面上的相機,平均而言連「可接受」的色度量測門檻都沒到。

這個數字第一次看到會覺得誇張,但它和日常經驗是吻合的:相機拍紫色花卉會偏藍、拍 LED 招牌會偏色、拍紅色跑車會爆掉——這些不是白平衡問題,是子空間不重合的問題,而且調不好。

四、平均很漂亮,尾巴是災難

Vora 值是純量,ΔE 才是看得到的東西。Finlayson 與 Zhu 在 Unifying Optimization Methods for Color Filter Design(2020)裡用 Canon 5D Mark II、在 102 個光源 × 1995 個反射光譜上跑了完整實測:

Vora 值平均 ΔE*ab最大 ΔE*ab
原生0.93421.41629.392
加最佳化濾鏡(Luther-ALS)0.99520.29810.127

最大 ΔE 是平均 ΔE 的 20.8 倍。

這是整個光譜投影問題最該記住的一組數字。。如果你只看平均值,會得到「Canon 5D2 的色彩很準,平均誤差 1.4 ΔE,肉眼幾乎看不出來」這個完全正確、也完全誤導的結論。

因為攝影不是在平均上失敗的。你不會因為 1995 個反射光譜的平均誤差 1.4 而抱怨,你會因為那一件紫色洋裝、那一盞鈉燈、那一朵矢車菊顏色錯到離譜而抱怨。而 ΔE 29.4 是完全不同的顏色,不是「有點偏」。

加上最佳化濾鏡之後,平均降到 0.298(降了 4.75 倍),最大只降到 10.127(降了 2.9 倍)。尾巴比平均難修。 這也符合直覺:平均值反映的是子空間的整體對齊程度,尾巴反映的是最壞方向上的殘差,而最壞方向永遠是最難壓的那一個。

順便做一個外推,標清楚這是我自己算的。如果假設 (兩點擬合的量級關係),那麼 28 台相機的平均值 對應到

√(1 − 0.918) / √(1 − 0.9342) = √0.0820 / √0.0658 = 0.2864 / 0.2565 = 1.117
平均 ΔE ≈ 1.416 × 1.117 ≈ 1.58
最大 ΔE ≈ 29.4 × 1.117 ≈ 32.8

也就是一台「典型」相機在同樣的測試協定下,最壞情況大約是 33 ΔE。(這個平方根關係是我用兩個資料點反推的,已標存疑——兩點擬合沒有任何統計意義,只能當量級參考。真正的關係取決於殘差在哪個方向上。)

更正 2:上一篇說的「27 維核空間」,那個數字是取樣的產物

上一篇在講不可逆資訊損失時,沿用了前一篇「光譜投影有 27 維核空間」的說法。那個數字要更正,而且更正的理由比數字本身重要。

核空間維度 = 光譜取樣點數 − 3。所以它完全取決於你怎麼離散化光譜:

取樣範圍與間隔維度核空間維度
400–690 nm @ 10 nm3027
400–700 nm @ 10 nm3128
380–780 nm @ 5 nm8178
360–830 nm @ 1 nm(CIE 標準觀察者定義域)471468

27 只對應到一個相當窄的取樣方案。用 CIE 標準觀察者自己的定義域算,答案是 468。

而真正的重點是:物理光譜不是有限維的。 它是一個定義在連續區間上的函數,所屬的空間是無窮維的。「核空間有 N 維」這句話本身就是離散化之後才成立的講法,N 這個數字沒有物理意義,它只是你選的取樣網格的大小。

所以正確的說法是:光譜投影的核空間是無窮維的,任何有限的 N 都只是計算上的近似。這反而讓結論更強——不是「丟掉了 27 個維度」,是「丟掉了一個無窮維空間,只留下三個數字」。

五、SMI:把子空間誤差變成一個分數

ISO 17321-1 定義了 Sensitivity Metamerism Index(SMI),把上面這件事壓成一個 0 到 100 的分數(可以是負的)。量測協定是用 ColorChecker 的 18 個彩色色塊,在指定光源下拍攝,做最佳 3×3 線性校正之後算平均 CIELAB 色差,再套:

SMI = 100 − k · ΔE̅

k 是一個縮放常數,坊間最常轉述的值是 5.5(和 CIE 顯色指數的 4.6 同一個路數)。我沒能從 ISO 17321 原文確認這個 5.5,已標存疑。 以下用 k = 5.5 反推,數字只能當量級參考:

相機類型典型 SMI反推 ΔE̅(k = 5.5)
數位單眼75–852.7 – 4.5
中低階手機約 40約 10.9
(DxO 的參照點:日光 vs 螢光的色差)509.1

手機的 SMI 約 40,對應平均 ΔE 接近 11——這已經是「明顯是另一個顏色」的量級。而手機拍出來的照片看起來通常沒有那麼糟,原因很直接:手機靠大量的後製把它救回來,包括場景分類、記憶色修正、逐區白平衡、以及一張又一張的 3D 查表。也就是上一篇講的 HueSatMap 和 LookTable 那一路。

這裡要小心一個陷阱:Finlayson 那篇算出的 Canon 5D2 平均 ΔE 1.416,套 k = 5.5 會得到 SMI = 92.2,遠高於「單眼 75–85」的範圍。兩個數字不能直接比。 Finlayson 用的是 1995 個反射光譜 × 102 個光源、做全域最小平方擬合;ISO 17321 用的是 18 個色塊、單一光源、指定的擬合協定。測試集不同、擬合方式不同,分數自然不同。這是色彩工程裡另一個常見的錯誤——看到兩個都叫「ΔE」的數字就拿來比。

六、2025 年的好消息:量光譜響應不再需要單色儀

上面所有事情都有一個前提:你得先知道你的相機的光譜響應曲線長什麼樣。而這件事傳統上很貴——需要單色儀加積分球,逐波長掃描,一套設備動輒數十萬。所以絕大多數攝影師、甚至絕大多數研究者,手上根本沒有自己相機的 SSF 資料。

2025 年 8 月有一篇把門檻拉低到很荒謬的程度:Makabe、Santo、Okura、Brown、Matsushita 的 Spectral Sensitivity Estimation with an Uncalibrated Diffraction Grating(arXiv:2508.00330,大阪大學 / Microsoft Research Asia / York University)。

做法是拿一張未校正的繞射光柵膜,對著 LED 與螢光燈拍幾張照,從繞射條紋反推光譜響應。關鍵字是「未校正」——光柵本身的效率曲線是未知的,方法把它一併解出來。

成本:一張市售繞射光柵膜,不到 55 美元。

準確度(相對全刻度誤差 RE,三通道平均):

方法合成資料 RE實拍 RE
本方法(LED + 螢光燈)2.84 – 7.25 %3.53 – 5.77 %
色卡法(baseline)3.75 – 9.13 %—
EXIF 推估法5.02 – 15.0 %—

測試相機 8 台:合成部分是 Canon EOS 650D、Olympus EPL2、Pentax K5、Samsung Galaxy S20;實拍部分是 Canon EOS RP、iPhone 15 Pro Max、Sony α1、DJI Pocket 3。

實拍誤差 3.5–5.8 %,用 55 美元的耗材。對照色卡法的 3.75–9.13 %,這個方法在更便宜的同時更準——色卡法需要已知反射率的標準色卡,而標準色卡本身會隨時間褪色、還受光源光譜影響。

為什麼這件事重要?因為它讓「自己量自己相機的 SSF」從一個實驗室項目變成一個週末項目。而一旦你有了 SSF,你就能自己算 Vora 值、自己算最佳 3×3、自己判斷哪些顏色是你的相機天生算不準的。上一篇整篇在討論的那些 profile 參數,上游的物理限制終於可以自己量了。

七、光子端的雜訊:EMVA 1288 的線性模型

第三個上游不可逆:量化與雜訊。這一段反而是整條鏈上規格最清楚的地方。

EMVA 1288 Release 4.0 Linear(2021 年 6 月)給了一個極簡的線性模型。設 是入射光子數、 是量子效率、 是系統增益(DN/e⁻),則

μ_y = μ_y.dark + K · η · μ_p                     (平均輸出)
σ_y² = K² · σ_d² + K · ( μ_y − μ_y.dark )        (輸出變異數)

第二式就是光子轉換曲線(photon transfer curve):把變異數對平均值畫圖,會得到一條直線,斜率就是 ,截距就是 。 這件事的漂亮之處在於它不需要知道 、不需要標準光源、不需要任何絕對校正——只要拍一系列不同曝光的均勻灰場,算每一組的平均與變異數,線性迴歸就給你系統增益和讀取雜訊。

實算一組。設 DN/e⁻(14-bit 系統的典型值)、讀取雜訊 e⁻、飽和值在暗位以上 15000 DN:

截距 = K²σ_d² = 0.0625 × 36 = 2.25 DN²
飽和電子數 = 15000 / 0.25 = 60000 e⁻

動態範圍:

DR = 60000 / 6 = 10000
   = 20 · log10(10000) = 80.00 dB
   = log2(10000)       = 13.29 stops

訊噪比在幾個訊號位準:

訊號 (e⁻)散粒雜訊 √S總雜訊 √(S + 36)SNRSNR (dB)
10010.011.668.618.7
1 00031.632.1931.129.9
10 000100.0100.1899.840.0
30 000173.2173.31173.144.8
60 000(飽和)244.9245.02244.947.8

最大 SNR 就是 ,這是散粒雜訊的硬上限,和感測器設計無關,和光子的卜瓦松統計有關。要提高最大 SNR 只有一條路:收更多光子。 更大的井、更大的像素、更大的感光面積、更長的曝光——沒有第五條。

再算一個 EMVA 1288 的指標,絕對感度門檻(AST):

量化雜訊  σ_q = (1/√12) DN / K = 0.2887 / 0.25 = 1.155 e⁻
暗端總雜訊 = √(36 + 1.333) = 6.11 e⁻

μ_p.min = (1/η) · ( √(σ_d² + σ_q² + 1/4) + 1/2 )
        = (1/0.55) · ( √(37.33 + 0.25) + 0.5 )
        = (1/0.55) · ( 6.130 + 0.5 )
        = 12.05 個光子

取 ,需要大約 12 個光子才能在統計上把訊號從雜訊裡拉出來。這個數字值得記住,因為它把「低光攝影」從一個感覺問題變成一個可數的問題。

八、雙增益:動態範圍帳要分開算

現代 CMOS 幾乎都有雙轉換增益(dual conversion gain,DCG):同一個光電二極體後面接兩種轉換增益。高轉換增益(HCG)模式讀取雜訊低但井淺,低轉換增益(LCG)模式讀取雜訊高但井深。

一組公開量測值:HCG 讀取雜訊約 2.1 e⁻,LCG 約 8.6 e⁻。(這組數字來自二手轉述,已標存疑;比值 這個量級在多份資料裡一致。)

現在算帳。設 LCG 滿井 60000 e⁻,轉換增益比 4.1,則 HCG 滿井 e⁻。

模式滿井 (e⁻)讀取雜訊 (e⁻)DRstopsdB
只用 LCG60 0008.66 97712.7776.87
只用 HCG14 6342.16 96912.7776.86
同幀合併兩次讀出60 0002.128 57114.8089.12

看第一列和第二列:兩個模式單獨使用時,動態範圍幾乎完全相同(12.77 對 12.77)。 這不是巧合——滿井和讀取雜訊被同一個轉換增益同時縮放,比值不變。

所以 DCG 本身沒有增加任何一次讀出的動態範圍。增益來自第三列:同一幀讀兩次,暗部用 HCG 的低雜訊,亮部用 LCG 的深井,合起來就是 :

增益 = 14.802 − 12.769 = 2.033 stops = 12.25 dB

約 2 級,而且這 2 級恰好就是轉換增益比 4.1 的對數:。帳是閉合的。

更正 3:「雙增益讓相機動態範圍變大」在低 ISO 上是錯的

很多器材討論會說「這台有雙增益,所以動態範圍更好」。這句話在特定條件下才成立,而且條件常被略過。

要區分兩件事:

(a) 同幀雙讀合併(DCG-HDR)。 這是上面第三列,真的多 2 級,但需要感測器每幀讀出兩次並在晶片上合成。這在手機感測器和部分影片模式裡有,在多數相機的一般靜態拍攝模式裡沒有。

(b) 依 ISO 切換模式(dual gain ISO)。 這是 Nikon Z9 / Z8 / Z6 / Z7 / Zf 那種「ISO 500 比 ISO 400 乾淨」的現象。切換點在 Z8 上是 ISO 64 / ISO 500——低於 500 走 LCG,500 以上走 HCG。

(b) 的帳完全不同。設基準 ISO 64 時剛好填滿 60000 e⁻ 的井,那麼在 ISO 時飽和電子數約為 :

ISO飽和電子數模式讀取雜訊DRstops
6460 000LCG8.66 97712.77
20019 200LCG8.62 23311.12
4009 600LCG8.61 11610.12
5007 680HCG2.13 65711.84
16002 400HCG2.11 14310.16
6400600HCG2.12868.16

ISO 500 比 ISO 400 多了 1.71 級動態範圍,雖然它收到的光子少了三分之一級。 這就是那個反直覺現象的完整計算。

但看第一列:ISO 64 的 12.77 級還是最高的。雙增益沒有讓最大動態範圍變大,它讓高 ISO 的動態範圍不要掉那麼快。 從 ISO 64 到 ISO 6400 掉了 4.6 級;如果全程都用 LCG,ISO 6400 會掉到 級,整整差 2 級。

還有一件事值得注意:HCG 的滿井是 14634 e⁻,而 ISO 500 只需要裝 7680 e⁻。反推一下,HCG 其實從 也就是 ISO 263 就可以開始用了。Nikon 選在 500 才切。這代表切換點是廠商的調校決定,不是物理界線——或者代表我假設的轉換增益比偏小。無論哪一種,結論一樣:那個 ISO 數字是有人選的。

(上面所有滿井與雜訊數值都是我為了把帳算通而設的示範值,不是任何一台實機的實測參數,絕對數字不應引用。可信的是機制與級數差的量級。)

九、14 級是誰的 14 級:EDR 與 PDR

規格表上的「14 級動態範圍」和你實際拍到的東西中間有一個大洞。Bill Claff 的 Photons to Photos 把這個洞量化得最清楚,而且兩個定義都公開:

工程動態範圍(EDR):高端是白位,低端是 SNR 曲線穿過 1 的地方。 攝影動態範圍(PDR):高端是白位,低端是 SNR 穿過 20 的地方,而且要先依感測器的容許彌散圓(CoC)做空間正規化。

同一台 Nikon D300 在 ISO 100:

指標高端低端結果
EDR14.00 EV1.63 EV12.37 EV
PDR14.00 EV5.00 EV9.00 EV

差 3.37 級。

把這 3.37 級拆開。PDR 的正規化參考是 CoC 0.022 mm 與 5.5 µm 感光點,也就是把 、 個感光點平均起來,SNR 改善 倍,等於送回 2 級。所以扣掉正規化之後,單一像素上 SNR=20 的位置是 EV,和 SNR=1 的 1.63 EV 相差 5.37 級。

這 5.37 級合理嗎?算兩個界:

若完全由讀取雜訊主導:SNR ∝ S      →  SNR 1→20 需要 log2(20)  = 4.32 stops
若完全由散粒雜訊主導:SNR ∝ √S     →  SNR 1→20 需要 log2(400) = 8.64 stops

實測的 5.37 落在 4.32 與 8.64 之間,偏向讀取雜訊主導那一端——這正是暗部應有的行為(暗部訊號小,讀取雜訊佔比高,但已經不是純讀取雜訊主導)。帳是通的。

意義很直接:規格表上那個 14 級是「還能量測到訊號」的 14 級,不是「還能用」的 14 級。 兩者差 3 到 5 級。當你把陰影拉起 4 級覺得「怎麼這麼髒」,你不是被騙了,你只是走進了 EDR 和 PDR 之間那塊區域。

十、2026 年的感測器端:100 dB 從哪裡來

把上面的帳拿去對 2026 年的實機規格。

Sony 在 2025 年 12 月 3 日發表 LYTIA 901,1/1.12 吋、2 億畫素、像素 0.7 µm、12-bit ADC,規格宣稱 動態範圍超過 100 dB,列出的技術是 Dual Conversion Gain HDR 加 Hybrid Frame HDR。

換算:

100 dB / 6.0206 dB per stop = 16.61 stops

16.6 級,用 0.7 µm 的像素。 對照前面算的:DCG 同幀雙讀最多給你約 級的增益,轉換增益比 4 就是 2 級,單一模式本身大概在 12–13 級。兩者相加大約 14–15 級,離 16.6 還差一截。

差額就是 Hybrid Frame HDR 那一項——也就是多曝光合成。Sony 同時列出兩項技術,不是行銷冗詞,是因為單靠 DCG 到不了 100 dB。這一點在規格表上是讀得出來的,只要你知道 DCG 的理論上限是轉換增益比的對數。

而多曝光合成帶回了它自己的老問題:不同曝光之間有時間差,會動的東西會產生鬼影,合成邊界會有接縫。這正是 DCG 當初被推崇的理由(單幀、無運動偽影),所以 100 dB 是用「放棄一部分單幀性」換來的。

(這一段從「兩項技術並列」推論「DCG 單獨到不了 100 dB」是我自己的推理,不是 Sony 的說法,已標存疑。但數量級的算法是可驗證的。)

十一、上游總表:量測有標準,演算法沒有

把上一篇那張下游表往前接:

階段輸入輸出演算法有標準嗎量測有標準嗎是否可逆
光譜 → 三個濾鏡響應連續光譜3 個電荷量無(濾鏡設計是商業機密)ISO 17321(SMI / SSF)否(投影,核空間無窮維)
CFA 空間取樣全解析度 3 通道單通道馬賽克無(排列是廠商選的)—否
電荷 → 電壓 → DN電子數數位值無EMVA 1288 / ISO 15739否(量化 + 雜訊)
雙增益切換 / 合併電子數數位值無(切換點廠商決定)EMVA 1288否
減黑階 / 線性化DN線性 DNDNG Ch.5—是
去馬賽克馬賽克3 通道完全沒有ISO 12233(只量結果)否
白平衡(AsShotNeutral)相機 RGB相機 RGBDNG(資料格式)—是(對角矩陣)
ColorMatrix / ForwardMatrix相機 RGBXYZ D50DNG Ch.6—是(3×3)

看最右邊兩欄的分布。有量測標準的階段,幾乎都沒有演算法標準;有演算法標準的階段,幾乎都是可逆的線性運算。

上一篇的結論是「沒有規格的地方正好是不可逆的地方」。接上這一段之後,更精確的說法是:

可逆的線性運算會被寫進規格,因為大家算出來一樣;不可逆的運算只會被寫進量測標準——標準告訴你怎麼量它做得好不好,從不告訴你怎麼做。

EMVA 1288 是這個模式最漂亮的例子:它用二十頁定義了怎麼量一個感測器的增益、雜訊、量子效率、動態範圍,精確到能讓不同實驗室的結果互相對照。它一個字都沒說感測器應該怎麼設計。ISO 17321 定義了怎麼算 SMI,沒說色彩濾鏡該長什麼樣。ISO 15739:2023(第 4 版)定義了怎麼量雜訊與動態範圍,沒說降噪該怎麼做。

而去馬賽克連量測標準都沒有——ISO 12233 量的是最終影像的解析度,那是去馬賽克、鏡頭、抗鋸齒濾鏡、銳化四件事混在一起的結果,拆不開。

這就是為什麼「色彩科學」和「影像處理」真的是護城河。 不是因為技術有多難,是因為標準體系從設計上就把這些位置留空了——它只負責讓大家能對同一個結果達成共識,不負責讓大家做出同一個結果。

🧠 記

Bayer CFA 是一個可以寫成恆等式的調變: ,其中 、、。去馬賽克是解調,不是內插。

CFA 的亮度權重是 0.25/0.50/0.25,從 2G:1R:1B 的排列直接掉出來,和 Rec. 709 的 0.2126/0.7152/0.0722 差很多。CFA 的「亮度」是排列的算術平均,不是視覺的亮度。

亮度拿到多少頻寬是自由參數。 色差半寬 時亮度只剩 25 % 的頻譜面積, 時是 81.25 %。而 α 該多大取決於影像的色差能量——同一台相機的解析度會隨被攝物的顏色變動。

去馬賽克沒有「補回」2/3 的資料。 分解後的三個訊號總自由度精確等於 。它做的是把未知資料換成一個先驗(色差是空間低頻)。先驗失效就是偽色與摩爾紋,再大的神經網路也只是換一個更好的先驗。

Luther 條件是子空間問題。 子空間對齊,任何曲線形狀都能用 3×3 修好;子空間不對齊,沒有任何 3×3 能修好。Vora 值 量的就是這個。

28 台相機的平均原生 Vora 值是 0.918,而經驗門檻是 0.95 算可接受、0.99 算很好。市面上的相機平均連「可接受」都沒到。

平均 1.416,最大 29.392。 Canon 5D2 在 1995 個反射光譜 × 102 個光源上的原生色差,最大是平均的 20.8 倍。攝影不是在平均上失敗的,是在那一件紫色洋裝上失敗的。加最佳化濾鏡後平均降 4.75 倍,最大只降 2.9 倍——尾巴比平均難修。

「27 維核空間」是取樣的產物。 核空間維度 = 取樣點數 − 3,用 CIE 標準觀察者的定義域(360–830 nm @ 1 nm)算是 468。而物理光譜是無窮維的,所以正確說法是:丟掉一個無窮維空間,只留三個數字。

SSF 量測在 2025 年變便宜了。 未校正繞射光柵法,55 美元耗材,實拍相對誤差 3.53–5.77 %,比色卡法(3.75–9.13 %)更準也更便宜。

光子轉換曲線:。 變異數對平均值畫圖是一條直線,斜率就是系統增益,截距就是讀取雜訊——不需要標準光源,不需要絕對校正。

最大 SNR = √(飽和電子數)。 60000 e⁻ 的井最大 SNR 是 244.9(47.8 dB),這是卜瓦松統計的硬上限。提高它只有一條路:收更多光子。

DCG 單獨使用不增加動態範圍。 HCG(井 14634 / 雜訊 2.1)和 LCG(井 60000 / 雜訊 8.6)的 DR 都是 12.77 級,因為井和雜訊被同一個增益同時縮放。增益只來自同幀合併:60000/2.1 = 14.80 級,多 2.03 級,恰好等於 。

ISO 500 比 ISO 400 多 1.71 級動態範圍(11.84 對 10.12),雖然少收三分之一級的光。但 ISO 64 的 12.77 級仍然最高——雙增益不是讓上限變高,是讓高 ISO 掉得慢。

EDR 12.37 級,PDR 9.00 級,差 3.37 級。 EDR 的低端是 SNR=1,PDR 是 SNR=20 加 CoC 正規化。扣掉正規化的 2 級後,單像素上是 5.37 級,落在讀取雜訊主導的 4.32 與散粒雜訊主導的 8.64 之間。規格表的 14 級是「量得到」的 14 級,不是「能用」的。

100 dB = 16.61 級。 LYTIA 901 同時列 DCG-HDR 與 Hybrid Frame HDR,是因為 DCG 的理論上限是 ,單靠它到不了。多曝光合成帶回運動偽影——那正是 DCG 當初要解決的問題。

規格體系的模式:量測有標準,演算法沒有。 EMVA 1288 精確定義怎麼量感測器,不說怎麼設計;ISO 17321 定義怎麼算 SMI,不說濾鏡該長什麼樣;去馬賽克連量測標準都沒有。可逆的線性運算會被寫進規格,不可逆的運算只會被寫進量測標準。

✍️ 實踐

把 Alleysson 分解在你自己的 raw 上跑一次。 這是今天最值得花 30 分鐘的事,而且只需要 rawpy 加 numpy:

  1. 用 rawpy 開一張你自己的 raw,取 raw.raw_image_visible(未去馬賽克的單通道陣列),減掉 raw.black_level_per_channel 的黑階。
  2. 對這個單通道陣列做 2D FFT,取 np.log(np.abs(np.fft.fftshift(F)) + 1),存成圖來看。
  3. 你會看到中央一團亮(亮度)、四個角一團(在 的 )、上下左右邊緣中點各一團(在 與 的 )。七個位置,和推導完全對上。
  4. 現在關鍵一步:拿兩張內容完全不同的圖重跑——一張低彩度的(黑白建築、霧景、逆光剪影),一張高彩度細紋的(花布、市場、電路板)。比較四個角與四個邊緣中點那幾團的大小。

低彩度那張的色差團會小到幾乎看不見,高彩度那張會大到明顯侵入中央。你會親眼看到「解析度隨顏色變動」這件事,而不是只是相信它。做完這個實驗,你對「這台相機解析度比較好」這類說法的理解會永久改變。

用光子轉換曲線量出你自己相機的系統增益與讀取雜訊。 不需要任何設備:

  1. 對著一面均勻照明的白牆(或用鏡頭離焦拍一張均勻天空),固定 ISO、固定光圈,從嚴重欠曝到剛好不過曝拍 12 到 15 張,每一級曝光拍兩張。
  2. 用 rawpy 讀出未去馬賽克的資料,只取同一個顏色通道(例如 G1),在畫面中央取 200×200 的區塊。
  3. 對每一組同曝光的兩張:平均值取 的均值,變異數取 。用兩張相減來算變異數,可以把固定圖案雜訊(PRNU、暗電流不均)整個消掉,這是 EMVA 1288 的標準做法,也是這個實驗成敗的關鍵。
  4. 把變異數對平均值做線性迴歸。斜率 = 系統增益 (DN/e⁻),截距 = ,所以讀取雜訊 e⁻。
  5. 再拍一張過曝的,讀出飽和 DN,除以 得到飽和電子數。。

然後在你相機的雙增益切換點兩側各跑一次。 如果你用的是 Nikon Z 系列,跑 ISO 400 和 ISO 500;其他機身先去 Photons to Photos 的讀取雜訊圖看切換點在哪(圖上會有一個明顯的斷崖)。你會直接量到那 1.5 到 2 級的跳躍。這是本文所有計算裡唯一你可以在自己機身上完整驗證的一段。

算出你自己相機的 PDR,然後去拍一張驗證它。 上一步已經給了你飽和電子數和讀取雜訊。用散粒雜訊模型解 SNR=20 的訊號位準:,也就是 ,取正根。。

然後去外面拍一張高反差場景,在後製裡把陰影拉到你算出來的那個位置,看看它是不是真的在那裡開始崩。規格表告訴你 14,你自己量出 9,實拍驗證 9。 這個過程做完一次,你選相機的方式會不一樣。

去查一次你的相機的光譜響應。 兩條路:先去 Zhu 與 Finlayson 那篇 Sensors 論文的資料集、或 Jiang 等人的相機 SSF 資料庫,看有沒有你的機身或近親機身;如果有,自己算 Vora 值(P = S @ inv(S.T @ S) @ S.T,兩個投影算子相乘取跡除以 3),看它落在 0.918 的平均值哪一邊。如果沒有,那張 55 美元的繞射光柵膜就是 2025 年之後才有的選項。

知道 Vora 值有什麼用?它告訴你哪些顏色你調不好,不要再調了。子空間差距造成的誤差是 3×3 修不掉的,你只能用查表去針對特定顏色硬壓,而那會在其他光源下壞掉。與其花兩小時在 HSL 面板上和一朵紫色花搏鬥,不如知道那是硬體限制,換個做法(換光源、加濾鏡、或就接受它)。

🔗 延伸學習


💬 問 AI

我在研究數位攝影管線的「感測器端」——也就是從光子到 DNG 的 ForwardMatrix 把資料送進 XYZ D50 之前的那一段。請盡量引用規格條文、標準編號、論文或參考實作原始碼,並嚴格區分「來源明確這樣說」與「你自己的推論」。
 
第一組:CFA 取樣與去馬賽克
 
1. Bayer CFA 影像可以寫成 I = φ_L + φ_C1·(−1)^(x+y) + φ_C2·[(−1)^x + (−1)^y],其中 φ_L = (R+2G+B)/4、φ_C1 = (R−2G+B)/4、φ_C2 = (R−B)/4。這個分解最早的正式出處是哪一篇?Alleysson、Süsstrunk、Hérault 的哪一篇論文、哪一年、哪一個期刊或會議?後來 Dubois、Lian 等人的頻域方法和它的關係是什麼?
 
2. 頻率選擇法在實務上把色差頻帶的半寬取多少?有沒有論文給出「自適應決定色差頻帶寬度」的具體判準(例如依局部色差能量)?這類自適應方法相對固定頻帶能贏多少 dB 的 PSNR?
 
3. 我的理解是:去馬賽克的自由度是守恆的(N 個感光點給 N 個數字,分解後三個訊號的頻帶總和剛好是全頻譜),所以它不是「補回資料」而是「引入先驗」。這個說法有沒有哪篇論文用資訊論的語言正式陳述過?學習式去馬賽克(2023–2026)有沒有人分析過它們學到的先驗實際上是什麼?
 
第二組:光譜響應與色度
 
4. Vora 值 ν = (1/3)·trace(P_S·P_X) 的原始出處(Vora & Trussell 的哪一篇、哪一年)?「ν > 0.95 可接受、ν > 0.99 很好」這兩個門檻是誰提出的、根據什麼實驗?
 
5. ISO 17321-1 的 SMI 公式裡那個縮放常數到底是多少?我看到最常轉述的是 5.5,但我沒能從標準原文確認。請告訴我原文寫的是什麼,以及 SMI 的完整計算協定(用哪 18 個色塊、哪個光源、3×3 用什麼準則擬合)。
 
6. Finlayson 那組數據裡,Canon 5D Mark II 原生的平均 ΔE*ab 是 1.416、最大是 29.392,比值 20.8 倍。有沒有其他研究報告過類似的「平均很好、尾巴很糟」分布?造成最大誤差的通常是哪一類光譜(窄頻 LED?螢光燈?特定染料?),有沒有系統性的整理?
 
7. 如果一台相機的 Vora 值是 0.918,能不能用它預測平均 ΔE 和最大 ΔE?我用兩個資料點反推出 ΔE ∝ √(1−ν) 的關係,但那顯然沒有統計意義。有沒有論文正式研究過 Vora 值與 ΔE 之間的關係?
 
第三組:雜訊與動態範圍
 
8. EMVA 1288 Release 4.0 相對於 3.1 的實質技術改變有哪些?「Release 4 General」那份(非線性相機)現在的狀態是什麼,有正式發布還是仍在 Release Candidate?
 
9. 雙轉換增益的實際參數:市售全片幅機身(Sony a7 系列、Nikon Z 系列、Canon R 系列)的 HCG/LCG 轉換增益比、各自的滿井與讀取雜訊,有沒有公開的實測資料?我算出「同幀合併的 DR 增益恰好等於 log2(轉換增益比)」,這個結論在真實感測器上成立嗎,還是有其他損耗?
 
10. DCG-HDR(同幀雙讀合併)和依 ISO 切換增益模式是兩件事。有哪些市售的靜態攝影機身實際在一般拍攝模式下用了同幀 DCG-HDR(不是只用在影片或特殊 HDR 模式)?Sony LYTIA 901 宣稱的 >100 dB,DCG 和 Hybrid Frame HDR 各貢獻多少,有沒有官方或第三方的拆解?
 
第四組:對我的意義
 
11. 綜合以上:如果我是一個在意色彩準確度的攝影師,今天(2026 年)最值得投入的一件事是什麼?是量自己相機的 SSF、是換一台 Vora 值更高的機身、是在拍攝端控制光源光譜、還是接受硬體限制改在後製上用查表硬壓?請給出具體的排序和理由。
 
12. 然後請給我上面那個建議最強的反方論證。特別是:有沒有可能整個「色度準確性」的框架對創作攝影來說根本是次要的,而我花時間在 Vora 值和 SSF 上是在最佳化一個不重要的指標?請認真論證這個立場,不要敷衍。
 
每一點請標明你的把握程度。查不到出處的請直接說查不到,不要用推測填空。第 5、9、10 點我特別懷疑流傳的說法多半是輾轉引用而沒有一手依據。