最近、「モニタのキャリブレーションをしたらWindows フォト ビューアーの表示がおかしい」という話を耳にすることがあります。

以前、同様のツイートをしていた方に事情を聞いたところ、問題のプロファイルはi1 Profilerで作成したとのこと。実物を提供してもらい、当方の環境で確認してみましたが、確かに想定通りの表示にはなりません。どうもそのプロファイルは読み込まれていないのでは、という疑いが持たれます。

プロファイルに何か(読み込まれなくなる)条件があるだろうということで、色々と検証してみた結果、判明したのはR・G・Bの応答曲線(タグでいうとrTRC、gTRC、bTRC)の型がparametricCurveTypeになっているとき、そのプロファイルが読み込まれないということでした。

parametricCurveTypeは、関数の種類と関数毎に異なるパラメータの組を指定することで曲線を表現するデータ型です。他にcurveTypeという型もあり、こちらは単純なガンマ曲線または1次元LUTで任意の曲線を表現します。

相手の話によると、i1 ProfilerにはICCバージョン(2, 4)とプロファイルタイプ(テーブルベース, マトリクスベース)のオプションがあり、マトリクスのv4プロファイルを選択すると応答曲線の型がparametricCurveTypeになるようです。ちなみにv2プロファイルの場合は仕様にparametricCurveTypeが存在しない(curveTypeが使われます)ので問題は発生しないはずです。テーブルベースはもともとxTRCが不要(互換性のために入っている可能性はありますが未確認)なのでこちらも大丈夫でしょう。

とりあえず原因は分かりましたので、問題の発生するオプションの組み合わせをさけてプロファイルを作成すればWindows フォト ビューアーもきちんと仕事をしてくれるでしょう(件の相手は設定を変更してプロファイルを再作成したところ、事象が改善したそうです)。もっとも、この件はWindows フォト ビューアーのバグか何かによるものと思われますので、本来ならばそちらがどうにかすべきところ。一方、X-Riteもこのことを把握していないとは思えませんので、わざわざそんなトラブルにつながるような設定をデフォルトにしてくるのもどうだろう、という感想を持ちました。