昨天留下的待辦是把 2×3 濾色片的十行程式真的跑完,今天跑了:N2=3 的六色表逐格吻合,N2=4 的越界值是 −0.058 與 1.058,與昨天預告的數字一致,昨天的計算沒有再出錯。跑完之後順著問了三件事,其中一件改變了結論的寬度:第一,Hirakawa 的 2×4 四色可以只靠論文給的增益重建出來,顏色清單與論文完全相同;第二,把 Bayer 每格取補色(1 減去透光率),在論文自己的加性雜訊模型裡,亮度雜訊從 3 降到 0.75,比 Condat 的 4/3 更好;第三,同一個補色 Bayer 在散粒雜訊主導時反而多 1.76 dB 雜訊,交叉點是每通道訊號等於讀出雜訊變異數的一半。所以「亮度增益高就是雜訊低」只在讀出雜訊主導時成立,實測的 CMY 感光元件也呈現這個方向:感度多 63% 至 71%,色彩校正後的訊噪比卻沒有比 RGB 好。
📖 學
一、昨天的待辦:把十行程式跑完
我寫的程式只做兩件事:用論文附錄一的式 (26) 產生每格 R、G、B 透光率,再用式 (31) 至 (33) 取相位 ,對每個垂直週期 掃過所有 取最大的 。取相位時要用 ,奇數 取 ,偶數取 。結果如下(透光率範圍欄是令 時所有格子、所有通道的最小與最大值)。
| 數值掃出的 | 最大 | 色度噪聲放大 | 令 的透光率範圍 | 相異濾片數 | |
|---|---|---|---|---|---|
| 3 | 0.8660 | 0.5000 | 8.00 | 0 至 1,合格 | 6 |
| 4 | 0.9659 | 0.4483 | 9.95 | −0.058 至 1.058 | 4 |
| 5 | 0.9945 | 0.4354 | 10.55 | −0.074 至 1.074 | 10 |
| 6 | 0.8660 | 0.5000 | 8.00 | 0 至 1,合格 | 6 |
| 7 | 0.9972 | 0.4342 | 10.61 | −0.076 至 1.076 | 14 |
| 8 | 0.9914 | 0.4367 | 10.49 | −0.072 至 1.072 | 8 |
| 12 | 0.9659 | 0.4483 | 9.95 | −0.058 至 1.058 | 12 |
數值掃描的 與式 (33) 的 在四位小數內完全一致,所以論文的封閉解沒有抄錯,我昨天表中 =3、4、5、7 四列也都對。新看到的是三個細節。第一, 並不是越大增益越低:8 的 0.4367 比 7 的 0.4342 高,因為 的大小才是關鍵。第二,所有 的增益都夾在 0.5 與 之間(後者是 的極限),所以色度噪聲放大只在 8 與 10.667 之間變動,最差也只比最好多 33%。第三, 只有四種濾片,與 Hirakawa 一樣多,但增益比 低,「顏色種類少」並不等於「增益高」。另外提醒:這十個數字全部是我跑出來的,不是論文表格;論文只明寫選 的結論。
二、Hirakawa 的 2×4:從增益反推,顏色清單對得上
昨天更正了論文裡的 Hirakawa 圖樣是 2×4 週期、四色,但那是「論文列出的」。今天反過來問:論文給的增益(亮度 ,綠洋紅色度在 載波、增益 ,紅藍色度在 載波、增益 ),是不是真的足以重建出那四種顏色?
我用論文的正交基底(、、)把三個載波疊起來,對相位以四分之 π 為步距枚舉,保留所有通道透光率落在 0、½、1 的組合。通過的組合全部給出同一組四色,取其中一組,逐格是:
| (½, 1, 0) | (0, 1, ½) | (1, 0, ½) | (½, 0, 1) | |
| (½, 0, 1) | (1, 0, ½) | (0, 1, ½) | (½, 1, 0) |
第一列的順序恰與論文敘述的 [½,1,0]、[0,1,½]、[1,0,½]、[½,0,1] 相同。每格 R+G+B 加總都是 1.5,每通道平均 0.5,與 Condat 的設計相同,所以兩者的「亮度增益相同」是結構性的,不是巧合。用傅立葉轉換量回增益,還釐清了論文的「增益」定義:增益是該色度通道所有載波係數大小的平方和開根號。Hirakawa 的 在 與 各有 0.433,合起來 ; 在 只有一個載波 0.354。Condat 的兩個色度通道各有兩個載波、每個 0.354,合起來都是 0.5。Bayer 的 只有 一個載波 0.612, 在 與 各 0.354,合起來 0.5,與論文的 和 1/2 相符。
這個核對的意義有限:它只證明論文列的四色與它自己的增益互相一致,不能證明這就是專利 US 8,761,504 B2 裡的 4×4 全色設計,那一題今天仍然查不到一手出處,維持「未核對」。
三、補色 Bayer:同一本雜訊帳的反例
論文第三節有一句關鍵:若 ,把每個濾片的透光率換成 ,色度載波只變號,亮度增益從 變成 。所以 恰是「自補」的位置:Condat 的六色集合取補後還是同一組六色(例如 [1,0,½] 變成 [0,1,½]),Hirakawa 的四色也是。但 Bayer 的 不在這個位置,它的補色版本是 Cy、M、M、Y 的青品黃陣列,,每格總透光量從 1 變成 2。我用傅立葉轉換驗證了:補色 Bayer 的 是 1.1547,色度增益與原 Bayer 完全相同(0.6124 與 0.5)。
把它放進論文自己的雜訊帳,結果如下。
| CFA | 亮度噪聲放大 | 去噪前的灰階噪聲變異數 | 色度噪聲放大和 |
|---|---|---|---|
| Bayer | 3 | 1.000 | 6.667 |
| Condat | 4/3 | 0.444 | 8 |
| 補色 Bayer | 0.75 | 0.250 | 6.667 |
第三欄的 1 與 4/9 是論文本文寫的數字,補色 Bayer 的 1/4 是我套同一個公式算的。也就是說,若只比這張雜訊帳,補色 Bayer 在亮度與色度兩邊都不輸 Condat。這不構成對論文的反駁:我用文字搜尋過預印本全文,沒有出現 complement、CMY、cyan 這些字,論文的最佳化範圍是「色度載波放在 Nyquist 邊界、遠離水平垂直軸」的族群,Bayer 的載波落在 、 軸上,混疊問題這張雜訊表看不出來。重點是:論文固定 的理由,是「再高就使色度噪聲放大遠超過亮度噪聲的好處」,這在 的族群內成立。我算了一遍:
| 對應 | 合計 | |||
|---|---|---|---|---|
| 0.866 | 0.5000 | 1.33 | 8.00 | 9.33 |
| 1.0 | 0.4226 | 1.00 | 11.20 | 12.20 |
| 1.2 | 0.3072 | 0.69 | 21.20 | 21.89 |
| 1.5 | 0.1340 | 0.44 | 111.43 | 111.87 |
族群內確實是 最好;但補色 Bayer 逃出了這個權衡,因為它的色度載波組成不同,所以「族群內最優」不能外推為「所有設計裡雜訊最低」。
更要緊的是雜訊模型。 論文假設加性白噪聲,變異數與訊號無關。真實感光元件還有散粒雜訊,變異數隨訊號增加。我用最簡單的估計器算:把 2×2 一格當一個像素,不做空間插值。Bayer 的 R、B 直接取值,G 取兩個 G 平均;補色 Bayer 的 Cy=G+B、M=R+B、Y=R+G,解出 R=(M+Y−Cy)/2、G=(Cy+Y−M)/2、B=(Cy+M−Y)/2,其中 M 有兩個取平均。灰色場景、每通道平均 個電子、讀出雜訊 ,每通道平均變異數是:
| 模型 | Bayer | 補色 Bayer | 補色對 Bayer |
|---|---|---|---|
| 只有讀出雜訊 | 低 1.25 dB | ||
| 只有散粒雜訊 | 高 1.76 dB | ||
| 兩者並存 | 交叉點 |
補色版本訊號多一倍(Cy 收到 2),但解色時 R=(M+Y−Cy)/2 要把三個各自帶散粒雜訊的量相加減,雜訊總和比訊號增加得更快:訊號 、變異數 ,對上 Bayer 的訊號 、變異數 ,比值 1.5。我用 40 萬次蒙地卡羅驗證:、 時比值 1.501(+1.76 dB);、 時 0.753(−1.23 dB); 的例子(、)比值 0.998,與公式預測的交叉點吻合。這個 2×2 估計器不是論文的頻率選擇法,但亮度噪聲比(0.0694 對 0.278,剛好 4 倍)與上表 3 對 0.75 的比值相同,所以兩種算法在讀出雜訊極限下一致。這整段(補色模型與交叉點)是我自己的推導,論文沒寫。另外一個理想假設下的推論:補色版本每格收到的光多一倍,滿井容量會讓它高光比 Bayer 早約一級飽和,這部分我沒做實驗。
四、真實感光元件怎麼說
找到兩篇同一家公司(VisEra Technologies)在 IS&T Electronic Imaging 發表的短文,都是 0.8 μm 像素、四合一(Quad Bayer)排列的實體 CMOS 感光元件,拿 CMY 與 RGB 濾片比較。我讀的是文章全文(各三頁),數字如下。
| 條件 | 指標 | RGB | CMY 1.0 | CMY 2.0 |
|---|---|---|---|---|
| D65,500 lux(2023 年短文) | 感度相對 RGB | 基準 | +71% | +63% |
| 色差 ΔE*00 | 3.0 | 3.5 | 2.6 | |
| 訊噪比 | 47.9 dB | 47.1 dB | 46.6 dB | |
| D65,30 lux | 色差 ΔE*00 | 3.1 | 3.2 | 2.7 |
| 訊噪比 | 34.0 dB | 35.8 dB | 33.3 dB |
理想補色的總透光量是 Bayer 的 2 倍,實測感度只多 63% 至 71%,因為真實濾片的光譜是寬重疊曲線,不是 0/1 的理想補色。更有意思的是第三列:亮度充足的 500 lux 下 CMY 感度多了六七成,色彩校正後的訊噪比卻低 0.8 至 1.3 dB;30 lux 時 CMY 1.0 反而高 1.8 dB,CMY 2.0 仍低 0.7 dB。這個方向與上一節的預測(光越多越偏向散粒雜訊、補色越吃虧)一致,但我必須明說:短文沒有做這個歸因,我也不知道它們的訊噪比量測用的是哪些色塊;兩篇之間也有出入,同一家公司 2022 年那篇報告「由量子效率曲線算出」的感度只多 12%(100 lux)與 38%(10 lux),實測的 ΔE*00 是 RGB 4.73、CMY 4.46,訊噪比 48.2 dB 對 43.8 dB,和 2023 年數字無法直接對照,是不同批濾片與不同量測,我沒有查出差異來源。作者自己在 2022 年短文開頭寫得直接:從 CMY 解回 RGB 會產生雜訊,CMY 因此在亮處色彩保真度較差。
五、一處精確度更正
昨天雜訊表的最後一欄「三通道總和」(Bayer 9.667、Hirakawa 12.000、Condat 9.333)把三個不同頻寬的量直接相加:亮度噪聲佔滿整個頻帶,色度噪聲經過截止頻率 π/3 的低通濾波器,只剩一部分頻寬。若把低通當成方形、截止 π/3,面積比例約 1/9(實際濾波器形狀我沒核對,圓形會更小),按此加權後是 Bayer 3.74、Hirakawa 2.52、Condat 2.22,補色 Bayer 1.49。三個設計的順序不變,論文「色度噪聲低 33%」的說法也不受影響,但昨天那欄不應被理解成「總噪聲」。
🧠 記
增益高不等於雜訊低,要看雜訊模型。 論文的雜訊帳是加性白噪聲,亮度增益直接換成 SNR;一旦散粒雜訊開始主導,補色 Bayer 這類「多收光」的設計反而多 1.76 dB 雜訊,交叉點是 ,也就是每通道訊號只有讀出雜訊變異數一半的極暗環境。
CFA 論文的「最優」是在一個限定族群內的最優。 Condat 的 在 族群內確實最好(合計 9.33, 時 12.2),但補色 Bayer 不在這個族群,論文也沒比較。看到「最優」要先問:在哪個設計空間、哪個雜訊模型、哪個重建管線下。
實測 CMY 的證據是混合的。 同一家公司兩篇短文,感度多 12% 至 71%,色彩校正後訊噪比低 0.8 至 4.4 dB 不等(500 lux 的 2023 年數字是低 0.8 與 1.3 dB);30 lux 的 CMY 1.0 例外高 1.8 dB。我不能憑這些就說誰贏,只能說理想模型的優勢在實測中沒有完整出現。
✍️ 實踐
用蒙地卡羅親手驗證交叉點。 寫一個 Python 小程式:令 s(每通道電子數)與 sigma(讀出雜訊電子數)。Bayer 每格產生四個樣本 R,G1,G2,B = poisson(s) + normal(0, sigma),估計 R,(G1+G2)/2,B;補色版本每格產生四個樣本 Cy,M1,M2,Y = poisson(2s) + normal(0, sigma),取 M=(M1+M2)/2,估計 R=(M+Y-Cy)/2、G=(Cy+Y-M)/2、B=(Cy+M-Y)/2。各跑 40 萬格,算三通道估計變異數的平均,再算補色對 Bayer 的比值。先預測再跑:sigma=2、s=2 的比值應該接近 1.00;s=100、sigma=0 應該接近 1.50;s=0、sigma=5 應該接近 0.75。再把 s 從 0.5 掃到 20,固定 sigma=2,畫出比值曲線在哪裡穿過 1。若你的交叉點不在 ,先查是不是漏了「G 與 M 各取兩個平均」那一步。
明天的待辦: 讀 Condat 參考文獻 [6],Hao、Li、Lin、Dubois 的〈A geometric method for optimal design of color filter arrays〉(IEEE TIP,Condat 引用時註明 2011 年刊出),確認它的幾何設計法有沒有處理補色濾片或散粒雜訊,以及它與 Condat 的六色設計各自假設了什麼雜訊模型。這篇我今天只在參考文獻中看到標題,沒有找到全文,也沒有核對出版資料。
🔗 延伸學習
- A New Color Filter Array With Optimal Properties for Noiseless and Noisy Color Image Acquisition(Condat,作者網站預印本 PDF) — 今天全部傅立葉增益、附錄一封閉解與式 (26) 至 (33) 的來源,我用文字抽取工具讀過附錄與第四節。
- Color Performance of 0.8 μm CMOS Image Sensor with CMY Color Filters(Kuo 等,IS&T EI 2023) — 第四節 500 lux 與 30 lux 的感度、色差、訊噪比全來自這篇;三頁短文,實驗細節與訊噪比量測方式很少。
- The Study and Analysis of Using CMY Color Filter Arrays for 0.8 um CMOS Image Sensors(Wang 等,IS&T EI 2022) — 前一篇引用的 CMY 1.0 出處,給了由量子效率曲線算出的 12% 與 38% 感度增益,以及「從 CMY 解回 RGB 會產生雜訊」的明確說法。
- Spatio-Spectral Color Filter Array Design for Optimal Image Recovery(Hirakawa & Wolfe,IEEE TIP 17(10):1876–1890,2008) — 要確認 2×4 四色與專利 4×4 的關係,必須從這篇進入;我今天沒能取得全文。
💬 問 AI
我在讀兩個 CFA(彩色濾光片陣列)設計的雜訊分析。(1)Condat 2011 年 IEEE TIP 論文(20 卷 8 期,2200–2210 頁)在加性白噪聲下比較 Bayer、Hirakawa(2×4 四色)與其 2×3 六色設計,結論是色度噪聲放大 1/γ_C1² + 1/γ_C2² 在 Condat 設計是 8、Hirakawa 是 10.667。(2)我自己推導:把每格透光率換成 1 減去原值,亮度增益 γ_L 變成 √3 − γ_L、色度載波增益不變,因此補色 Bayer 的 γ_L = 2/√3,灰階噪聲變異數是 σ²/4,比 Condat 的 4σ²/9 還低。(3)在 2×2 無插值估計器下,灰色場景每通道訊號 s 個電子、讀出雜訊 σ,Bayer 每通道平均變異數是 (5/6)(s+σ²),補色版本是 1.25s + 0.625σ²,交叉點是 s = σ²/2。
請嚴格把回答分成三類並逐條標示:「論文或文獻明確寫的」、「你查證到的(附出處)」、「你自己的推論」;查不到就直接說查不到,不要補。
1. 我的推導 (2) 與 (3) 有沒有錯?請指出哪一步不嚴謹,特別是:Poisson 雜訊在減法解色時是否應該用「變異數相加」、以及 2×2 無插值估計器能否代表真正的頻率選擇或最小平方解馬賽克。
2. 補色(CMY 或 CMYG)濾片在真實感光元件上,感度增益與色彩校正後的訊噪比,有沒有比 VisEra 2022、2023 年短文更完整、有同行審查的量測?有沒有文獻直接討論讀出雜訊與散粒雜訊兩種極限下補色與原色的交叉點?
3. Hirakawa 與 Wolfe 2008 年 IEEE TIP 論文裡的 2×4 四色設計,與專利 US 8,761,504 B2 的 4×4 全色設計是同一個還是不同?請找一手出處。
4. Hao、Li、Lin、Dubois 的〈A geometric method for optimal design of color filter arrays〉有沒有處理補色濾片、非加性雜訊或混疊與雜訊的聯合最佳化?它的結論與 Condat 的有何不同?
每一點請說明你的把握程度。