2011年6月10日金曜日

イメージを描画する(8)

Quartz の カラー・マネジメントに関係するところの基礎的な部分です。参照したドキュメントの最終更新は Tiger のとき。本文中の図はドキュメントのものを勝手に転載しています。基本はいまも(たぶん)同じはず。めも。

参照:TN2035 ColorSync on Mac OS X

ColorSync は以前のバージョンでは任意のインストールだったものを Mac OS X から基本機能としてシステムに組込まれるようになりました。Quartz によっても利用されます。

主な ColorSync 2つの基盤
1つは ICC(International Color Consortium)プロファイル。デバイスの色空間から間メディア(intermedia 中間ってこと?)の色空間への変換方法を記述するドキュメント。もう1つは CMM(Color Management Modules)。要は変換モジュール。ICC プロファイルを使って実際に計算してくれるところ。

ColorSync と Quartz のカラー・マネジメント
ColorSync は Quartz が様々な異なる色空間から選択した色空間に変換する合成処理のための作業スペースとして使われる。Quartz のカラー・マネジメントは Quartz によって作成される PDF のカラー・データを処理するためのエンジンとして ColorSync を中心に構築されている。

PDFのカラー・モデル
PDF での色はデバイス、キャリブレートされたもの、ICC ベースのもののどれかで定義される。変換はソースの色空間、変換先の色空間、描画意図(rendering intent: よくある ”知覚的” とかってゆうあれ)の関数で記述できる。

ColorSync on Mac OS X "Figure 3: PDF Color Conversion." より転載

ColorSync / ICC のカラー・モデル
ICC での色は ICC プロファイルで定義される。変換はソースのプロファイルと変換先のプロファイルの間に間メディア・プロファイルをオプションで挿入できる点が PDF と異なる。描画意図の値は PDF のと同じ。

ColorSync on Mac OS X "Figure 4: ICC Color Conversions." より転載

Quartz のカラー・モデル
Quartz は ICC と PDF のカラー・モデルを統合してつくられた。すべての PDF の色空間は Quartz では ICC プロファイルとして表現される。Quartz が PDF から継承した概念の重要なものの1つに色空間の等価性があり、暗黙のルールとして、ソースの色空間が変換先の色空間と異なる場合のみ必要に応じて色変換がおこなわれる。

ColorSync on Mac OS X "Figure 5: Color space equivalence" より転載
Quartz は1つのソースから1つの変換先へ対応させるという PDF の概念をもっているが、高度なカラー・マネジメントに対応できるよう、3つ以上のプロファイルの複雑な色変換もでき、そのときは ColorSync がそれぞれの色空間がもつプロファイルを1つのプロファイルに連結して PDF に埋め込む。

Quartz のおもな構成
ユーザから見た場合 Quartz の構成は、レベルの高い順に
  1. グラフィック・コンテンツを生成するアプリケーションとしての Quartz
  2. レンダリング・サービスを提供する Quartz
  3. ラスタライズ・データの出力するための Quartz
というの大きく3つの構成要素がある。

例:特殊効果の適用
ColorSync on Mac OS X "Figure 6: Applying Special Effects with Abstract Profile." より転載
データにある効果を適用する場合は Quartz の内部で作業スペースに抽象プロファイルが追加されるというかたちで実現する。また、抽象プロファイル(abstract profile)とは

Abstract profiles allow applications to perform special color effects independent of the devices on which the effects are rendered. For example, an application may choose to implement an abstract profile that increases yellow hue on all devices. Abstract profiles allow users of the application to make subjective color changes to images or graphics objects.

抽象プロファイルはレンダリングされた効果をもたらすデバイスから独立した特殊効果をアプリケーションが実行することを許可します。例えば、関係するすべてのデバイスで黄色の色相を増加する抽象プロファイルを実装するためにアプリケーションは選ぶかもしれません。抽象プロファイルはアプリケーションのユーザに画像やグラフィックの主観的な色を変更することを許可します。


例:ソフト・プルーフ
ColorSync on Mac OS X "Figure 7: Soft-proofing on Primary Display" より転載
同様にプリンタ・プロファイルを作業スペースに追加するというかたちで実現する。プリンタ・プロファイルを定義するすべての色補正は作業スペースに反映されてディスプレイに表示される。


例:自由に変形された色空間
ColorSync on Mac OS X "Figure 8: Free-transform color space used to produce color effects." より転載
複数のプロファイル(multi-profile)からなる色空間の使用はQuartz の内部に限らず、アプリケーションからも使用できる。

という感じです。とりあえずここまで。

0 件のコメント:

コメントを投稿