A Standard Default Color Space for the Internet - sRGB

とりあえずガンマの意味がよくわからなくなった……

なんかいくつかあって難すぎる…… ちょっと訳してみる

  1. viewing gamma
    1. the overall system gamma that we want to obtain and is typically computed by multiplying the camera gamma by the display gamma as shown below.
    2. システム全体として要求してる、典型的には以下に伸べる camera gamma と display gamma を積算して求めらるガンマ
  2. camera gamma
    1. the characteristic of the image sensor or video camera standard transfer function
    2. イメージセンサやビデオカメラの標準伝達関数の特徴
  3. CRT gamma
    1. the gamma of the physical CRT.
    2. CRT の物理的なガンマ
  4. LUT gamma
    1. the gamma of the frame buffer lookup table
    2. フレームバッファルックアップテーブルのガンマ
  5. display gamma
    1. the "display system" gamma downstream of the frame buffer which is typically computed by multiplying the CRT gamma by the LUT gamma as shown below.
    2. "ディスプレイシステム" としての、典型的には CRT gamma と LUT gamma を積算して求める、フレームバッファを通した最終的なガンマ
http://www.w3.org/Graphics/Color/sRGB.html

いわゆる「ディスプレイのガンマ」ってやつは最後の display gamma っぽい。CRT gamma はディスプレイの物理的な (ハードウェアとしての) 特性値で、LUT gamma はディスプレイカードとかに設定されているガンマ値かな。

camera gamma は当然カメラのセンサー特性のことだと思う。viewing gamma はカメラからディスプレイ出力までを考慮した全体的なガンマ?

ディスプレイキャリブレーションでターゲットにするガンマは当然 display gamma だと思う。キャリブレーションでガンマを求めたら、ディスプレイカードの LUT ガンマを調整するのかな…

  1. トップ
  2. tech
  3. sRGB 仕様・ガンマの種類

ガンマの種類を読んでいて、そもそも「ガンマ」のついて理解がなさすぎるな、ということでそこからちゃんと理解する必要がある。

ガンマは信号の出入力間の関係性を示していて、具体的には、出入力信号強度間に output signal intensity = input signal intensity ** gamma という関係があるときの gamma らしい。ディスプレイのガンマが1ならリニア(変化なし)だし、1を超えているなら黒っぽくなり、1未満なら白っぽくなる。

  • 自然界の物体の色は反射率に対してリニア、すなわち gamma = 1
  • CRT ディスプレイにおいて物理的特性から gamma ≒ 2.2
  • 人間の目・脳は gamma ≒ 1/3〜1/2.2 で知覚

graph

人間の目は信号強度が強くなるほど圧縮して知覚するらしい (明るくなるほど、明度差を感じるための必要な信号差が大きくなる)。これは音の大きさとかでもそうだし、人間の知覚ってそういうものらしい ヴェーバー‐フェヒナーの法則

CRT にリニアな信号を入れると、人間が知覚する場合はある程度中和されて、階調変化が自然に見えるようになるようだ? (γ=0.733~1.0 程度になるっぽい)

理想的なディスプレイ

とりあえずこれらを踏まえて「理想的なディスプレイ」を考えてみる。つまり階調をできるだけフルで生かせるディスプレイを作る場合、どういう特性のものがいいか?

  • 人間の目のガンマ特性的に信号強度が強い場合は階調がいらない
  • ディスプレイが人間の目と逆のガンマ特性を持っていれば階調的には効率が良い

要は γ=2.2~3 なら階調的には嬉しいはず

理想的なカメラ

物理的な反射特性はリニアだけど、前述の通り信号強度が強い場合は階調がいらないので、γ=1/3~1/2.2 だと一番効率が良いはず

理想的な viewing gamma

カメラとディスプレイを含めたシステム全体のガンマとしては、当然 1.0 になるのが理想だと思われる。すなわちカメラで撮影された画像が、そのままディスプレイで見れる。

ただ、実際には「閲覧環境」というのが関係するので、1.0 にはならないっぽい。

ターゲット display gamma

ターゲットにする display gamma は、仕様で定められている閲覧環境と自分の閲覧環境との差のことを考慮しないないといけない。

今さらだけど環境光によってガンマが変わるってのがいまいちイメージできないけど、

  • 暗い環境ほど相対的にディスプレイが明るくみえるので、より黒くなるように設定しなければならない?
  • 明い環境ほど相対的にディスプレイが暗くみえるので、より白くなるように設定しなければならない?

sRGB に書いてある viewing gamma は

  • 1.5 - 完全に暗い部屋でのプロジェクタスライド用
  • 1.25 - かなりくらい部屋でのモニタ用 (これは15ルクスぐらいの環境光を前提にしたテレビ系を想定してる)
  • 1.125 - CG を見るとき典型的な 64ルクスぐらいの環境光を前提にした場合 (ITU-R BT.709 っていう放送規格?と一緒らしい?)

viewing gamma 1.125 を想定していて、display gamma 2.2 を設定しろ、ということは、viewing gamma 1.0 に正規化すると display gamma は 1.956 相当になる。

だけど、普通のオフィスとか家庭の環境だと、200ルクスぐらいは少なくともあるらしいので、sRGB が想定している環境からはだいぶ離れている? 明るい環境ならもっと小さなガンマ値を設定しないといけないはずだけど、どうやって求めたらいいかわからない。

とはいえ、現実的には昨今 display gamma は 2.2 にしとくのが無難っぽいのでそれほど深く考えても無駄な感じがする。

  1. トップ
  2. tech
  3. ディスプレイのガンマを理解する