情報コラム 2007年7月28日 画像フォーマットとビット数


  高ダイナミックレンジが特徴の冷却CCDカメラにおける保存時のビット数を考えてみよう。  ダイナミックレンジとは最大値を最小値で割った数値のことで、具体的には飽和する値を ノイズで割れば算出される。 たとえば飽和する値が50000で、ノイズの大きさが10とすると 50000÷10=5000となり、ビット数に置き換えると12ビット強である。

  通常CCDチップは12-14ビット程度のダイナミックレンジしか持っていないので、カメラの電気系 に内蔵されているA/Dコンバータは16ビットで十分である。 したがって出力されるデータも16ビット でるから保存するときも16ビット整数型を選べば、出てきた映像を何の損失もなく完全に保存できる。

  ではコンポジットした画像はどうすればいいだろうか? 通常コンポジットするとS/Nが向上し 画像の持つダイナミックレンジが大きくなる。 16ビットで足りなくなるかどうかはコンポジット 枚数次第だが、12ビットのダイナミックレンジを持つ画像を256枚コンポジットして初めて ダイナミックレンジが16ビットになるのを考えたらコンポジット画像も16ビットで保存すれば 良いだろう。

  今話してきた16ビットというのは整数型の話である。 これ以外にも小数点で保存することもできる。  しかし小数点は少し落とし穴があるので注意が必要である。 たとえば32ビット浮動小数点で 保存しようとるすと実質ダイナミックレンジは23ビットしかない。 おまけに整数値を少数に 変換するときにわずかに誤差が発生する。 少数で保存するならさらにその上の64ビットであれば 高い精度に変換できるが、16ビットに比べるとファイルサイズが4倍にもなってしまう。 

  ということで、64ビットはファイルサイズが大きすぎるし、32ビットは精度の問題が気になる。  実際のダイナミックレンジを考えれば16ビット整数型で保存するのがもっとも効率の良い形式では ないだろうか。 そういうこともあり私は16ビット整数のみで保存している。

TOP
mail