Gamutvision メインページ- Gamutvision 目次/サイトマップ- Gamutvision の使い方- Gamutvision 2 の使い方: ディスプレイ
色差の計算式(ΔE と ΔE の各種)は、 Colorcheck/Color/Tone 付録に記載されています。
ガマットボリュームアルゴリズム
L*a*b* 色域ボリュームは、デバイスまたはカラースペースプロファイルの色応答を特徴付けるための最適な単一の数値です。右側には、Adobe RGB (1998) カラースペース (ワイヤーフレーム) と、Adobe RGB から知覚レンダリング意図でマッピングされた Epson R2400、Premium Luster (ソリッド) の L*a*b* 色域とボリュームが示されています。L*a*b* ボリュームの単位は、Δ E 3 (上記の Δ E * abを参照) と表記されることがあります。
色域ボリュームの計算は容易ではありません。プロファイルから直接抽出することはできません。Gamutvisionアルゴリズムは、彩度Sの固定値(通常は最大値、 S = 1)に対して、HSL色相Hと明度Lのすべての値を含む画像から色域ボリュームを計算します。これは右図とGamutvision構造(左図)に示されています。この画像は、右図の色域を生成するために使用されます。アルゴリズムは次のとおりです。
- RGB画像の値をL*a*b*にマッピングします。
- ガマットの「重心」を見つけます。これは通常、L* = 55、a* = b* = 0 付近にあります。
- 値を、質量中心を原点とする円筒座標( R 、 Θ 、 Φ )に変換します。
- 均等間隔の経度角と緯度角( ΘとΦ 、間隔δΘとδΦ )を表す「ビニング」配列を作成します。
- 各画像点に対応する平均半径( R )を、適切なビニング配列要素に配置します。
- 欠落している点を補間して埋める。
- 各配列エントリの体積を合計して総体積V = ∑ δVを求めます。
δV = R 2 δh δΘ / 3 ; δh = R cos (Φ) δΦ ; δV = R 3 cos( Φ ) δΘ δΦ / 3 (Δ E 3単位)
このアルゴリズムによって計算された色空間の色域は、 ブルース・リンドブルームが報告した色域よりも約1%高いですが、Gamutvisionの制限値である-128を超えるa*とb*の値を含む非常に大きな色域空間(ProPhoto、WideGamut)は例外です。
光と色
このセクションでは、加法混色と減法混色の基本概念を概説します。既にこれらの概念をご存知の方は、下記の「カラーモデル」セクションまで読み飛ばしていただいても構いません。色彩理論については、 「カラーマネジメント」シリーズでより詳しく解説しています。
人間の目は、波長が約380~700ナノメートルの電磁波に敏感です。この放射線は光として知られています。可視スペクトルは右図に示されています。目には、錐体と呼ばれる3種類の色覚受容体があり、それぞれ赤、青、緑の光(それぞれ約650、530、460 nm)に反応します。さまざまな色は、次の2つの相補的なアプローチのいずれかによって再現できます。
- 加法混色:暗闇(黒)から始めて、光源を組み合わせて色を作ります。加法混色の三原色は、赤(R)、緑(G)、青(B)です。RとGの光を混ぜると黄色(Y)になります。同様に、G + B = シアン(C)、R + B = マゼンタ(M)になります。3つの加法混色の三原色をすべて混ぜ合わせると白になります。
- 減法混色:可視光スペクトルの一部を除去する染料や顔料を含む物体を照射します。物体は光を透過するもの(透明シートなど)と光を反射するもの(紙など)があります。減法混色の三原色はC、M、Yです。シアンは赤を吸収するため、Cは「マイナス赤」(-R)と呼ばれることもあります。同様に、Mは-G、Yは-Bです。2つの方法は右図に示され、下の表で説明されています。
残念ながら、理想的な C、Y、M インクは存在しません。減法混色の原色では、補色 (R、B、G) を完全に除去することはできません。これは、光が 3 つの別々の染料層を通過するフィルムでは問題になりませんが、反射媒体 (紙など) にインクを使用して印刷する場合に重要な影響があります。C、Y、M を組み合わせると、通常は濁った茶色になります。深い黒色を得るには、混合液に黒インク (K) を追加する必要があります。CMYK カラーはデバイスに大きく依存します。RGB から CMYK に変換するアルゴリズムは多数あります。写真編集は RGB カラースペースで行う必要があります。CMYK への変換 (通常はプリンターの色域を拡張するために色を追加) は、プリンタードライバー ソフトウェアに任せる必要があります。
|
RGB光を組み合わせることで幅広い色を表現できますが、人間の目が認識できるすべての色を再現できるわけではありません。デバイスが再現できる色域は、原色のスペクトルに依存しますが、これは必ずしも理想的なスペクトルとは限りません。さらに複雑なことに、人間の目の反応は、一般的に定義されているR、G、Bに完全に一致するわけではありません(上記の説明は簡略化されています)。デバイスの色域と人間の目の反応については、 「カラーマネジメント」のページで詳しく説明しています。
カラーモデル
カラー画像を明るくしたり暗くしたりするには、色がどのように表現されるかを理解する必要があります。残念ながら、色の表現方法にはいくつかのモデルが存在します。最初の2つは既にご存知でしょうが、後の2つは初めて知るかもしれません。
- RGB - 赤、緑、青。加法混色の三原色。モニター画面やほとんどの画像ファイル形式で使用されます。実際には、sRGB、Adobe RGB 1998、Bruce RGB、Chrome 2000など、複数のRGBカラースペースがあり、それぞれ原色の純度が異なり、表現できる色の範囲(ガマット)に影響を与えます。これらについては、カラーマネジメントで説明します。
- CMY(K) - シアン、マゼンタ、イエロー。減法混色の三原色:加法混色の三原色の補色(シアンは赤、マゼンタは緑、イエローは青)。C、M、Yの顔料とインクだけでは深みのある豊かな黒色を出すことがほとんどないため(濁った茶色になりがち)、黒( K )を加えた印刷用インクに広く使用されています。CMYKはプリプレス業界では重要ですが、ほとんどの写真家は気にする必要はありません。ほとんどの高品質写真プリンターには追加のインク(基本の4色に加えてライトM、ライトC、グレーが追加される場合がある)が搭載されているため、実際にはCMYKではありません。プリンタードライバーソフトウェアがRGBファイルをインク濃度に変換します。
- HSV - 色相、彩度、明度。色相は私たちが色として認識するものです。Sは彩度で、100%は純粋な色、0%は灰色です。明度は明るさに関係します。HSVとHSL(下記参照)は、RGBを数学的に変換することによって得られます。HSVはHSBと同一です。
- HSLとは、色相、彩度、明度の略です。HはHSVと同じですが、 LとVの定義が異なります。Sは暗い色では似ていますが、明るい色では大きく異なります。HLSとも呼ばれます。
明るさや彩度を調整するためにRGBやCMY(K)を使用するのは実用的ではありません。なぜなら、3つのカラーチャンネルすべてを変更する必要があり、明るさを調整するために同じ量だけ変更すると、通常は色相がずれてしまうからです。HSVとHSLは、ソフトウェアがV、L、Sのいずれかを変更するだけで済むため、編集には実用的です。画像編集ソフトウェアは通常、RGBデータをこれらの表現のいずれかに変換し、調整を行い、その後データをRGBに戻します。彩度への影響は大きく異なるため、どのカラーモデルが使用されているかを知っておく必要があります。
HSV 色は、Jonathan Sachs のチュートリアル「デジタル画像の基本」の図でここに示されています (リンクを右クリックして Adobe PDF 形式で保存します) 。V = max( R 、 G 、 B )。最大値 ( V = 1 または 100%) は、純粋な白 ( R=G=B =1 ) および完全に飽和した任意の色 (少なくとも 1 つの RGB 値が 1 で、1 つの値が 0 である。グレーの成分がない ( W = min( R,G,B )) ) に対応します。V = 0 は、H と S に関係なく、純粋な黒です。HSV カラー モデルは、上部 ( V = 1 ) が最も広く、下部 ( V = 0、純粋な黒) で尖る円錐として表すことができます。(私は円錐の「V」のような外観を「HSV」を覚えるための覚え方として使用しています。カラー モデルの名前はかなり任意です。) efg には、Java アプレット付きの HSV カラー モデルに関する技術的に詳細な説明があります。
HSLカラー。最大彩度はL = 0.5(50%)で得られます。L = 0は純粋な黒、 L = 1(100%)は純粋な白で、 HやSの値に関係なくこの状態が続きます。HSLカラーモデルは、中央(L = 0.5)が最も広く、上端( L = 1、純粋な白)と下端( L = 0、純粋な黒)が尖った二重円錐として表すことができます。
さて、ここからが重要な部分です。HSVとHSLカラーモデルについて覚えておくべきことは、
| HSVにおける暗化は彩度を低下させる。 | HSLでは、L > 0.5の場合、暗くなるほど彩度が高くなります。 | |||
| HSVにおける明度の増加は彩度を高める。 | HSLにおける明るさ調整は、L > 0.5の場合に彩度を低下させる。 | |||
![]() HSV 彩度を最もよく表しているもの | ![]() HSL 軽さを最もよく表現した例 |
HSVとHSLは、ダイナミックレンジが限られたシステム(24ビットカラーの場合、ピクセルレベルは0~255)で色を表現するために開発されました。この制限により、妥協が必要となります。HSVは彩度を明度よりもはるかに良く表現します。V = 1は純粋な原色または純粋な白を表すことができます。したがって、「明度」は明度を適切に表現できません。HSLは明度を彩度よりもはるかに良く表現します。L = 1は常に純粋な白ですが、 L > 0.5の場合、 S = 1の色には白が含まれるため、完全に飽和しているわけではありません。どちらのモデルでも、 L 、 V 、またはSを調整しても、色相Hは変わりません。
上に赤色 ( H = 0) を例として HSV と HSL を示します。水平軸はSが 0 から 1 まで変化し、垂直軸はVとLが 0 から 1 まで変化します。HSV の図の右側 ( S = 1) は常に最大彩度 ( G = B = 0) ですが、上部 ( V = 1) はS = 0 の純白からS = 1 の純赤まで変化します。HSL の図の上部 ( L = 1) は、 Sのすべての値で純白です。明るさと彩度を 1 つのシステムで適切に表現できれば良いのですが、両方を同時に実現することはできません。
HSVおよびHSL方程式
色相Hは HSV と HSL で同じです。完全な式はefg の HSV 実験レポートに記載されています。任意の非ゼロxに対して、度 (0~360°) で表すと、赤 ( x ,0,0) の場合は H = 0、黄 ( x , x ,0) の場合は 60°、緑 (0, x ,0) の場合は 120° (下図参照)、シアン (0, x , x ) の場合は 180°、青 (0,0, x ) の場合は 240°、マゼンタ ( x ,0, x ) の場合は 300° となります。Hは0 から 1 のスケールでも表すことができます。
R 、 G 、 Bは0から1の間の値をとることができると仮定します。W = min ( R,G,B ) = グレースケール成分とします。
| 興味深い関係性 (1) W = min( R,G,B ) = 0 (グレースケールなし、最大彩度) の場合、 SHSL = SHSV = 1 ; L = V / 2 ; L <= 0.5 。 (2) V = max( R,G,B ) = 1かつSHSL = 1 の場合、 L = 1-( SHSV / 2) ; SHSV = (1- L ) / 2; L >= 0.5 |
| これらの関係は、(1) S = 1 の HSL LH プロットの下半分 (上図、右) がS = 1 の HSV VH プロット (上図、左) と同一であること、および (2) HSL SH プロットの上半分がV = 1 の HSV SH プロット (図示せず) と同一であること、つまり HSL LH プロット (上図、右) が2 つのHSV プロットを組み合わせたものであることを示唆しています。 |
すべての彩度方程式の分子にはVWが含まれていますが、分母のスケールが異なります。どちらの表現においても、 Sは相対彩度の尺度です。W = V ( R = G = B 、ニュートラルグレー) の場合、 Sは0になります。VまたはLの値が与えられた場合、 Wが許容される最小値にあるときは、 S = 1になります。HSVの場合、 S = 1のときW = 0になります。
L <= 0.5 の HSL の場合、最大飽和はW = 0 のときに発生します。S HSL = ( VW ) / ( V+W ) = 1。L > 0.5の場合、 W は0より大きくなければなりません。最大飽和はW = 2 L-Vが最小値 Wmin を取るときに発生します。この場合、 V = 1 なので、 W min = 2 L -1 です。S HSL = ( VW ) / (2- VW ) = (1-2 L +1) / (2-1-2 L +1) = 1。
VとLは知覚される輝度とは必ずしも一致しません。例えば、同じV値またはL値を持つ青と灰色、あるいは白では、輝度は大きく異なります。PAL輝度信号Y = 0.30R + 0.59G + 0.11Bは、知覚される輝度により近い値を示します。







