<実施例1>
本実施例では、被写体領域ごとの距離に応じて、各被写体領域の座標(配置)を変更した画像を用いて、リフォーカス可能な範囲を直感的に把握できるようにする態様を説明する。
図1は、本実施例に係る多眼方式の撮像装置の内部構成を示すブロック図である。撮像部1500は、被写体の光情報を撮像素子で受光し、受光した信号をA/D変換して、画像データ(デジタルデータ)を取得する。この画像データは、ユーザからの撮像指示を受けて撮像データとしてSDカード等の記録媒体に保存される。本実施例に係る撮像部1500で取得される画像データは、被写体空間を複数の視点から捉えた視差のある画像データ(以下、「視差画像データ」と呼ぶ。)である。また、撮像部1500で取得された画像データは、撮像装置の背面に設けられた表示部1506にリアルタイムに順次表示するいわゆるライブビュー機能にも利用される。以下では、ユーザからの撮像指示に応じて記録媒体に保存された画像を記録画像と呼び、ライブビュー表示においてリアルタイムに表示される画像をライブビュー画像と呼ぶこととする。
中央処理装置(CPU)1501は、以下に述べる各部を統括的に制御する。RAM1502は、CPU1501の主メモリ、ワークエリア等として機能する。ROM1503は、CPU1501で実行される制御プログラム等を格納している。バス1504は、各種データの転送経路であり、例えば、撮像部1500によって取得されたデジタルデータはこのバス1504を介して所定の処理部に送られる。ユーザの指示を受け取る操作部1505には、ボタンやモードダイアルなどが含まれる。画像や文字の表示を行う表示部1506には、例えば、液晶ディスプレイが用いられる。表示部1506はタッチスクリーン機能を有していても良く、その場合はタッチスクリーンを用いたユーザ指示を操作部1505の入力として扱うことも可能である。本実施例では、リフォーカス可能な範囲を表示し、リフォーカス時の合焦位置を指定する場合は、このようなタッチスクリーンを介したユーザ入力によって指定される。
表示制御部1507は、表示部1506に表示される画像や文字の表示制御を行う。撮像部制御部1508は、フォーカスを合わせる、シャッターを開く・閉じる、開口絞りを調節するなどの、CPU1501からの指示に基づいた撮像系の制御を行う。デジタル信号処理部1509は、バス1504を介して受け取ったデジタルデータに対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種処理を行う。エンコーダ部1510は、デジタルデータをJPEGやMPEGなどのファイルフォーマットに変換する処理を行う。外部メモリ制御部111は、PCやその他のメディア(例えば、ハードディスク、メモリカード、CFカード、SDカード、USBメモリ)に繋ぐためのインタフェースである。画像処理部1512は、撮像部1500で取得された画像データ或いは、デジタル信号処理部1509から出力される画像データから、後述するリフォーカス処理などの画像処理を行う。画像処理部1512の詳細については後述する。露出状態予測部1513は、撮像時における撮像部1500の露出状態の予測を行う。なお、撮像装置の構成要素は上記以外にも存在するが、本実施例の主眼ではないので、説明を省略する。
まず、撮像部1500の構成に関して詳しく説明する。
上述のとおり撮像部1500は、視差画像データ、つまりライトフィールドデータを取得する。撮像部1500の構成例を、図2〜図5に示す。このうち図2〜図4は結像光学系の像側にレンズアレイを配置した構成であり、図5は複数の結像光学系を配列した構成(カメラアレイ)である。撮像部の構成としては、図2〜図5に示したような、複数視点の画像を同時に得られる多眼方式の構成が望ましい。単眼方式の撮像装置を用いて位置を変化させながら複数回撮像を行う方法では、異なる時間における被写体空間を撮像した視差画像データとなり、被写体空間に移動物体が存在する場合には、正しい視差情報を得ることができないからである。
図2〜図5で示す構成の撮像部1500で取得された視差画像データは、画素の抽出や並び換え、合成等の処理を行うことで、リフォーカスや被写界深度制御、視点の変更等を行うことができる。以下では、これらの処理を画像合成処理と呼び、画像合成処理によって生成された画像を合成画像と呼ぶ。合成画像は、ノイズリダクション等の処理や、被写界深度制御等の処理が施されていてもよい。また、被写体空間でリフォーカスが可能な範囲を「ピント制御範囲」と呼ぶこととする。
ここでは、図2に示した撮像部1500の内部構成について詳しく説明する。
レンズアレイ1603は、結像光学系1602の被写体面1601に対する像側共役面上に配置されている。さらに、レンズアレイ1603は、結像光学系1602の射出瞳と撮像素子1604が、概ね共役関係となるように構成されている。被写体面1601からの光線は、結像光学系1602及びレンズアレイ1603を介することで、該光線の被写体面1601上における位置と角度に応じて、撮像素子1604の異なる画素へ入射する。これにより視差画像データ(ライトフィールドデータ)が取得される。ここでレンズアレイ1603は、被写体面1601上の異なる位置を通過した光線が、同一の画素へ入射するのを防ぐ役割を持つ。その結果、撮像素子1604では、被写体面1601上の同一の領域を複数の視点から捉えた画素群が並んだ画像が取得されることになる。
なお、図2〜図5における被写体面1601上に、人物や建物などの物体が必ずしも存在している必要はない。これはリフォーカスによって、被写体面1601より奥或いは手前に存在する人物や建物等に、撮像後にピント位置を合わせることができるためである。
<リフォーカスの原理>
ここからはリフォーカス処理に関して説明する。リフォーカスに関しては、非特許文献1で詳しく説明されているので、ここでは簡単に述べる。リフォーカスの基本的な原理は、図2〜図5のいずれの構成でも共通である。ここでは図2の構成を例に説明する。図2では、結像光学系の瞳が2次元で9つ(1次元で3つ)に分割されているため、9視点の画像が取得されていることとなる。ここで、ある分割された瞳に対応する画像を単視点画像と呼ぶこととする。9つの単視点画像は互いに視差があるため、被写体距離に応じて画像上の被写体の相対的な位置関係が変化する。ある被写体が重なるように単視点画像を合成すると、異なる被写体距離に位置する被写体は、ずれて合成されることとなる。このずれによって異なる被写体距離に位置する被写体はボケる。この時のボケは、合成に使用した単視点画像に対応した瞳で決まり、9枚全ての単視点画像を合成すると結像光学系1602で取得した画像のボケを再現することができる。単視点画像の合成で重ね合わせる被写体は任意なので、これにより結像光学系1602で任意の被写体に合焦した画像を再現することができる。これが撮像後のピント制御、つまりリフォーカスの原理である。
ここで、本実施例における単視点画像の生成方法を説明しておく。図6は、図2のレンズアレイ1603と撮像素子1604の関係を表した図である。破線の円2001は、レンズアレイ1603を構成する1つのレンズ(マイクロレンズ)を通過した光線が入射する画素の領域を表している。図6は複数のマイクロレンズが格子状に配置された場合に対応しているが、マイクロレンズの配置はこれに限定されない。例えば、六回対称性(ハニカム構造)を持った配置にしてもよいし、規則的な配置から各マイクロレンズを微小にずらしてもよい。図6の斜線領域2002は、結像光学系1602の同じ瞳領域を通過した光線が入射する画素を表している。よって、斜線領域1602の画素を抽出することで、結像光学系1602の瞳の下部から被写体空間を見た単視点画像が生成できる。同様に、破線の各円2001に対する相対位置が同じ画素を抽出することで、他の単視点画像も生成できる。
<ピント制御範囲>
次に、リフォーカスが可能な範囲であるピント制御範囲に関して説明する。
リフォーカスは単視点画像を重ね合わせて行うため、各単視点画像内でボケている被写体にピントを合わせ直すことはできない。これはボケた画像を重ね合わせても、高周波成分は得られず、ボケたままだからである。
ここで、瞳を小さく分割するほど、各単視点画像における被写界深度が深くなるため、ピント制御範囲は広がる。つまり、ピント制御範囲は結像光学系1602の分割された瞳に依存するわけである。ただし、単視点画像における被写界深度とピント制御範囲は必ずしも一致しない。これは単視点画像とそれらを合成した合成画像の解像度比によって、ピント制御範囲が変化するためである。例えば、合成画像の解像度が各視点の単視点画像の解像度より低い場合、合成画像における空間成分のサンプリングピッチは単視点画像に対して大きくなる。そのため、単視点画像よりも合成画像は被写界深度が深くなり、それに伴ってそのピント制御範囲も広がる。逆に、合成画像の解像度が単視点画像よりも高い場合、ピント制御範囲は単視点画像の被写界深度よりも狭くなる。
合成画像の解像度を単視点画像より高くする方法として、画素ずらし超解像の使用などが考えられる。前述した通り、リフォーカスは単視点画像を互いにずらして合成する。この時のずれ量が単視点画像の画素ピッチの非整数倍になっていれば、画素ずらし超解像を行うことができ、合成画像の解像度を上げることができる。
ここまでの議論から、合成画像における正確なピント制御範囲を取得するためには、単視点画像を合成する時の条件を加味する必要があることが分かる。
次に、合成画像のピント制御範囲がどのようにして導出されるのかについて説明する。合成画像の被写界深度に対応する焦点深度を考える。焦点深度の許容錯乱円の大きさをε、光線の角度成分のサンプリングピッチをΔuとする。この時、リフォーカスの係数α±は以下の式(4)のように与えられる。
式(4)を用いて表される像側のリフォーカス可能な範囲α+s2〜α-s2と共役な範囲(結像光学系1602に対して共役な範囲)が、物体側のリフォーカス可能な範囲であるピント制御範囲となる。この式(4)の関係を図で表したものが図7であり、リフォーカス可能な範囲の中心位置は結像光学系1602のピント位置となる。(この場合、レンズアレイ1603の位置がリフォーカス可能な範囲の中心位置となる)。ここで、s2は、結像光学系1602の像側主平面と被写体面1601に対する結像光学系1602の像側共役面との間隔である。図7において、像側ピント制御範囲とは、結像光学系1602を介してピント制御範囲と共役な範囲を指す。また、Δyは光の2次元強度分布のサンプリングピッチであり、図2の構成ではレンズアレイ1603のピッチΔLAに等しい。なお、式(4)の関係は、図2〜図5のいずれの構成でも成り立つものである。
そして、式(4)は、撮像素子1604の画素ピッチΔが、結像光学系1602の射出瞳距離Pに対して十分小さいことから、次の式(5)のように近似できる。
ここで、結像光学系1602の射出瞳距離Pとは、結像光学系1602の射出瞳面と被写体面1601に対する結像光学系1602の像側共役面との間隔である。また、Nは結像光学系1602の瞳の1次元分割数、Fは結像光学系1602のF値である。なお、F値は、結像光学系1602の焦点距離fとレンズ有効径Dから、以下の式(6)によって導出することができる。
すなわち、リフォーカス可能な範囲(ピント制御範囲)は、結像光学系の瞳の1次分割数と結像光学系の焦点距離とレンズ有効径で規定される画角範囲に応じて決定される。更には、後述する合成画像データの解像度に応じて、リフォーカス可能な範囲が決定される。
<画像処理部>
次に、画像処理部の構成について詳しく説明する。
図8は、本実施例に係る画像処理部1512の内部構成を示したブロック図である。
視差画像データ取得部2201は、撮像部1500等から供給される視差画像データを取得する。
光学パラメータ取得部2202は、距離導出部2203とピント制御範囲導出部2207で必要となる撮像部1500の光学パラメータを取得する。ここで、光学パラメータとは、撮像部1500の構成や、絞りなどの露出状態、フォーカス位置、ズームレンズにおける焦点距離などである。
距離導出部2203は、シーン中の被写体までの距離情報を導出する。被写体までの距離は、視差画像データ取得部2201から供給される視差画像データ及び光学パラメータ取得部2202から供給される光学パラメータを用いて導出される。距離導出の詳細については後述する。
被写体領域抽出部2204は、シーン中にある被写体と距離導出部2203から供給される距離情報とに基づき、再配置画像生成部2205での処理の対象となる被写体領域を抽出する処理を行う。この被写体領域抽出処理は、一定の距離ごとに被写体の領域を分離する処理と言い換えることもできる。
再配置画像生成部2205は、距離導出部2203から供給される距離情報に応じて、被写体領域抽出部2204で抽出された各被写体領域の位置(座標)を変更する処理を行う。この処理によって、各被写体領域を撮像装置からの距離に応じて再配置した、被写体領域ごとの距離感を把握し易くした画像(以下、「再配置画像」と呼ぶ。)を生成する。
画像合成パラメータ取得部2206は、画像合成に必要となるパラメータ(合成後の解像度、視点、ピント位置、被写界深度など)を取得する。
ピント制御範囲導出部2207は、光学パラメータ取得部2202から供給される光学パラメータと、画像合成パラメータ取得部2206から供給される画像合成パラメータとを用いて、ピント制御範囲を導出する。
ピント位置取得部2208は、操作部1505を介したユーザ入力に基づいて、画像合成の際におけるピント位置を取得する。本実施例の場合、再配置画像生成部2205が生成する再配置画像に基づいて、操作部1505としてのタッチスクリーンを介して、ユーザが指定した距離がピント位置(合焦位置)として指定されることになる。指定されたピント位置に関する情報は、表示画像生成部2209に送られる。
表示画像生成部2209は、再配置画像生成部2205で生成した再配置画像に対して合焦状態に関する情報(ピント位置、ピント制御範囲、被写界深度など)を反映した画像(以下、「合焦情報表示画像」と呼ぶ。)を生成する。生成の際、上述した各部から供給される光学パラメータ、画像合成パラメータ、ピント制御範囲、ピント位置を用いる。この合焦情報表示画像の生成は、撮像前のライブビュー画像を対象に行ってもよいし、撮像後の記録画像を対象に行ってもよい。また、合焦情報表示画像は、視差画像に含まれる任意の単視点画像をベースにしたものでもよいし、複数の単視点画像を合成して得られた合成画像をベースにしたものであってもよい。生成された合焦情報表示画像のデータは、表示部1506に出力される。さらに、本実施例に係る表示画像生成部2209は、視差画像データを用いて、画像合成パラメータに従った画像合成処理も行うものとするが、画像合成処理を行う処理部を表示画像生成部2209とは別個に設けてもよい。
図9は、本実施例に係る画像処理部1512における処理の流れを示すフローチャートである。なお、この一連の処理は、以下に示す手順を記述したコンピュータ実行可能なプログラムをROM1503からRAM1502上に読み込んだ後、CPU1501によって該プログラムを実行することによって実施される。
ステップ2301において、視差画像データ取得部2201は、撮像部1500で取得された視差画像データを取得する。ここで取得される視差画像データは、上述のとおり、ライブビュー画像としての視差画像データであってもよいし、記録画像としての視差画像データであってもよい。
ステップ2302において、光学パラメータ取得部2202及び画像合成パラメータ取得部2206は、それぞれ光学パラメータ及び画像合成パラメータを取得する。
ステップ2303において、距離導出部2203は、シーン全体における距離情報を導出する。具体的には、視差画像に含まれる単視点画像相互の間でステレオマッチングを行う等の方法により、シーンの距離を導出する。例えば、ステレオマッチング法では、まず基準となる単視点画像(例えば、瞳の中央付近を通過する光線に対応する単視点画像)を複数のブロックに分割し、その他の単視点画像の中から、対象となるブロックに一番近いブロック位置を検出する。そして、2つのブロックの位置関係、対応する瞳の位置関係、各瞳の画角を用いて、三角測量によって、対象ブロックの距離が導出される。なお、基準となる単視点画像は、視点位置が中心以外の単視点画像を選択してもよい。また、距離情報を取得する方法としては、上述のステレオマッチング法の他、DFD(Depth From Defocus)などの手法や、赤外線などを利用した測距部を用いて計測する方法もある。
図10の(a)は単視点画像の一例を示す図であり、同(b)は(a)の単視点画像について導出された距離情報としての距離マップを示している。図10の(a)に示される単視点画像で得られるシーンには、3種類の被写体(人物、建物、山)が撮像装置を基準としてそれぞれ異なる距離に存在している。図10の(b)に示す距離マップは、撮像装置からの距離に応じて濃淡で表示されており、撮像装置の近傍にある被写体「人物」を最も暗い色で、撮像装置から遠方にある被写体「山」を最も明るい色で、人物と山との間にある被写体「建物」を中間の明るさの色で表示している。このように、本ステップでは、シーン中にある被写体の距離情報が導出される。
図9のフローチャートの説明に戻る。
ステップ2304において、被写体領域抽出部2204は、ステップ2303において導出されたシーン全体についての距離マップに基づき、被写体領域を抽出する処理を行う。この被写体領域抽出処理は、一定の距離ごとに被写体の領域を分離する処理と言い換えることもできる。略同一の距離を持つ画像領域をグループ化し、グループ化された画像領域を被写体領域として抽出する。被写体領域抽出方法としては、被写体の距離情報を用いる以外に、例えば、以下のような方法が挙げられる。
1)視差画像データに対して顔認識等の技術を適用し、人物、動物、植物などが存在する領域を識別して、識別された人物等を被写体領域として抽出。
2)人物、動物、植物といった代表的な注目物体の画像データをテンプレートとして予め用意しておき、それらテンプレートとのパターンマッチングによって被写体領域を抽出。
3)ニューラルネットワークのように事前学習を行い、その学習結果を用いて主要な物体を認識して、被写体領域を抽出。
本実施例における被写体領域の抽出は、被写体の距離情報を用いる手法以外に、上記1)〜3)に挙げたような公知の様々な手法を適用して実現することが可能である。
図11の(a)及び(b)は、図10の(b)に示した距離マップから被写体領域を抽出した結果の一例を示す図であり、(a)は各被写体の輪郭に沿って被写体領域を抽出した場合、(b)は各被写体に外接する矩形領域を被写体領域として抽出した場合である。図11の(a)及び(b)において、点線で囲まれる各領域が、「人物」、「建物」、「山」のそれぞれに対応する被写体領域である。被写体領域の抽出方法としては、主要な被写体を包含するように領域を設定する限りにおいて、その他の手法でも適用可能である。例えば、円形、楕円形、三角形、多角形など任意の形状で被写体領域を定義してもよい。
図9のフローチャートの説明に戻る。
ステップ2305において、再配置画像生成部2205は、ステップ2303で導出したシーン全体における距離情報とステップ2304で抽出したシーン中における被写体領域とを用いて、シーンの再配置画像を生成する。
図12の(a)〜(d)は、図10の(a)に示した単視点画像に係るシーンを真上から俯瞰した場合における再配置画像の例を示す図である。
図12の(a)〜(d)のいずれにおいても、撮像装置に近い位置を下側、撮像装置から遠い位置を上側としており、「人物」が撮像装置に最も近い位置に配置され、「山」が撮像装置から最も遠い位置に配置されている。図12の(a)は、ステップ2304で抽出された被写体領域(上述の図11の(a)を参照)に沿って上記単視点画像から切り出した画像領域を、各被写体距離に対応する位置に配置し直した再配置画像である。この再配置画像の場合、単視点画像の一部分が被写体距離に対応付けて配置されるので、最も実際の画像に近い再配置画像となる。図12の(b)は、ステップ2303で導出された距離マップ(図10の(b)を参照)から上記被写体領域に沿って抽出された画像領域を、各被写体距離に対応する位置に配置し直した再配置画像である。この再配置画像の場合、被写体距離を強調した再配置画像となる。図12の(c)及び(d)は、ステップ2304で抽出された被写体領域の枠(上述の図11の(a)及び(b)を参照)を、各被写体距離に対応する位置に配置し直した再配置画像である。これら再配置画像の場合、より簡略化された再配置画像となる。
図9のフローチャートの説明に戻る。
ステップ2306において、ピント制御範囲導出部2207は、ステップ2301で取得した視差画像について画像合成を行う場合におけるピント制御範囲を、ステップ2302で取得した光学パラメータ及び画像合成パラメータを用いて導出する。以下、詳しく説明する。
前述したようにピント制御範囲は、各単視点画像と合成画像との解像度比によって変化するが、ここでは説明を簡単にするため、解像度比が1の場合を考える。像側ピント制御範囲が上述の式(5)の範囲内に収まっていれば、ピント制御可能な領域を取得できていることとなる。よって、被写体面1601に対する結像光学系1602の像側共役面と像側ピント制御範囲drefocusとが、以下の式(7)を満たせばよい。
図13は、図2で示す撮像部1500の構成における光学配置を示した図であり、σはレンズアレイ1603の像側主平面と撮像素子1604の間隔である。図13において、中央のマイクロレンズの両端から伸びる2本の平行な破線は、当該マイクロレンズに対応する撮像素子1604の領域を表し、撮像素子1604内の斜線の画素は光線の入射しない不感帯を表す。本実施例では不感帯が発生しないようにレンズアレイ1603が構成されており、この場合はΔLA=NΔとなる。ただし、構成はこれに限らず、不感帯が存在していてもよい。図13から、幾何学的にNF=σ/Δだと分かる。ここで、焦点深度を決める許容錯乱円の大きさを、空間成分のサンプリングピッチΔy=ΔLAで特徴付けると、式(7)は以下の式(8)のように書き換えられる。
次に、単視点画像と合成画像との解像度比が1以外の一般的な場合について考える。合成画像と合成に使用する単視点画像の画角は等しいから、解像度比が1以外の場合、両者のΔyが異なることとなる。許容錯乱円は一般にΔyが小さいほど小さく、大きいほど大きくなる。よって、上記式(8)は、単視点画像と合成画像のΔyとの比をとって、以下の式(9)のように拡張できる。
ここで、Rmonoは合成に使用する単視点画像の解像度、Rcombは合成画像の解像度を表す。RmonoとRcombとの比の平方根をとることで、Δyの比となる。単視点画像の解像度Rmonoは、図13から以下の式(10)で表されることが分かる。
ここで、Rtotalは、撮像素子1604の有効画素数である。式(9)及び式(10)から、像側ピント制御範囲が満たすべき以下の条件式(11)が求まる。
上記条件式(11)では±10.0の範囲としているが、これを±6.0の範囲とすることで、より鮮鋭な合成画像を得ることができる。さらに望ましくは、±3.0の範囲とすることで、更に鮮鋭な合成画像を得ることができる。
以下に、各値の具体例を示す。
・撮像素子1604の有効画素数Rtotal:46.7×106(pix)
・レンズアレイ1603の像側主平面と撮像素子1604の間隔σ:0.0374(mm)
・撮像素子1604の画素ピッチΔ:0.0043(mm)
・レンズアレイ1603のピッチΔLA:0.0129(mm)
・結像光学系1602の焦点距離f:14.0(mm)
・F値:2.9
・1次元瞳分割数N:3
・単視点画像1枚当たりの解像度Rmono:5.2×106(pix)
・条件式(11)の範囲、条件式(11)の各範囲に対応する合成画像の解像度Rcomb、合成画像の各解像度に対応するdrefocusは、例えば以下の表(1)のとおり。
操作部1505を介したユーザ入力によって、合成画像の解像度Rcombが例えば上記3種類の中から選択される。
上記の例において、例えば8.0×106pixの合成画像を生成するためには、単視点画像1枚当たりの解像度Rmonoが5.2×106pixであるため、画素ずらし超解像などによる高解像度化が必要となることが分かる。なお、上述の合成画像の各解像度Rcombの値は一例であり、種類も3種類に限られない。上記条件式(11)を満たすようなRcombとdrefocusを適宜決定すればよい。
ピント制御範囲は、像側ピント制御範囲と結像光学系1602の焦点距離やフォーカス位置などを用いれば、結像公式から算出できる。このようにして取得したピント制御範囲の情報は、視差画像データや合成画像データにタグ情報として添付し、ROM1503に保存してもよい。或いは、予め様々な条件に対応するピント制御範囲のテーブルを作成してROM1503に記憶しておき、ピント制御範囲を導出する上述の演算を行う代わりに、入力された条件に対応するデータを読み込むようにしてもよい。
なお、ピント制御範囲を取得する他の方法として、リフォーカスした合成画像を実際に生成して、ピント位置に存在する被写体のコントラスト等を評価する方法が考えられる。しかし、この手法では、ピント位置を動かしながら合成画像を生成し、逐次リフォーカスができているかどうかを判断しなければならないため、処理に時間がかかってしまう。また、リフォーカスしたピント位置に被写体が存在していない場合、評価を行うことができないため、正確なピント制御範囲が取得できない。よって、ピント制御範囲の取得には、先に述べた手法を用いることが望ましい。
図9のフローチャートの説明に戻る。
ステップ2307において、表示画像生成部809は、ステップ2305で生成された再配置画像に対して合焦状態に関する情報(ピント位置、ピント制御範囲、被写界深度など)を反映した合焦情報表示画像を生成する。生成の際には、ステップ2302で取得された光学パラメータ及び画像合成パラメータ、及びステップ2306で導出されたピント制御範囲が用いられる。
図14の(a)及び(b)は、図12の(a)に示した再配置画像をベースに生成された合焦情報表示画像の一例であって、ピント位置2801、ピント制御範囲2802、被写界深度2803の各情報が表示されている。スライダバー上に黒四角のマークで示されたピント位置2801は、光学パラメータに含まれる撮像時のレンズのピント位置、或いは後述のユーザ入力によって指定されたピント位置を示している。(a)の合焦情報表示画像では被写体距離d0の位置(人物の位置)に、(b)の合焦情報表示画像では被写体距離d0’の位置(建物の位置)に、それぞれピント位置2801が設定されている。スライダバー上に斜線で示されたピント制御範囲2802は、被写体距離d1(d1’)から被写体距離d2(d2’)までの範囲を示しており、本実施例では「人物」と「建物」がこのピント制御範囲内の距離に位置していることが分かる。以下、単に「ピント制御範囲」という場合にはこの物体側ピント制御範囲を指すものとする。再配置画像上に斜線で示された被写界深度2803は、被写体距離d3(d3’)から被写体距離d4(d4’)までの範囲であって、(a)の合焦情報表示画像では人物にピントが合ったピント位置d0における被写界深度、(b)の合焦情報表示画像では建物にピントが合ったピント位置d0’における被写界深度が示されている。
上述したような合焦情報表示画像を表示することで、ユーザはシーン中における被写体と合焦状態に関する情報の両方を、直観的に把握することが可能となる。なお、図14の(a)及び(b)には、説明の便宜上、撮像装置の模式図と撮像装置で撮像可能な視野範囲(画角)2804も表示しているが、本ステップで生成する合焦情報表示画像に、これらの情報を含めることは必ずしも要しない。
図9のフローチャートの説明に戻る。
ステップ2308において、表示画像生成部2209は、ステップ2307で生成した合焦情報表示画像のデータを表示部1506に出力する。
ステップ2309において、CPU1501は、リフォーカス処理時におけるピント位置に関するユーザ入力が、新たになされたかどうかを判定する。この場合のユーザ入力は、タッチスクリーンや撮像装置の操作部1505などを介して行う。例えば、新たにピントを合わせたい被写体を再配置画像上で直接指定したり、新たなピント位置までの被写体距離を直接指定したり、スライドバー上のピント位置2801を表すマークを操作して指定したりする方法が考えられる。新たなピント位置の入力がなされた場合には、ステップ2307に戻り、ステップ2307〜ステップ2309の一連の処理を繰り返す。例えば、「人物」をピント位置とする合焦情報表示画像(図14の(a))が表示されている状態において、「建物」を新たなピント位置とするユーザ入力がなされたとする。この場合、前述の図14の(b)に示した合焦情報表示画像が新たに表示されることになる。前述のとおり、図14の(b)では、新たに設定されたピント位置(被写体距離d0’)に合わせて、被写界深度2803も変化している。つまり、リフォーカス処理時における新たなピント位置が入力された場合は、ピント制御範囲2802に変化はなく、ピント位置2801と該ピント位置における被写界深度2803が主に変化することになる。
なお、新たに入力されたピント位置がピント制御範囲外であることも考えられる。この場合、警告を通知するなどして、ピント制御範囲内のピント位置を入力するようユーザに促すようにしてもよい。或いは、ピント制御範囲外のピント位置は受け付けないよう、ユーザ入力可能な範囲を制限するようにしてもよい。
一方、新たなピント位置の入力がなければ、本処理を終える。
なお、上述の例では、シーンを真上から俯瞰している再配置画像をベースとした合焦情報表示画像について説明した。しかし、合焦情報表示画像は上述の例に限定されるものではなく、様々な態様が考えられる。図15の(a)〜(c)は、合焦情報表示画像のバリエーションの一例を示している。図15の(a)は、シーンを横方向から俯瞰した再配置画像をベースとした合焦情報表示画像である。同(b)は、シーンを斜め上方向から俯瞰した再配置画像をベースとした合焦情報表示画像である。同(c)は、斜め横方向から俯瞰した再配置画像をベースとした合焦情報表示画像である。このように合焦情報表示画像のベースとなる再配置画像は、距離情報に基づいて被写体が奥行き方向に順次並んだものであれば、どのようなものでも構わない。
また、ステップ2308において合焦情報表示画像が表示されるが、その際、撮像部1500で取得された単視点画像及び/又は表示画像生成部2209で合成された合成画像を併せて表示するようにしてもよい。図16の(a)〜(c)は、合焦情報表示画像に、単視点画像及び/又は合成画像を併せて表示する場合の一例を示している。
図16の(a)は、シーンを横方向から俯瞰した再配置画像をベースとした合焦情報表示画像(前述の図15の(a)を参照)に加え、単視点画像と2種類の合成画像を表示するケースを示している。図中の合成画像1は、「人物」を注目被写体としてピント位置を設定した状態(注目被写体以外の被写体である「建物」と「山」については被写界深度の範囲外でボケている状態)の合成画像である。図中の合成画像2は、「建物」を注目被写体としてピント位置を設定した状態(注目被写体以外の被写体である「人物」と「山」については被写界深度の範囲外でボケている状態)の合成画像である。このようなリフォーカス後の合成画像を併せて表示する場合は、注目被写体のみにピントが合っている合成画像によって、ユーザは特定された注目被写体の確認をより直感的に行うことが可能となる。なお、図16の(a)では、シーンを横方向から俯瞰した再配置画像をベースとしているが、ベースとなる再配置画像はどのようなタイプでもよいことはいうまでもない。また、図16の(a)の例では、2種類の合成画像を表示しているが、表示する合成画像は1種類だけでもよいし或いは3種類以上でも構わない。
図16の(b)は、シーンを真上から俯瞰した再配置画像をベースとした合焦情報表示画像(前述の図14の(a)及び(b)を参照)に加え、「人物」を注目被写体としてピント位置を設定した場合における合成画像を表示するケースを示している。このように表示することで、限られた表示画面内に、再配置画像と合焦状態に関する情報と合成画像を効率的に表示することが可能となる。なお、図16の(b)における合焦情報表示画像は、図12の(a)で示されるシーンを真上から俯瞰した再配置画像に対して横方向の情報を省略し、奥行き方向の情報のみとしたものがベースとなっている。また、図16の(c)は、シーンを真上から俯瞰した再配置画像をベースとした合焦情報表示画像に加え、単視点画像を表示するケースを示している。このように単視点画像を併せて表示することで、撮像時の画像を確認しながら合焦状態を直観的に把握することが可能である。なお、図16の(c)における合焦情報表示画像は、図12の(d)で示されるシーンを真上から俯瞰した再配置画像であって被写体領域を矩形で囲んだ再配置画像に対して、横方向の情報を省略し、奥行き方向の情報のみとしたものがベースとなっている。
以上のように、合焦情報表示画像に単視点画像や合成画像を併せて表示するようにしてもよい。
なお、図14〜図16で示した合焦情報表示画像においては、合焦状態に関する情報として、ピント位置、ピント制御範囲、被写界深度の各情報が同時に分かるようになっている。しかしながら、これらの情報のすべてを同時に示す必要はなく、別個に表示しても構わない。例えば、ピント位置と被写界深度のみを初めに表示しておき、ユーザの指示に応じてピント制御範囲の情報を表示するようにしてもよい。
以上説明したように、本実施例によれば、撮像時や撮像した画像の編集時において、被写体を奥行き方向に並べた再配置画像をベースに、画像合成時のピント位置、ピント制御範囲、被写界深度といった合焦状態に関する情報が表示される。これによりユーザは、撮像時及び/又は撮像した画像の編集時に、被写体の合焦状態を直観的に把握することが可能となる。
[実施例2]
実施例1では、図16に示す構成の撮像部を有する撮像装置を前提として説明を行った。次に、図3及び図4に示す構成の撮像部を有する撮像装置を前提とする様態について、実施例2として説明する。なお、以下では本実施例に特有な点を中心に説明することとする。
図3及び図4に示された構成では、撮像視点及び撮像範囲が異なる複数の小画像が並んだ視差画像データが、撮像素子1604で取得される。図3の構成では、レンズアレイ1603が、結像光学系と像側共役面の間(像側共役面の左側)に配置されている。これに対し、図4の構成では、レンズアレイ1603が、結像光学系と像側共役面の間ではなく外(像側共役面の右側)に配置されている。そのため、図4の構成の場合は、レンズアレイ1603が結像光学系1602の形成した像を実物体として見て撮像素子1604へ再結像させることになる。しかし、どちらも結像光学系1602の結んだ像をレンズアレイ1603が物体として見て、その像を撮像素子1604へ結像しているため、両者は本質的には同じである。以下では、図3の構成を例に説明するが、その内容は、図4の構成に関しても同様に成立するものである。
まず、本実施例での画像合成(リフォーカス)処理に関して説明する。
定性的には実施例1と同様で、結像光学系1602の分割された瞳の画像を、合焦したい被写体距離に対応したずれ量で重ね合わせればよい。
図17は、図3の構成において、レンズアレイ1603と撮像素子1604の部分を中心に拡大した図である。本実施例においてレンズアレイ1603は、物体側の面が平面で、像側の面が凸形状のマイクロレンズによって構成されている。もちろん、レンズアレイ1603の形状はこれに限らない。図17において一点鎖線は、各マイクロレンズの画角を表している。撮像素子1604で得られた画素値を、その画素に対応するマイクロレンズを介して仮想結像面へ投影して合成することで、仮想結像面にピントの合った合成画像を生成することができる。ここで仮想結像面とは、画像合成により合焦したい物体側の面と共役な面(結像光学系1602を介して共役な面)のことを指す。例えば、図3において、被写体面1601にピントの合った画像を生成するためには、像側共役面1701に仮想結像面を設定すればよい。図17においては、合成画像生成の際に投影した画素を、分かりやすくするために各マイクロレンズの画角単位でずらして、破線で表している。合成画像の生成は、上述した方法(撮像素子1604で得られた画素値をその画素に対応するマイクロレンズを介して仮想結像面へ投影して合成する方法)と同様の画素の重なりになるならば、各画素を平行移動させて合成する方法でもよい。この時、画素に入射した光束が通過したレンズアレイ1603の領域が同じである場合、それらの画素の平行移動量は同じになる。つまり、図3及び図4における合成画像生成時の画素の操作は、画素に入射する光束が通過したレンズアレイ1603の領域に応じて決まる。
次に、本実施例におけるピント制御範囲に関して説明する。
本実施例におけるピント制御範囲も、実施例1と同様に式(4)で記述される。すなわち、前述の式(4)を用いて表される像側のリフォーカス範囲α+s2〜α-s2と共役な範囲(結像光学系1602に対して共役な範囲)が、物体側のリフォーカス範囲であるピント制御範囲となる。図18は、実施例1に係る図7に対応する図である。図18中のΔyは、光の2次元強度分布のサンプリングピッチを表し、Δy=Δσ1/σ2(σ1:像側共役面1701とレンズアレイ1603の物体側主平面との間隔、σ2:レンズアレイ1603の像側主平面と撮像素子1604との間隔)である。これは、結像光学系1602が形成した像を、レンズアレイ1603が虚物体として見ることで、撮像素子1604へσ2/σ1倍で縮小結像するためである。そして、本実施例においても、Δ≪P(P:結像光学系1602の射出瞳距離)から、式(4)は式(5)に近似できる。
本実施例に係る画像処理部1512おける処理の流れは、実施例1に係る図9のフローチャートと同じであるが、撮像部1500の構成の違いから、以下のようにしてピント制御範囲が導出される(ステップ2306)。
図18から明らかなように、幾何学的にNF=σ1/ΔLAであり、また、Δy=Δσ1/σ2であるから、以下の式(12)が成り立つ。
この式(12)等から、本実施例における像側ピント制御範囲drefocusが満たすべき条件式(13)が求められる。
実施例1と同様、上記条件式(13)において±10.0となっている範囲を、±6.0或いは±3.0とすることで、より鮮鋭な合成画像を得ることができる。
以下に、具体例を示す。
・撮像素子1604の有効画素数Rtotal:150.0×106(pix)
・σ1:0.3712(mm)
・σ2:0.0740(mm)
・撮像素子1604の画素ピッチΔ:0.0024(mm)
・レンズアレイ1603のピッチはΔLA:0.0256(mm)
・結像光学系1602の広角端における焦点距離fW:72.2(mm)
・結像光学系1602の望遠端における焦点距離fT:194.0(mm)
・F値(広角端から望遠端まで):2.9
・1次元瞳分割数N:5
・単視点画像1枚当たりの解像度Rmono:6.0×106pix
・条件式(13)の範囲、条件式(13)の各範囲に対応する合成画像の解像度Rcomb、合成画像の各解像度に対応するdrefocusは、例えば以下の表(2)のようになる。
実施例1と同様、操作部1505を介したユーザ入力によって、合成画像の解像度Rcombが例えば上記3種類の中から選択される。
上記の例において、例えば10.0×106pixの合成画像を生成するためには、単視点画像1枚当たりの解像度Rmono:6.0×106pixであるため、画素ずらし超解像などによる高解像度化が必要となることが分かる。
[実施例3]
次に、図5に示す構成(カメラアレイ)の撮像部を有する撮像装置を前提とする様態について、実施例3として説明する。なお、以下では本実施例に特有な点を中心に説明することとする。
図19は、本実施例に係る図5のカメラアレイの構成を有する撮像部1500を正面(物体側)から見た図であり、7つの各個眼カメラにおける結像光学系1602a〜1602gと撮像素子1604a〜1604gの配置が示されている。この撮像部1500の場合、結像光学系1602bの光軸を回転軸として、六回対称性を有したカメラアレイとなっている。しかし、カメラアレイの構成はこれに限定されるものではなく、結像光学系の個数や配列は任意である。また、各撮像素子1604a〜1604gが各結像光学系1602a〜1602gに対応してそれぞれ配列されているが、各結像光学系1602a〜1602gによって形成される像を取得できるならば撮像素子は1つでもよい。
図19に示す構成の撮像部1500において、各結像光学系1602a〜1602gで屈折された光線は、それぞれに対応した撮像素子1604a乃至1604gで受光される。撮像素子1604a〜1604gで取得された複数の画像は、被写体空間を異なる視点から観察した視差画像となっている。これらの複数の視差画像を用いて画像合成を行うことで、被写体空間のライトフィールドを得ることができる。
図20は、結像光学系1602aと撮像素子1604aを側面から見た図(断面図)である。他の結像光学系1602b乃至1602g及び、撮像素子1604b乃至1604gも同様であるが、各結像光学系の構成はそれぞれ異なっていてもよい。結像光学系1602aは、単焦点レンズであり、結像光学系1602aと撮像素子1604aとの間隔を変化させることで、リフォーカスを行う。
本実施例における画像合成処理も、実施例1と同様、ピントを合わせたい被写体距離に対応したずれ量で各視点の画像を重ね合わせればよい。また、ピント制御範囲に関しても、前述の式(4)で記述されるとおりである。図21は、実施例1の図7に対応する図であり、本実施例の場合、Δy=Δ、Δu=Pmono/Fmonoとなる。ここで、Fmonoは、各結像光学系1602a乃至1602gにおけるF値、Pmonoは、各結像光学系に対応する射出瞳距離を表している。そして、本実施例においては、Δ≪Pmonoから、式(4)は以下の式(14)に近似できる。
本実施例に係る画像処理部1512における処理の流れは、実施例1に係る図9のフローチャートと同じであるが、撮像部1500の構成の違いから、以下のようにしてピント制御範囲が導出される(ステップ2302及びステップ2306)。
本実施例の場合、撮像部1500を構成する各結像光学系1602a乃至1602gは、絞り値が可変の開口絞りをそれぞれ有している。そのため、ステップ2302では、撮像時の各結像光学系の絞り値が、光学パラメータとして取得される。
そして、ステップ2306では、実施例1と同様の考え方に基づき、ステップ2302で得られた撮像時の各結像光学系1602a乃至1602gのF値を、Fmonoに代入し、ピント制御範囲を導出する。ここで、FmonoのF値を持つ結像光学系で結像される画像の解像度をRmonoとした時、drefocusが満たすべき条件式(15)が求められる。
実施例1と同様、上記条件式(15)において±10.0となっている範囲を、±6.0或いは±3.0とすることで、より鮮鋭な合成画像を得ることができる。
以下に、具体例を示す。
・各撮像素子1604a乃至1604gの有効画素数Rmono:19.3×106(pix)
・画素ピッチΔ:0.0012(mm)
・各結像光学系1602a乃至1602gの焦点距離f:50.0(mm)
・F値(Fmono):1.8
・条件式(15)の範囲、条件式(15)の各範囲に対応する合成画像の解像度Rcomb、合成画像の各解像度に対応するdrefocusは、例えば以下の表(3)のようになる。
そして、実施例1と同様、操作部1505を介したユーザ入力によって、合成画像の解像度Rcombが例えば上記3種類の中から選択される。
なお、撮像時のF値が異なるF値だった場合は、条件式(15)を満たすようにdrefocusが決定される。
[実施例4]
実施例1乃至3で説明した画像合成処理は、図2〜図5で示す撮像部を有する撮像装置によって取得された、複数の異なる視点から撮像されて得た視差画像を用いて実現していた。画像合成処理は、視差画像を用いた画像合成処理に限定されない。単視点の撮像データに対し、ピント位置、被写界深度を、後から画像処理により調整するものでもよい。
例えば、ピント位置を画像処理によって変更する方法としては、ピント位置からの相対的な距離に応じて、撮像データにフィルタ処理を施す方法が知られている。この場合、最初に被写界深度の深い撮像データとシーンの距離情報を取得する。距離情報は、撮像装置とは別に距離センサを設けて取得したり、撮像装置の撮像データを解析して取得する。次に、フォーカスを合わせたい被写体(或いは、被写体距離)に対してはフィルタ処理を行わずオリジナルの撮像データを用い、フォーカスを合わせたい被写体以外の領域については該被写体からの相対的な距離を距離情報から求める。そして、フォーカスを合わせたい被写体からの相対距離が近い領域については、ボケ量が小さくなるフィルタ処理を実施(例えば、フィルタサイズを相対的に小さく設定)する。一方、フォーカスを合わせたい被写体からの相対距離が遠い領域については、ボケ量が大きくなるフィルタ処理を実施(例えば、フィルタサイズを相対的に大きく設定)する。このような方法で、ピント位置を変更してもよい。
このように、単視点画像に対し、ピント位置からの相対的な距離に応じて、撮像データにフィルタ処理を施す方法では、ピント制御範囲は、単視点画像を得た際の被写界深度がピント制御範囲となる。
被写界深度の度合いの調整も、上記と類似の手法で画像処理によって調整可能である。すなわち、撮像データに対するフィルタリング処理において、フィルタサイズをより大きく設定することでボケ量が増大し、被写界深度の狭い画像データを生成することができる。反対に、被写界深度の深い画像データを生成するためには、フィルタサイズを小さくしてやればよい。
[実施例5]
実施例1乃至4では、複数視点の画像或いは単視点の画像に対して画像合成処理を実施して、ピント位置等を変化させた画像を生成していた。しかし、ピント位置等を変化させた画像は、画像合成処理を行わずとも得ることができる。
例えば、撮像パラメータを少しずつ変更しながら複数枚の画像を取得するブラケット撮像により、複数の撮像データを取得する方法が知られている。具体的には、撮像装置に具備されるフォーカス調整リング、絞り調整リングを段階的に変化させた撮像データを取得する。ブラケット撮像による撮像データには、撮像時のパラメータが撮像画像と一体となって保持されるものとする。つまり、実施例1乃至4では、複数視点の画像を含む1の撮像データから、ピント位置等を変更した合成画像を演算によって生成していたが、本実施例では、ブラケット撮像によって得られた複数の撮像データから、所望の撮像画像を選択し表示する。
ピント位置を段階的に変更したブラケット撮像(フォーカスブラケット撮像)では、撮像装置に具備されるフォーカス調整を行う操作部を使用しながらピント位置を段階的に変化させて、複数回の撮像を行う。前述の図12の(a)では、撮像装置からそれぞれ異なる距離に3種類の被写体(人物、建物、山)が存在し、「人物」は撮像装置から最も近い位置、「建物」は中程度の位置、「山」最も離れた位置にそれぞれ位置している。本実施例では、近傍の被写体から遠方の被写体までが含まれるようにピント位置を連続的に変化させ、各ピント位置での撮像データを取得する。これにより、「人物」、「建物」、「山」の各被写体にピントが合っている撮像画像を得ることができる。なお、実際のフォーカスブラケット撮像では、主要な被写体が存在しない部分(例えば、人物と建物の間)にピントを合わせた撮像も行われる。そして、得られた撮像データにおいては、撮像時のピント位置の情報を距離情報として、撮像画像に関連付けられて記録される。なお、実施例6と同様に、シーンの距離情報は、撮像装置とは別に距離センサを設けて取得したり、撮像装置の撮像データを解析して取得してもよい。
このように、画像合成処理を実施せず、ブラケット撮像により、ピント位置を段階的に変化させた撮像データを表示する。この場合、ブラケット撮像の際に変化させたピント位置のうち、撮像装置に最も近いピント位置から最も遠いピント位置が、ピント制御範囲となる。また、被写界深度は、ブラケット撮像時における撮像装置の絞り調整リングによって定まる被写界深度と略同一として扱うことができる。
また、前述の図16の(a)及び(b)のように、合焦情報表示画像に加えて、ピント位置を変化させた画像を表示する場合には、ピント位置取得部2208から供給されるピント位置に応じて、所望の撮像画像を選択し表示する。
以上説明したように、ブラケット撮像で得られた複数の撮像データを用いて、ピント位置を変化させた画像データを得てもよい。
[その他の実施形態]
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。