相機和掃描器設定檔

色域到工作色彩空間的映射

註:本文原刊於 2006 年。產品和概況已發生變化,但基本面沒有改變。

Gamutvision可以顯示看似代表輸入裝置(掃描器和相機)色域的圖表,但這些圖表必須謹慎解讀,因為 Gamutvision(以及其他色域檢視器)使用的 RGB 輸入模式包含的 RGB 值幾乎肯定無法被大多數相機或掃描器在真實物理光線下產生。因此,實際色域通常小於顯示的色域——甚至可以說,輸入裝置的色域根本無法定義。柯達公司公佈的徠卡 M8的 Kodak KAF-10500-CX 影像感測器的光譜響應曲線說明了這一點。

顏色之間存在相當大的重疊。這意味著未經處理的感測器輸出(線性縮放除外)永遠不可能包含純粹的 R (255,0,0)、G (0,255,0) 或 B (0,0,255) 訊號。當然,由於 KAF-10500 感測器的輸出是類比電壓,因此很可能需要進行一些訊號處理:轉換為數位訊號的過程在感測器晶片外部進行,並且很可能包含製造商的專有處理——即使是 RAW 檔案也是如此。

從圖中還可以看出,R:G:B 電壓比對於可見光譜(約 380-720 奈米)內的任何單色(單波長)訊號都是唯一的,因此,理論上,感測器可以區分任何可見波長:其色域涵蓋了人眼視覺的全部範圍。相機的實際色域取決於設定檔的品質:即它處理高飽和度色彩的能力。這無法僅從設定檔中確定,因為它不包含所有可能的照明色度值與相機 RAW R、G、B 值之間關係的資訊。設定檔由色塊數量有限的圖表建構而成,這些色塊無法接近純單色值。它們不包含哪些 R、G、B 三元組值不對應於物理光的資訊。

相機設定檔通常會與RAW格式轉換軟體一起安裝。同樣,掃描器設定檔也會與掃描器控制軟體一起安裝。我們以兩個廠商提供的設定檔為例。當然,這些設定檔並非品質最優(該頁面寫於2006年)。許多用戶使用設定檔製作軟體創建自己的配置文件,並且大多都能獲得令人滿意的結果。

電影色域,蘋果與橘子

你們當中有些人可能會看過底片色域的圖片──通常以 CIE xy 圖的形式呈現──(這種圖並不常見)。這些圖表中顯示的膠卷色域相當大:比 Adobe RGB (1998) 大,但不如 WGRGB 或 ProPhoto RGB 等超大色域色彩空間。

要注意的是,底片色域並非底片對色彩的反應範圍,而是底片染料能夠再現的色彩範圍,也就是底片的輸出色域。它與膠片的色彩響應無關。因此,將膠卷色域與數位相機的色域(或至少是色域檢視器程式顯示的「色域」)進行比較毫無意義:這就像蘋果和橘子一樣,根本無法相提並論。

相機設定檔:EOS 20D.icc

EOS 20D.icc 檔案顯然是與佳能的 DPP(Digital Photo Professional)RAW 轉換軟體一起安裝的,但我沒有在 DPP 中找到選擇相機設定檔的明顯方法。它肯定來自佳能——帶有他們的版權。而且毫無疑問,它是為哪一款相機設計的。第一張圖是 3D L*a*b* 圖,顯示了 EOS 20D 的完整色域(實線;輸入設定檔 1)以及 Adobe RGB (1998) 色彩空間的完整色域(線框;輸出設定檔 2)。本頁所有圖片均已進行一定程度的縮減。

為了突出不同配置之間的差異,顯示畫面已旋轉。請注意,此圖中未進行色域映射:渲染意圖已設定為「無」 。此外,正常的 3D 顯示順序也已反轉:已選擇3D L*a*b* 參考(線框輸出) (即,實體輸入)。當輸出色域小於輸入色域時,正常的 3D 顯示(線框輸入,實體輸出)才有意義,大多數印表機輸出設定檔都是如此。但在此範例中,EOS 20D 的色域略小於 Adobe RGB (1998)。

當然,當影像從相機色彩空間轉換到工作色彩空間時,會進行色域映射。映射變換後的 3D L*a*b* 影像如右圖所示:這很簡單。由於 Adobe RGB (1998) 的色域略大於 EOS-20D,因此最終色域與 20D 相同。對於此映射,感知、色度和飽和度渲染意圖都會產生相同的結果。絕對渲染意圖不適用於此設定檔。

這些結果表明,Adobe RGB (1998) 是 EOS-20D 的理想工作色彩空間,因為該相機的有效色域不會大於所選配置檔案(本例中為 EOS 20D.icc)。較大的色域空間會造成浪費;使用 sRGB(一種小色域色彩空間)時,某些顏色會被裁切掉。

EOS 20D.icc 是一個較大的配置文件,大小為 213 kB。它包含三個AToB n查找表(裝置到設定檔的連接空間; n = 0 表示感知;1 表示色度;2 表示飽和度)。從設定檔的行為來看,這三個 AToB n查找表的內容完全相同。

3D L*a*b* 圖只是Gamutvision 顯示方式的幾種類型之一。 2D a*b* 飽和度圖對於顯示色域也很有用。此圖的輸入是一個包含HSL 顏色表示中所有色調和飽和度的圖表,其中 L(HSL) = 0.5,這是顏色飽和度達到最大值的中間亮度值。純紅色 (255,0,0)、綠色 (0,255,0) 和藍色 (0,0,255) 的 L 值均為 0.5。 (HSL 顏色表示中的 L 與 L*a*b* 空間中的 L* 不同。)2D s*b* 飽和度圖顯示飽和度 S = {0, 0.2, 0.4, 0.6, 0.8, 1} 的 a*b* 值。

下圖展示了兩種映射的結果:1→2:EOS 20D.icc→AdobeRGB1998.icc,以及 3→4:EOS 20D.icc→*sRGB。結果可以有多種顯示方式;下圖利用了 Gamutvision 的Display A/Display B功能,該功能允許在同一張圖上比較任兩個結果,並可快速切換。

虛線代表 Adobe RGB (1998) 輸出,使用 EOS 20D.icc 中的色彩渲染意圖進行映射;這是 1→2 映射的結果(與此配置文件的感知和飽和度意圖結果相同)。實線代表 sRGB 輸出;這是 3→4 映射的結果。顯然,Adobe RGB 在綠色到青色範圍內擁有更大的色域。二維 a*b* 飽和度圖非常適合比較色域,但請記住,它只顯示中間色調,即顏色最鮮豔的部分。它無法顯示高光或陰影部分的色域差異。

掃描器設定檔:Epson Perfection 4870 Photo

Epson平板掃描器配備用於掃描膠片的透明膠片單元,並提供兩種配置:一種用於反射式掃描,另一種用於透射式掃描(即膠片掃描)。對於4870型號,這兩種設定檔分別名為Per487_r.icm和Per487_t.icm。 它們可能仍然可用。

快速觀察可知,4870 在反射模式和透射模式下的色域相似,且色域非常廣:a* 和 b* 值輕鬆達到 LittleCMS 的 ±128 極限。但 Adobe RGB (1998) 在飽和高光顏色方面擁有更大的色域。這一點在任何二維圖中均未體現。

當採用色度渲染意圖時,輸出色域會落在輸入色域之內。明亮、飽和的顏色看起來會略微變暗。

右側顯示的是二維 xy 色度圖。此圖在感知均勻性上不如 a*b* 圖,但它有兩個優點。

  • 它為人所知,應用廣泛。
  • 它展現了真實、物理色彩和人類視覺的界限。

愛普生色域(虛線所示)遠遠超出可見光範圍,這種情況顯然不可能發生。這是因為該色域是使用一組像素值計算得出的,其中包括紅色和藍色原色,而這些像素值在實際應用中是不可能存在的,因為它們與物理現實不符。這種情況在相機或掃描器中比較常見,因為測試圖表中高飽和度的顏色會產生相對不飽和的RGB值。

愛普生 4870 的色域不可能像其參數所示那麼大。參數所示的色域邊界僅代表該裝置拍攝的檔案可能達到的最大色域,而非裝置的實際色域。相較之下,Canon EOS-20D 的色域邊界似乎更加合理。

將廠商提供的設定檔(Canon EOS-20D 和愛普生 4870)與自訂設定檔進行比較,應該會很有意思。

輸入設定檔代表相機和掃描器等設備。它們包含將 RGB 輸入值轉換為 XYZ 設定檔連接空間的表格。但是,在所有設定檔類別中,只有輸入設定檔包含大量在實際應用中永遠不會出現的 RGB 值。而且,設定檔中沒有任何資訊指示這些值是什麼。因此,輸入設定檔不足以表徵設備的色域。

使用 IT8.7 或 Colorchecker SG 等大色域測試卡進行測量,可以提供大量有關裝置色彩響應的資訊。 Imatest Multicharts模組支援這些測試卡。

對 Luminous-Landscape 的徠卡 M8 評測的回應

在邁克爾·雷希曼的《徠卡M8——實戰評測》(Leica M8 - A Hands-on Field Review )一書的“色域” (Gamut )章節(大約在頁面中間偏下的位置),邁克爾討論了各種數碼相機的色域,並用從Phase One提供的ICC配置文件中提取的xy配置文件中提取了說明。在本節的結尾,他指出:

這次討論的重點是,徠卡M8的色域似乎是我所知的所有相機中最廣的,而且優勢非常明顯。但這是否意味著影像品質上的優勢呢?根據我的朋友Dr. Know (他是一位RAW格式軟體開發者,在這個領域非常精通)所說,答案很可能是否定的。相機設定檔的色域圖意義不大,與感光元件或相機的實際性能並不相關。但是,我仍然認為我們在這裡看到了一些東西在起作用,即使它僅僅表明了相機內部正在進行的電子濾波。如果有人真正理解我們所看到的現象的意義,我很想聽聽你們的看法。不過,請不要說你的猜測或想像,而是說說你真正知道的起作用是什麼。

這是我的回覆。麥可覺得大多數讀者可能難以理解。 (註:「 Dr. Know 」顯然指的是Photoshop的原作者托馬斯·諾爾。)


我編寫了Gamutvision和Imatest,這樣我(和其他人)就可以回答諸如此類的問題。

簡而言之,「Dr. Know」的說法是正確的。你無法從相機的ICC配置檔推導出其色域。我原本希望能夠做到這一點——這並非沒有道理,因為你可以從設定檔中獲得準確的顯示器、色彩空間和印表機色域。

原因在於,色域檢視器程式首先使用一組代表 RGB 色域極限(即飽和度最高的 RGB 顏色)的 RGB 像素值,然後利用設定檔將這些顏色轉換為與裝置無關的色彩空間(例如 CIE XYZ 或 CIELAB),該色彩空間可以用類似 CIE xy 的常用圖表表示。類似地,相機輸出(由去馬賽克後的 RGB 值組成)也透過設定檔轉換為 CIE XYZ 色彩空間,以便進一步轉換為輸出色彩空間(例如 sRGB、Adobe RGB、ProPhoto 等)。

色域檢視器無法估算相機的色域,因為大多數接近色域極限的 RGB 值相機根本無法輸出——而且該設定檔並未指示相機能夠產生哪些 RGB 值。該設定檔所做的只是將 RGB 值對應到對應的與裝置無關的 CIE XYZ 值,而不管相機是否能夠產生這些值——即使它們與物理實境不符。與用於建立該設定檔的測試圖表中的顏色接近的顏色應該能夠正確映射,但對於不對應於有效物理顏色的 RGB 值,則可能會出現各種情況:色域表示中經常會出現奇怪的尖峰和不規則現象。這些不規則現象毫無意義:它們是計算偽影,並不表示該配置如何處理真實顏色。

我在 Gerard Kingma 關於Gamutvision 和 PrintFIX PRO的文章中評論過這一點。 「 Gamutvision 使用的測試圖案具有盡可能飽和的 RGB 值,但掃描器在實際應用中可能永遠不會輸出這些值。因此,掃描器的實際色域可能小於 Gamutvision 顯示的色域。這個問題沒有簡單的解決方案… ”

CIE xy「馬蹄形」色域圖的邊界代表單色光-圖外的任何顏色都不是物理存在的。封閉的馬蹄形代表人類視覺的極限。色域檢視器顯示的超出馬蹄形邊界的顏色對應於相機在真實物理刺激下永遠無法產生的RGB值。它們的存在清楚地表明,色域檢視器無法為相機或掃描器設定檔產生有效的結果。

相機色域主要取決於感測器的光譜響應或量子效率,這些資訊可以在製造商的數據手冊中找到。柯達公佈了許多感測器的光譜響應曲線,包括徠卡M8使用的KAF-10500感測器和Phase One P45後背使用的KAF-39000感測器。您可以透過造訪www.kodak.com/go/imagers找到這些資訊。計算(甚至定義)相機總色域並不容易,但我們可以做出一個重要的觀察:數位相機可以檢測到所有可見顏色(大約380-720奈米米),而且由於每種單色(純光譜)顏色似乎都有其獨特的(R:G:B)比例,因此所有可見顏色都可以被區分,並且可能都在相機的色域範圍內。但是,實際的相機色域取決於實作細節,而這些細節無法從ICC配置檔案中提取。

KAF-10500 和 KAF-39000 的光譜響應(量子效率)曲線形狀非常相似(表明它們的色域也相近),但有一個有趣的差異:KAF-39000 的紅色效率遠高於藍色和綠色。這意味著 KAF-39000 輸出的 R 值較大,導致純紅色 (255,0,0) 的 CIE XYZ 值較弱:這兩個感測器都不太可能輸出這樣的值。這一點在您的照片中清晰可見,P45 的紅色反應似乎比 M8 弱得多。但這只是色域檢視器造成的假象,與相機的真實色域無關。

相機色域也受另外兩個因素影響:鏡頭光暈和曝光。鏡頭光暈往往會模糊最鮮豔的色彩,因此在實際拍攝中會降低相機色域。徠卡鏡頭以其低光暈而聞名。曝光對測得的色域的影響相當複雜——尤其是一些相機的曝光策略是為了匹配 RAW 轉換演算法而設計的。例如,許多相機可能會相對於 ISO 標準進行欠曝,然後在 RAW 轉換時使用「肩部」補償來降低高光過曝的可能性——這通常是一個很好的策略,但卻使色域測量變得困難。過度曝光總是會降低測得的色域。

測量相機色彩響應的最佳方法是拍攝並分析包含相對飽和色彩的色卡。 24色色塊的ColorChecker色卡不足以滿足此需求;ColorChecker SG和(價格相對低廉的)IT8.7色卡則好得多。 Imatest Color/Tone軟體同時支援這兩種色卡,並能提供大量關於相機色彩響應的資訊。