(57)【要約】【課題】  異なるシーンで得られた複数のＬＦデータのスティッチを可能とする。【解決手段】  情報処理装置が、複数の異なる視点位置にそれぞれ対応し、共通の被写体に関する情報を含む光線情報であって、被写体から対応する視点位置に入射される光線の方向と強度とを示す複数の光線情報を取得する取得手段と、前記複数の光線情報の少なくとも一つを座標変換し、前記座標変換した複数の光線情報を含む前記複数の光線情報を合成する合成手段とを有することを特徴とする情報処理装置。【選択図】  図１
2015119395.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なる視点位置にそれぞれ対応し、共通の被写体に関する情報を含む光線情報であって、被写体から対応する視点位置に入射される光線の方向と強度とを示す複数の光線情報を取得する取得手段と、
前記複数の光線情報の少なくとも一つを座標変換し、前記座標変換した複数の光線情報を含む前記複数の光線情報を合成する合成手段とを有することを特徴とする情報処理装置。
【請求項２】
前記複数の光線情報は、第一の視点位置に対応し、第一の座標系で定義される第一の光線情報と、前記第一の視点位置とは異なる第二の視点位置に対応し、前記第一の座標系とは異なる第二の座標系で定義される第二の光線情報とを含み、
前記合成手段は、前記第一の光線情報と前記第二の光線情報のうちの少なくとも一方を座標変換することで前記第一の光線情報と前記第二の光線情報の座標系を合わせ、前記座標系を合わせた前記第一の光線情報と前記第二の光線情報とを合成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記座標変換で用いる変換パラメータを導出する導出手段を更に有し、
前記合成手段は、前記導出手段によって導出された変換パラメータに基づいて前記座標変換を行うことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第一の光線情報および前記第二の光線情報の間で同一の被写体に対応する情報を特定する特定手段を更に有し、
前記導出手段は、前記特定された同一の被写体に対応する情報に基づいて、前記変換パラメータを導出することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記特定手段は、前記第一の座標系および前記第二の座標系において、同一の被写体に対応する直線を検出することで、前記同一の被写体に対応する情報を特定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記特定手段は、前記第一の光線情報および前記第二の光線情報をラドン変換し、前記ラドン変換の結果に基づいて前記対応する直線を検出することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記座標変換された光線情報に補間処理を行う補間手段を更に有し、
前記合成手段は、前記補間手段により補間処理された光線情報を合成することを特徴とする請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記合成された光線情報から画像データを生成する生成手段を更に有することを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
前記生成手段は、前記合成手段により前記合成された光線情報を、所定の被写体に対応する直線に基づく方向に積分することで、前記画像データを生成することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記光線情報は、光線が通過する２つの平面において、前記光線が通過する点の座標を示した情報であることを特徴とする請求項１乃至９のいずれか一項に記載の画像処理装置。
【請求項１１】
前記光線情報は、光線が通過するある平面における前記光線の座標と、前記光線の方向を示した情報であることを特徴とする請求項１乃至１０のいずれか一項に記載の画像処理装置。
【請求項１２】
共通の被写体を含む複数の異なるシーンにそれぞれ対応し、対応するシーンに含まれる被写体から入射される光線の方向と強度とを示す複数の光線情報を取得するステップと、
前記複数の光線情報の少なくとも一つを座標変換し、前記複数の光線情報を合成するステップとを含むことを特徴とする情報処理方法。
【請求項１３】
コンピュータを請求項１乃至１１のいずれか一項に記載の情報処理装置の各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光線情報を用いた画像処理に関する。
【背景技術】
【０００２】
従来の光学系に特殊な光学素子を追加した光学系を用いて撮像を行うことで、被写体から入射される光線の向きと強度の情報（ライトフィールドデータ）を取得する技術がある。そして、ライトフィールドデータを用いた画像処理により、撮像後の画像の合焦位置や被写界深度などを調整する技術（リフォーカス）がある（特許文献１）。
【０００３】
一方、従来の撮像系においては、画像を射影変換してから、画像同士を結合（スティッチ）して画角を拡大する手法が知られている（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許４７５２０３１号公報
【特許文献２】特許４３２４２７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
１台のカメラで一度に撮影できる画角は限られているので、広視野範囲にわたる一枚のＬＦデータを取得するためには、１台のカメラによる複数回撮影や、複数台のカメラによる撮影により取得されたライトフィールドデータをスティッチする必要がある。しかしながら、特許文献２のような手法を用いて画像同士のスティッチを行う技術は提案されているものの、異なる視点で得られた複数のライトフィールドデータのスティッチを行う技術は開示されていなかった。そこで、本発明は、異なるシーンで得られた複数のライトフィールドデータのスティッチを可能とすることを目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る情報処理装置は、複数の異なる視点位置にそれぞれ対応し、共通の被写体に関する情報を含む光線情報であって、被写体から対応する視点位置に入射される光線の方向と強度とを示す複数の光線情報を取得する取得手段と、前記複数の光線情報の少なくとも一つを座標変換し、前記座標変換した複数の光線情報を含む前記複数の光線情報を合成する合成手段とを有する。
【発明の効果】
【０００７】
異なる視点で得られた複数のライトフィールドデータのスティッチが可能となる。
【図面の簡単な説明】
【０００８】
【図１】実施例１のカメラおよび情報処理部の構成を示す図。
【図２】撮像部の構成を示す図。
【図３】ＬＦ座標を説明する図。
【図４】光線とＬＦ座標との関係を示す図。
【図５】ＬＦ座標上にプロットしたＬＦデータを示す図。
【図６】異なるＬＦカメラに入射する光線とＬＦ座標との関係を示す図。
【図７】実施例１の情報処理部で行われる処理の流れを示すフローチャート。
【図８】ラドン変換の概念を説明する図。
【図９】実施例１で行われる合成処理を説明する図。
【図１０】実施例１による視野範囲拡大を説明する図。
【図１１】ＬＦデータからの画像生成を説明する図。
【図１２】実施例２のカメラの構成を示す図。
【図１３】実施例２の情報処理部で行われる処理の流れを示すフローチャート。
【発明を実施するための形態】
【０００９】
＜実施例１＞
本実施例では、ＬＦデータを取得可能な撮像部を複数備えたカメラで取得されたＬＦデータを合成する場合について説明する。
【００１０】
図１は本実施例のカメラの構成を示す図である。本実施例のカメラ１００は、撮像部１０１ａおよび１０１ｂ、記憶部１０２、情報処理部１１０を備えている。また、情報処理部１１０は、取得部１０３、直線検出部１０４、対応線検出部１０５、パラメータ算出部１０６、座標変換部１０７、合成部１０８を有している。以下、カメラ１００の各構成部について順に説明する。
【００１１】
撮像部１０１ａおよび撮像部１０１ｂは、複数のレンズ及び、ＣＭＯＳやＣＣＤなどの撮像素子などから構成される。そして、被写体から入射される光線の方向と強度との光線情報を示すデータ（以下、ライトフィールドデータ、或いはＬＦデータとも呼ぶ）を取得するカメラユニットである。各撮像部はカメラ１００本体から着脱可能に構成されており、様々な視点の組み合わせで撮像を行うことが可能である。各撮像部はそれぞれ、複数の微小な凸レンズを二次元に並べたマイクロレンズアレイを撮像レンズと撮像素子との間に配置したプレノプティックカメラである。なお、撮像部１０１ａおよび撮像部１０１ｂはそれぞれ同一の構成のカメラユニットであるとするが、ＬＦデータを取得可能な構成であればどのような構成を取ってもよい。例えば、複数のカメラユニットを所定のパターンで配置したカメラユニットを少なくとも２つ有する多眼カメラであってもよい。撮像部１０１ａの構成の詳細については後述する。
【００１２】
記憶部１０２は、撮像部１０１ａおよび１０１ｂで取得されたＬＦデータや、情報処理部１１０で合成されたＬＦデータを記憶することができる、メモリカードやＨＤＤなどの不揮発性の記憶媒体である。記憶部１０２としては、データを記憶可能な記憶媒体であればどのようなものを用いてもよく、インターネットを通じて接続された外部記憶装置であってもよい。
【００１３】
図１（ｂ）は情報処理部１１０の構成を示す図である。情報処理部１１０は、ＣＰＵ１１１、ＲＡＭ１１２およびＲＯＭ１１３を有し、ＲＯＭ１１３に格納されたプログラムをＣＰＵ１１１がＲＡＭ１１２をワークエリアとして実行することで、図１（ａ）に示す角手段としての役割を果たす。なお、情報処理部１１０の構成はこれに限られず、図１（ａ）に示す各構成部の機能を持つ処理回路を有していてもよい。以上が本実施例のカメラ１００の構成の概要である。次に、撮像部１０１ａおよび撮像部１０１ｂの構成と役割の詳細について述べる。撮像部１０１ａと撮像部１０１ｂはそれぞれ同様の構成であるので、ここでは撮像部１０１ａの構成についてのみ述べる。
【００１４】
図２（ａ）は、撮像部１０１ａの内部構成を表す図である。撮像部１０１ａは撮像レンズ２０１〜２０３、開口絞り２０４、シャッター２０５、マイクロレンズアレイ２０６、光学ローパスフィルタ２０７、ＩＲカットフィルタ２０８、カラーフィルタ２０９、撮像素子２１０およびＡ／Ｄ変換部２１１で構成される。撮像レンズ２０１〜２０３はそれぞれ、ズームレンズ２０１、フォーカスレンズ２０２、２０３である。撮像部１０１ａに入射される光量や、撮像部１０１ａで取得される画像の被写界深度は、開口絞り２０４（以下、単に絞りと呼ぶ）を調整することにより調整することができる。マイクロレンズアレイ２０６は、ＬＦデータを取得するために設けられた、入射する光線をその入射方向に応じて分割する機能を有するものであり、撮像素子２１０の直前に配置されている不図示の集光用マイクロレンズアレイとは異なるものである。一般的に集光用のマイクロレンズアレイでは撮像素子の一画素に付き一つのレンズが配置されているが、ＬＦデータ取得用のマイクロレンズアレイでは、複数の画素について一つのレンズ（例えば、１６の画素に一つのレンズ）が配置される。なお、ＬＦデータ取得用マイクロレンズアレイ２０６の各レンズは、その大きさに関わらず全てマイクロレンズと呼ぶこととする。
【００１５】
図２（ｂ）を用いて、マイクロレンズアレイ２０６を用いたＬＦデータの取得方法を説明する。ＬＦデータとは、前述のように、被写体から入射される光線の方向と強度とを示すデータのことである。図２（ｂ）において、ズームレンズ２０１およびフォーカスレンズ２０２〜２０３は、まとめて１枚のメインレンズ２１２として概念的に表わされており、マイクロレンズアレイ２０６は、メインレンズ２１２のピント面に配置されている。マイクロレンズアレイ２０６をメインレンズ２１２のピント面に配置すると、マイクロレンズアレイ２０６で結像した光は、それぞれその光が入射した方向に応じて異なる画素に入射される。例えば、図２（ｂ）においては、同じ被写体から射出された光であってもメインレンズ２１２の上半分を通った光である光線２１３は画素２２３に入射し、メインレンズ２１２の下半分を通った光である光線２１４は画素２２４に入射する。
【００１６】
このように、各画素にはメインレンズのある領域を通った光が選択的に入射されるため、その画素の画素値と画素位置から、入射された光の方向に対応する入射光の強度を得ることができる。なお、入射光の方向の分解能はマイクロレンズアレイに含まれるマイクロレンズの大きさに依存する。例えば、マイクロレンズが２×２＝４画素に対して１つの割合で設けられている場合は、光線の方向を、メインレンズの左上を通った光線、右上を通った光線、左下を通った光線、右下を通った光線の４つに分解することができる。同様に、マイクロレンズが４×４＝１６画素に対して１つの割合で設けられている場合は、１６の方向に分解することができる。すなわち、マイクロレンズが小さい場合、光線の方向分解能を高めることは困難である。そこで、本実施例においては線型補間などの補間処理によって、疎なデータであるＬＦデータを密なＬＦデータに変換する処理を行っている。なお、ＬＦデータを得るための撮像部はプレノプティックカメラに限定されるものではなく、異なる方向から入射された光線を弁別することができるものであればどのような構成でもよい。例えば、複数のカメラユニットを有し、異なる視点から同時撮像を行うことができる多眼カメラなどでもよい。
【００１７】
［ＬＦ座標の定義］
本実施例では、上記の撮像部により複数のシーンについて得られたＬＦデータを、ライトフィールド座標（以下、ＬＦ座標とする）上で合成する。以下、その原理について説明する。まず、ＬＦ座標の定義について述べる。
【００１８】
ＬＦデータとは、光線の方向と強度を示すデータであるため、光線の方向と強度をそれぞれ示す複数のスカラー値を持つ多次元のベクトルとして表現される。ある光線の方向は、図３に示されるように、光線とその光線が交わる二つの平行な平面との交点の座標により定義することができる。光線が通過する１枚目の平面をｕ平面、光線が通過する２枚目の平面をｘ平面とし、光線とｕ平面との交点の座標を（ｕ，ｖ），光線とｘ平面との交点の座標を（ｘ，ｙ）とすると、ある光線の方向はベクトル（ｕ，ｖ，ｘ，ｙ）として表わされる。ＬＦデータはある一本の光線に対応する強度を示すデータであるため、光線の強度をＬとすると、ＬＦデータはＬ（ｕ，ｖ，ｘ，ｙ）、つまり、ｕ軸、ｖ軸、ｘ軸、ｙ軸で表現される四次元空間における、各点に対応する強度として表現される。そこで、本実施例においては、上記ｕ軸、ｖ軸、ｘ軸、ｙ軸で規定される四次元座標のことをＬＦ座標と呼ぶ。なお、ＬＦ座標の表現は上記に限られず、例えば、光線とｕ平面との交点（ｕ，ｖ）と、点（ｕ，ｖ）からの光線の射出角度である（θ，φ）により表現してもよい。
【００１９】
［ＬＦ座標上での見え方］
次に、被写体のある１点から出た光線の集合が、ＬＦ座標上でどのようにマッピングされるのかを、図４を用いて説明する。平面４０１および平面４０２は三次元空間において仮想的に設置された互いに平行な仮想平面であり、それぞれｕ平面、ｘ平面と呼ぶことにする。本来ｕ平面４０１、ｘ平面４０２は二次元平面であるが、ここでは図示の都合上一次元で表現する。
【００２０】
図４（ａ）は、三次元空間中に被写体４０３と被写体４０４が配置されており、撮像部１０１ａが被写体４０３および４０４を含む空間のＬＦデータを取得する状況を示している。光線４０５、４０６は被写体４０３から出た光線であり、光線がｕ平面４０１、ｘ平面４０２を通った位置を（ｕ，ｘ）のようにペアで表すと、光線４０５は（ｕ３，ｘ３）を、光線４０６は（ｕ３，ｘ４）をそれぞれ通過する。これを、図４（ｂ）に示すように、ｕを縦軸に、ｘを横軸にとったＬＦ座標上にプロットすると、それぞれ点４１０、４１１にプロットされる。即ち一本の光線はＬＦ座標上では一点に対応する。光線４０７および４０８は被写体４０４から出た光線であり、光線４０７は（ｕ１，ｘ１）を、光線４０８は（ｕ２，ｘ２）をそれぞれ通過する。これをＬＦ座標上にプロットすると、それぞれ点４１２、４１３にプロットされる。
【００２１】
図４（ｂ）を見ると分かるように、被写体のある点から出た各光線に対応する全ての点は、ＬＦ座標上では一本の直線上にプロットされる。例えば被写体４０３のある一点から出た光線に対応する点は全て直線４１４上にプロットされ、被写体４０４のある一点から出た光線に対応する点は全て直線４１５上に乗る。この直線の傾きは、ｕ平面４０１から被写体までの距離によって変化する。なお、ここでは、ｕ平面とｘ平面の次元をそれぞれ一次元ずつ落として表現した二次元空間のＬＦ座標で考えたため、同一の点から射出された全ての光線は一本の直線上にプロットされた。しかしながら、これを実際の四次元のＬＦ座標で考えると、被写体のある一点から出た光線に対応する点は、全て一つの平面上にプロットされることになる。
【００２２】
図５は、実際にどのようなＬＦデータが取得できるのかを、二次元空間のＬＦ座標で表したものである。図５に示すＬＦデータにおいては、ｕ平面をメインレンズ２１２の主面、ｘ平面を撮像センサ面としている。図５右側の直線群５０１は、撮像部１０１ａの合焦位置に存在する被写体に対応する直線群である。撮像部１０１ａのピント面に存在する被写体から射出される光線は、メインレンズ２１２上で通過する点によらずに、撮像センサ上の狭い範囲に集まるので、ほぼｕ軸に平行な直線上にプロットされる。また、図５左側の直線群５０２は、撮像部１０１ａの合焦位置から少し外れた位置に存在する被写体に対応する直線群である。合焦位置からずれた位置に存在する被写体から射出される光線は、メインレンズ２１２上で通過する点によって撮像センサ上に入射する位置がずれるので、このように直線群５０１よりも傾きの大きな直線を描く。
【００２３】
［ＬＦデータ間のマッチング］
次に、同一の被写体を含む異なるシーンで取得されたＬＦデータを合成するにあたって、異なる２つのＬＦデータ間でマッチングを行う方法について説明する。図６は、視点の位置および向きが異なる二台のライトフィールドカメラ（ＬＦカメラ）でＬＦデータを取得する例を示す図である。図６（ａ）はある被写体から射出される光線が、異なる二台のＬＦカメラにどのように入射されるかを示す図である。光線６０２および光線６０３は被写体６０１から射出された光線であり、光線６０２は、ＬＦカメラ６２０の撮像面に平行なｕ平面６０４およびｘ平面６０５を通過する。また、光線６０３はＬＦカメラ６２１の撮像面に平行なｕ’平面６０６およびｘ’平面６０７を通過する。これらの光線をそれぞれ二次元のＬＦ座標上にプロットしたものが図６（ｂ）である。
【００２４】
図６（ｂ）において、点６１０は、光線６０２をｕ平面６０４およびｘ平面６０５における通過点の座標に基づいてプロットしたものであり、点６１２は、光線６０３をｕ’平面６０６およびｘ’平面６０７における通過点に基づいてプロットしたものである。図６（ｂ）において、直線６１１は被写体６０１から出るすべての光線をＬＦカメラ６２０のＬＦ座標であるｕｘ平面上でプロットしたものである。一方、直線６１２は、被写体６０１から出る全ての光線を、ＬＦカメラ６２１のＬＦ座標であるｕ’ｘ’平面上でプロットしたものである。このように、上記示した直線６１１および直線６１３は、それぞれ別の座標系で表現されている直線ではあるが、どちらも同じ被写体に対応する直線である。つまり、異なるシーンで取得されたＬＦデータを合成するためには、直線６１１および直線６１３のような対応する直線をそれぞれのＬＦ座標上で検出し、それぞれが重なるように二つのＬＦデータのどちらか一方を座標変換すればよい。なお、繰返すが、実際のマッチングは四次元空間で示されるＬＦデータ間で行われるため、実際の変換においては対応する平面が重なるように座標変換がおこなわれる。しかし、平面ではなく直線のみに注目して座標変換を行う場合でも、複数組の対応直線が重なるように座標変換のパラメータを求めれば、平面が重なるような座標変換を行う場合と同様の座標変換を行うことが可能である。そこで、本実施例では後者の方法を用い、ｕｘ平面およびｕ’ｘ’平面における対応直線が重なるような座標変換を行う。
【００２５】
［処理の詳細］
以上が本実施例のカメラ１００で行われるＬＦデータ合成処理の概要である。以下、本実施例の情報処理部１１０で行われる処理の詳細について、図７に示すフローチャートを参照して説明する。本実施例のＲＯＭ１１３には図７のフローチャートに示すプログラムが格納されており、情報処理部１１０は、ＣＰＵ１１１がそのプログラムを実行することで、以下のステップの処理を行う。
【００２６】
Ｓ７０１では、取得部１０３が、撮像部１０１ａおよび１０１ｂから、それぞれの撮像部で取得されたＬＦデータを取得する。撮像部１０１ａによって取得されたＬＦデータをＬＦデータＡ、撮像部１０１ｂによって取得されたＬＦデータをＬＦデータＢとする。取得部１０３は、ここで取得したＬＦデータＡおよびＬＦデータＢを、それぞれ直線検出部１０４に出力する。
【００２７】
Ｓ７０２では、直線検出部１０４が、取得部１０３から出力されたＬＦデータＡおよびＬＦデータＢについて、それぞれのＬＦデータ内に存在する直線を検出する。ここで、直線を検出する平面として、ｙおよびｖを固定したｕｘ平面を用いる。なお、ｘおよびｕを固定したｙｖ平面で直線の検出を行ってもよい。以下、本実施例における直線検出の方法について説明する。
【００２８】
本実施例における直線検出にはラドン変換を用いる。ｕｘ平面におけるラドン変換は以下の式で定義される。
【００２９】
【数１】
2015119395.tif 000003
【００３０】
ラドン変換の概念図を図８に示す。図８（ａ）はＬＦデータ８０１をラドン変換する様子を表している。矢印８０２は積分を行う方向であり、座標軸ＵＸは座標軸ｕｘを回転角θだけ回転させたものである。ラドン変換では回転角θを変えることで座標軸ＵＸを回転させ、次にＵ方向にＬの値を積分する。図８（ｂ）はＬＦデータ８０１を式（１）に基づいてラドン変換した概念図である。ＬＦデータ８０１には直線が含まれているので、直線に相当した傾きθ０の場所にピークが現れ、それ以外の部分では小さい値になる。このピークのｘθ平面における位置に基づいて、検出した直線の傾きおよび切片を求めることができる。このステップでは、直線検出部１０４が、式１のｆ（ｕ，ｘ）としてＬＦデータＡに対応するＬ（ｕ，ｘ）とＬＦデータＢに対応するＬ（ｕ’，ｘ’）を（１）に代入し、ラドン変換を行った結果の関数からピークを検出する。そして、検出されたピークの位置から、そのピークに対応する直線の傾きおよび切片を算出し、算出した傾きと切片、そして検出された直線上にマッピングされている点の平均強度を対応線検出部１０５に出力する。なお、ピークの検出は公知の技術を用いることができ、本実施例においては、ラドン変換されたＬＦデータをθおよびＸでそれぞれ微分して、微分値の正負が反転する点をピークとして検出する。
【００３１】
Ｓ７０３では、対応線検出部１０５が、直線検出部１０４から出力された直線の強度に基づいて、対応する直線を検出する。本実施例のＬはカラー画像を撮影可能なカメラにより取得されているので、Ｒ、Ｇ、Ｂの３つの画素値を持っている。ＬＦデータＡおよびＬＦデータＢのそれぞれで検出された直線に対応する３つの画素値同士で差分二乗和を取り、その値が最も小さくなる直線の組を対応する直線として検出する。なお、ここで比較する値は３つの画素値に限られず、画像の輝度に対応する成分であってもいいし、ラドン変換されたＬＦデータ上で描かれるパターンの類似度に基づいて対応する直線を決定してもよい。
【００３２】
Ｓ７０４では、パラメータ算出部１０６が、対応線検出部１０５から出力された、対応する直線の式に基づいて、ＬＦデータＡおよびＬＦデータＢを座標変換するための変換パラメータを算出する。以下、その方法について説明する。
【００３３】
図６（ａ）において、被写体６０１のＬＦカメラ６２０におけるカメラ座標を（Ｘｏｂｊ，Ｙｏｂｊ，Ｚｏｂｊ）とし、ｕ平面６０４およびｘ平面６０５の間の距離をｄとする。ここで、カメラ座標とは、ｘ平面６０５上に原点をとり、カメラの光軸方向をｚ軸に、ｚ軸に対して垂直な面内にｘ，ｙ軸をとったものであるとする。通常のカメラ座標ではカメラの主点位置を原点とするが、ここでは後の計算の便宜上、ｘ平面６０５上に原点をとる。ｄは既知の量である。α＝Ｚｏｂｊ／ｄとして、被写体の存在する点を点Ａ、光線６０２とｕ平面６０４およびｘ平面６０５との交点をそれぞれ点Ｂ（ｕ，ｖ）、点Ｃ（ｘ，ｙ）とすると、点Ａは線分ＢＣを１：α−１に外分する点なので、各座標間に以下の関係が成り立つ。
【００３４】
【数２】
2015119395.tif 000004
【００３５】
これが直線６１１に対応している。ＬＦ座標上における直線６１１の傾きと切片を式２に代入して計算すると、α，Ｘｏｂｊ，Ｙｏｂｊを求めることができる。また、ここでｄは既知なので、α＝Ｚｏｂｊ／ｄより、被写体のカメラ座標（Ｘｏｂｊ，Ｙｏｂｊ，Ｚｏｂｊ）を求めることができる。また、同様の計算をＬＦカメラ６２１により取得されたＬＦデータについても行うことで、ＬＦカメラ６２１から見た被写体６０１のカメラ座標（Ｘ’ｏｂｊ，Ｙ’ｏｂｊ，Ｚ’ｏｂｊ）についても求めることができる。
【００３６】
各ＬＦカメラのカメラ座標間の回転を表す回転行列をＲ、並進ベクトルをｔとすると、ＬＦカメラ６２０と６２１のカメラ座標を結び付ける変換は以下の式で表わされる。
【００３７】
【数３】
2015119395.tif 000005
【００３８】
となる。ここで、太字ＸｏｂｊおよびＸ’ｏｂｊは、それぞれＬＦカメラ６２０と６２１から見た被写体のカメラ座標を示すベクトルである。式（３）において、回転行列の独立なパラメータは３つであり、並進ベクトルの独立なパラメータも３つで未知数は６個あるので、６つ以上の方程式があれば、各パラメータを求めることができる。式（３）は独立な方程式を３つ含むので、対応する被写体の組を２つ以上求めれば３×２＝６つの方程式を立てることができ、回転行列Ｒおよび並進ベクトルｔを求めることができる。
【００３９】
以上が座標変換の変換パラメータを算出する方法である。このステップでは、前述のＬＦカメラ６２０を撮像部１０１ａに、ＬＦカメラ６２１を撮像部１０１ｂに置き換え、パラメータ算出部１０６が、対応線検出部から出力された対応直線の傾きおよび切片を式（２）に代入することで複数の被写体の座標を算出する。そして、算出した被写体の座標を式（３）に代入することで回転行列Ｒおよび並進ベクトルｔを求め、求めたＲおよびｔを座標変換部１０７に出力する。
【００４０】
Ｓ７０５では、座標変換部１０７が、パラメータ算出部１０６から出力された回転行列Ｒおよび並進ベクトルｔを示す情報に基づいて、ＬＦデータＡを座標変換する。以下、その方法について説明する。図６（ａ）において、ｕ平面６０４（ｕ，ｖ）、ｘ平面６０５（ｘ，ｙ）を通る光線６０２の、ＬＦカメラ６２０のカメラ座標における方程式は以下の式で表すことができる。以下の式において、（Ｘ，Ｙ，Ｚ）は光線６０２上の任意の点のカメラ座標を示す。
【００４１】
【数４】
2015119395.tif 000006
【００４２】
ここで、ｓは適当な変数である。ＬＦカメラ６２０とＬＦカメラ６２１の位置関係から、光線６０３上の任意の点のカメラ座標を（Ｘ’，Ｙ’，Ｚ’）とすると、光線６０３のカメラ座標における方程式は、回転行列Ｒと並進ベクトルｔを用いて以下の式で表わされる。
【００４３】
【数５】
2015119395.tif 000007
【００４４】
光線６０２をＬＦカメラ６２１のＬＦ座標上にプロットするためには、光線６０２とｕ’平面６０６およびｘ’平面６０７との交点を求めればよい。ｕ’平面６０６はＺ’＝ｄにあるので、光線６０２とｕ’平面６０６との交点はＺ’＝ｄと置くことで求めることができる。その時のｓは式（５）のｚ成分の式より、
【００４５】
【数６】
2015119395.tif 000008
【００４６】
と導くことができる。ここで、添え字の「３」はベクトルのｚ要素を表している。式（６）で求めたｓｕを式（５）に代入することにより、光線６０２とｕ’平面６０６との交点である（ｕ’，ｖ’）の座標を、
【００４７】
【数７】
2015119395.tif 000009
【００４８】
と求めることができる。
【００４９】
一方、上記式においてｘ’平面６０７はＺ’＝０にあるので、光線６０２とｘ’平面の交点はＺ’＝０と置くことで求めることができる。ｕ’平面との交点を求めた場合と同様に、ｓの値を
【００５０】
【数８】
2015119395.tif 000010
【００５１】
と導くことができる。そして、式（８）で求めたｓｘを式（７）に代入することにより、光線６０２とｘ’平面６０７との交点である（ｘ’，ｙ’）の座標を
【００５２】
【数９】
2015119395.tif 000011
【００５３】
と求めることができる。上記の式（８）および（９）を用いることによって、ＬＦデータＡを、座標系（ｕ，ｖ，ｘ，ｙ）からＬＦデータＢの座標系（ｕ’，ｖ’，ｘ’，ｙ’）へと変換することができる。このステップでは、座標変換部１０７が、ＬＦデータＡの各成分の座標（ｕ，ｖ，ｘ，ｙ）およびパラメータ算出部１０６から出力されたＲとｔを式（６）〜（９）に代入し、座標変換後のＬＦデータであるＬＦデータＣを得る。
【００５４】
Ｓ７０６では、座標変換部１０７がＳ７０５で得られたＬＦデータＣのサンプリング間隔を補間処理により調整する。本実施例においてＬＦデータＡおよびＬＦデータＢは、それぞれのＬＦ座標上で、Δのサンプリング間隔で取得されている。そのため、各サンプリング点は一定の間隔で規則的に並ぶ。しかし、上記のような座標変換を行った場合、一般に変換後のサンプリング点は上記の規則にそぐわない位置に変換される。そこで、このステップにおいて、座標変換部１０７が、ＬＦデータＣの各サンプリング点をＬＦデータＢのサンプリング点の間隔に合わせる補正を行う。具体的には、ＬＦデータＢのサンプリング規則に合う点を格子点と呼ぶと、座標変換後のＬＦデータＣにおいて、ある格子点に強度値Ｌが格納されていない場合は、そのＬの値を、強度値Ｌが格納されている周囲の点の位置と強度値に基づいて線型補間する。なお、補間対象の点の座標を（ｕｃ，ｖｃ，ｘｃ，ｙｃ）とし、補間に用いる周囲の点の座標（ｕｓ，ｖｓ，ｘｓ，ｙｓ）とすると、補間に用いる周囲の点は、以下の関係を全て満たす点である。
【００５５】
【数１０】
2015119395.tif 000012
【００５６】
全ての格子点の補間が終了したら、格子点以外の点のデータを削除する。座標変換部１０７は、上記の関係に基づいてＬＦデータＣのサンプリング間隔を調整し、サンプリング間隔の調整が終了したＬＦデータＣ’を合成部１０８に出力する。なお、ここで行われる補間は線型補間に限られず、様々な補間処理を用いることができる。また、ここでは格子点以外の点のデータを削除したが、格子点以外の点のデータを削除せずに、そのまま保持していてもよい。
【００５７】
Ｓ７０７では、合成部１０８が、ＬＦデータＢとＬＦデータＣ’の合成を行い、記憶部１０２に出力して処理を終了する。ここでの合成処理の概要を図９に示す。図９では、ＬＦデータＢに対応するＬＦデータ９０１と、ＬＦデータＣに対応するＬＦデータ９０２が合成されている。この際、ＬＦデータ９０２は、ＬＦデータＣ’に対応するＬＦデータ９０３として座標変換され、ＬＦデータ９０１と合成される。このようにすれば、同じ被写体に対応する直線が重なるように合成され、２つのシーンで取得されたライトフィールドのスティッチを行うことができる。なお、合成において、２つのＬＦデータが重なる領域に関しては、補間により生成された値ではない、ＬＦデータＢの値が優先される。なお、もちろん、重なる領域のＬの値をＬＦデータＢのＬの値とＬＦデータＣ’のＬの値の平均として求めてもよい。
【００５８】
なお、本実施例において、取得部１０３は複数の異なる視点位置にそれぞれ対応し、共通の被写体に関する情報を含む光線情報であって、被写体から対応する視点位置に入射される光線の方向と強度とを示す複数の光線情報を取得する取得手段として機能する。また、座標変換部１０７および合成部１０８は、前記複数の光線情報の少なくとも一つを座標変換し、前記複数の光線情報を合成する合成手段として機能する。また、パラメータ算出部１０６は、前記座標変換で用いる変換パラメータを導出する導出手段として機能する。また、対応線検出部１０５は、第一の光線情報および前記第二の光線情報の間で同一の被写体に対応する情報を特定する特定手段として機能する。
【００５９】
以上が、本実施例の情報処理部１１０で行われる処理である。以上の処理によれば複数の異なるシーンで取得されたＬＦデータをスティッチすることが可能となる。例えば、図１０に示すような場合を考える。図１０において、ＬＦカメラ６２０は、直線１００３と１００４で囲まれた画角範囲を有し、その画角範囲内でＬＦカメラ６２０向かう光線の向きと強度の情報を取得することができる。同様に、ＬＦカメラ６２１は、直線１００５と１００６で囲まれた画角範囲を有し、その画角範囲内でＬＦカメラ６２１に向かう光線の向きと強度の情報を取得することができる。通常、被写体１００１はＬＦカメラ６２１の画角範囲外に存在するため、ＬＦカメラ６２１は被写体１００１から射出される光線１００７の情報を取得することができない。しかしながら、本発明を適用することにより、ＬＦカメラ６２１のＬＦ座標上に、光線１００７の情報をマッピングすることができるようになる。また、同様にして、本発明を適用することによりＬＦカメラ６２０のＬＦ座標上に、被写体１００２から射出される光線１００８の情報をマッピングすることができる。このように、本発明によれば、複数のシーンで取得されたＬＦデータを全て同一の座標系で取り扱うことができるので、リフォーカスなどのＬＦデータを用いる画像処理を広い範囲で統一的に行うことができるようになる。
【００６０】
＜実施例２＞
実施例１ではＬＦデータをスティッチする技術について説明したが、本実施例では、スティッチにより得られたＬＦデータを用いてリフォーカス画像を生成する処理について説明する。まず、ＬＦデータからリフォーカス画像を生成する原理について述べる。
【００６１】
ＬＦ座標で規定されているＬＦデータは、通常のカメラで撮像した場合の画像データに変換することが可能である。通常のカメラで撮像した場合の画像データとは、二次元平面内の各点（ｘ，ｙ）それぞれに対してスカラー値（画素値Ｉ）が対応しているデータ群により構成される。ＬＦデータは元をたどれば撮像センサの画素値から得られたものであるので、Ｌ（ｕ，ｖ，ｘ，ｙ）で表わされるＬＦデータを、ｕ方向とｖ方向に積分することで、Ｉ（ｘ，ｙ）に変換することができる。この時の積分の方法により、合焦位置や被写界深度など、画像データの合焦状態を自由に変化させることができる。図１１に、その例を示す。図１１（ａ）は図５と同じ図であり、メインレンズ２１２の主面をｕ平面、撮像センサ面をｘ平面として取得されたＬＦデータである。前述のように本来四次元であるＬＦ座標を二次元に落とし込んで示している。図１１（ｂ）および図１１（ｃ）は、それぞれ図１１（ａ）を直線群５０１の方向に積分して得られた画像と、図１１（ａ）を直線群５０２の方向に積分して得られた画像である。なお、ここで示す画像は本来一次元の画像であるが、図示の都合上、上下方向に幅を持たせて示している。
【００６２】
直線群５０１の方向に積分して得られた画像である図１１（ｂ）では、直線群５０１に対応する被写体にピントがあっており、直線群５０２に対応する被写体がぼけて表示されている。一方、直線群５０２の方向に積分して得られた画像である図１１（ｃ）では、直線群５０２に対応する被写体にピントが合っており、直線群５０１に対応する被写体がぼけて表示されている。このように、ピントを合わせたい被写体に対応する直線（四次元のＬＦ座標においては平面）の方向に積分を行うことで、所望の被写体に合焦した画像を得ることができる。また、この時の積分範囲の広さによって、画像の被写界深度も変更することができる。例えば、積分範囲を広くすると、広い範囲を通った光線により形成された画像が得られるため、開口の大きいカメラで撮影されたような被写界深度の浅い画像が得られる。一方、積分範囲を狭くすると、狭い範囲を通った光線により形成された画像が得られるため、開口の小さいカメラで撮影されたような被写界深度の深い画像が得られる。
【００６３】
以上が、ＬＦデータからリフォーカス画像を生成する原理である。次に、本実施例のカメラ１００の構成について説明する。図１２は、本実施例のカメラ１００の構成を示すブロック図である。本実施例のカメラ１００は、実施例１の構成に加えて新たに操作部１２０１を有し、情報処理部１１０は新たに合焦状態設定部１２０２と画像生成部１２０３としての機能を有する。操作部１２０１は、カメラ１００が有する不図示の表示部に重畳されたタッチパネルであり、ユーザによるタッチ操作によりリフォーカス処理における合焦位置や被写界深度を設定することができる。なお、操作部１２０１の形態はタッチパネルに限られずボタンやモードダイヤルなど、ユーザの指示を入力することができるものであればどのようなものであってもよい。
【００６４】
以下、本実施例のカメラ１００で行われる処理について、図１３に示すフローチャートを参照して説明する。本実施例のＲＯＭ１１３には図１３のフローチャートに示すプログラムが格納されており、情報処理部１１０は、ＣＰＵ１１１がそのプログラムを実行することで、以下のステップの処理を行う。なお、実施例１と同様の処理については、同様の符号を付して説明を省略する。
【００６５】
Ｓ１３０１では、合焦状態設定部１２０２が、操作部１２０１の操作により入力されたユーザ指示に基づいて、生成する画像データの合焦状態を設定し、設定した合焦状態を画像生成部１２０３に出力する。このステップでは、ユーザは表示部に表示された画像を見ながら、ピントを合わせたい被写体をタッチすることにより行う。合焦状態設定部１２０２は、操作部１２０１においてタッチされた点に基づいて、ピントを合わせる被写体に対応する画素位置を検出し、画像生成部１２０３に出力する。なお、ここでユーザが合焦状態を設定する際に表示部に表示される画像は、撮像部１０１ａおよび撮像部１０１ｂで撮像された画像を単純に並べたものであってもよいし、合成されたＬＦデータから生成されたパンフォーカス画像であってもよい。なお、パンフォーカス画像は、合成されたＬＦデータにおいて、ある一枚のｘｙ平面を抜き出すことによって生成することができる。なお、ここで、ユーザが仮想絞りの径を選択できるようにして、被写界深度の設定も行えるようにしてもよい。また、被写体の画素位置ではなく、合焦する被写体までの距離などをユーザが数字で設定できるようにして、それを画像生成部１２０３に出力できるようにしてもよい。
【００６６】
Ｓ１３０２では、画像生成部１２０３が、合焦状態設定部１２０２から出力された合焦状態に基づいて、合焦する被写体に対応する直線の傾きを取得する。このステップでは、画像生成部１２０３が、合焦状態設定部１２０２から出力された被写体の画素位置に基づいて、合焦する被写体に対応する直線を検出する。合焦する被写体の画素位置を（ｘｐ，ｙｐ）とした時、画像生成部１２０３は、ｙ＝ｙｐとして固定したｕｘ平面において、直線ｘ＝ｘｐと交わる直線を、合焦する被写体に対応する直線として検出する。なお、ｘ＝ｘｐと交わる直線が複数ある場合には、その交点のｕ座標の値が、ｕ軸方向の描画範囲の中心に近い方の直線を合焦する被写体に対応する直線として検出する。これにより、カメラの中心視点から見た画像において合焦被写体を選択した場合に、所望の被写体がより正確に選択されるようになる。画像生成部１２０３は、ｙ＝ｙｐとして固定したｕｘ平面においてＬＦデータをラドン変換し、検出された対応直線の傾きを取得する。なお、ここで用いる対応直線の検出方法としては他の方法を用いてもよい。
【００６７】
Ｓ１３０３では、画像生成部１２０３が、Ｓ１３０２で取得された傾きに基づいてＬＦデータの積分を行い、リフォーカス画像データを生成する。
【００６８】
図４において、ｘ平面４０２のｚ座標を０、ｕ平面４０１のｚ座標をｄ、ピントを合わせたい平面のｚ座標をｄｐｉｎｔとすると、実施例１で説明したように、ｚ＝ｄｐｉｎｔ上にある点から出た光線は、全て直線
【００６９】
【数１１】
2015119395.tif 000013
【００７０】
上に乗る。ここで、（Ｘ，Ｙ）は、ｕ平面の点（ｕ，ｖ）およびｘ平面の点（ｘ，ｙ）を通る光線がピント面と交わる点の座標をカメラ座標で示すものである。ｚ＝ｄｐｉｎｔにピントが合った画像を得るには、式（１１）で表される平面の接ベクトル（１−α，１−α，−α，−α）の方向に、ｕおよびｖについてＬＦデータを積分すればよい。ｘ平面４０２とＬＦカメラの距離をＫ、ＬＦカメラのメインレンズ２１２のＦ値をＦとすると、ｘ平面４０２上では、ＬＦカメラは、図１１より［−Ｋ／Ｆ，Ｋ／Ｆ］の範囲のライトフィールドを取得することになる。よって、ｚ＝ｄｐｉｎｔの位置に形成される画像Ｉ（Ｘ，Ｙ）は以下の式で表わされる。
【００７１】
【数１２】
2015119395.tif 000014
【００７２】
なお、ここでＦの値を変化させることによって、得られる画像データの被写界深度を変化させることができる。画像生成部１２０３は、Ｓ１３０２で取得された直線の傾きを式（１１）に代入してαの値を求め、導出したαおよび、スティッチしたＬＦデータの値を式（１２）に代入して、Ｉ（Ｘ，Ｙ）を得る。なお、ここで得られる（Ｘ，Ｙ）は実空間のカメラ座標で表わされる座標であるため、画像生成部１２０３は、これを撮像センサの画素ピッチに基づいて拡縮したものを画像データとして出力する。
【００７３】
なお、本実施例において、取得部１０３は複数の異なる視点位置にそれぞれ対応し、共通の被写体に関する情報を含む光線情報であって、被写体から対応する視点位置に入射される光線の方向と強度とを示す複数の光線情報を取得する取得手段として機能する。また、座標変換部１０７および合成部１０８は、前記複数の光線情報の少なくとも一つを座標変換し、前記複数の光線情報を合成する合成手段として機能する。また、パラメータ算出部１０６は、前記座標変換で用いる変換パラメータを導出する導出手段として機能する。また、対応線検出部１０５は、第一の光線情報および前記第二の光線情報の間で同一の被写体に対応する情報を特定する特定手段として機能する。また、画像生成部１２０３は、前記合成された光線情報から画像データを生成する生成手段として機能する。
【００７４】
以上が、本実施例の情報処理部１１０で行われる処理である。以上の処理によれば、スティッチしたＬＦデータを用いて任意の合焦状態の画像データを得ることができる。従来の技術を用いた場合では、共通の被写体を含む複数の異なるシーンをつなぎ合わせたリフォーカス画像を得る場合に、任意のピント位置でリフォーカスされた画像同士をその都度つなぎ合わせる必要があった。これは各カメラの位置情報や、各カメラからの被写体の距離情報を計算する煩雑な処理が必要であったが、上記のようにスティッチしたＬＦデータを用いてリフォーカス画像を生成すれば、そのような処理を行わずに広範囲のリフォーカス画像を得ることができる。
【００７５】
＜その他の実施形態＞
なお、本発明の実施形態は上記の実施例に限られるものではない。例えば実施例２のＳ１３０２で取得された直線の傾きから、式（１１）に基づいて被写体の距離情報を求めるようにしてもよい。また、スティッチしたＬＦデータの画角内の全画素について距離情報を予め求めておき、その情報をリフォーカス処理に用いるようにするとより処理が高速化できる。また、リフォーカス画像を生成する方法は実施例２の方法に限られず、四次元のＬＦデータをフーリエ変換してそこからピント面に対応する二次元データを切り出して逆フーリエ変換する方法を用いてもよい。
【００７６】
また、上記の実施例ではＬＦデータのスティッチを行ったが、光線の方向および強度を示す情報であれば、上記実施例で定義される他の光線情報について本発明を適用してもよい。また、上記の実施例ではＬＦデータにおいて対応する直線を検出して座標変換のパラメータを求めたが、２つのＬＦデータの対応関係を規定する方法であれば他のどのような方法を用いてもよい。例えば、座標変換パラメータを変化させながらＬＦデータ同士のマッチングを行い、マッチング誤差の最も小さい座標変換パラメータを用いるようにしてもよい。
【００７７】
また、本発明の画像処理装置の構成は上記実施例に示したものに限られず、各ブロックの機能を複数のブロックに分けたり、複数のブロックの機能を持つブロックを含むような構成にしてもよい。なお、本発明は例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。また、複数の機器から構成されるシステムに適用してもよいし、一つの機器からなる装置に適用してもよい。つまり、上記の実施例は、プレノプティック撮像部を２つ備えたカメラに適用されたが、上記のＬＦデータのスティッチ処理を行うことができる情報処理装置であればどのような形態に適用してもよい。例えば、あらかじめ２つのプレノプティックカメラを用いて取得されていたＬＦデータをネットワークを通じて取得し、そのＬＦデータをスティッチするような情報処理装置に適用してもよい。
【００７８】
また、本発明は、上述した実施例の機能（例えば、上記のフローチャートにより示される工程）を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が、コンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。
【符号の説明】
【００７９】
１０１ａ〜１０１ｂ  撮像部
１０３  取得部
１０７  座標変換部
１０８  合成部
１１０  情報処理部
【図１】
2015119395.tif 000015
【図２】
2015119395.tif 000016
【図３】
2015119395.tif 000017
【図４】
2015119395.tif 000018
【図６】
2015119395.tif 000019
【図７】
2015119395.tif 000020
【図１０】
2015119395.tif 000021
【図１２】
2015119395.tif 000022
【図１３】
2015119395.tif 000023
【図５】
2015119395.tif 000024
【図８】
2015119395.tif 000025
【図９】
2015119395.tif 000026
【図１１】
2015119395.tif 000027