kivantium活動日記

プログラムを使っていろいろやります

なぜカメラで紫色が写るのか?

最近考えている疑問の一つが「なぜカメラで紫色が写るのか?」です。これを疑問に思う理由を説明するだけでも長くなるのですが、お付き合いください。

紫色には二種類ある

紫色は虹の最も内側の色であることからも分かるように可視光の中で最も短い(大体380〜430nm)波長の光です。しかし、赤と青の絵の具を混ぜても紫色を作ることができます。赤の波長は700nm、青の波長は440nmなので、これを混ぜても波長が400nmの光が得られるわけではありません。このメカニズムには目が色を認識するシステムが関係しています。

色を感じるメカニズム


人間の目の中には錐体細胞という色を感じる細胞があります。錐体細胞には3種類あり、それぞれおおよそ赤・緑・青に反応します。右のグラフはそれぞれの錐体細胞が波長に応じてどのくらいの刺激を受けるかを表しています。ここで赤の錐体細胞が紫色の近くに第二のピークを持っていることに注目してください。ここで、420nmの光が目に当たった時を考えてみます(紫の縦線)。この時、青を感じる錐体細胞と赤を感じる錐体細胞が反応しています。これは赤と青が混ざった光が当たったのと同じ刺激を目に与えます(赤・青の縦線)。つまり、人間は波長が短い光に由来する紫と、赤・青が混ざってできた紫を区別することができないのです。

以下の文章では波長が短い光に由来する紫を「純紫」、赤と青が混ざってできた紫を「混紫」と呼ぶことにします。純紫の例としては虹の色が、混紫の例としては絵の具を混ぜたものが挙げられます。

デジタルカメラの仕組み


次に、デジタルカメラでどのように色を認識しているかについて見ていきます。デジタルカメラにはたくさんのフォトトランジスタが入っています。フォトトランジスタ自体は色を認識できないので、カラーフィルターをかぶせることで赤・青・緑にだけ反応するようになっています。図はベイヤー配置と呼ばれるトランジスタの配置法の一例です。ここで問題になるのはカラーフィルターの分光感度特性です。

図はBITRANのBU-57LIR/Cの分光特性です。人間の目と同じなら話は簡単なのですが、実際には図のように赤の第二のピークがありません。これでは「混紫」を認識することはできても、「純紫」を認識することはできません。しかし、実際には虹を撮影したら紫の部分が青かったということはありません。ディスプレイで紫を表示する際には必ず赤の成分が必要(紫をRGBで表すと#800080)なので、カメラメーカーは何らかの工夫をして「純紫」を「混紫」に変換しているはずなのですが、それについて記述しているサイトがほとんど見当たりませんでした。

デジタルカメラの問題 解答編

デジタルカメラについては学校の先生に聞くことで解決しました。先生によると、フィルターを抜けた光を受信する半導体にも周波数特性があり、これを利用して光が「純紫」なのか青なのかを解析して人間の目で同じように見えるように再構成しているようです。しかしこれについて記した文章はほとんど見当たらず、むしろ「紫色が青色にならない方法の質問です。」のように紫色はそもそも写っていないという話もありました。結局どうなっているのかはよくわかりません。(教えてくれた先生はすごい人なのでもっと探せば見つかるのでしょうが、Wikipediaにも記述がないようなマイナーな機構をすべてのデジカメが搭載しているわけではない気もします)

フィルムカメラの問題

これで問題が解決したと思っていたのですが、フィルムカメラの仕組みを調べているとこれでは説明できないことが分かりました。フィルムカメラではRGBなどに分けず当たったままの光を再現していると思っていたので疑問に思わなかったのですが、どうやら違うようです。

フィルムにも赤・青・緑の光を感じる層があり、現像するさいにそれぞれの色を重ね刷りすることでカラー写真を実現しています(この理解が間違っている可能性もあります)。各色に反応するフィルムの分光感度をみてみると赤に第二のピークがありませんでした。フィルムは完全にアナログな技術なので、先述の「純紫」補正ができません。しかし、フィルム写真で虹は写らないという話を聞いたことがないのでなんらかの形で何らかの工夫をして「純紫」を「混紫」に変換しているはずです。インターネットにはフィルム時代の文章が見当たらず、身の回りにフィルム写真に詳しい人がいないのでこの変換について尋ねることもできませんでした。どなたかご存知の方がいたらコメントお願いします。

参考

画像はカメラの分光特性を除いてすべてWikipediaから引っ張ってきました。