カメラとスキャナのプロファイル

色域マッピングから作業用色空間へのマッピング

注:この記事は2006年に初掲載されたものです。製品や企業像は変更されていますが、基本的な考え方は変わっていません。

Gamutvisionは、入力デバイス(スキャナやカメラ)の色域を表しているように見えるグラフを表示できますが、Gamutvision(およびその他の色域ビューア)で使用されるRGB入力パターンには、実際の物理的な光に対する反応としてほとんどのカメラやスキャナではほぼ確実に生成できないRGB値が含まれているため、これらのグラフは非常に懐疑的に解釈する必要があります。したがって、実際の色域は通常、表示される色域よりも小さく、入力デバイスの色域はそもそも定義できないと言っても過言ではないかもしれません。その理由は、 Leica M8で使用されているKodak KAF-10500-CXイメージセンサーのKodakが公開したスペクトル応答で以下に示されています。

色にはかなりの重複があります。つまり、処理されていないセンサー出力(線形スケーリングを除く)には、純粋なR(255,0,0)、G(0,255,0)、またはB(0,0,255)信号が含まれることはありません。もちろん、KAF-10500センサー出力はアナログ電圧であるため、何らかの信号処理が行われる可能性はあります。デジタル信号への変換はセンサーチップの外部で行われ、RAWファイルであってもメーカー独自の処理が含まれる可能性があります。

この図からもう 1 つの観察結果は、R:G:B 電圧比が可視スペクトル (約 380~720 ナノメートル) 内のあらゆる単色 (単一波長) 信号に対して一意であるということです。したがって、センサーは原理的にあらゆる可視波長を識別できます。その色域は人間の視覚の全色域を網羅しています。カメラの実際の色域はプロファイルの品質、つまり彩度の高い色をどれだけうまく処理できるかに依存します。これは、照明のすべての可能な測色値とカメラの RAW R、G、B 値との関係に関する情報が含まれていないため、プロファイルだけでは判断できません。プロファイルは、純粋な単色値に近づけることができない限られた数のカラーパッチを持つチャートから作成されます。プロファイルには、どの R、G、B トリプレット値が物理的な光に対応しないかについての情報は含まれていません。

カメラプロファイルは、RAW現像ソフトウェアと一緒にインストールされることがよくあります。同様に、スキャナープロファイルは、スキャナー制御ソフトウェアと一緒にインストールされます。ここでは、メーカー提供のプロファイルを2つ例として使用します。もちろん、これらがプロファイルの品質の決定版というわけではありません(このページは2006年に作成されました)。多くのユーザーは、プロファイル作成ソフトウェアを使用して独自のプロファイルを作成しており、概ね満足のいく結果が得られています。

フィルムの色域、リンゴとオレンジ

皆さんの中には、フィルムの色域を示す画像(通常はCIE xyプロットとして表示されますが、あまり一般的ではありません)を目にしたことがある方もいるかもしれません。これらの図に示されているフィルムの色域は非常に広く、Adobe RGB(1998)よりも広いものの、WGRGBやProPhoto RGBのような超広色域カラースペースには及びません。

フィルムの色域は、フィルムが色に対して示す応答範囲を表すものではないことを理解することが重要です。フィルムの色域とは、フィルムの染料が再現できる色の範囲、つまりフィルムの出力色域のことです。フィルムの応答とは何の関係もありません。そのため、フィルムの色域をデジタルカメラの色域(あるいは少なくとも色域ビューアプログラムが表示する「色域」)と比較することは無意味です。これは、リンゴとオレンジを比較するようなもので、まさに典型的な比較です。

カメラプロファイル: EOS 20D.icc

EOS 20D.icc は、キヤノンの DPP (Digital Photo Professional) RAW 変換ソフトウェアと一緒にインストールされたようですが、DPP でカメラ プロファイルを選択する明確な方法は見つかりませんでした。これは間違いなくキヤノン製で、著作権はキヤノンが所有しています。そして、どのカメラ向けであるかは疑いの余地がありません。最初の画像は、EOS 20D の全色域 (ソリッド; 入力プロファイル 1) と Adobe RGB (1998) 色空間の全色域 (ワイヤーフレーム; 出力プロファイル 2) を示す 3D L*a*b* プロットです。このページの画像はすべて、多少縮小されています。

プロファイル間の違いを強調するために、表示を回転させています。この図には色域マッピングがないことに注意してください。レンダリングインテントは「なし」に設定されています。また、通常の 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は213kBという大きなプロファイルです。このプロファイルには3つのAToB nルックアップテーブル(デバイスとプロファイルの接続空間。n =0は知覚、1は測色、2は彩度)が含まれています。プロファイルの動作から判断すると、AToB nテーブルはすべて同じです。

3D L*a*b* プロットは、 Gamutvision ディスプレイのいくつかのタイプの 1 つにすぎません。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* 値を表示します。

下の画像は、2つのマッピングの結果を示しています。1→2: EOS 20D.icc→AdobeRGB1998.icc、および3→4: EOS 20D.icc→*sRGB。結果の表示方法はいくつかありますが、下のグラフはGamutvisionのDisplay A/Display B機能を利用しています。この機能を使うと、同じグラフ上で任意の2つの結果を比較し、素早く切り替えることができます。

破線は、EOS 20D.icc のカラーメトリック レンダリング インテントでマッピングされた Adobe RGB (1998) 出力です。これは 1→2 マッピングの結果です (このプロファイルでは知覚および彩度インテントと同じ結果が得られます)。実線は sRGB 出力です。これは 3→4 マッピングの結果です。Adobe RGB は緑からシアンの範囲で色域がはるかに広いことがわかります。2D a*b* 彩度プロットは色域を比較するのに最適ですが、色が最も鮮やかな中間調のみを表示することに注意してください。ハイライトやシャドウの色域の違いは表示されません。

スキャナープロファイル: Epson Perfection 4870 Photo

フィルムスキャン用の透過原稿ユニットを搭載したエプソンのフラットベッドスキャナーには、反射スキャン用と透過スキャン(フィルムスキャン)用の2つのプロファイルが付属しています。4870の場合、プロファイル名はそれぞれPer487_r.icmとPer487_t.icmです。 これらのプロファイルは現在も入手可能かもしれません。

ざっと見たところ、4870は反射モードと透過モードの両方で同様の色域を持ち、色域が非常に広いことがわかります。a*とb*の±128というLittleCMSの制限値に容易に達しています。しかし、Adobe RGB(1998)は、彩度の高いハイライトカラーの色域がより広くなっています。これは、2Dプロットには表示されません。

色彩レンダリングインテントを適用すると、出力色域は入力色域内に収まります。明るい色や彩度の高い色は、わずかに暗く表示されます。

右側に2次元xy色度図を示します。この図はa*b*図よりも知覚的に均一性に劣りますが、2つの利点があります。

  • それはよく知られており、広く使われている。
  • それは、現実の物理的な色と人間の視覚の境界を示している。

エプソンの色域(点線)は可視光領域をはるかに超えていますが、これは実際にはあり得ない状況です。その理由は、色域が赤と青の原色を含む一連のピクセル値を使用して計算されているためです。これらのピクセル値は物理的な現実とは一致しないため、実際には決して許容されません。これは、テストチャートの彩度の高い色が比較的彩度の低いRGB値として生成されるカメラやスキャナーでは予想されることです。

Epson 4870の色域は、そのプロファイルに示されているほど広くはありません。色域境界は、デバイスから生成されるファイルが持つ可能性のある最大色域を示しているだけで、実際のデバイスの色域を表しているわけではありません。EOS-20Dの色域境界の方がはるかに現実的です。

キヤノンEOS-20Dとエプソン4870の両方について、メーカー提供のプロファイルとカスタムプロファイルを比較してみると興味深いだろう。

入力プロファイルは、カメラやスキャナなどのデバイスを表します。これには、RGB入力値をXYZプロファイル接続空間に変換するテーブルが含まれています。しかし、プロファイルクラスの中には、実際には決して発生しないような広範囲のRGB値が含まれる場合があります。そして、プロファイルにはこれらの値が何であるかを示す情報は何もありません。したがって、入力プロファイルだけではデバイスの色域を特徴付けるには不十分です。

IT8.7やColorchecker SGなどの広色域ターゲットの測定は、デバイスの色応答に関する重要な情報を提供します。これらのチャートは、 Imatest Multichartsモジュールでサポートされています。

Luminous-LandscapeによるライカM8のレビューへの回答

マイケル・ライヒマンの『ライカM8 - ハンズオンフィールドレビュー』の 「色域」のセクション(ページのほぼ真ん中あたり)で、マイケルは様々なデジタルカメラの色域について論じ、フェーズワンから提供されたICCプロファイルから導出されたxy色度図を用いてそれらを説明しています。このセクションの終わりに、彼は次のように述べています。

この議論の要点は、ライカM8は私が知る限り、他のどのカメラよりも圧倒的に広い色域を持っているように見えるということです。これが画質上の利点につながるのでしょうか?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値には、何が起こるかわかりません。色域表現には、奇妙なスパイクや不規則性が現れることがよくあります。これらの不規則性は意味がありません。これらは計算上のアーティファクトであり、プロファイルが実際の色をどのように処理するかを示すものではありません。

私はジェラール・キングマ氏の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の分光応答(量子効率)曲線の形状は非常によく似ています(これは色域が似ていることを示しています)が、興味深い違いが1つあります。KAF-39000では、青と緑に比べて赤の効率がはるかに高くなっています。つまり、KAF-39000が出力するR値は大きくなり、純粋な赤(255,0,0)のCIE XYZ値は弱くなります。この値は、どちらのセンサーも出力することはまずありません。この結果は、P45がM8よりも赤の応答がはるかに弱いように見える画像で明確に確認できます。しかし、これは色域ビューアのアーティファクトであり、カメラの実際の色域とは何の関係もありません。

カメラの色域は、レンズフレアと露出という2つの要因にも影響されます。レンズフレアは最も鮮やかな色をぼかす傾向があるため、実際の状況ではカメラの色域を狭めます。ライカのレンズはフレアが少ないことで知られています。露出は、特に多くのカメラがRAW現像アルゴリズムに合わせて設計された露出戦略を採用しているため、測定された色域にかなり複雑な影響を与えます。たとえば、多くのカメラはISO規格に対して露出不足で撮影し、ハイライトの飽和を防ぐために「ショルダー」を使用してRAW現像を行う場合があります。これは一般的に優れた戦略ですが、色域の測定を容易にするものではありません。露出過多は常に測定された色域を狭めます。

カメラの色再現性を測定する最良の方法は、比較的彩度の高い色を含むカラーチャートを撮影し、色を分析することです。24パッチのColorCheckerはこの目的には不十分です。ColorChecker SGや(比較的安価な)IT8.7チャートの方がはるかに優れています。Imatest Color/Toneはこれら両方に対応しており、カメラの色再現性に関する豊富な情報を提供します。