画像の色が「モニターによって違って見える」「印刷したら全然違う色になった」──そうした経験は、誰しも一度はあるのではないでしょうか。その背景にあるのが、カラープロファイル(色空間)や色域、ガンマ補正、そしてレンダリングインテントと呼ばれる考え方です。
この記事では、RGBの値が同じでも色味が変わって見える理由を、数式ベースのロジックやICCプロファイルの内部処理を交えながら解説していきます。
カラープロファイルと数式的な仕組み
カラープロファイルとは、RGBなどの色情報が「どんな色を指しているのか」を定義する色空間の設計図です。具体的には、以下のような情報を持っています:
- 各原色(R/G/B)の三刺激値(XYZ)への変換行列(プロファイル接続空間:PCS)
- ガンマカーブ(トーン再現のための非線形関数)
- 白色点(ホワイトポイント)
たとえば、sRGBのガンマ補正は以下の式で定義されています(線形化の場合):
C_linear = {
C_srgb / 12.92 if C_srgb <= 0.04045
((C_srgb + 0.055)/1.055)^2.4 otherwise
}
この式により、ディスプレイがどう光を発するか、またどう補正されて見えるかを数式的に規定しています。
この線形化後の値は、3×3の変換行列でCIE XYZ空間へとマッピングされ、PCS(Profile Connection Space)として標準化されます。
RGBの値が同じでも色が違う理由
たとえば、R=0, G=255, B=0という"緑"をsRGBとAdobe RGBで表示すると、明らかに異なる色に見えます。これは、両者の緑(G)の定義するCIE XYZ上の座標が違うためです。
つまり、RGBの値は単なる相対的な値であり、どのカラープロファイルの下で解釈されるかによって、絶対的な色が変わってくるのです。これが、同じファイルがモニターごとに色味が違って見える主な理由です。
色域とガンマの関係
色域(Gamut)とは、そのプロファイルで表現できる色の範囲を示します。Adobe RGBはsRGBよりも広い色域を持ち、特に緑やシアンの方向で大きく異なります。
一方、ガンマ(Gamma)は、明るさ(輝度)に対する信号強度の変換カーブです。人間の視覚は暗部の変化に敏感なため、ガンマ補正をかけて明暗の階調を調整しています。
ガンマ補正は色域とは別の概念ですが、色を正しく表示するにはどちらも欠かせません。特に、プロファイルが変わるとガンマ特性も変わるため、同じ画像でも明るさの印象が変わって見えることがあります。
レンダリングインテント:色域を超えたときにどうするか
ICCプロファイルには、色域を超えた色(ガモット外の色)をどう扱うかという「レンダリングインテント」という設定があります。代表的な4つの方式があります:
知覚的(Perceptual)
全体の色関係を保ちながら、全体を少し圧縮して色域内に収める方式。写真向き。明るさやコントラストも変わるが、色の印象は保たれる。
相対的色域(Relative Colorimetric)
色域外の色だけを最も近い色に変換し、色域内の色はそのまま残す。ICCプロファイルで最も一般的。白色点は変換先に合わせて調整される。
絶対的色域(Absolute Colorimetric)
白色点も含めて忠実に再現しようとするモード。プルーフ印刷(色校正)などに使われる。背景色の違いまで再現する。
飽和(Saturation)
彩度を優先して変換する方式。グラフやチャートなど、色の区別が重視される用途に向いている。結果的に元よりも彩度の高い色に置き換わることもある。
たとえば、Adobe RGBの深い緑をsRGBで再現する場合、sRGBの色域にはその緑が存在しないため、「ちょっと彩度が低い近似色」に自動で置き換えられます。これがレンダリングインテントの仕事です。
まとめ:色の正確な再現は数学と設計の集積
- RGB値だけで色は定義されない。色は「数値×プロファイル」で決まる。
- カラープロファイルは、原色の定義・ガンマ補正・変換行列などで色の解釈を制御する。
- 色域が違えば表現できる色の範囲も違い、見た目に大きな差が出る。
- レンダリングインテントは、色域を超えたときの変換方法を選択する重要な仕組み。
色は感覚的なものに見えて、実は極めて工学的でロジカルな世界。画像制作やデザインに関わる人にとって、この背後の仕組みを理解しておくことは、確かな再現と信頼される色表現の第一歩です。