Gimpで画像ファイルを編集するときに、画像ファイルのデータを『ピクセル情報』で表示すると、ファイルに書かれている値と違っている場合があります。
このような場合、Gimpの色管理機能を理解すれば、何が起きているのか解決できるかもしれません。
Gimpの色管理については、マニュアル第10章(日本語)(英語はこちら)や第11章の設定内容(日本語)(英語はこちら)の解説を読めばよいのですが、これだけでは実際にどういう振る舞いをするのか分かりにくい部分もあります。
そこで、今回はGimpの色管理機能に関連して、ファイルの読み込みおよび読み込み後の色空間(カラースペースとも呼ぶ)がどのように決まるかについて調べた結果をまとめておきます。
(色管理は、データの読み込み、編集、表示、印刷、といった工程で発生します。ここではデータ、いわゆる画素値、がどう変わるかに興味があったので、編集作業で使われる現在の色空間についてのみ取り上げました)
なお、色管理や色空間については、わかりやすい資料や詳しい説明がネット上に多くありますので、ここでは割愛しておきます。色空間とカラープロファイルの関係だけ補足しておきますと、どのような色空間になっているのかを具体的に決めているものがカラープロファイルになります。時々耳にすることのある、ICCプロファイルというのはこのカラープロファイルの規格です。
調べたバージョンは、Gimp 2.6.6です。
色管理に関する基本的なポイント
前述のマニュアルを見れば分かりますが、一応基本的なポイントをあげておきます。なお、色管理に関する設定は、メニューより『編集』 →『環境設定』→『カラーマネジメント』で設定します。
- 編集作業を開始すると、編集作業における色空間(本記事中では、『現在のカラープロファイル』と呼ぶことにします)が決定されます
- GIMPでは、複数の画像を同時に編集する場合、ファイルごと(編集している画像ごと)に、異なる『現在のカラープロファイル』を使うことが可能です。
- 決定される『現在のカラープロファイル』は、後述するようにいくつかの状態により設定値が選択されます
- 現在編集中の画像の『現在のカラープロファイル』の確認方法は、『画像』→『画像の情報』を開き、『カラープロファイル』のタブを表示させます
- ファイルにカラープロファイルが埋め込まれており、環境設定画面の『RGBプロファイル』の設定値と異なる場合に、色空間の変換が発生する場合があります
- 新規作成時の色空間は、 環境設定画面の『RGBプロファイル』の設定値になります(初期値ではsRGB)
『現在のカラープロファイル』の決まり方
ファイルを開いて、実際に編集作業を行う際の『現在のカラープロファイル』は、『編集』 →『環境設定』→『カラーマネジメント』で指定される内容により決まります。
『現在のカラープロファイル』を決める際には、『操作モード』『RGBプロファイル』『ファイルを開くときの挙動』の設定が影響を与えます。
『操作モード』は『色管理なし』『色管理されたディスプレイ』『印刷シミュレーション』が設定可能ですが、ここでは『色管理なし』と『色管理されたディスプレイ』を取り上げます。
『ファイルを開くときの挙動』は、ファイル読み込み時に作業用色空間の変換を行う際の振る舞いを決めます。『どうするか確認』『埋め込まれているプロファイルを使う』『画像をRGBカラースペースに変換』が選択可能です。『どうするか確認』を選んだ場合、ダイアログが表示されユーザーが処理方法を決めることになります。この時、『変換しない』『変換』の2つの選択肢があります。なお、『変換しない』は『埋め込まれているプロファイルを使う』に対応し、『変換』は『画像をRGBカラースペースに変換』に対応しています。
操作モード:色管理なし
表1
ファイルのカラープロファイル埋め込み |
RGBプロファイルの設定 |
現在のカラープロファイル | メモリ上の埋め込み |
なし | なし | ビルトインsRGB | なし |
あり | 指定されたRGBプロファイル | なし | |
あり |
なし | ファイルのカラープロファイル | あり |
あり(異なる) | ファイルのカラープロファイル | あり | |
あり(同じ) | ファイルのカラープロファイル | あり |
『色管理なし』の場合は基本的に変換は行われません。そのため、現在の色空間はファイルのカラープロファイルの有無と『RGBプロファイル』の設定に応じて決まります。
ちなみに、最後の列『メモリ上の埋め込み』は後述のファイル保存時の振る舞いに影響します。また、この状態は、後述のソフトを使えば調べることが可能です。
操作モード:色管理されたディスプレイ
表2
ファイルのカラープロファイル埋め込み |
RGBプロファイルの設定 |
どうするか確認の選択 |
現在のカラープロファイル | メモリ上の埋め込み |
なし | なし | 竏鈀 | ビルトインsRGB | なし |
あり | 竏鈀 | 指定されたRGBプロファイル | なし | |
あり | なし |
なし | ファイルのプロファイル | あり |
変換 | ビルトインsRGB | なし | ||
あり(異なる) | なし | ファイルのプロファイル | あり | |
変換 | 指定されたRGBプロファイル | あり | ||
あり(一致) | 竏鈀 | ファイルのプロファイル | あり |
『ファイルを開くときの挙動』は『どうするか確認』とし、選択肢毎に調べました。
『色管理されたディスプレイ』という名称から、読み込み時の振る舞いには無関係のように思われますが、必ずしもそうではありません。この操作モードの場合、ファイルに埋め込まれたカラープロファイルと『RGBプロファイル』設定値が異なる時に変換が発生します。
変換が発生した場合は、『ファイルを開くときの挙動』に従います。上記の表作成時では、『どうするか確認』を選択していたため、ダイアログが表示されて、『なし』か『変換』を選択することになりました。
その結果、『現在の色空間』は、上記の表の左側3列に従い決まることとなります。
カラープロファイルの埋め込みについて(ファイル保存時の振る舞い)
ファイル保存時の振る舞い
ファイル保存時に、TIFFやPNGなどのカラープロファイルを保存することができるファイルフォーマットを選択していると、カラープロファイルも合わせて保存されます。
この振る舞いを調べると、元々開いたファイルにカラープロファイルが埋め込まれていない場合、または、『現在のカラープロファイル』がビルトインsRGBの場合、にカラープロファイルの保存が行われません。
これは、上記表の『メモリ上の埋め込み』が『あり』になっている場合は、カラープロファイルも合わせて保存され、『なし』になっている場合には保存されないこと、に対応しています。
このように、元々開いた画像ファイルに埋め込みプロファイルがない場合は、ファイル保存時にカラープロファイルが埋め込まれませんので、注意が必要です。
カラープロファイルの埋め込み方
前述のようなカラープロファイルが保存されないケースの場合は、どうやってカラープロファイルの埋め込みを行うのでしょうか?このカラープロファイルの埋め込みを行うには 、
- メニュー『画像』→『モード』→『 カラープロファイルの指定』または『カラープロファイルの変換』
を選択して、カラープロファイルを指定します。こうすることで、カラープロファイルのデータが作成されて(『メモリ上の埋め込み』がありになる)、保存時にカラープロファイルをファイルに埋め込み可能になっているようです。
なお、ビルトインのsRGBは『カラープロファイルの指定』で指定を行っても埋め込まれません。
カラープロファイルの埋め込み情報を表示するソフト
なお、gimp-painter- というGIMPからの派生ソフトウェア では、埋め込みプロファイルがない場合は、その旨を『画像の情報』ダイアログで明示的に表示するようになっています。
たとえば、gimp-painter-の『画像の情報』ダイアログで、表2の4行目のケースで、現在の色空間を表示させると、下記のようになります。これより、『埋め込みプロファイルなし』(表2のメモリ上の埋め込みがなし)であり、sRGB が現在の色空間として使われていることがわかります。
プラグイン開発者向けの情報
上記の『メモリ上の埋め込み』とは、Gimpのimageデータに対するparasiteに、icc-profileの名前のデータがあるかどうかをさしています。
備考:『現在のカラープロファイル』という呼び方について
編集作業を行う際の色空間をどう呼ぶかは、いろいろと呼び方があると思います。この記事では、『現在のカラープロファイル』という呼び方で統一しました。これは、GIMPの『画像』→『モード』→『カラープロファイルの指定』(または『カラープロファイルの変換』)で表示されるダイアログから取りました。
そのほかにも、『現在の色空間』、『ドキュメントのカラープロファイル』 などの呼び方があると思いますので、適宜読み替えてください。
謝辞
やまかわ aka やんま ま (@yamma_ma) 様から、色空間に関する用語のアドバイス、色空間の変換が発生する理由、カラープロファイルの埋め込みに関するコメントなどをいただきました。ありがとうございました。
改訂履歴
2010/9/13~24:色空間の呼び方、カラープロファイルの埋め込みに関する記述を追記・修正しました。また、記事をわかりやすくするため、画面キャプチャを追加しました。