07/05/31 13:17:45 TWq26ghw
>>210
多分まだ理解してないと思うから、かみ砕いて教えてやろう。
色というのはRGBの256段階(0~255)だけで表現できるほど狭くない。
これは単なる各色8bitカラー(24bit)であって、これで表現できるのが1677万色。
現在はもっと細かく16bitカラー(RGBをそれぞれ65536段階)などのより高度な
処理系が存在する。
さて色というのは人間が認識できなきゃ意味がないので表示するデバイスが
必要なわけだが、モニター(RGB:光の三原色)やプリンター(CMY:色の三原色)など
色を構成する方法も違えばデバイスの性質も違う。このため、表現できる色の
範囲も異なるため、モニターとプリンターの色が全然違うなんてことがあったし、
モニターを変えるだけでも色味が変わってしまう。
そこで、それぞれの出力する色を同じにしようと調整するのが「キャリブレーション」
という手法だ。いろんな方法やソフト・ハードがあるが、簡単に言えば「このRGBの
情報がきたらこういう色に変換して出力する」という補正情報を持たせることだ。
キャリブレーションシステムはMac OS(ColorSync)やVista(WCS)にもあるが、
Macだと内部的に16bitで計算し、それを8bitに落とし込んで出力する。このため
8bitに落とし込むときに16bitの数値をどう丸め込むかが問題になる(たとえば
8bitで128にあたるのは32768だが、32513~33023のどこまでを128にするかが
難しい)。で、なるべく元の16bitの数値を再現できるよう、ディザリングを使って
表現することにしたわけだ。
Vistaの場合はsRGBというモニターに有利な色空間でのみ出力することにしているため、
内部的にも8bitでしか処理していない。またWindows対応の入出力機器の多くも
sRGBの情報を付与しているため、特に変換する必要がない(が、正確な色が
再現されている保証はどこにもない)。だからモニタ上ではディザリングされないというだけだ。
正確な色に近付けようと努力している仕組みと、正確ではないがディザのない表現、
どっちがいいかは...まあ用途によるが。