Firefox 3.1 のカラーマネージメント (1)

Firefox 3.1 のカラーマネージメント機能の設定のまとめ直し

Last update: 2008-08-24

gfx.color management.rendering intentgfx.color management.rendering intent Part 2.で書いたように、現在の Minefield/3.1a2pre のカラーマネージメント設定には変更が加えられ、Firefox 3.0.x とは設定方法が異なる。もう一度その新しいプロパティの設定をまとめ直して、レンダリングがどう変化するのか実験してみる。

その前に、ここから先を見る前に、まずモニタのキャリブレーションをできる限り正確に設定してから、Firefox 3 で、about:config から gfx.color_management.enabled を true に変更してカラーマネージメントを有効に、Mac OS X では ICC プロファイルを指定ぜずにデフォルトのままにしてください。Windows の場合は、モニタのコントラストや照度を適切に調整した上でモニタキャリブレーションを行い、sRGB プロファイルが有効でなければ sRGB.icc を探して設定します。
カラーマネージメント機能を持たないブラウザでは、画像がなにを表示しているのか分からないので、このテストは意味を持ちません。

カラーマネージメント機能のプロパティ

Firefox 3.1a2pre で変更された gfx.color_management 関連の設定を、もう一度おさらいしておきます。

about:config で "gfx.color" と入力するとカラーマネージメントに関係する 3 項目がリストされる。これらがカラーマネージメントに関する設定プロパティ。ただし、この設定が製品版に残されるのかは分からない、あくまでも開発版での機能ということでよろしく。

List of preferences from gfx.color

gfx.color_management.display_profile

Values Effects
空欄 Default (System の sRGB プロファイルを使用)
パス ICC プロファイルを任意指定する

デフォルトでは空欄になっている。この場合はシステムの sRGB プロファイルが自動的に選択される。通常 sRGB が基準となるので、特に指定しなくても良いはずだが、現状では正確な ICC プロファイルが作れるなら Firefox 3 のためのプロファイルがあった方が良いと思う。

Firefox で利用したい ICC プロファイルを任意で指定するには、Value (値) に絶対パスでICC カラープロファイルを入力する。MozillaZIne Knowledge Base のGfx.color management.display profileではFull Pathと書かれているが、Mac OS X では省略記述でも有効。

記述例:
/Library/ColorSync/Profiles/sRGB_v4_ICC_preference.icc

Mac OS X では、ICC プロファイルはSystem/Library/ColorSync/ProfilesLibrary/ColorSync/ProfilesUsers/(User Name)/Library/ColorSync/Profilesさらに Adobe Photoshop をインストールしている場合はLibrary/Application Support/Adobe/Color/Profilesに Photoshop が使用するプロファイルが置かれる。

非常にややこしいが、ユーザが作成したりアプリケーションがインストールするカラープロファイルは、通常Library/ColorSync/Profilesに保管される。この中には Photoshop のカラープロファイルを含んだ Profiles フォルダと Recommended フォルダも、シンボリックリンク (エイリアスではないようだ) で置かれる。
特別な管理のために、カラープロファイルを User ディレクトリにインストールしていない限り、ログインユーザの ICC プロファイルはLibrary/ColorSync/Profilesの中を探せば良い。

ICC profiles to Profiles folder from Library/ColorSync

Photoshop のような画像レタッチアプリケーションの場合は、目的に応じたプロファイルを使い分けることが必要になるのだが、Firefox で ICC プロファイル指定がなぜ必要なのかが今一つ理解できない点ではある。

参考情報:
Mac OS: フォルダ、ディレクトリ、パス名についてGfx.color management.display profile

gfx.color_management.mode

Values Effects
0 Off (Default)
1 On
2 Tagged only

カラーマネージメント機能を0 で無効1 で有効2 で「適切なタグが付けられた」イメージに対してのみ有効と設定する。
0 と 1 は分かるだろうが、問題は 2 の Tagged only が、MozillaZIne の KBやBugzilla のBug 449681 – switch color_management pref from off/on bool to off/on/taggedonly intを読んでもどういう条件なのかよく分かっていない。すんません。
また、2 は gfx.color_management.rendering_intent にも関係がでてくると思うのだが、この辺りをレンダリングテストでやってみよう。

gfx.color_management.rendering_intent

Values Effects
-1 イメージファイルに含まれた特定の条件を表示する
0 知覚的 • Default
1 相対カラーメトリック
2 彩度
3 絶対カラーメトリック

このプロパティについては MozillaZine Knowledge base に情報があり、こういうことらしい。

Color management allows images and colors to be displayed consistently across a variety of devices. Mozilla recognizes embedded ICC profiles in image files and uses a local color profile to perform the color adjustments. However, sometimes embedded color profile data includes inappropriate “intent” flags, causing incorrect rendering. This preference allows users to override the file-specified ICC intent flag with a specific rendering intent.MozillaZine Knowledge Base

翻訳:
カラーマネージメントは、異なるデバイス間のイメージフォーマットと色を統一します。Mozilla は画像ファイルに埋め込まれた ICC プロファイルを判断し、ユーザ環境のプロファイルを使ってカラー調整を行ないます。しかしながら、埋め込まれたプロファイル・データに適切でない「変換」フラグが含まれていた場合は、予期しない表示結果をもたらします。
この設定によって特定された意図しない ICC フラグによる画像変換を、ユーザは無効にできます。

Bugzilla のBug 444014 – Firefox honors embedded ICC intent flag, and probably shouldn'tがイマイチよく分からなのだが…
なんにせよ、カラーマネージメントにこれだけ細かな設定を持ってくることは、高機能なのか機能が完全でないから必要なのか、このあたりもよく分からない。少なくても Safari にはそのような設定はなくても十分以上の結果を出しているのだから。

Mozilla のカラーマネージメントはColorSync in Mozillaというドキュメントがある。私はこれを見て ColorSync と連携して進んでいると思っていたのだが、Bug 16769 (colorsync) – Add cms (Color Management) support to Mozillaを見ると ColorSync はサポートしていないようだが…。

レンダリングテスト

上で問題となっている incorrect rendering が、W3C が標準と推薦している sRGB 以外のプロファイルが埋め込まれている場合なのか、カスタム ICC プロファイルが問題なのか、この辺りに予想をつけて sRGB とそれ以外のプロファイルで gfx.color_management の設定がレンダリングにどう影響するかをテストをしてみる。

手持ちに良い画像が見当たらなかったので、レンダリングサンプルはmorgue fileよりmatthew_hull 氏の画像を使用させてもらった。

下の画像が基準ファイル。プロファイルは sRGB IEC1966-2.1, 画像サイズを変更したので、Photoshop CS 上でレベル補正を行なっている。Gamma は1.8 なのでWindows では暗く表示されるだろうが、モニタキャリブレーションを適切に調整すると、ある程度改善するはず。

Correct rendering sample

下は Adobe RGB を埋め込んだ。ちにみにカラーマネージメントが有効でなければ、かなり彩度が下がる。

Embed the Adobe RGB profile

下は sRGB_v4_ICC_preference を埋め込んだ。変換方法は、その下の設定で行なった。
変換後に補正を行なっていないので中間色に影響が見られると思う。

Embed the sRGB_v4_ICC_preference
Covert to profile

自分のモニタプロファイル (Apple Cinema Display '23) で作業を行ないプロファイルを埋め込まずに保存した。

Embed the my monitor profile

テストケース

まず、カラーマネージメントの有効・無効でどのように変化するかのテスト。ICC プロファイルは指定しない。
テストには 8月20日の Nightly を使用しているので、今日 (2008-08-24) だと変更されている可能性もあり、もしかしたら結果は異なるかもしれない。

gfx.color_management.mode を、左側は 1に、右側はデフォルトの0で無効に設定した。

カラーマネージメントをサポートするブラウザとそうでないブラウザの違いを比べるには、最上段の sRGB 2.1 を埋め込んだ画像が良いサンプルになると思う。
上のサンプルページはこちらにあるので、カラーマネージメントの効果を試してみてくだされ。

個別テスト

gfx.color_management.mode を1または2に設定した場合、gfx.color_management.rendering_intent の設定でサンプル画像がどのように変化するかを別ページに置きました。

  1. gfx.color_management.rendering_intent プロパティを -1 に設定
  2. gfx.color_management.rendering_intent プロパティを 1 に設定
  3. gfx.color_management.rendering_intent プロパティを 2 に設定
  4. gfx.color_management.rendering_intent プロパティを 3 に設定

結果

時間をかけてテストしてみたわりには、あまり役に立ちそうにないトホホな結果だった。
ここで問題が起きそうなことは、正しい ICC プロファイルを使用していなかったり、CMYK から RGB への変換が正しく行われていない画像をアップしていた場合に起きるのだと思うのだが、表示できるサンプル画像でやってみなければ、何が問題なのか分からない。

今回は画像だけだったが、Web Safe Color や SVG color などではどういった結果が出るのか、PNG の埋め込みプロファイルはどうなのか (ウチの Photoshop ではできないのだなぁ単にダイアログ上で選択できないだけで、プロファイルは埋め込まれていることに気がつきました。) そういったこともやってみないと分からない。ということで、また時間を作って試してみます。

カラーマネージメントをどう設定するかということだが、通常は mode を1でカラーマネージメントを有効にして、rendering_intent を0にしておいても、おそらくそれほど問題になることはないと思う。
ただし、その画像が正しく表示されるとは限らない。そういった“正しく変換されない”レンダリングを避けるために mode を2に設定することで、無視するという設定ということ。これで正しいのかな?←ちょっと自信なし

しかし、このカラーマネージメントが正式に使えるようになった時、今の設定が残っているかは分からない。というか、製品としてはこのような設定が無いに越したことはない。Firefox のカラーマネージメントは、まだまだ時間がかかるのかも。

おお!解消している

gfx.color_management.mode を2、gfx.color_management.rendering_intent プロパティを2に設定していた時に気がついたのだが、まず、ずっとボヤいてきたタイトルバーのバックグラウンドに“薄ピンク”が影響する件、gfx.color_management.mode を2に設定したら消えたマスタ !(^^)!

そして一番重要なこと。Web Safe Color や SVG カラーの結果を、ほぼ正確にレンダリングしている Safari に比べると Firefox 3 は違いすぎるとここらあたりで書いてきたが、上の設定にすると Safari と同等にレンダリングしている!
ざっと見た限り、ほぼ問題なしのように思えるが、もチョット実験してみよう。

Return to Top