附属書 D(参考) ガンマ補正


ガンマに関することをよく知らない場合には,PNG規定[12]の中の ガンマの解説(Gamma Tutorial)を参照すること。

計算上では,CRT上に表示をするUAは,理想的なCRTを仮定し,ディザによって生じる見かけのガンマの影響を無視してよい。 このことは,現在のプラットフォーム上で必要とする最小限の操作が,次のものだけとなることを意味する。

MS-Windowsを用いたPC
なし
X11を用いたUNIX
なし
QuickDrawを用いたMac
ガンマ1.39を適用する[13]。 (ColorSync-savvyアプリケーションは,正しいカラー補正を実行するために,sRGB ICCプロファイル [14]を,単にColorSyncに渡す。)
Xを用いたSGI
/etc/config/system.glGammaValからの値を適用する。 (デフォルト値は,1.70。Irix 6.2又はそれ以上の版で動作するアプリケーションは,sRGB ICCプロファイルを, 単にカラー管理システムに渡す。)
NeXTStepを用いたNeXT
ガンマ 2.22を適用する。

"ガンマを適用する"の意味は, 三つのR,G及びBのそれぞれを,OSへと処理を渡す前に,R'=Rgamma, G'=Ggamma及びB'=Bgammaに変換することを意味する。

これは,256要素のルックアップ表を構成することによって,ブラウザを呼び出す度に1回行ってもよい。

  for i := 0 to 255 do
    raw := i / 255;
    corr := pow (raw, gamma);
    table[i] := trunc (0.5 + corr * 255.0)
  end

これによって,カラー属性当たりの超越的数学(これは画素当たりよりもはるかに少ない。)の必要性を避けられる。