コンピュテーショナル・フォトグラフィには様々な方式があるが、主に光学系の開口部に工夫を施す「構造開口(coded aperture、符号化開口)」手法と、イメージセンサの直前にマイクロレンズアレーを設けて仮想的に開口を制御する「部分開口(sub-aperture)」手法、その2種類が代表的だ(表1)。今回の東芝の技術は、前者の構造開口型の一種である。Lytro社のカメラは後者の部分開口型だ。

表1 距離画像の主な取得手段の比較
[画像のクリックで拡大表示]

 一般に構造開口型は、部分開口型のような特殊なマイクロレンズアレーが不要で、絞り位置などに何らかの開口を設けるだけで済むのが利点である。ハードウエア面での工夫は最小限とし、演算面での工夫に重点を置いた技術だ。

 構造開口は、これまで様々なタイプが提案されてきている。穴の形状や数といった開口の幾何的パターンで符号化するタイプ、カラーフィルタを設けて色の情報で符号化するタイプ(カラー開口:color-filtered aperture)、さらには両者を組み合わせたタイプ、などだ。幾何的パターンで符号化するタイプは米MITなどが手掛けているが2)、開口部の幾何的パターンによって画像そのものが劣化しやすい欠点がある。東京大学などは、開口部に3つの穴を設け、それぞれにRGBのカラーフィルタを入れたタイプを提唱しているが3)、開口率が低く、光量が低下したり、狭帯域のカラーフィルタが必要といった課題がある。

黄色と水色のフィルタには理由

 今回の東芝の技術では、こうした既存の構造開口の問題を解決すべく、幾何的パターンによる符号化とカラーフィルタによる符号化を組み合わせた4)。具体的には、開口部を左右で2分割し、右半分には黄色(Y:Yellow)のフィルタ、左半分には水色(C:Cyan)のフィルタを入れる(左右は逆でも可能)。カラーフィルタを入れるのみで、光を遮る部分がないため、幾何的パターンのみによる符号化と比べて光量低下が少ない。

 用いるカラーフィルタの色の選択にも工夫を施した。YとCのフィルタを選択したのには合理的な理由がある。最大の狙いは、輝度成分への寄与が大きい緑色(G)を全領域で透過させること。これにより、輝度成分の透過率を確保しやすくした。透過率は75%という。

 色による符号化は、残りの赤色(R)と青色(B)で行う。右半分ではRを通過させ、左半分ではBを通過させるようにすれば、レンズ口径の左右方向での視差がRとBの画像間の違いとなって表れる。具体的には、縦方向のエッジに対し、右側ではRに起因するボケが、左側ではBに起因するボケが表れる。

 このように符号化のために左右でRとBの透過率に違いを発生させるため、東芝はYとCのフィルタを選択した。右半分ではRを通過させつつ、Gも通過させるため、RとGの重ね合わせでY(黄色)フィルタとなる。左半分ではBとGを通過させ、その重ね合わせでC(水色)フィルタとなる(図2)。

図2 ボケを補正できるデジタルフィルタを探索して距離を推定
水色と黄色のフィルタにより、赤色と青色については左右非対称なボケが生じる。この非対称なボケが、緑色の左右対称なボケと重なるような補正カーネルのパラメータを1フレームごとに探索する。
[画像のクリックで拡大表示]

 東芝のようにカラーフィルタを用いた構造開口としては従来、米Harvard Universityなどが、同心円状のカラー開口を開発している5)。開口の外周部に単色のカラーフィルタを設けるものである(表1)。ただし、レンズの左右方向や上下方向で同じ色によって符号化を行うこととなるため、被写体のボケが合焦位置より手前にあることによるボケなのか(前ボケ)、奥側にあることによるボケなのか(後ろボケ)、判別できない。

 今回の東芝のカラー開口では、左右方向でYとCという異なる色で符号化するため、エッジの左右のボケがYとC、どちらの色なのかによって、前ボケか後ろボケかを判別できる。左右2分割のYCカラーフィルタという非常にシンプルな構成だが、まさに“コロンブスの卵”のような斬新な発想で、単眼で効果的に距離画像を得られるようにした。

ボケの量を探索して距離推定

 東芝のカラー開口技術における距離復元の仕組みを具体的に見ていこう。まず、YCカラーフィルタは光学系の絞りの位置に入れる。例えば、右半分がC、左半分がYだとする(図1)。ピントの合う距離にある被写体ではボケは発生しないが、その手前や奥にある被写体では、その縦方向エッジについてボケが発生する。

 手前にある被写体ではイメージセンサの奥側で結像するため、エッジ左右でのボケの色はカラーフィルタと同じく、右側がC、左側がYである。一方、ピントの合う距離より奥にある被写体では、イメージセンサより手前の位置で一度結像し、センサ上では反転するため、エッジの右側がY、左側がCのボケとなる。距離は、このYとCのボケの量から有効口径や焦点距離などを基に算出する。