省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

ART におけるカメラの標準的プロファイル データについて

f:id:yasuo_ssi:20210904211415j:plain

 ART のカメラプロファイルは、デフォルトでは、一部のカメラについてはカメラ固有の DCP プロファイルがあり、Raw ファイルを読み込んだときにそれが自動的に適用されます。これはボランティアによって作成された DCP プロファイルです。

 しかし、ボランティアによって作られた DCP プロファイルがない場合は [カメラの標準的プロファイル] が適用されます。このデータはどこに定義されているかというと、ART のインストールディレクトリにある、cammatrices.json というファイルに定義されています。このファイルを見ると、例えば以下のように定義されています (一部を抜粋)。

-------------

    {
        "make_model" : "NIKON D5200",
        "dcraw_matrix" : [8322, -3111, -1047, -6367, 14342, 2179, -988, 1638, 6394]
    },
    {
        "make_model" : "NIKON D5300",
        "dcraw_matrix" : [6988, -1384, -714, -5631, 13410, 2447, -1485, 2204, 7318]
    },
    {
        "make_model" : "NIKON D5500",
        "dcraw_matrix" : [8821, -2938, -785, -4178, 12142, 2287, -824, 1651, 6860]
    },
    {
        "make_model" : "NIKON D5600",
        "dcraw_matrix" : [8821, -2938, -785, -4178, 12142, 2287, -824, 1651, 6860]
    },
    {
        "make_model" : "NIKON D6",
        "dcraw_matrix" : [9028, -3423, -1035, -6321, 14265, 2217, -1013, 1683, 6928]
    },

-------------

 ここに、Raw ファイルに記録されているセンサーから取得したデータを適切な RGB 値に変換するために掛けるカメラマトリックスデータが定義されています。センサーの 光スペクトラム に対する感度は人間の目の感度と異なりますので、それを人間の目が見て適切になるように変換する必要があるためです。各マトリックスデータは 9 個の要素のある配列データとなっていますが、これはセンサーの RGB 3チャンネルデータに対し、 3 x 3 の配列 (マトリックス) データを掛け、変換した RGB データを得ているためと考えられます。

 これを見ると、全てのカメラで同一のマトリックスが適用されているのでなく、カメラごとに異なったマトリックスデータが適用されているのが分かります。おそらく、カメラに使われているセンサーごとに異なった値が適用されるのでしょう。従って、この値が同一のカメラ同士では同じセンサーが使われているものと考えられます。例えば、上の例だと、D5500 と D5600 は同一の値が使われていますが、これは同じセンサーを使っていると判断できます。

 ところでこの値はどこから得ているのでしょう。これについては、cammatrices.json の冒頭でこのように書かれています。

/*

Matrices extracted from the D65 ColorMatrix tag of DNG files
generated by Adobe DNG Converter

Updated on Wed Oct 16 18:58:10 2019 (with Adobe DNG converter 11.3.0.197):

 

 つまり、Adobe DNG Converter から取得されているのです。ということは、この値は、Adobe DNG Converter に付属する、Adobe Standard DCP プロファイルのD65データ (一般的なカメラ標準色温度である昼光光源に相当する6500Kでの値) と同一の値が適用されているものと思われます (なお、DCP プロファイルには、D65 と D50 [昼白色光源 5000K 相当でのデータ]の両方のデータが定義されています。D65 の方が青みが強いです)。

 なお、ART には、より詳細なデータが記された camconst.json というファイルもありますが、カメラ機種によっては、camconst.json にデータがないものもあります。一方 RawTherapee の方は camconst.json ファイルのみです。この違いは、現在の ART の方は Raw の読み込みに Libraw を使っているのに対し、RawTherapee の方は基本的に DCRaw を使っているためと思われます (以前は ART も DCRaw を使っていました)。

 ART は現在のバージョンでは camconst.json は使用せず、カスタマイズされたカメラ固有の DCP プロファイルが用意されている場合はそちらを (カメラ固有のプロファイル)、それがない場合は cammatrices.jsonマトリックスを適用しているようです。したがって ART の標準的プロファイルは、Adobe Standard (のD65データ) と同一とみなしてよいと思います。

 一方、RawTherapee の方の標準プロファイルは、camconst.json  のデータを使っており、このデータは、ボランティアによる詳細データが得られる場合は、それを、得られない場合は、DNG Converter によって得られるデータを使って作成されているようです。したがって一部カメラ機種に関しては ART とは異なります。端的に言えば、RawTherapee は、ボランティアデータがないカメラは Adobe Standard を、ボランティアデータがあるカメラはカメラ出し Jpeg の色を模しているといえます。

 ただどうせボランティアデータに一部依存するなら、ART のように、*.json ファイルに記述するカメラマトリックスデータは、DNG Converter から得ることにして、ボランティアからデータが得られる場合は、ボランティア作成の DCP ファイルからデータを得るようにし、ボランティア作成 DCP ファイルの読み込みを優先するという形の方が、管理都合上合理的かと思います。

 ちなみに Adobe Standard の DCP プロファイルは Adobe が独自に作成しているプロファイルであって、カメラメーカーが作るカメラ出し Jpeg の色合いとはまた異なります。ただ、Adobe Standard はどのカメラであっても同一の色づくりを目指したプロファイルですので、カメラの特性を殺してしまうプロファイルでもありますが、逆に言うと、同一の結果を目指す故、Adobe Standard のカメラマトリックスデータがカメラごとのセンサーの特性の違いを一番よく反映できているはずです。その意味で、これをスタートポイントに持ってくるというのは正しいと思われます。

 一方、カメラ出し Jpeg に近い色合いを目指す場合は、それでは不都合です。ボランティア作成の DCP プロファイルがないカメラに関して、カメラ出し Jpeg に近い色合いを出したい場合は、同じ Adobe DNG コンバータに付属する DNG プロファイルの中でも、Adobe Standard ではなく、Adobe がカメラ出し Jpeg をエミュレートして作ったカメラ固有プロファイルを使ってください。

 あるいは、先の例に挙げた D5500 と D5600 のように、同じセンサーを使っているカメラで、片方はボランティアが作成した DCP プロファイルがあり、もう一方はないなら、一方の DCP プロファイルをコピーし、それらを DCP プロファイルのない方のカメラ名に変えることでカメラ固有プロファイルを追加することができます。

------------

[参考記事]

yasuo-ssi.hatenablog.com

yasuo-ssi.hatenablog.com