2009年11月22日日曜日

High Dynamic Range

 私が買ったデジカメはRAWデータで画像を保存することが出来る。
 これが目的で買いました。

参考:Wikipedia RAW画像
http://ja.wikipedia.org/wiki/RAW%E7%94%BB%E5%83%8F

 通常の画像は8bit深度で色を保存しています。なぜなら、PCのディスプレイが8bitまでしか出力できないからですね。
 しかし、RAW画像などのHDR画像は、PCのディスプレイが出力できる範囲外の色も残してくれる8bit以上の値を保存してくれます。

 昨今のゲームでのHDRはたいてい16bit深度の浮動少数値です。32bitまではいけますがつかってるところはあまり無いでしょう。

 で、うちのデジカメの場合は12bit深度の整数値で保存できるようです。なんかしょんぼりです。

 とはいえ、8bitと12bitでは雲泥の差、倍率にして通常の16倍のダイナミックレンジを持っているのです。シャアなんぞ目ではありません。

 bit深度が深いと何がうれしいかというと、見えない範囲の色も保存されているということです。
 たとえばこの写真。



 左が撮影時で、一見すると白とび黒とびで詳細が判別できません。

 中央の画像が、通常の8bit深度で保存した後に、コントラスト調整を行って明るくしようと試みたもの。
 白とびしてるところも黒とびしてるところも灰色っぽくなっただけで、残念ながら詳細が再現されません。

 しかし、右の画像、12bitであれば白とびしていた窓ガラスの格子も黒飛びしてた人形の色も見えない範囲で保存されており、コントラスト調整を行えばちゃんと再現してくれるのです。


 というわけで、うん、今回のテストでうちのカメラも一応ちゃんと広いダイナミックレンジを持ってるみたいだな・・・ということはわかりました。
 以前に何も考えずに蛍光灯を撮影してみたときは12bitでも収まらず白とびして詳細がつぶれてしまったりしてたんですが、何をとりたいかを明確に意識して、明るいものを撮りたいのなら若干アンダー気味に、暗いものを撮りたいのであれば、アンダーの逆ってなんていうの?気味に撮りなさいということか。
 結局、撮影時の露出が重要になってくるのね。

 完璧なHDR画像だったら、撮影時の露出なんて関係なくなるのに・・・。まぁ、まずCCDの感度がまだまだしょぼいみたいだし、CPUのパワーも必要になるのでそれはまだ夢ということでしょうか。

 世の中には14bitで保存できるやつもあるらしい。というか、16bit浮動少数で保存したい。32bit浮動少数なら超best、夢のようなHDRだ。

 今後の技術革新に期待。

-----

 ってか、最近カメラのことばかり書いてるな。しかし、実験ばかりしてまともな写真とってないという。
 だめじゃん!宝の持ち腐れジャン!

 まぁ、大体カメラの特性が見えてきたので、ぼちぼち風景も撮ってみたいなとは思ってますよ。ええ。