<本技術を適用したカメラシステムの第1実施の形態>
図1は、本技術を適用したカメラシステムの第1実施の形態の構成例を示す斜視図である。
カメラシステムは、カメラ本体10と多眼交換レンズ20とで構成される。
カメラ本体10は、多眼交換レンズ20が着脱可能なようになっている。すなわち、カメラ本体10は、カメラマウント11を有し、そのカメラマウント11に対して、多眼交換レンズ20(のレンズマウント22)が取り付けられることで、カメラ本体10に、多眼交換レンズ20が装着される。なお、カメラ本体10に対しては、多眼交換レンズ20以外の一般的な交換レンズも着脱することができる。
カメラ本体10は、イメージセンサ51を内蔵する。イメージセンサ51は、例えば、CMOS(Complementary Metal Oxide Semiconductor)イメージセンサであり、カメラ本体10(のカメラマウント11)に装着された多眼交換レンズ20その他の交換レンズによって集光される光線を受光して光電変換を行うことにより画像を撮像する。以下、イメージセンサ51の撮像により得られる画像を、撮像画像ともいう。
多眼交換レンズ20は、鏡筒21及びレンズマウント22を有する。
鏡筒21には、光軸方向に(見て)重ならないように、複数のレンズである5個の個眼レンズ310,311,312,313、及び、314が配置されている。図1では、鏡筒21において、5個の個眼レンズ310ないし314が、光軸に直交する(イメージセンサ51の受光面(撮像面)に平行な)2次元平面上において、個眼レンズ310を中心(重心)として、他の4個の個眼レンズ311ないし314が、正方形の頂点を構成するように配置されている。
個眼レンズ310ないし314は、多眼交換レンズ20がカメラ本体10に装着されたときに、被写体からの光線をカメラ本体10のイメージセンサ51に集光させる。
なお、ここでは、カメラ本体10は、1個のイメージセンサ51を有する、いわゆる単板式のカメラであるが、カメラ本体10としては、複数のイメージセンサ、すなわち、例えば、RGB(Red, Green, Blue)それぞれ用の3つのイメージセンサを有する、いわゆる3板式のカメラを採用することができる。3板式のカメラでは、個眼レンズ310ないし314は、3つのイメージセンサのそれぞれに、光線を集光させる。
鏡筒21には、5個の個眼レンズ310ないし314の他、複数である2個の光源32L及び32Rが設けられている。光源32L及び32Rは、多眼交換レンズ20を正面から見たときに、鏡筒21の右端及び左端の位置に、それぞれ設けられている。
光源32L及び32Rは、例えば、LED(Light Emitting Diode)やレーザ等で構成され、多眼交換レンズ20の正面側から背面側に向かってスポット光を照射する。
したがって、多眼交換レンズ20がカメラ本体10に装着された場合、光源32L及び32Rが照射するスポット光は、カメラ本体10のイメージセンサ51で受光される。
レンズマウント22は、多眼交換レンズ20がカメラ本体10に装着されるときに、カメラ本体10のカメラマウント11に取り付けられる。
なお、図1では、多眼交換レンズ20に、5個の個眼レンズ310ないし314が設けられているが、多眼交換レンズ20に設ける個眼レンズの数は、5個に限定されるものではなく、2個や3個、5個以上の任意の複数の数を採用することができる。
さらに、多眼交換レンズ20に設ける複数の個眼レンズは、正方形の中心と頂点の位置に配置する他、2次元平面上の任意の位置に配置することができる。
また、多眼交換レンズ20に設ける複数の個眼レンズとしては、焦点距離やF値、その他の仕様が異なる複数のレンズを採用することができる。但し、ここでは、説明を簡単にするため、仕様が同一の複数のレンズを採用することとする。
さらに、図1では、多眼交換レンズ20に、2個の光源32L及び32Rが設けられているが、多眼交換レンズ20に設ける光源の数は、2個に限定されるものではなく、3個以上の任意の数を採用することができる。
また、光源32L及び32Rは、多眼交換レンズ20の、5個の個眼レンズ310ないし314が配置された平面上、すなわち、図1では、略円柱形の鏡筒21の底面である円上の最も遠い2点を結ぶ線上に配置することができる。この場合、光源32L及び32Rは、鏡筒21の底面である円の中心を通る線上に配置される。後述するように、光源32L及び32Rは、なるべく離して配置することが望ましい。鏡筒21の底面が円形状である場合には、光源32L及び32Rを、鏡筒21の底面である円の中心を通る線上に配置することにより、光源32L及び32Rを最も離して配置することができる。
多眼交換レンズ20において、複数としての5個の個眼レンズ310ないし314それぞれは、多眼交換レンズ20がカメラ本体10に装着されたときに、光軸がイメージセンサ51の受光面と直交するように配置されている。
かかる多眼交換レンズ20がカメラ本体10に装着されたカメラシステムでは、イメージセンサ51において、5個の個眼レンズ310ないし314それぞれにより集光される光線によりイメージセンサ51の受光面上に形成される像に対応する画像が撮像される。
いま、1個の個眼レンズ31i(ここでは、i=0,1,2,3,4)により集光される光線により形成される像に対応する画像を、個眼画像ということとすると、1個のイメージセンサ51で撮像される撮像画像には、5個の個眼レンズ310ないし314それぞれに対する5個の個眼画像(個眼レンズ310ないし314それぞれにより集光される光線により形成される像に対応する画像)が含まれる。
個眼レンズ31iに対する個眼画像は、個眼レンズ31iの位置を視点とする画像であり、したがって、個眼レンズ310ないし314それぞれに対する5個の個眼画像は、異なる視点の画像である。
さらに、撮像画像には、2個の光源32L及び32Rそれぞれが照射するスポット光に対応する画像であるスポット光像が含まれる。
図2は、カメラ本体10の背面の構成例を示す背面図である。
ここで、カメラ本体10については、多眼交換レンズ20が装着される側の面、すなわち、カメラマウント11がある面を、正面とする。
カメラ本体10の背面には、例えば、液晶パネルや有機EL(Electro Luminescence)パネル等で構成される表示部54が設けられている。表示部54には、いわゆるスルー画や、メニュー、カメラ本体10の設定等の情報が表示される。
図3は、図1のカメラシステムの電気的構成例を示すブロック図である。
カメラシステムにおいて、多眼交換レンズ20は、記憶部41及び通信部42を有する。
記憶部41は、多眼交換レンズ20に関する情報であるレンズ情報を記憶している。レンズ情報には、既知基準位置が含まれる。
既知基準位置とは、多眼交換レンズ20がカメラ本体10に装着されたときに(1個の)イメージセンサ51で撮像された既知の距離にある所定の被写体が映る既知撮像画像上の個眼レンズ31iに対する個眼画像上の所定の光線に対応する位置である。
ここで、個眼レンズ31iに対する個眼画像において、個眼レンズ31iの光軸を通る光線の像が形成される位置を光軸中心位置ということとする。
いま、個眼レンズ31iに対する個眼画像について、所定の光線として、例えば、個眼レンズ31iの光軸を通る光線を採用することとすると、個眼レンズ31iに対する個眼画像の既知基準位置は、その個眼画像の光軸中心位置である。
なお、所定の光線は、個眼レンズ31iの光軸を通る光線に限定されるものではない。すなわち、所定の光線としては、例えば、個眼レンズ31iの光軸から所定の距離だけ離れた位置を通り、光軸に平行な光線その他を採用することができる。
レンズ情報には、既知撮像画像上の、個眼レンズ31iに対する個眼画像の既知基準位置の他、既知撮像画像上の光源32L及び32Rそれぞれのスポット光のスポット光像の位置、すなわち、スポット光の照射位置である既知光位置が含まれる。
ここで、多眼交換レンズ20に対しては、ユニークなレンズID(Identification)を割り当て、記憶部41に記憶させるレンズ情報としては、多眼交換レンズ20のレンズIDを採用することができる。さらに、この場合、レンズ情報としてのレンズIDと、そのレンズIDによって特定される多眼交換レンズ20の、レンズID以外のレンズ情報としての既知基準位置や既知光位置とを対応付けたデータベースを用意することができる。この場合、レンズIDをキーワードとして、データベースを検索することにより、そのレンズIDに対応付けられた多眼交換レンズ20の既知基準位置や既知光位置を取得することができる。
通信部42は、カメラ本体10の後述する通信部56との間で、有線又は無線による通信を行う。なお、通信部42は、その他、必要に応じて、任意の通信方式により、インターネット上のサーバや、有線又は無線LAN(Local Area Network)上のPC(Personal Computer)、その他の外部のデバイスとの間で通信を行うようにすることができる。
通信部42は、例えば、多眼交換レンズ20がカメラ本体10に装着されたときに、カメラ本体10の通信部56と通信することで、記憶部41に記憶されたレンズ情報を、通信部56に送信する。
カメラ本体10は、イメージセンサ51、領域特定部52、画像処理部53、表示部54、記憶部55、通信部56、及び、基準位置算出部57を有する。
イメージセンサ51は、例えば、図1で説明したように、CMOSイメージセンサであり、イメージセンサ51の受光面には、カメラ本体10に装着された多眼交換レンズ20の個眼レンズ310ないし314それぞれにより集光される光線、並びに、光源32L及び32Rが照射するスポット光としての光線が照射される。
イメージセンサ51は、個眼レンズ310ないし314それぞれにより集光される光線、並びに、光源32L及び32Rが照射するスポット光としての光線を受光して光電変換を行うことにより、個眼レンズ310ないし314それぞれに対する個眼画像(個眼レンズ310ないし314それぞれにより集光される光線により形成される像に対応する個眼画像)、並びに、光源32L及び32Rそれぞれのスポット光のスポット光像を含む撮像画像を撮像して出力する。イメージセンサ51が出力する撮像画像(他の撮像画像)は、領域特定部52及び基準位置算出部57に供給される。
領域特定部52には、イメージセンサ51が出力する撮像画像が供給される他、基準位置算出部57から、イメージセンサ51が出力する撮像画像に含まれる個眼画像上の未知基準位置が供給される。
ここで、既知基準位置は、撮像画像が既知の距離にある被写体を撮像した既知撮像画像である場合の、その既知撮像画像に含まれる個眼画像上の光軸中心位置であるが、未知基準位置は、撮像画像が任意の被写体(被写体までの距離が既知であるどうかは問わない)を撮像した画像(他の撮像画像)である場合の、その撮像画像に含まれる個眼画像上の光軸中心位置である。
領域特定部52は、基準位置算出部57からの未知基準位置に基づいて、イメージセンサ51からの撮像画像上の、個眼レンズ310ないし314それぞれに対する個眼画像の領域を特定し、その領域の特定の結果を表す領域特定結果情報を出力する。
すなわち、領域特定部52は、イメージセンサ51からの撮像画像の、例えば、撮像画像の未知基準位置を中心(重心)とする所定のサイズの長方形状の領域を、個眼画像の領域に特定する。
ここで、領域特定部52は、例えば、撮像画像と、その撮像画像上の各個眼画像の領域を表す領域情報とのセットを、領域特定結果情報として出力することができる。また、領域特定部52は、撮像画像から、各個眼画像を抽出し(切り出し)、その各個眼画像を、領域特定結果情報として出力することができる。
以下では、説明を簡単にするため、例えば、領域特定部52は、撮像画像から抽出した各個眼画像(ここでは、個眼レンズ310ないし314それぞれに対する個眼画像)を、領域特定結果情報として出力することとする。
領域特定部52が出力する個眼レンズ310ないし314それぞれに対する個眼画像は、画像処理部53に供給される。
画像処理部53は、領域特定部52からの個眼レンズ310ないし314それぞれに対する個眼画像、すなわち、個眼レンズ310ないし314それぞれの位置を視点とする、異なる視点の個眼画像を用いて、例えば、視差情報の生成や、任意の被写体にフォーカスを合わせた画像を生成(再構成)するリフォーカス等の画像処理を行い、その画像処理の結果得られる処理結果画像を、表示部54及び記憶部55に供給する。
表示部54は、例えば、画像処理部53から供給される処理結果画像等を、図2で説明したようにスルー画として表示する。
記憶部55は、図示せぬメモリカード等で構成され、例えば、ユーザの操作等に応じて、画像処理部53から供給される処理結果画像を記憶する。
通信部56は、多眼交換レンズ20の通信部42等との間で、有線又は無線による通信を行う。なお、通信部56は、その他、必要に応じて、任意の通信方式により、インターネット上のサーバや、有線又は無線LAN上のPC、その他の外部のデバイスとの間で通信を行うことができる。
通信部56は、例えば、多眼交換レンズ20がカメラ本体10に装着されたときに、多眼交換レンズ20の通信部42と通信することで、その通信部42から送信されてくる多眼交換レンズ20のレンズ情報を受信し、基準位置算出部57に供給する。
基準位置算出部57は、通信部56からのレンズ情報に含まれる既知基準位置に基づいて、イメージセンサ51から供給される撮像画像に含まれる個眼レンズ31iに対する個眼画像上の光軸中心位置である未知基準位置を求め、領域特定部52に供給する。
なお、図3において、基準位置算出部57は、イメージセンサ51から供給される撮像画像に含まれる個眼画像上の光軸中心位置である未知基準位置を求めるにあたり、レンズ情報に含まれる既知基準位置の他、既知光位置を用いる。
<多眼交換レンズ20を用いて行われる撮像の概要>
図4は、多眼交換レンズ20を用いて行われる撮像画像の撮像の概要を説明する図である。
多眼交換レンズ20が装着されたカメラ本体10のイメージセンサ51では、各個眼レンズ31iにおいて光線が集光されることにより形成される像に対応する個眼画像と、光源32L及び32Rが照射するスポット光のスポット光像とを含む撮像画像が撮像される。
ここで、本明細書では、個眼レンズ31iの光軸方向のうちの、カメラ本体10の背面側から正面側に向かう方向をz方向(軸)とするとともに、z方向を向いたときの左から右方向をx方向とし、下から上方向をy方向とする。
さらに、画像に映る被写体の左右と、実空間の被写体の左右とを一致させるとともに、個眼レンズ31iの位置の左右と、その個眼レンズ31iに対する個眼画像の撮像画像上の左右とを一致させるため、以下では、特に断らない限り、z方向、すなわち、カメラ本体10の裏面側から、撮像を行う被写体が存在する撮像方向を向いている状態を基準として、撮像画像上の位置や、個眼レンズ31iの位置、被写体等の左右を記述する。
なお、1の個眼レンズ31iと他の1の個眼レンズ31j(i≠j)との光軸どうしを結ぶ直線又は線分を、基線ともいい、その光軸どうしの距離を、基線長ともいう。また、基線の方向を表す角度を、基線角ともいう。ここでは、基線角として、例えば、x軸と基線とがなす角度(エピポーラ線の角度)を採用することとする。
図5は、多眼交換レンズ20における個眼レンズ310ないし314並びに光源32L及び32Rの配置と、その多眼交換レンズ20を用いて撮像される撮像画像との例を示す図である。
図5のAは、多眼交換レンズ20における個眼レンズ310ないし314並びに光源32L及び32Rの配置の例を示す背面図である。
図5のAでは、個眼レンズ310ないし314は、図1で説明したように、イメージセンサ51の受光面に平行な2次元平面において、個眼レンズ310を中心として、他の4個の個眼レンズ311ないし314が、正方形の頂点を構成するように配置されている。
すなわち、個眼レンズ310ないし314のうちの、例えば、個眼レンズ310を基準とすると、図5では、個眼レンズ311は、個眼レンズ310の右上に配置され、個眼レンズ312は、個眼レンズ310の左上に配置されている。さらに、個眼レンズ313は、個眼レンズ310の左下に配置され、個眼レンズ314は、個眼レンズ310の右下に配置されている。
また、図5のAにおいて、光源32Lは、平面が略円形の多眼交換レンズ20の左端の位置に配置され、光源32Rは、平面が略円形の多眼交換レンズ20の中心(中央)に対して、光源32Lの反対側の右端の位置に配置されている。
なお、光源32L及び32Rは、多眼交換レンズ20(の鏡筒21)の任意の異なる位置に配置することができる。
但し、光源32L及び32Rは、イメージセンサ51で撮像される撮像画像上の、光源32L及び32Rそれぞれが照射するスポット光のスポット光像PL及びPRが、撮像画像に含まれる個眼画像の領域外(個眼レンズ31iを通過した光が照射される範囲外)に位置するように配置することができる。この場合、スポット光像PLやPRが、個眼画像に重複して映って、個眼画像の画質が低下することを抑制することができる。
図5のBは、図5のAのように個眼レンズ310ないし314並びに光源32L及び32Rが配置された多眼交換レンズ20が装着されたカメラ本体10のイメージセンサ51で撮像される撮像画像の例を示す図である。
個眼レンズ310ないし314並びに光源32L及び32Rを有する多眼交換レンズ20が装着されたカメラ本体10のイメージセンサ51で撮像される撮像画像には、個眼レンズ310ないし314それぞれにより集光される光線により形成される像に対応する個眼画像E0,E1,E2,E3,E4と、光源32L及び32Rそれぞれのスポット光のスポット光像PL及びPRとが含まれる。
領域特定部52(図3)は、基準位置算出部57で求められる各個眼画像E#iの未知基準位置である光軸中心位置に基づき、各個眼レンズ31iについて、その個眼レンズ31iを通過した光線が照射される撮像画像上の領域のうちの、個眼画像E#iの未知基準位置である光軸中心位置を中心とする所定サイズの長方形状の領域を、個眼画像E#iの領域として特定する。
これにより、個眼レンズ31iに対する個眼画像E#iは、個眼レンズ31iの位置から、独立のカメラを用いた撮像を行うことにより得られる撮像画像、すなわち、個眼レンズ31iの位置を視点とする撮像により得られる画像と同様の画像になる。
そのため、個眼レンズ310ないし314それぞれに対する個眼画像E0ないしE4のうちの任意の2個の個眼画像E#iとE#jとの間には、視差が生じる。すなわち、個眼画像E#iとE#jに映る同一の被写体は、視差に応じてずれた位置に映る。
<多眼交換レンズ20の取り付け誤差>
図6は、多眼交換レンズ20をカメラ本体10に取り付ける(装着する)ときの取り付け誤差を説明する図である。
すなわち、図6は、多眼交換レンズ20をカメラ本体10に取り付けたカメラシステムで撮像される撮像画像の例を示している。
多眼交換レンズ20をカメラ本体10に取り付けた場合、カメラ本体10のイメージセンサ51の受光面に対する多眼交換レンズ20の取り付け位置は、主として、横方向(x方向)、縦方向(y方向)、及び、回転方向のうちの、特に、回転方向にずれ得る。すなわち、多眼交換レンズ20の取り付け位置は、多眼交換レンズ20をカメラ本体10に取り付けるときや、多眼交換レンズ20をカメラ本体10に取り付けたカメラシステムに衝撃が加わったとき等に変化する。
いま、例えば、多眼交換レンズ20の設計上の取り付け位置に対する実際の取り付け位置の誤差を、取り付け誤差ということとする。取り付け誤差は、多眼交換レンズ20の取り付け位置と同様に、多眼交換レンズ20をカメラ本体10に取り付けるときや、多眼交換レンズ20をカメラ本体10に取り付けたカメラシステムに衝撃が加わったとき等に変化する。
図5で説明したように、個眼画像E#iは、個眼レンズ31iの位置を視点とする撮像により得られる画像と同様の画像であり、したがって、個眼画像E0ないしE4は、視点の異なる画像である。
視点の異なる画像である個眼画像E0ないしE4を用いて、例えば、視差情報を求める場合、個眼レンズ310ないし314について、図4で説明した基線長と基線角が必要となる。
個眼レンズ310ないし314は、多眼交換レンズ20に固定されているので、基線長は、取り付け誤差によって変化しない固定の値であり、あらかじめ計測しておくことができる。
一方、基線角は、多眼交換レンズ20の回転方向の取り付け誤差によって変化する。したがって、個眼画像E0ないしE4を用いて、正確な視差情報を求めるためには、回転方向の取り付け誤差に対処する必要がある。
ここで、横方向及び縦方向の取り付け誤差は、個眼レンズ31iのレンズ収差に起因する画像歪みが小さい場合には、問題とならず、無視することができる。但し、レンズ収差に起因する画像歪みが大きく、その画像歪みの歪み補正を行う必要がある場合には、適切な歪み補正を行うために、個眼画像E#iの光軸中心位置を正確に把握する必要がある。個眼画像E#iの光軸中心位置を正確に把握するには、横方向及び縦方向の取り付け誤差を把握する必要がある。
いま、図6に示すように、あるxy座標系(2次元座標系)において、個眼画像E0ないしE4の光軸中心位置(の座標)を、(x0, y0), (x1, y1), (x2, y2), (x3, y3), (x4, y4)と表すこととする。
また、個眼レンズ310ないし314のうちの、中央(中心)に位置する個眼レンズ310に対する個眼画像E0を、中央画像E0ともいい、周辺に位置する個眼レンズ311ないし314に対する個眼画像E1ないしE4を、周辺画像E1ないしE4ともいうこととする。
個眼画像E0ないしE4のうちの1の個眼画像、すなわち、例えば、中央画像E0を基準とする、周辺画像E1ないしE4それぞれの相対的な光軸中心位置(以下、相対光軸中心位置ともいう)(dx1, dy1), (dx2, dy2), (dx3, dy3), (dx4, dy4)は、式(1)に従って求めることができる。
相対光軸中心位置(dx1, dy1), (dx2, dy2), (dx3, dy3), (dx4, dy4)は、中央画像E0の光軸中心位置(x0, y0)をxy座標系の原点とした場合の周辺画像E1ないしE4の光軸中心位置(x1, y1), (x2, y2), (x3, y3), (x4, y4)に等しい。
相対光軸中心位置(dx#i, dy#i)(ここでは、i=1,2,3,4)は、中央画像E0の光軸中心位置(x0, y0)と、周辺画像E#iの光学中心位置(x#i, y#i)とを結ぶ基線の方向のベクトルであるとみなすことができ、相対光軸中心位置(dx#i, dy#i)によれば、中央画像E0の光軸中心位置(x0, y0)と周辺画像E#iの光学中心位置(x#i, y#i)とを結ぶ基線L0#iの方向を表す基線角(tan-1((y#i-y0)/(x#i-x0))=tan-1(dy#i/dx#i))を求めることができる。
したがって、相対光軸中心位置(dx#i, dy#i)を求めることができれば、そのときの基線L0#iの方向を表す基線角を求めることができ、その基線角を用いて、回転方向の取り付け誤差に影響されない正確な視差情報を求めることができる。
本技術では、イメージセンサ51で撮像された既知の距離にある所定の被写体が映る既知撮像画像上の個眼画像E0ないしE4それぞれの光軸中心位置(x0, y0)ないし(x4, y4)、すなわち、中央画像E0の光軸中心位置(x0, y0)を原点とする場合には、個眼画像E1ないしE4それぞれの相対光軸中心位置(dx1, dy1)ないし(dx4, dy4)を、既知基準位置として求めておく。さらに、本技術では、既知基準位置((x0, y0)ないし(x4, y4)又は(dx1, dy1)ないし(dx4, dy4))と撮像画像とを用いて、その撮像画像の撮像時の撮像画像上の個眼画像E0ないしE4それぞれの光軸中心位置(x0', y0')ないし(x4', y4')、すなわち、中央画像E0の光軸中心位置(x0', y0')を原点とする場合には、個眼画像E1ないしE4それぞれの相対光軸中心位置(dx1', dy1')ないし(dx4', dy4')を、未知基準位置として求める。
未知基準位置としての撮像画像上の個眼画像E1ないしE4それぞれの相対光軸中心位置(dx1', dy1')ないし(dx4', dy4')が得られれば、撮像画像の撮像時の基線角を求め、その基線角を用いて、回転方向の取り付け誤差に影響されない正確な視差情報を求めることができる。
図3の基準位置算出部57は、既知基準位置としての相対光軸中心位置(dx1, dy1)ないし(dx4, dy4)を用い、第1の算出方法によって、未知基準位置としての撮像画像上の個眼画像E1ないしE4それぞれの相対光軸中心位置(dx1', dy1')ないし(dx4', dy4')を求める。
<未知基準位置としての撮像画像上の個眼画像E#iの相対光軸中心位置(dx#i', dy#i')を求める第1の算出方法>
図7は、未知基準位置としての相対光軸中心位置(dx1', dy1')ないし(dx4', dy4')を求める第1の算出方法を説明する図である。
ここで、以下では、説明を簡単にするため、中央画像E0の光軸中心位置(x0, y0)を原点とするxy座標系を採用することとする。この場合、上述したように、相対光軸中心位置(dx1, dy1), (dx2, dy2), (dx3, dy3), (dx4, dy4)と、光軸中心位置(x1, y1), (x2, y2), (x3, y3), (x4, y4)とは等しい。
図7のAは、多眼交換レンズ20がカメラ本体10に取り付けられたカメラシステムにおいて、所定の被写体を撮像した既知撮像画像の例を示している。
既知撮像画像に映る被写体は、例えば、円の中心を通る線分で4等分された円等の所定のチャートが描かれたチャート画像である。既知撮像画像は、例えば、中央画像E0上の所定の点、すなわち、例えば、中央画像E0の光軸中心位置(x0, y0)=(0, 0)に、チャート画像のチャートとしての円の中心が映るように、チャート画像を、個眼レンズ310の光軸上の既知の距離の位置に配置して撮像される。したがって、既知撮像画像は、所定のチャートが描かれたチャート画像を、既知の距離において撮像した画像である。
既知撮像画像は、以上のように撮像されるため、既知撮像画像上の中央画像E0には、チャートとしての円の中心が光軸中心位置(x0, y0)=(0, 0)に位置するチャート画像が映る。また、周辺画像E#iには、中央画像E0と同様に、チャート画像が映る。但し、周辺画像E#iにおいては、チャートとしての円の位置は、中央画像E0との間の視差に応じて、中央画像E0に映るチャートとしての円の位置からずれる。
したがって、既知撮像画像上の中央画像E0においては、チャートとしての円の中心が、光軸中心位置(x0, y0)=(0, 0)に位置するが、周辺画像E#iにおいては、チャートとしての円の中心が、光軸中心位置(x#i, y#i)から、中央画像E0との間の視差に応じてずれる。
チャート画像は、既知の距離におかれているので、周辺画像E#iと中央画像E0との間の視差は、その既知の距離と、既知撮像画像を撮像したときの個眼レンズ31iと個眼レンズ310との間の基線長及び基線角とから求めることができる。
ここで、既知撮像画像の撮像は、例えば、多眼交換レンズ20を工場から出荷する前等に行うことができる。したがって、既知撮像画像の撮像時の基線角は、既知撮像画像の撮像時に測定することができる。又は、既知撮像画像の撮像時には、基線角が設計値等の所定値になるように、多眼交換レンズ20の取り付けを調整することができる。
周辺画像E#iの光軸中心位置(x#i, y#i)は、その周辺画像E#iに映るチャートとしての円の中心から、中央画像E0との間の視差に応じて移動した位置になるので、周辺画像E#iに映るチャートとしての円の中心の位置と、中央画像E0との間の視差とから求めることができる。
また、既知撮像画像上の中央画像E0の光軸中心位置(x0, y0)(=(0, 0))には、チャート画像のチャートとしての円の中心が映っているので、中央画像E0の光軸中心位置(x0, y0)は、中央画像E0から、チャートとしての円の中心の位置を検出することにより求めることができる。
以上のように、既知撮像画像から、その既知撮像画像上の中央画像E0の光軸中心位置(x0, y0)、及び、周辺画像E1ないしE4の光軸中心位置(x1, y1)ないし(x4, y4)を求めることができる。
既知撮像画像上の中央画像E0の光軸中心位置(x0, y0)である既知基準位置、及び、周辺画像E#iの光軸中心位置(x#i, y#i)である既知基準位置によれば、中央画像E0の既知基準位置(x0, y0)を基準とする、周辺画像E#iの相対的な既知基準位置である相対既知基準位置としての相対光軸中心位置(dx#i, dy#i)を求められることができ、その相対既知基準位置としての相対光軸中心位置(dx#i, dy#i)が、レンズ情報として、図3の記憶部41に記憶される。
なお、レンズ情報としては、相対既知基準位置(相対光軸中心位置)(dx#i, dy#i)(i=1,2,3,4)を採用する他、既知基準位置(光軸中心位置)(x#i, y#i)(i=0,1,2,3,4)を採用することができる。相対既知基準位置(dx#i, dy#i)は、既知基準位置(x#i, y#i)から式(1)に従って求めることができ、既知基準位置(x#i, y#i)と(ほぼ)等価な情報であるからである。
未知基準位置としての相対光軸中心位置(dx1', dy1')ないし(dx4', dy4')を第1の算出方法により求める場合には、相対既知基準位置(dx#i, dy#i)(又は既知基準位置(x#i, y#i))の他、既知撮像画像上の光源32L及び32Rそれぞれのスポット光のスポット光像PL及びPRの位置である既知光位置(XL, YL)及び(XR, YR)がそれぞれ求められる。
例えば、既知撮像画像上のスポット光像PLの重心の位置を、そのスポット光像PLの既知光位置(XL, YL)として採用することができる。同様に、既知撮像画像上のスポット光像PRの重心の位置を、そのスポット光像PRの既知光位置(XR, YR)として採用することができる。
第1の算出方法では、さらに、既知光位置(XL, YL)及び(XR, YR)から、その既知光位置(XL, YL)及び(XR, YR)の中点(XC, YC)が求められ、既知光位置(XL, YL)及び(XR, YR)並びに中点(XC, YC)が、レンズ情報として、図3の記憶部41に記憶される。
なお、第1の算出方法では、既知光位置(XL, YL)及び(XR, YR)の中点(XC, YC)は、レンズ情報から除外することができる。既知光位置(XL, YL)及び(XR, YR)の中点(XC, YC)は、その既知光位置(XL, YL)及び(XR, YR)から求めることができるからである。
第1の算出方法では、相対既知基準位置(以下、単に、既知基準位置ともいう)としての相対光軸中心位置(以下、単に、光軸中心位置ともいう)(dx#i, dy#i)並びに既知光位置(XL, YL)及び(XR, YR)に基づいて、未知撮像画像上の未知基準位置としての(相対)光軸中心位置(dx1', dy1')ないし(dx4', dy4')が求められる。
図7のBは、多眼交換レンズ20がカメラ本体10に取り付けられたカメラシステムにおいて撮像される未知撮像画像の例を示している。
未知撮像画像は、多眼交換レンズ20がカメラ本体10に取り付けられたカメラシステムにおいて、既知撮像画像を撮像するときのような制約(被写体の距離が既知である等の制約)なしで撮像される画像である。
未知撮像画像の撮像時には、既知撮像画像の撮像時とは異なる回転方向の取り付け誤差が生じ得る。
未知撮像画像上の中央画像E0の光軸中心位置(x0', y0')を原点(0, 0)とするxy座標系において、未知撮像画像上の周辺画像E#iの光軸中心位置(x#i', y#i')(i=1,2,3,4)は、中央画像E0の光軸中心位置(x0', y0')を基準とする周辺画像E#iの相対的な光軸中心位置(dx#i', dy#i')=(x#i', y#i')-(x0', y0')に等しい。
ここで、未知撮像画像上の光源32L及び32Rそれぞれのスポット光のスポット光像PL及びPRの位置である未知光位置を、それぞれ、(XL', YL')及び(XR', YR')と表す。
未知光位置(XL', YL')及び(XR', YR')は、未知撮像画像上のスポット光像PL及びPRから、既知光位置(XL, YL)及び(XR, YR)と同様に求めることができる。
また、未知光位置(XL', YL')及び(XR', YR')の中点を、(XC', YC')と表すこととする。
いま、既知撮像画像の撮像時の回転方向の取り付け誤差を基準とする未知撮像画像の撮像時の回転方向の取り付け誤差である相対的な回転誤差をθErrorと表すこととすると、相対的な回転誤差θErrorは、レンズ情報に含まれる既知光位置(XL, YL)及び(XR, YR)、並びに、未知撮像画像から得られる未知光位置(XL', YL')及び(XR', YR')を用い、式(2)に従って求めることができる。
式(2)によれば、相対的な回転誤差θErrorは、既知光位置(XL, YL)と(XR, YR)とを結ぶ直線の方向を表す角度を基準とする、未知光位置(XL', YL')と(XR', YR')とを結ぶ直線の方向を表す角度であり、既知光位置(XL, YL)と(XR, YR)とが離れているほど(未知光位置(XL', YL')と(XR', YR')とが離れているほど)、精度が良くなる。したがって、光源32Lと32Rとをなるべく離して配置することで、相対的な回転誤差θErrorを精度良く求めることができる。
なお、多眼交換レンズ20に3個以上の光源が設けられている場合には、その3個以上の光源から得られる2個の光源のペアそれぞれに対して、式(2)に従って回転誤差θErrorを求め、各ペアに対して求められた回転誤差θErrorの平均値等を、最終的な回転誤差θErrorとして採用することができる。
相対的な回転誤差θErrorは、未知光位置(XL', YL')(又は(XR', YR'))と既知光位置(XL, YL)(又は(XR, YR))との間の回転角であり、既知基準位置としての光軸中心位置(dx#i, dy#i)を、式(3)に従い、相対的な回転誤差θErrorに応じて回転させることにより、その相対的な回転誤差θErrorが生じた未知撮像画像上の未知基準位置としての相対光軸中心位置(dx#i', dy#i')を求めることができる。
未知基準位置としての未知撮像画像上の個眼画像E1ないしE4それぞれの光軸中心位置(dx1', dy1')ないし(dx4', dy4')を、第1の算出方法によって求める場合、すなわち、式(2)及び式(3)に従って求める場合には、未知撮像画像上の光源32L及び32Rそれぞれのスポット光像PL及びPRの未知光位置(XL', YL')及び(XR', YR')と、既知撮像画像上の光源32L及び32Rそれぞれのスポット光像PL及びPRの既知光位置(XL, YL)及び(XR, YR)との間の平行移動量を求めることで、横方向及び縦方向の取り付け誤差を求めることができる。
すなわち、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorは、例えば、式(4)に従って求めることができる。
なお、式(4)では、未知撮像画像上の光源32L及び32Rそれぞれのスポット光像PL及びPRの未知光位置(XL', YL')及び(XR', YR')の中点(XC', YC')と、既知撮像画像上の光源32L及び32Rそれぞれのスポット光像PL及びPRの既知光位置(XL, YL)及び(XR, YR)の中点(XC, YC)との間の平行移動量が、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorとして求められるが、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorとしては、その他、例えば、未知光位置(XL', YL')と既知光位置(XL, YL)との平行移動量や、未知光位置(XR', YR')と既知光位置(XR, YR)との間の平行移動量を求めることができる。
図8は、未知基準位置としての未知撮像画像上の個眼画像E1ないしE4それぞれの光軸中心位置(dx1', dy1')ないし(dx4', dy4')を、第1の算出方法によって求める場合の既知基準位置等取得処理の例を説明するフローチャートである。
図8の既知基準位置等取得処理では、未知基準位置としての光軸中心位置(dx#i', dy#i')を第1の算出方法で求める場合に必要となる既知基準位置としての光軸中心位置(dx#i, dy#i)等が取得される。
既知基準位置等取得処理は、カメラ本体10や後述するコンピュータ等で行うことができる。既知基準位置等取得処理を行う装置を、便宜上、取得処理装置と呼ぶこととする。
ステップS11において、取得処理装置は、個眼レンズ310の光軸上の既知の距離の位置に、所定の被写体としてのチャート画像をおいて、そのチャート画像を、多眼交換レンズ20をカメラ本体10に取り付けたカメラシステムによって撮像した既知撮像画像を取得し、処理は、ステップS12に進む。
ステップS12では、取得処理装置は、既知撮像画像に含まれる各個眼画像E#iに映る所定の被写体としてのチャート画像の所定の点、例えば、チャートとしての円の中心の位置を求め、処理は、ステップS13に進む。
ステップS13では、取得処理装置は、被写体としてのチャート画像までの距離、並びに、多眼交換レンズ20の基線長及び基線角を用いて、個眼画像(周辺画像)E1ないしE4それぞれについて、個眼画像E#iに映る被写体としてのチャート画像の所定の点としての円の中心の、個眼画像(中央画像)E0に映る被写体としてのチャート画像の所定の点としての円の中心との間の視差を求める。
さらに、取得処理装置は、個眼画像E1ないしE4それぞれについて、個眼画像E#iに映る被写体としてのチャート画像の所定の点としての円の中心の視差に応じて、その円の中心の位置から移動した位置にある個眼画像E#iの光学中心位置(既知撮像画像上の位置)(x#i, y#i)を、その個眼画像E#iの既知基準位置(x#i, y#i)として求める。また、取得処理装置は、個眼画像E0に映る被写体としてのチャート画像の円の中心の位置である光軸中心位置(x0, y0)を、個眼画像E0の既知基準位置(x0, y0)として求め、処理は、ステップS13からステップS14に進む。
ステップS14では、取得処理装置は、ステップS13で求められた既知基準位置(x#i, y#i)を用い、個眼画像E1ないしE4それぞれについて、式(1)に従って、個眼画像E0の既知基準位置(x0, y0)を基準とする個眼画像E#iの(相対)既知基準位置(dx#i, dy#i)を求め、処理は、ステップS15に進む。
ステップS15では、取得処理装置は、既知撮像画像上の光源32L及び32Rのスポット光のスポット光像PL及びPRそれぞれの重心の位置を、既知光位置(XL, YL)及び(XR, YR)として求め、既知基準位置等取得処理は終了する。
ステップS14で求められた(相対)既知基準位置(dx#i, dy#i)、並びに、ステップS15で求められた既知光位置(XL, YL)及び(XR, YR)は、レンズ情報の一部として、図3の記憶部41に記憶される。
図9は、未知基準位置としての未知撮像画像上の個眼画像E1ないしE4それぞれの相対光軸中心位置(dx1', dy1')ないし(dx4', dy4')等を、第1の算出方法によって求める未知基準位置算出処理の例を説明するフローチャートである。
ステップS21において、基準位置算出部57(図3)は、通信部56から供給されるレンズ情報を取得し、処理は、ステップS22に進む。
すなわち、多眼交換レンズ20がカメラ本体10に装着されると、通信部56は、多眼交換レンズ20の通信部42との間で通信を行い、通信部42から送信されてくる多眼交換レンズ20のレンズ情報を受信し、基準位置算出部57に供給する。基準位置算出部57は、以上のようにして通信部56から供給されるレンズ情報を取得する。
ステップS22では、基準位置算出部57は、任意の被写体を撮像した撮像画像である未知撮像画像を取得し、処理は、ステップS23に進む。すなわち、基準位置算出部57は、多眼交換レンズ20がカメラ本体10に取り付けられたカメラシステムにおいて、イメージセンサ51が撮像した撮像画像を、未知撮像画像として取得する。
ステップS23では、基準位置算出部57は、未知撮像画像に含まれる光源32L及び32Rのスポット光のスポット光像PL及びPRそれぞれの重心の位置を、未知光位置(XL', YL')及び(XR', YR')として求め、処理は、ステップS24に進む。
ステップS24では、基準位置算出部57は、レンズ情報に含まれる既知光位置(XL, YL)(又は(XR, YR))と、ステップS23で求めた未知光位置(XL', YL')(又は(XR', YR'))との間の回転角を、(相対的な)回転誤差をθErrorとして求め、処理は、ステップS25に進む。
すなわち、基準位置算出部57は、例えば、式(2)に従って、レンズ情報に含まれる既知光位置(XL, YL)と(XR, YR)とを結ぶ線分の方向を基準とする、未知光位置(XL', YL')と(XR', YR')とを結ぶ線分の方向を表す相対的な角度を、回転誤差をθErrorとして求める。
ステップS25では、基準位置算出部57は、式(3)に従い、ステップS24で求められた回転誤差θErrorに応じて、レンズ情報に含まれる相対既知基準位置としての相対光軸中心位置(dx#i, dy#i)を回転させることにより、回転誤差θErrorが生じている未知撮像画像に含まれる個眼画像E1ないしE4それぞれの未知基準位置としての(相対)光軸中心位置(dx#i', dy#i')を求め、処理は、ステップS26に進む。
ステップS26では、基準位置算出部57は、レンズ情報に含まれる既知光位置(XL, YL)又は(XR, YR)と、未知撮像画像上の光源32L及び32Rのスポット光像PL及びPRの未知光位置(XL', YL')又は(XR', YR')との間の平行移動量を、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorとして求め、未知基準位置算出処理は終了する。
すなわち、基準位置算出部57は、例えば、式(4)に従い、既知光位置(XL, YL)及び(XR, YR)の中点(XC, YC)に対する、未知光位置(XL', YL')及び(XR', YR')の中点(XC', YC')の平行移動量を、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorとして求める。
なお、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorが必要ない場合には、ステップS26の処理は省略することができる。
<個眼画像の領域特定処理>
図10は、図3の領域特定部52が行う、未知撮像画像上の各個眼画像E#iの領域を特定する領域特定処理の例を説明するフローチャートである。
ステップS31において、領域特定部52は、基準位置算出部57から供給される、未知撮像画像に含まれる個眼画像E1ないしE4の未知基準位置としての相対光軸中心位置(dx#i', dy#i')を取得し、処理は、ステップS32に進む。
ステップS32では、領域特定部52は、未知基準位置としての光軸中心位置(dx#i', dy#i')に基づいて、未知撮像画像上の個眼画像E1ないしE4の領域を特定する。すなわち、領域特定部52は、例えば、既知基準位置(dx#i, dy#i)を求めるときのxy座標系において、未知撮像画像上の未知基準位置(dx#i', dy#i')を中心とする所定のサイズの長方形状の領域を、個眼画像E#i(i=1,2,3,4)の領域として特定する。
さらに、領域特定部52は、未知撮像画像上の原点を中心とする所定のサイズの長方形状の領域を、個眼画像E0の領域として特定し、処理は、ステップS32からステップS33に進む。
ステップS33では、領域特定部52は、撮像画像から、個眼画像E0ないしE4それぞれを抽出し、領域特定結果情報として出力して、処理を終了する。
なお、領域特定部52は、図3で説明したように、個眼画像E0ないしE4に代えて、撮像画像と、その撮像画像上の各個眼画像E#iの領域を表す領域情報とのセットを、領域特定結果情報として出力することができる。
以上のように、多眼交換レンズ20は、光軸方向に(見て)重ならないように配置された個眼レンズ310ないし314を有し、所定の距離にあるチャート画像が映る既知撮像画像上の個眼画像E#iの(相対)既知基準位置としての、例えば、光軸中心位置(dx#i, dy#i)(又は(x#i, y#i))を含むレンズ情報を、外部としての、例えば、カメラ本体10に送信する。また、カメラ本体10は、レンズ情報を受信し、そのレンズ情報に含まれる既知基準位置(dx#i, dy#i)に基づいて、未知撮像画像上の個眼画像E#iについて、個眼画像E#i上の未知基準位置としての光軸中心位置(dx#i', dy#i')を求める。
したがって、未知基準位置としての光軸中心位置(dx#i', dy#i')に基づき、未知撮影画像から、複数の視点の画像、すなわち、個眼レンズ31iの位置を視点とする個眼画像E#iを容易に得ることができる。
さらに、未知基準位置としての光軸中心位置(dx#i', dy#i')から、基線L0#i(図6)の方向を表す基線角(tan-1(dy#i/dx#i))を求めることができ、その基線角を用いて、多眼交換レンズ20の回転方向の取り付け誤差に影響されない正確な視差情報を求めることができる。
ここで、例えば、既知撮像画像上の個眼画像E0の光軸中心位置(x0, y0)を原点とするxy座標系を採用することとし、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorが0であることとする。この場合、未知撮像画像において、個眼画像E0の未知基準位置(x0', y0')である光軸中心位置は、原点になり、個眼画像E0の領域は、原点を中心とする領域になる。
一方、横方向の取り付け誤差XError又は縦方向の取り付け誤差YErrorが0でない場合、未知撮像画像において、個眼画像E0の光軸中心位置は、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorの分だけ、原点からずれる。
この場合、個眼画像E0の未知基準位置(x0', y0')である光軸中心位置が、原点であることを前提として、原点を中心とする所定のサイズの長方形状の領域を、個眼画像E0の領域として特定すると、実際の未知基準位置(x0', y0')である光軸中心位置は、原点からずれているため、未知撮像画像上の、個眼画像E0の実際の光軸中心位置からずれた位置を中心とする所定のサイズの長方形状の領域が、個眼画像E0の領域として特定される。
その結果、他の個眼画像E1ないしE4それぞれについても、未知撮像画像上の個眼画像E#iの光軸中心位置(x#i', y#i')からずれた位置を中心とする所定のサイズの長方形状の領域が、個眼画像E#iの領域として特定される。
すなわち、横方向の取り付け誤差XError又は縦方向の取り付け誤差YErrorが0でない場合、個眼画像E0ないしE4それぞれについて、未知撮像画像上の個眼画像E#iの光軸中心位置(x#i', y#i')から同じ平行移動量だけずれた位置を中心とする所定のサイズの長方形状の領域が、個眼画像E#iの領域として特定される。
但し、横方向の取り付け誤差XError又は縦方向の取り付け誤差YErrorが0でない場合も、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorが0である場合も、未知撮像画像の撮像時の基線角(tan-1(dy#i/dx#i))は、個眼画像E0の位置を基準とする相対的な未知基準位置としての光軸中心位置(dx#i', dy#i')から求められる。
したがって、光軸中心位置(x#i', y#i')から同じ平行移動量だけずれた位置を中心とする個眼画像E#iについて得られる基線角は、未知撮像画像上の光軸中心位置(x#i', y#i')を中心とする個眼画像E#iについて得られる基線角と同一になる。
すなわち、横方向の取り付け誤差XError又は縦方向の取り付け誤差YErrorが0でない場合でも、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorが0である場合と同一の基線角を得ることができる。そして、その基線角を用いて、未知撮像画像上の領域が特定された個眼画像E#iから、多眼交換レンズ20の取り付け誤差に影響されない正確な視差情報を求めることができる。
以上のように、基線角は、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorによらず、同一の値を求めることができるので、以下では、説明を簡単にするため、横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorが0であることとする(横方向の取り付け誤差XError及び縦方向の取り付け誤差YErrorには言及しない)。
この場合、未知撮像画像に含まれる個眼画像E0の光軸中心位置は、既知撮像画像に含まれる個眼画像E0の光軸中心位置、すなわち、本実施の形態では、既知基準位置(dx#i, dy#i)を求めるときのxy座標系の原点に一致する。
<本技術を適用したカメラシステムの第2実施の形態>
図11は、本技術を適用したカメラシステムの第2実施の形態の構成例を示す斜視図である。
なお、図中、図1の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図11において、カメラシステムは、カメラ本体10と多眼交換レンズ20とで構成される。
したがって、図11のカメラシステムは、図1の場合と同様に構成される。
但し、図11のカメラシステムにおいて、多眼交換レンズ20には、光源32L及び32Rが設けられていない。したがって、図11のカメラシステムは、多眼交換レンズ20が光源32L及び32Rを有しない点で、多眼交換レンズ20が光源32L及び32Rを有する図1の場合と相違する。
図12は、図11のカメラシステムの電気的構成例を示すブロック図である。
なお、図中、図3の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図12のカメラシステムにおいて、多眼交換レンズ20は、記憶部41及び通信部42を有する。
なお、図12において、多眼交換レンズ20は、図11で説明したように、光源32L及び32Rを有していない点で、図1の場合と異なる。
また、図12の多眼交換レンズ20は、記憶部41に記憶されるレンズ情報に、既知撮像画像上の個眼画像E#iの既知基準位置としての光軸中心位置(dx#i, dy#i)が含まれる点で、図3の場合と共通する。
但し、図12の多眼交換レンズ20は、記憶部41に記憶されるレンズ情報に、光源32L及び32Rのスポット光像PL及びPRの既知光位置(XL, YL)及び(XR, YR)が含まれていない点で、図3の場合と相違する。
さらに、図12の多眼交換レンズ20は、記憶部41に記憶されるレンズ情報に、基準角が含まれる点で、図3の場合と相違する。
基準角とは、既知撮像画像の撮像時の基線L0#iの方向を表す角度、すなわち、既知撮像画像上の個眼画像E0の既知基準位置(x0, y0)と他の個眼画像E#i(i=1,2,3,4)の既知基準位置(x#i, y#i)とを結ぶ線の方向を表す角度、つまり、原点から既知基準位置(dx#i, dy#i)に向かう方向の角度である。
図12のカメラシステムにおいて、カメラ本体10は、イメージセンサ51、領域特定部52、画像処理部53、表示部54、記憶部55、通信部56、及び、基準位置算出部71を有する。
したがって、図12のカメラ本体10は、イメージセンサ51ないし通信部56を有する点で、図3の場合と共通する。但し、図12のカメラ本体10は、基準位置算出部57に代えて、基準位置算出部71が設けられている点で、図3の場合と相違する。
基準位置算出部71は、通信部56からのレンズ情報に含まれる既知基準位置(dx#i, dy#i)及び基準角に基づいて、イメージセンサ51から供給される未知撮像画像に含まれる個眼画像E#i上の光軸中心位置である未知基準位置(dx#i', dy#i')を求め、領域特定部52に供給する。
<多眼交換レンズ20を用いて行われる撮像の概要>
図13は、図11の多眼交換レンズ20を用いて行われる撮像画像の撮像の概要を説明する図である。
上述したように、図11の多眼交換レンズ20は、光源32L及び32Rを有しない。図11の多眼交換レンズ20が装着されたカメラ本体10のイメージセンサ51では、各個眼レンズ31iにおいて光線が集光されることにより形成される像に対応する個眼画像を含む撮像画像が撮像されるが、その撮像画像には、光源32L及び32Rが照射するスポット光のスポット光像PL及びPRは含まれない。
図14は、図11の多眼交換レンズ20における個眼レンズ310ないし314の配置と、その多眼交換レンズ20を用いて撮像される撮像画像との例を示す図である。
図14のAは、多眼交換レンズ20における個眼レンズ310ないし314の配置の例を示す背面図である。
図14のAの個眼レンズ310ないし314の配置は、図5のAの場合と同様であるので、説明を省略する。
図14のBは、図14のAのように個眼レンズ310ないし314が配置された多眼交換レンズ20が装着されたカメラ本体10のイメージセンサ51で撮像される撮像画像の例を示す図である。
図14のBの撮像画像は、スポット光像PL及びPRがないことを除き、図5のBの場合と同様であるので、説明を省略する。
図12の基準位置算出部71は、既知基準位置としての光軸中心位置(dx1, dy1)ないし(dx4, dy4)、及び、基準角を用い、第2の算出方法によって、未知基準位置としての未知撮像画像上の個眼画像E#iの未知基準位置としての光軸中心位置(dx#i', dy#i')を求める。
光軸中心位置(dx#i', dy#i')を求めることができれば、その光軸中心位置(dx#i', dy#i')を用いて、未知撮像画像上の個眼画像E#iの領域を特定することができる。さらに、未知撮像画像の撮像時の基線角を求め、その基線角を用いて、多眼交換レンズ20の回転方向の取り付け誤差に影響されない正確な視差情報を求めることができる。
<未知基準位置としての撮像画像上の個眼画像E#iの光軸中心位置(dx#i', dy#i')を求める第2の算出方法>
図15は、未知基準位置としての(相対)光軸中心位置(dx1', dy1')ないし(dx4', dy4')を求める第2の算出方法を説明する図である。
図15のAは、図11の多眼交換レンズ20がカメラ本体10に取り付けられたカメラシステムにおいて、所定の被写体としてのチャート画像を撮像した既知撮像画像の例を示している。
未知基準位置としての光軸中心位置(dx#i', dy#i')を求める方法として、第2の算出方法が採用される場合、第1の算出方法が採用される場合と同様に、既知撮像画像を用いて、既知基準位置としての光軸中心位置(dx#i, dy#i)が求められる。
図15のAの既知撮像画像は、スポット光像PL及びPRがないことを除いて、図7のAの既知撮像画像と同一の画像になっている。したがって、図15のAの既知撮像画像は、中央画像E0上の光軸中心位置(x0, y0)=(0, 0)に、チャート画像のチャートとしての円の中心が映るように、チャート画像を、個眼レンズ310の光軸上の既知の距離の位置に配置して撮像された画像である。
図15のAの既知撮像画像では、図7のAの場合と同様に、既知撮像画像上の中央画像E0には、チャートとしての円の中心が光軸中心位置(x0, y0)=(0, 0)に位置するチャート画像が映る。また、周辺画像E#iには、中央画像E0と同様に、チャート画像が映る。但し、周辺画像E#iにおいては、チャートとしての円の位置は、中央画像E0との間の視差に応じて、中央画像E0に映るチャートとしての円の位置からずれる。
したがって、既知撮像画像上の中央画像E0においては、チャートとしての円の中心が、光軸中心位置(x0, y0)=(0, 0)に位置するが、周辺画像E#iにおいては、チャートとしての円の中心が、光軸中心位置(x#i, y#i)=(dx#i, dy#i)から、中央画像E0との間の視差に応じてずれる。
チャート画像は、既知の距離におかれているので、周辺画像E#iと中央画像E0との間の視差は、その既知の距離と、既知撮像画像を撮像したときの個眼レンズ31iと個眼レンズ310との間の基線長及び基線角とから求めることができる。
なお、図7で説明したように、既知撮像画像の撮像時の基線角は、既知撮像画像の撮像時に測定することができる。又は、既知撮像画像の撮像時には、基線角が設計値等の所定値になるように、多眼交換レンズ20の取り付けを調整することができる。
ここで、図15のAに示すように、既知撮像画像上の中央画像E0の光軸中心位置(x0, y0)=(0, 0)と周辺画像E#iの光学中心位置(x#i, y#i)=(dx#i, dy#i)とを結ぶ基線L0#iの方向を表す基線角として、基線L0#iとx軸とがなす角θ#iを採用することとする。既知撮像画像の基線L0#iの基線角θ#iが、基準角θ#iである。
周辺画像E#iの光軸中心位置(x#i, y#i)=(dx#i, dy#i)は、その周辺画像E#iに映るチャートとしての円の中心から、中央画像E0との間の視差に応じて移動した位置であるので、周辺画像E#iに映るチャートとしての円の中心の位置と、中央画像E0との間の視差とから求めることができる。
なお、既知撮像画像上の中央画像E0の光軸中心位置(x0, y0)(=(0, 0))には、チャート画像のチャートとしての円の中心が映っているので、中央画像E0の光軸中心位置(x0, y0)は、中央画像E0から、チャートとしての円の中心の位置を検出することにより求めることができるが、本実施の形態では、中央画像E0の光軸中心位置(x0, y0)は原点である。
以上のように、既知撮像画像から、既知基準位置としての、既知撮像画像上の中央画像E0の光軸中心位置(x0, y0)=(0, 0)、及び、周辺画像E#iの光軸中心位置(x#i, y#i)が求められた後、中央画像E0の既知基準位置(x0, y0)=(0, 0)を基準とする周辺画像E#iの既知基準位置(dx#i, dy#i)=(x#i, y#i)-(x0, y0)=(x#i, y#i)-(0, 0)=(x#i, y#i)が求められ、レンズ情報として、図12の記憶部41に記憶される。
第2の算出方法が採用される場合、既知基準位置(dx#i, dy#i)の他、基準角θ#iが、さらに、レンズ情報として、図12の記憶部41に記憶される。
そして、第2の算出方法では、既知基準位置(dx#i, dy#i)、及び、基準角θ#iに基づいて、未知撮像画像上の未知基準位置としての光軸中心位置(dx#i', dy#i')が求められる。
図15のBは、多眼交換レンズ20がカメラ本体10に取り付けられたカメラシステムにおいて撮像される未知撮像画像の例を示している。
上述したように、未知撮像画像の撮像時には、既知撮像画像の撮像時とは異なる回転方向の取り付け誤差が生じ得る。
ここで、未知撮像画像上の中央画像E0の光軸中心位置(x0', y0')を基準とする周辺画像E#iの(相対)光軸中心位置(dx#i', dy#i')(i=1,2,3,4)は、未知撮像画像上の中央画像E0の光軸中心位置(x0', y0')を原点(0, 0)とするxy座標系上の周辺画像E#iの光軸中心位置(x#i', y#i')に等しい。
未知撮像画像の撮像時における、未知撮像画像上の中央画像E0の光軸中心位置(x0', y0')=(0, 0)と周辺画像E#iの光学中心位置(x#i', y#i')=(dx#i', dy#i')とを結ぶ基線L0#i'の方向を表す基線角を、図15のBに示すように、θ#i'と表すこととする。
未知撮像画像の撮像時の基線角θ#i'は、多眼交換レンズ20の回転方向の取り付け誤差によって、既知撮像画像の撮像時の基準角θ#iからずれる。かかる基線角のずれは、θ#i'-θ#iで表される。
多眼交換レンズ20の回転方向の取り付け誤差により基線角がθ#i'となった未知撮像画像上の周辺画像E#iの未知基準位置としての光軸中心位置(dx#i', dy#i')は、既知基準位置としての光学中心位置(dx#i, dy#i)が、基線角のずれθ#i'-θ#iだけ回転した位置に移動する。したがって、未知撮像画像上の周辺画像E#iの未知基準位置としての光軸中心位置(dx#i', dy#i')は、既知基準位置としての光学中心位置(dx#i, dy#i)を、基線角のずれθ#i'-θ#iだけ回転する式(5)に従って求めることができる。
未知基準位置としての撮像画像上の個眼画像E1ないしE4それぞれの光軸中心位置(dx1', dy1')ないし(dx4', dy4')を、第2の算出方法によって求める場合、すなわち、式(5)に従って求める場合には、基線角のずれθ#i'-θ#iが必要であり、その基線角のずれθ#i'-θ#iを求めるには、未知撮像画像上の周辺画像E#iの基線角θ#i'が必要となる。
未知撮像画像上の周辺画像E#iの基線角θ#i'は、例えば、未知撮像画像上の個眼画像E#i(i=0,1,2,3,4)それぞれから同一の特徴を有する特徴点を抽出し、その特徴点から求めることができる。
図16は、未知撮像画像上の個眼画像E#iからの特徴点の抽出の例を説明する図である。
特徴点の抽出では、未知撮像画像上の個眼画像E0ないしE4のうちの1つである、例えば、中央画像である個眼画像E0から、例えば、ハリスのコーナー検出等によって、特徴点の候補となる候補点が1点以上検出される。さらに、残りの個眼画像である周辺画像E1ないしE4それぞれを対象に、中央画像E0上の候補点と相関が高い点が、ブロックマッチング等によって検出され、周辺画像E1ないしE4すべてから、相関が高い点が検出された候補点が、中央画像E0の特徴点に決定されるとともに、その特徴点と相関が高い周辺画像E1ないしE4それぞれの点が特徴点に決定される。
以上のようにして、未知撮像画像上の各個眼画像E#iから、1点又は複数の点が、特徴点として抽出される。
図16では、各個眼画像E#iから、3点の特徴点a, b, cが抽出されている。
ここで、個眼画像E#i上の特徴点aの座標を、(Xa#i, Ya#i)と表す。同様に、個眼画像E#i上の特徴点bの座標を、(Xb#i, Yb#i)と表し、個眼画像E#i上の特徴点cの座標を、(Xc#i, Yc#i)と表す。
未知撮像画像上の周辺画像E#iの基線角θ#i'は、例えば、1の個眼画像である中央画像E0の特徴点と他の個眼画像である周辺画像E#iの特徴点とを結ぶ線の方向を表す角度の平均値として、式(6)に従って求めることができる。
式(6)は、3個の特徴点aないしcについて得られる、中央画像E0の特徴点と周辺画像E#iの特徴点とを結ぶ線の方向を表す3個の角度の平均値になっている。式(6)の基線角θ#i'は、平均をとる角度の数が多いほど、すなわち、各個眼画像E#iから抽出される特徴点の数が多いほど、精度を向上させることができる。
式(6)により得られる基線角θ#i'を用いて求められる基線角のずれθ#i'-θ#iは、1の個眼画像である中央画像E0の特徴点と他の個眼画像である周辺画像E#iの特徴点とを結ぶ線の方向を表す角度と、基準角θ#iとの間の回転角であることができる。
第2の算出方法では、式(6)に従って、基線角θ#i'を求め、式(5)に従って、基線角θ#i'を用いて求められる基線角のずれθ#i'-θ#iだけ、既知基準位置としての光学中心位置(dx#i, dy#i)を回転させることにより、未知撮像画像上の周辺画像E#iの未知基準位置としての光軸中心位置(dx#i', dy#i')が求められる。
図17は、未知基準位置としての未知撮像画像上の個眼画像E1ないしE4それぞれの光軸中心位置(dx1', dy1')ないし(dx4', dy4')を、第2の算出方法によって求める場合の既知基準位置等取得処理の例を説明するフローチャートである。
図17の既知基準位置等取得処理では、未知基準位置としての光軸中心位置(dx#i', dy#i')を第2の算出方法で求める場合に必要となる既知基準位置としての光軸中心位置(dx#i, dy#i)等が取得される。
図17の既知基準位置等取得処理は、図8の場合と同様に、取得処理装置としてのカメラ本体10やコンピュータ等で行うことができる。
図17の既知基準位置当取得処理では、取得処理装置は、ステップS51ないし54において、図8のステップS11ないしS14とそれぞれ同様の処理を行う。これにより、取得処理装置は、ステップS54において、個眼画像E0の既知基準位置(x0, y0)を基準とする個眼画像E#iの(相対)既知基準位置(dx#i, dy#i)を求め、処理は、ステップS55に進む。
ステップS55では、取得処理装置は、既知撮像画像上の中央画像である個眼画像E0の既知基準位置(x0, y0)=(0, 0)と周辺画像である他の個眼画像E#i(i=1,2,3,4)の既知基準位置(x#i, y#i)=(dx#i, dy#i)とを結ぶ基線L0#iの方向を表す基線角θ#i=tan-1(dy#i/dx#i)を、個眼画像E#iの基準角θ#iとして求め、既知基準位置等取得処理は終了する。
ステップS54で求められた既知基準位置(dx#i, dy#i)、並びに、ステップS55で求められた基準角θ#iは、レンズ情報の一部として、図12の記憶部41に記憶される。
図18は、未知基準位置としての未知撮像画像上の個眼画像E1ないしE4それぞれの相対光軸中心位置(dx1', dy1')ないし(dx4', dy4')を、第2の算出方法によって求める未知基準位置算出処理の例を説明するフローチャートである。
ステップS61及びS62において、基準位置算出部71(図12)は、図9のステップS21及びS22とそれぞれ同様の処理を行い、処理は、ステップS63に進む。ステップS61及びS62の処理により、基準位置算出部71は、多眼交換レンズ20のレンズ情報、及び、イメージセンサ51で撮像された未知撮像画像を取得する。
ステップS63では、基準位置算出部71は、未知撮像画像に含まれる個眼画像E0ないしE4(と推定される領域(例えば、原点を中心とする所定のサイズの長方形状の領域、及び、レンズ情報に含まれる既知基準位置としての光軸中心位置(dx#i, dy#i)を中心とする所定のサイズの長方形状の領域))それぞれから、同一の特徴量を有する特徴点(Xa#i, Ya#i)を抽出し、処理は、ステップS64に進む。
なお、式(6)で説明したように、式(6)の基線角θ#i'は、各個眼画像E#iから抽出される特徴点の数が多いほど、精度を向上させることができるが、ここでは、説明を簡単にするため、未知撮像画像に含まれる各個眼画像E#iからは、1個の特徴点を抽出することとする。
ステップS64では、基準位置算出部71は、未知撮像画像上の周辺画像である個眼画像E1ないしE4それぞれについて、中央画像である個眼画像E0の特徴点(Xa0, Ya0)と周辺画像である個眼画像E#iの特徴点(Xa#i, Ya#i)とを結ぶ線である特徴点接続線の方向を表す角度を、個眼画像E#iの基線角θ#i'として求める。
さらに、基準位置算出部71は、未知撮像画像上の周辺画像である個眼画像E1ないしE4それぞれについて、基線角θ#i'と、レンズ情報に含まれる基準角θ#iとの間の回転角、すなわち、例えば、基準角θ#iを基準とする特徴点接続方向線の方向を表す相対的な角度θ#i'-θ#iを、多眼交換レンズ20の回転方向の取り付け誤差に起因する基線角のずれθ#i'-θ#iとして求め、処理は、ステップS64からステップS65に進む。
ステップS65では、基準位置算出部71は、式(5)に従い、ステップS64で求められた基線角のずれθ#i'-θ#iに応じて、レンズ情報に含まれる既知基準位置としての(相対)光軸中心位置(dx#i, dy#i)を回転させることにより、基線角のずれθ#i'-θ#iが生じている未知撮像画像上の未知基準位置としての(相対)光軸中心位置(dx#i', dy#i')を求め、未知基準位置算出処理は終了する。
以上のように、レンズ情報に、既知基準位置としての光軸中心位置(dx#i, dy#i)、及び、基準角θ#iが含まれる場合には、多眼交換レンズ20が光源32L及び32R(図1)を有していなくても、レンズ情報に含まれる既知基準位置(dx#i, dy#i)、及び、基準角θ#iに基づいて、未知撮像画像上の個眼画像E#iについて、個眼画像E#i上の未知基準位置としての光軸中心位置(dx#i', dy#i')を求めることができる。
したがって、未知基準位置としての光軸中心位置(dx#i', dy#i')に基づき、未知撮影画像から、複数の視点の画像、すなわち、個眼レンズ31iの位置を視点とする個眼画像E#iを容易に得ることができる。
さらに、未知基準位置としての光軸中心位置(dx#i', dy#i')から、基線L0#iの方向を表す基線角(tan-1(dy#i'/dx#i'))を求めることができ、その基線角を用いて、多眼交換レンズ20の回転方向の取り付け誤差に影響されない正確な視差情報を求めることができる。
なお、多眼交換レンズ20が、既知基準位置(dx#i, dy#i)を算出するときに取り付けられたカメラ本体10とは別のカメラ本体に取り付けられる場合には、個体のばらつき等に起因して、カメラ本体10におけるイメージセンサ51の取り付け位置に対して、別のカメラ本体におけるイメージセンサの取り付け位置がずれていることがあり得る。
但し、このような、別のカメラ本体におけるイメージセンサの取り付け位置のずれは、その取り付け位置がずれた状態のイメージセンサを基準とすれば、多眼交換レンズ20の取り付け誤差として把握することができる。したがって、多眼交換レンズ20が取り付けられる別のカメラ本体におけるイメージセンサの取り付け位置に、例えば、回転方向のずれがあったとしても、未知基準位置算出処理では、多眼交換レンズ20がカメラ本体10に取り付けられる場合と同様の未知基準位置としての未知撮像画像上の個眼画像E#iの光軸中心位置(dx#i', dy#i')を算出することができる。
また、基準位置算出部71では、既知基準位置(dx#i, dy#i)から基準角θ#i=tan-1(dy#i/dx#i)を求めることができる。基準角θ#iを既知基準位置(dx#i, dy#i)から求める場合には、基準角θ#iをレンズ情報に含める必要はない。
<画像処理部53の構成例>
図19は、図3及び図12の画像処理部53のうちのリフォーカスを行う部分の機能的構成例を示すブロック図である。
ここで、多眼交換レンズ20が、例えば、図5等に示したように、個眼レンズ310ないし314を有する場合には、その個眼レンズ310ないし314に対する個眼画像E0ないしE4が、領域特定部52から画像処理部53に供給される。領域特定部52から画像処理部53に供給される、個眼レンズ310ないし314に対する個眼画像E1ないしE4は、個眼レンズ310ないし314の位置それぞれから、独立のカメラを用いた撮像を行うことにより得られる撮像画像と同様の、個眼レンズ310ないし314の位置それぞれを視点とする撮像により得られる画像であり、異なる視点の画像である。
図19において、画像処理部53は、視差情報生成部81、補間部82、集光処理部83、及び、パラメータ設定部84を有する。
画像処理部53には、領域特定部52から、複数の視点の画像である複数の視点の個眼画像E#iが供給される。
なお、ここでは、個眼画像E#iの視点とは、個眼レンズ31iの位置である。
画像処理部53において、個眼画像E#iは、視差情報生成部81、及び、補間部82に供給される。
視差情報生成部81は、領域特定部52から供給される複数の視点の個眼画像E#iを用いて、視差情報を求め、補間部82、及び、集光処理部83に供給する。
すなわち、視差情報生成部81は、例えば、領域特定部52から供給される個眼画像E#iそれぞれの、他の個眼画像E#jとの視差情報を求める処理を、複数の視点の個眼画像E#iの画像処理として行う。そして、視差情報生成部81は、例えば、個眼画像の画素(の位置)ごとに、視差情報が登録されたマップを生成し、補間部82、及び、集光処理部83に供給する。
ここで、視差情報としては、視差を画素数で表したディスパリティ(disparity)や、視差に対応する奥行き方向の距離等の視差に換算することができる任意の情報を採用することができる。本実施の形態では、視差情報として、例えば、ディスパリティを採用することとし、視差情報生成部81では、そのディスパリティが登録されたディスパリティマップが、視差情報が登録されたマップとして生成されることとする。
補間部82は、領域特定部52からの複数の個眼画像E#iと、視差情報生成部81からのディスパリティマップとを用いて、個眼画像E#iの視点、すなわち、個眼レンズ31iの位置以外の視点から撮像を行ったならば得られるであろう画像を、補間により生成する。
補間部82は、例えば、個眼画像E#iの視点が分布する領域、すなわち、個眼レンズ31iが分布する領域(例えば、図1の個眼レンズ311ないし314の位置を直線で結ぶことにより囲まれる領域)内のほぼ等間隔の複数の点を、補間用の視点として、その補間用の視点の画像(補間用の視点から撮像を行った場合に得られるであろう画像)を、補間により生成する。
なお、補間部82では、個眼レンズ31iが分布する領域の外側の点についても、補間用の視点として、その補間用の視点の画像を生成することができる。
補間部82は、補間用の視点の画像を生成した後、個眼画像E#iと、補間用の視点の画像とを、集光処理部83に供給する。
ここで、補間部82において、個眼画像を用いた補間により生成された画像を、補間画像ともいう。
また、補間部82から集光処理部83に供給される個眼画像E#iと補間用の視点の補間画像とを、まとめて、視点画像ともいう。
補間部82での補間は、複数の視点の個眼画像E#iから、より多く数の視点の視点画像を生成する処理であると考えることができる。この、多く数の視点の視点画像を生成する処理は、実空間内の実空間点から入射する光線を再現する処理であると捉えることができる。
集光処理部83は、補間部82からの複数の視点の視点画像を用いて、現実のカメラにおいて、レンズ等の光学系を通過した、被写体からの光線を、イメージセンサやフィルム上に集光させ、被写体の像を形成することに相当する画像処理である集光処理を行う。
集光処理部83の集光処理では、任意の被写体にフォーカスを合わせた画像を生成(再構成)するリフォーカスを行うことができる。リフォーカスは、視差情報生成部81からのディスパリティマップや、パラメータ設定部84からの集光パラメータを用いて行われる。
集光処理部83の集光処理によって得られる画像は、処理結果画像として(表示部54や記憶部55(図3))に出力される。
パラメータ設定部84は、ユーザによる図示せぬ操作部の操作や、所定のアプリケーション等によって指定された位置にある、1個の個眼画像E#i(例えば、個眼画像E0)の画素を、合焦させる(被写体が映る)合焦対象画素に設定し、集光パラメータとして、集光処理部83に供給する。
<画像処理部53の画像処理>
図20は、図19の画像処理部53が行う画像処理の例を説明するフローチャートである。
画像処理部53において、領域特定部52から供給される複数の視点の画像である複数の視点の個眼画像E#iは、視差情報生成部81、及び、補間部82に供給される。
画像処理部53では、ステップS81において、視差情報生成部81が、領域特定部52からの複数の視点の個眼画像E#iを用いて、視差情報を求め、その視差情報が登録されたディスパリティマップを生成する視差情報生成処理を行う。
視差情報生成部81は、視差情報生成処理により得られるディスパリティマップを、補間部82、及び、集光処理部83に供給し、処理は、ステップS81からステップS82に進む。
ステップS82では、補間部82は、領域特定部52からの複数の視点の個眼画像E#iと、視差情報生成部81からのディスパリティマップとを用いて、個眼画像E#iの視点以外の複数の補間用の視点の補間画像を生成する補間処理を行う。
さらに、補間部82は、領域特定部52からの複数の視点の個眼画像E#iと、補間処理により得られた複数の補間用の視点の補間画像とを、複数の視点の視点画像として、集光処理部83に供給し、処理は、ステップS82からステップS83に進む。
ステップS83では、パラメータ設定部84は、ユーザの操作等によって指定された位置にある、1個の視点画像(例えば、個眼画像E0)の画素を、合焦させる合焦対象画素に設定する設定処理を行う。
パラメータ設定部84は、設定処理により得られた合焦対象画素(の情報)を、集光パラメータとして、集光処理部83に供給し、処理は、ステップS83からステップS84に進む。
ここで、合焦対象画素は、以上のように、ユーザの指定に従って設定する他、例えば、アプリケーションからの指定や、あらかじめ決められたルールによる指定等に従って設定することができる。例えば、所定の速さ以上の動きがある被写体や、所定の時間以上連続して動いている被写体が映る画素を、合焦対象画素に設定することができる。
ステップS84では、集光処理部83は、補間部82からの複数の視点の視点画像、視差情報生成部81からのディスパリティマップ、及び、パラメータ設定部84からの集光パラメータとしての合焦対象画素を用いて、被写体からの光線を、図示せぬ仮想センサ上に集光させることに相当する集光処理を行い、画像処理部53の画像処理は終了する。
集光処理部83は、集光処理の結果得られる処理結果画像を、表示部54に供給する。
なお、集光処理において、光線が集光される仮想センサの実体は、例えば、図示せぬメモリである。集光処理では、複数の視点の視点画像の画素値が、仮想センサに集光される光線の輝度として、仮想センサとしてのメモリ(の記憶値)に積算されることで、光線の集光により得られる画像の画素値が求められる。
集光処理部83の集光処理では、複数の視点の視点画像の画素を画素シフトする画素シフト量である後述する基準シフト量BVを設定し、その基準シフト量BVに応じて、複数の視点の視点画像の画素(の画素値)を画素シフトして積算することにより、実空間内の合焦点に合焦した処理結果画像の各画素値が求められ、処理結果画像が生成される。
ここで、合焦点とは、フォーカスが合う、実空間内の実空間点であり、集光処理部83の集光処理では、合焦点の集合としての面である合焦面が、パラメータ設定部84からの集光パラメータとしての合焦対象画素を用いて設定される。
なお、画像処理部53(図19)は、集光処理部83だけで構成することができる。
例えば、集光処理部83の集光処理を、補間画像を用いずに、領域特定部52で撮像された個眼画像E#iを用いて行う場合には、補間部82を設けずに、画像処理部53を構成することができる。但し、集光処理を、個眼画像E#iの他、補間画像をも用いて行う場合には、処理結果画像において、合焦していない被写体にリンギングが発生することを抑制することができる。
また、例えば、個眼画像E#iの視差情報を、距離センサ等を用いて、外部の装置で生成し、その外部の装置から視差情報を取得することができる場合には、視差情報生成部81を設けずに、画像処理部53を構成することができる。
さらに、例えば、集光処理部83において、あらかじめ決められたルールに従って、合焦面を設定する場合には、パラメータ設定部84を設けずに、画像処理部53を構成することができる。
また、カメラ本体10は、画像処理部53を設けずに構成することができる。
<多眼交換レンズの他の構成例>
図21は、多眼交換レンズ20の他の構成例を示す背面図である。
図21では、多眼交換レンズ20は、7個の個眼レンズ310ないし316を有し、その7個の個眼レンズ310ないし316は、光軸方向に重ならないように、2次元平面上に配置されている。
さらに、図21では、7個の個眼レンズ310ないし316は、それらのうちの1個である、例えば、個眼レンズ310を中心として、他の6個の個眼レンズ311ないし316が、個眼レンズ310の周辺に、正6角形の頂点を構成するように配置されている。
したがって、図21では、7個の個眼レンズ310ないし316のうちの、任意の1個の個眼レンズ31i(i=0,2,...,6)と、その個眼レンズ31iに最も近い他の1個の個眼レンズ31j(i=0,2,...,6)との(光軸どうしの)距離は、同一の距離Bになっている。
以下、多眼交換レンズ20が、図21に示したように、7個の個眼レンズ310ないし316を有する場合を例に説明を行う。
多眼交換レンズ20が、図21に示したように、7個の個眼レンズ310ないし316を有する場合、領域特定部52(図3)から画像処理部53の視差情報生成部81及び補間部82に供給される複数の視点の個眼画像E#iは、7個の個眼レンズ310ないし316に対する7視点の個眼画像E0ないしE6である。
<補間画像の生成>
図22は、図19の補間部82での補間画像の生成の例を説明する図である。
ある視点の補間画像を生成する場合、補間部82は、補間画像の画素を、順次、補間の対象の補間対象画素に選択する。さらに、補間部82は、7視点の個眼画像E0ないしE6のうちの全部、又は、補間画像の視点に近い一部(複数)の視点の個眼画像E#iを、補間対象画素の画素値の算出に用いる画素値算出画像に選択する。補間部82は、視差情報生成部81からのディスパリティマップと補間画像の視点とを用いて、画素値算出画像に選択された複数の視点の個眼画像E#iそれぞれから、補間対象画素に対応する対応画素(補間画像の視点から撮像を行ったならば、補間対象画素に映るであろう空間点と同一の空間点が映っている画素)を求める。
そして、補間部82は、複数の視点の個眼画像E#iの対応画素の画素値の重み付け加算を行い、その結果得られる重み付け加算値を、補間対象画素の画素値として求める。
対応画素の画素値の重み付け加算に用いる重みとしては、対応画素を有する画素値算出画像としての個眼画像E#iの視点と、補間対象画素を有する補間画像の視点との間の距離に反比例するような値を採用することができる。
<ディスパリティマップの生成>
図23は、図19の視差情報生成部81でのディスパリティマップの生成の例を説明する図である。
すなわち、図23は、領域特定部52の個眼レンズ310ないし316に対する個眼画像E0ないしE6の例を示している。
図23では、個眼画像E0ないしE6には、所定の背景の手前側に、前景としての所定の物体objが映っている。個眼画像E0ないしE6それぞれについては、視点が異なるため、例えば、個眼画像E1ないしE6それぞれに映る物体objの位置(個眼画像上の位置)は、個眼画像E0に映る物体objの位置から、視点が異なる分だけずれている。
いま、個眼レンズ31iの視点(位置)、すなわち、個眼レンズ31iに対する個眼画像E#iの視点を、vp#iと表すこととする。
例えば、個眼画像E0の視点vp0のディスパリティマップを生成する場合には、視差情報生成部81は、個眼画像E0を、注目する注目画像E0とする。さらに、視差情報生成部81は、注目画像E0の各画素を、順次、注目する注目画素に選択し、その注目画素に対応する対応画素(対応点)を、他の個眼画像E1ないしE6のそれぞれから検出する。
個眼画像E1ないしE6それぞれから、注目画像E0の注目画素に対応する対応画素を検出する方法としては、例えば、ステレオマッチングやマルチベースラインステレオ等の三角測量の原理を利用した方法がある。
ここで、注目画像E0の注目画素に対する、個眼画像E#iの対応画素の位置ずれを表すベクトルを、ディスパリティベクトルv#i,0ということとする。
視差情報生成部81は、個眼画像E1ないしE6のそれぞれについてディスパリティベクトルv1,0ないしv6,0を求める。そして、視差情報生成部81は、例えば、ディスパリティベクトルv1,0ないしv6,0の大きさを対象とした多数決を行い、その多数決に勝利したディスパリティベクトルv#i,0の大きさを、注目画素(の位置)のディスパリティの大きさとして求める。
ここで、領域特定部52において、図21で説明したように、注目画像E0が得られた個眼レンズ310と、個眼画像E1ないしE6が得られた個眼レンズ311ないし316それぞれとの距離が、同一の距離Bになっている場合に、注目画像E0の注目画素に映る実空間点が、個眼画像E1ないしE6にも映っているときには、ディスパリティベクトルv1,0ないしv6,0として、向きが異なるが、大きさが等しいベクトルが求められる。
すなわち、この場合、ディスパリティベクトルv1,0ないしv6,0は、注目画像E0の視点vp0に対する他の個眼画像E1ないしE6の視点vp1ないしvp6の方向と逆方向の、大きさが等しいベクトルになる。
但し、個眼画像E1ないしE6の中には、オクルージョンが生じている画像、すなわち、注目画像E0の注目画素に映る実空間点が、前景に隠れて映っていない画像があり得る。
注目画像E0の注目画素に映る実空間点が映っていない個眼画像(以下、オクルージョン画像ともいう)E#iについては、注目画素に対応する対応画素として、正しい画素を検出することが困難である。
そのため、オクルージョン画像E#iについては、注目画像E0の注目画素に映る実空間点が映っている個眼画像E#jのディスパリティベクトルv#j,0とは、大きさが異なるディスパリティベクトルv#i,0が求められる可能性が極めて高い。
個眼画像E1ないしE6の中で、注目画素について、オクルージョンが生じている画像は、オクルージョンが生じていない画像よりも少ないと推定される。そこで、視差情報生成部81は、上述のように、ディスパリティベクトルv1,0ないしv6,0の大きさを対象とした多数決を行い、その多数決に勝利したディスパリティベクトルv#i,0の大きさを、注目画素のディスパリティの大きさとして求める。
図23では、ディスパリティベクトルv1,0ないしv6,0の中で、3つのディスパリティベクトルv1,0,v2,0,v6,0が大きさが等しいベクトルになっている。また、ディスパリティベクトルv3,0,v4,0,v5,0それぞれについては、大きさが等しいディスパリティベクトルが存在しない。
そのため、3つのディスパリティベクトルv1,0,v2,0,v6,0が大きさが、注目画素のディスパリティの大きさとして求められる。
なお、注目画像E0の注目画素の、任意の個眼画像E#iとの間のディスパリティの方向は、注目画像E0の視点vp0(個眼レンズ310の位置)と、個眼画像E#iの視点vp#i(個眼レンズ31iの位置)との位置関係(視点vp0から視点vp#iへの方向等)から認識することができる。
視差情報生成部81は、注目画像E0の各画素を、順次、注目画素に選択し、ディスパリティの大きさを求める。そして、視差情報生成部81は、注目画像E0の各画素の位置(xy座標)に対して、その画素のディスパリティの大きさを登録したマップを、ディスパリティマップとして生成する。したがって、ディスパリティマップは、画素の位置と、その画素のディスパリティの大きさとを対応付けたマップ(テーブル)である。
他の個眼画像E#iの視点vp#iのディスパリティマップも、視点vp0のディスパリティマップと同様に生成することができる。
但し、視点vp#0以外の視点vp#iのディスパリティマップの生成にあたって、ディスパリティベクトルの多数決は、個眼画像E#iの視点vp#iと、その個眼画像E#i以外の個眼画像E#jの視点vp#jとの位置関係(個眼レンズ31iと31jとの位置関係)(視点vp#iと視点vp#jとの距離)に基づき、ディスパリティベクトルの大きさを調整して行われる。
すなわち、例えば、個眼画像E4を注目画像として、ディスパリティマップを生成する場合、注目画像E4と個眼画像E1との間で得られるディスパリティベクトルは、注目画像E4と個眼画像E0との間で得られるディスパリティベクトルの2倍の大きさになる。
これは、注目画像E4が得られる個眼レンズ314と、個眼画像E0が得られる個眼レンズ310との光軸どうしの距離である基線長が、距離Bであるのに対して、注目画像E4が得られる個眼レンズ314と、個眼画像E1が得られる個眼レンズ311との基線長が、距離2Bになっているためである。
そこで、いま、例えば、個眼レンズ310と、他の個眼レンズ31iとの基線長である距離Bを、ディスパリティを求める基準となる基準基線長ということとする。ディスパリティベクトルの多数決は、基線長が基準基線長Bに換算されるように、ディスパリティベクトルの大きさを調整して行われる。
すなわち、例えば、注目画像E4が得られる個眼レンズ314と、個眼画像E0が得られる個眼レンズ310の基線長Bは、基準基線長Bに等しいので、注目画像E4と個眼画像E0との間で得られるディスパリティベクトルは、その大きさが1倍に調整される。
また、例えば、注目画像E4が得られる個眼レンズ314と、個眼画像E1が得られる個眼レンズ311の基線長2Bは、基準基線長Bの2倍に等しいので、注目画像E4と個眼画像E1との間で得られるディスパリティベクトルは、その大きさが、基準基線長Bと、個眼レンズ314と個眼レンズ311との基線長2Bとの比の値倍である1/2倍に調整される。
注目画像E4と他の個眼画像E#iとの間で得られるディスパリティベクトルについても、同様に、その大きさが、基準基線長Bとの比の値倍に調整される。
そして、大きさの調整後のディスパリティベクトルを用いて、ディスパリティベクトルの多数決が行われる。
なお、視差情報生成部81において、個眼画像E#i(の各画素)のディスパリティは、例えば、個眼画像の画素の精度で求めることができる。また、個眼画像E#iのディスパリティは、例えば、その個眼画像E#iの画素より細かい精度である画素以下精度(例えば、1/4画素等のサブピクセルの精度)で求めることができる。
ディスパリティを画素以下精度で求める場合、ディスパリティを用いる処理では、その画素以下精度のディスパリティを、そのまま用いることもできるし、画素以下精度のディスパリティの小数点以下を、切り捨て、切り上げ、又は、四捨五入等して整数化して用いることもできる。
ここで、ディスパリティマップに登録されるディスパリティの大きさを、以下、登録ディスパリティともいう。例えば、左から右方向の軸をx軸とするとともに、下から上方向の軸をy軸とする2次元座標系において、ディスパリティとしてのベクトルを表す場合、登録ディスパリティは、個眼画像E0の各画素の、個眼画像E0の左隣の視点の個眼画像E4との間のディスパリティ(個眼画像E0の画素から、その画素に対応する個眼画像E4の対応画素までの画素ずれを表すベクトル)のx成分に等しい。
<集光処理によるリフォーカス>
図24は、図19の集光処理部83で行われる集光処理によるリフォーカスの概要を説明する図である。
なお、図24では、説明を簡単にするため、集光処理に用いる複数の視点の視点画像として、個眼画像E0、個眼画像E0の右隣の視点の個眼画像E1、及び、個眼画像E0の左隣の視点の個眼画像E4の3個の画像を用いることとする。
図24において、個眼画像E0,E1、及び、E4には、2つの物体obj1及びobj2が映っている。例えば、物体obj1は、手前側に位置しており、物体obj2は、奥側に位置している。
いま、例えば、物体obj1に合焦させる(焦点を合わせる)リフォーカスを行って、そのリフォーカス後の処理結果画像として、個眼画像E0の視点から見た画像を得ることとする。
ここで、個眼画像E0の物体obj1が映る画素との間の、処理結果画像の視点(ここでは、個眼画像E0の視点)のディスパリティを、DP0と表す。また、個眼画像E1の物体obj1が映る画素との間の、処理結果画像の視点のディスパリティを、DP1と表すとともに、個眼画像E4の物体obj1が映る画素との間の、処理結果画像の視点のディスパリティを、DP4と表すこととする。
なお、図24では、処理結果画像の視点は、個眼画像E0の視点に等しいので、個眼画像E0の物体obj1が映る画素との間の、処理結果画像の視点のディスパリティDP0は、(0,0)になる。
個眼画像E0,E1、及び、E4については、個眼画像E0,E1、及び、E4を、ディスパリティDP0,DP1、及び、DP4に応じて、それぞれ画素シフトし、その画素シフト後の個眼画像E0,E1、及び、E4を積算することにより、物体obj1に合焦した処理結果画像を得ることができる。
すなわち、個眼画像E0,E1、及び、E4を、ディスパリティDP0,DP1、及び、DP4をキャンセルするように(ディスパリティDP0,DP1、及び、DP4の逆方向に)、それぞれ画素シフトすることで、画素シフト後の個眼画像E0,E1、及び、E4では、物体obj1が映る画素の位置が一致する。
したがって、画素シフト後の個眼画像E0,E1、及び、E4を積算することにより、物体obj1に合焦した処理結果画像を得ることができる。
なお、画素シフト後の個眼画像E0,E1、及び、E4においては、物体obj1と異なる奥行き方向の位置にある物体obj2が映る画素の位置は、一致しない。そのため、処理結果画像に映る物体obj2は、ぼやける。
また、ここでは、上述したように、処理結果画像の視点は、個眼画像E0の視点であり、ディスパリティDP0は(0,0)であるため、個眼画像E0については、実質的に、画素シフトを行う必要はない。
集光処理部83の集光処理では、例えば、以上のように、複数の視点の視点画像の画素を、合焦対象が映る合焦対象画素との間の、処理結果画像の視点(ここでは、個眼画像E0の視点)のディスパリティをキャンセルするように画素シフトして積算することで、合焦対象にリフォーカスが行われた画像が、処理結果画像として求められる。
<ディスパリティ変換>
図25は、ディスパリティ変換の例を説明する図である。
図23で説明したように、ディスパリティマップに登録される登録ディスパリティは、オクルージョンが生じている領域以外の部分において、個眼画像E0の左隣の視点の個眼画像E4の各画素との間の、個眼画像E0の画素のディスパリティのx成分に等しい。
リフォーカスでは、視点画像を、合焦対象画素のディスパリティをキャンセルするように画素シフトする必要がある。
いま、ある視点を、注目視点として注目すると、リフォーカスにおいて、注目視点の視点画像の画素シフトにあたっては、その注目視点の視点画像との間の、処理結果画像の合焦対象画素のディスパリティ、すなわち、ここでは、例えば、個眼画像E0の合焦対象画素のディスパリティが必要となる。
注目視点の視点画像との間の、個眼画像E0の合焦対象画素のディスパリティは、個眼画像E0の合焦対象画素(処理結果画像の合焦対象画素に対応する個眼画像E0の対応画素)の登録ディスパリティから、処理結果画像の視点から注目視点の方向を加味して求めることができる。
いま、処理結果画像の視点である個眼画像E0の視点から注目視点の方向を、x軸を0[radian]とする反時計回りの角度で表すこととする。
例えば、個眼レンズ311は、処理結果画像の視点である個眼画像E0の視点から基準基線長Bだけ+x方向に離れた位置にあり、処理結果画像の視点である個眼画像E0の視点から個眼レンズ311に対する個眼画像E1の視点の方向は、0[radian]である。この場合、個眼レンズ311に対する個眼画像E1(視点画像)との間の、個眼画像E0の合焦対象画素のディスパリティDP1(としてのベクトル)は、その合焦対象画素の登録ディスパリティRDから、個眼レンズ311に対する個眼画像E1の視点の方向である0[radian]を加味して、(-RD,0)=(-(B/B)×RD×cos0,-(B/B)×RD×sin0)と求めることができる。
また、例えば、個眼レンズ312は、処理結果画像の視点である個眼画像E0の視点から基準基線長Bだけπ/3の方向に離れた位置にあり、処理結果画像の視点である個眼画像E0の視点から個眼レンズ312に対する個眼画像E3の視点の方向は、π/3[radian]である。この場合、個眼レンズ312に対する個眼画像E3との間の、個眼画像E0の合焦対象画素のディスパリティDP2は、その合焦対象画素の登録ディスパリティRDから、個眼レンズ312の視点の方向であるπ/3[radian]を加味して、(-RD×cos(π/3),-RD×sin(π/3))=(-(B/B)×RD×cos(π/3),-(B/B)×RD×sin(π/3))と求めることができる。
ここで、補間部82で得られる補間画像は、その補間画像の視点vpに位置する仮想的なレンズで撮像された画像であるとみなすことができる。この仮想的なレンズで撮像された画像の視点vpが、処理結果画像の視点である個眼画像E0の視点から、距離Lだけ、角度θ[radian]の方向に離れた位置であるとする。この場合、視点vpの視点画像(仮想的なレンズで撮像された画像)との間の、個眼画像E0の合焦対象画素のディスパリティDPは、その合焦対象画素の登録ディスパリティRDから、視点vpの方向である角度θを加味して、(-(L/B)×RD×cosθ,-(L/B)×RD×sinθ)と求めることができる。
以上のように、登録ディスパリティRDから、注目視点の方向を加味して、注目視点の視点画像との間の、個眼画像E0の画素のディスパリティを求めること、すなわち、登録ディスパリティRDを、注目視点の視点画像との間の、個眼画像E0の画素(処理結果画像の画素)のディスパリティに変換することを、ディスパリティ変換ともいう。
リフォーカスでは、合焦対象画素の登録ディスパリティRDから、ディスパリティ変換によって、各視点の視点画像との間の、個眼画像E0の合焦対象画素のディスパリティが求められ、その合焦対象画素のディスパリティをキャンセルするように、各視点の視点画像が画素シフトされる。
リフォーカスにおいて、視点画像は、その視点画像との間の、合焦対象画素のディスパリティをキャンセルするように画素シフトされるが、この画素シフトのシフト量を、合焦シフト量ともいう。
ここで、以下、補間部82で得られる複数の視点の視点画像のうちの、i番目の視点画像の視点を、視点vp#iとも記載する。視点vp#iの視点画像の合焦シフト量を、合焦シフト量SV#iとも記載する。
視点vp#iの視点画像の合焦シフト量SV#iは、合焦対象画素の登録ディスパリティRDから、処理結果画像の視点である個眼画像E0の視点から視点vp#iの方向を加味したディスパリティ変換によって、一意に求めることができる。
ここで、ディスパリティ変換では、上述したように、登録ディスパリティRDから、ディスパリティ(としてのベクトル)(-(L/B)×RD×cosθ,-(L/B)×RD×sinθ)が求められる。
したがって、ディスパリティ変換は、例えば、登録ディスパリティRDに対して、-(L/B)×cosθ及び-(L/B)×sinθのそれぞれを乗算する演算、あるいは、登録ディスパリティRDの-1倍に対して、(L/B)×cosθ及び(L/B)×sinθのそれぞれを乗算する演算等として捉えることができる。
ここでは、例えば、ディスパリティ変換を、登録ディスパリティRDの-1倍に対して、(L/B)×cosθ及び(L/B)×sinθのそれぞれを乗算する演算として捉えることとする。
この場合、ディスパリティ変換の対象となる値、すなわち、ここでは、登録ディスパリティRDの-1倍は、各視点の視点画像の合焦シフト量を求める基準となる値であり、以下、基準シフト量BVともいう。
合焦シフト量は、基準シフト量BVのディスパリティ変換によって一意に決まるので、基準シフト量BVの設定によれば、その設定により、実質的に、リフォーカスにおいて、各視点の視点画像の画素を画素シフトする画素シフト量が設定されることになる。
なお、上述のように、基準シフト量BVとして、登録ディスパリティRDの-1倍を採用する場合には、合焦対象画素を合焦させるときの基準シフト量BV、すなわち、合焦対象画素の登録ディスパリティRDの-1倍は、個眼画像E1との間の、合焦対象画素のディスパリティのx成分に等しい。
<リフォーカスを行う集光処理>
図26は、リフォーカスを行う集光処理の例を説明するフローチャートである。
ステップS91において、集光処理部83は、パラメータ設定部84から、集光パラメータとしての合焦対象画素(の情報)を取得し、処理は、ステップS92に進む。
すなわち、例えば、個眼レンズ310ないし316に対する個眼画像E0ないしE6のうちの、個眼画像E0等が、表示部54に表示され、ユーザが、その個眼画像E0上の1つの位置を指定すると、パラメータ設定部84は、ユーザが指定した位置の画素を合焦対象画素に設定し、その合焦対象画素(を表す情報)を、集光パラメータとして、集光処理部83に供給する。
ステップS91では、集光処理部83は、以上のようにして、パラメータ設定部84から供給される合焦対象画素を取得する。
ステップS92では、集光処理部83は、視差情報生成部81からのディスパリティマップに登録されている合焦対象画素の登録ディスパリティRDを取得する。そして、集光処理部83は、合焦対象画素の登録ディスパリティRDに応じて、基準シフト量BVを設定し、すなわち、例えば、合焦対象画素の登録ディスパリティRDの-1倍を、基準シフト量BVに設定し、処理は、ステップS92からステップS93に進む。
ステップS93では、集光処理部83は、補間部82からの複数の視点の視点画像のうちの1つの画像である、例えば、個眼画像E0に対応する画像、すなわち、個眼画像E0の視点から見た、個眼画像E0と同一サイズの画像であって、画素値が初期値としての0の画像を、処理結果画像に設定する。さらに、集光処理部83は、その処理結果画像の画素の中から、まだ、注目画素に決定していない画素のうちの1画素を、注目画素に決定し、処理は、ステップS93からステップS94に進む。
ステップS94では、集光処理部83は、補間部82からの視点画像の視点のうちの、(注目画素について、)まだ、注目視点に決定していない1つの視点vp#iを注目視点vp#iに決定し、処理は、ステップS95に進む。
ステップS95では、集光処理部83は、基準シフト量BVから、合焦対象画素を合焦させる(合焦対象画素に映る被写体にフォーカスを合わせる)ために必要な、注目視点vp#iの視点画像の各画素の合焦シフト量SV#iを求める。
すなわち、集光処理部83は、基準シフト量BVを、処理結果画像の視点である個眼画像E0の視点から注目視点vp#iの方向を加味して、ディスパリティ変換し、そのディスパリティ変換の結果得られる値(ベクトル)を、注目視点vp#iの視点画像の各画素の合焦シフト量SV#iとして取得する。
その後、処理は、ステップS95からステップS96に進み、集光処理部83は、注目視点vp#iの視点画像の各画素を、合焦シフト量SV#iに応じて画素シフトし、画素シフト後の視点画像の、注目画素の位置の画素の画素値を、注目画素の画素値に積算する。
すなわち、集光処理部83は、注目視点vp#iの視点画像の画素のうちの、注目画素の位置から合焦シフト量SV#iに対応するベクトル(ここでは、例えば、合焦シフト量SV#iの-1倍)だけ離れた画素の画素値を、注目画素の画素値に積算する。
そして、処理は、ステップS96からステップS97に進み、集光処理部83は、補間部82からの視点画像のすべての視点を、注目視点としたかどうかを判定する。
ステップS97において、まだ、補間部82からの視点画像のすべての視点を、注目視点としていないと判定された場合、処理は、ステップS94に戻り、以下、同様の処理が繰り返される。
また、ステップS97において、補間部82からの視点画像のすべての視点を、注目視点としたと判定された場合、処理は、ステップS98に進む。
ステップS98では、集光処理部83は、処理結果画像の画素のすべてを、注目画素としたかどうかを判定する。
ステップS98において、まだ、処理結果画像の画素のすべてを、注目画素としていないと判定された場合、処理は、ステップS93に戻り、集光処理部83は、上述したように、処理結果画像の画素の中から、まだ、注目画素に決定していない画素のうちの1画素を、注目画素に新たに決定し、以下、同様の処理を繰り返す。
また、ステップS98において、処理結果画像の画素のすべてを、注目画素としたと判定された場合、集光処理部83は、処理結果画像を出力して、集光処理を終了する。
なお、図26の集光処理では、実空間内の奥行き方向の距離が一定の(変化しない)平面を合焦面として、その合焦面上(合焦面の近傍)に位置する被写体に合焦した処理結果画像が、複数の視点の視点画像を用いて生成される。
かかる図26の集光処理では、基準シフト量BVは、合焦対象画素の登録ディスパリティRDに応じて設定され、注目画素や注目視点vp#iによっては変化しない。そのため、図26の集光処理では、基準シフト量BVは、注目画素や注目視点vp#iに関係なく設定される。
また、合焦シフト量SV#iは、注目視点vp#i及び基準シフト量BVによって変化するが、図26の集光処理では、上述のように、基準シフト量BVは、注目画素や注目視点vp#iによっては変化しない。したがって、合焦シフト量SV#iは、注目視点vp#iによって変化するが、注目画素によっては変化しない。すなわち、合焦シフト量SV#iは、1つの視点の視点画像の各画素に対しては、注目画素に関係なく、同一の値になる。
図26において、合焦シフト量SV#iを求めるステップS95の処理は、異なる注目画素について、同一の視点vp#iに対する合焦シフト量SV#iを繰り返し算出するループ(ステップS93ないしステップS98のループ)を構成しているが、上述のように、合焦シフト量SV#iは、1つの視点の視点画像の各画素に対しては、注目画素に関係なく、同一の値になる。
したがって、図26において、合焦シフト量SV#iを求めるステップS95の処理は、1視点に対して1回だけ行えば良い。
<サーバを利用した未知基準位置(dx#i, dy#i)の取得>
図27は、サーバを利用して、未知撮像画像の未知基準位置(dx#i', dy#i')を取得する処理の例を説明する図である。
なお、図27では、多眼交換レンズ20の記憶部41に、その多眼交換レンズ20のレンズIDがレンズ情報として記憶され、レンズIDと、そのレンズIDによって特定される多眼交換レンズ20の他のレンズ情報(既知基準位置(dx#i, dy#i)等)とが対応付けられたデータベースが用意されていることとする。
例えば、多眼交換レンズ20が、カメラ本体10に装着されると、ステップS1111において、多眼交換レンズ20(図3)(図12)の通信部42が、記憶部41に記憶されたレンズ情報としてレンズIDを、カメラ本体10に送信する。
カメラ本体10(図3)(図12)の通信部56は、多眼交換レンズ20からのレンズIDを受信する。
そして、多眼交換レンズ20がカメラ本体10に装着されたカメラシステム(図1)(図11)では、未知撮像画像が撮像されると、ステップS121において、カメラ本体10の通信部56は、多眼交換レンズ20からのレンズIDと、未知撮像画像とを、例えば、クラウド上のサーバ90に送信する。
サーバ90は、カメラ本体10からのレンズID及び未知撮像画像を受信する。さらに、サーバ90は、ステップS131において、カメラ本体10からのレンズIDをキーワードとして、データベース(DB)を検索し、そのレンズIDによって特定される多眼交換レンズ20の他のレンズ情報としての既知撮像画像の既知基準位置(dx#i, dy#i)と、既知光位置(XL, YL)及び(XR, YR)、又は、基準角θ#iとを取得する。
そして、サーバ90は、ステップS132において、データベースから検索した多眼交換レンズ20のレンズ情報としての既知撮像画像の既知基準位置(dx#i, dy#i)と、既知光位置(XL, YL)及び(XR, YR)、又は、基準角θ#iとを用いて、カメラ本体10からの未知撮像画像に含まれる個眼画像E#iの未知基準位置(dx#i', dy#i')を求める。
さらに、サーバ90は、ステップS133において、未知基準位置(dx#i', dy#i')を、カメラ本体10に送信する。
カメラ本体10(図3)では、通信部56が、サーバ90からの未知基準位置(dx#i', dy#i')を受信し、領域特定部52に供給する。領域特定部52は、サーバ90からの未知基準位置(dx#i', dy#i')を用いて、未知撮像画像上の個眼画像E#iの領域を特定する。
以上のように、未知基準位置(dx#i', dy#i')は、カメラ本体10とは別のサーバ90で求めることができる。この場合、カメラ本体10は、基準位置算出部57(図3)又は基準位置算出部71(図12)を設けずに構成することができる。
なお、サーバ90では、未知撮像画像に含まれる個眼画像E#iの未知基準位置(dx#i', dy#i')を求めた後、その未知基準位置(dx#i', dy#i')を用いて、未知撮像画像上の個眼画像E#iの領域を特定し、その領域の特定の結果を表す領域特定結果情報を、カメラ本体10に送信することができる。
この場合、カメラ本体10は、基準位置算出部57又は71、及び、領域特定部52を設けずに構成することができる。
さらに、カメラ本体10は、画像処理部53を設けずに構成し、未知撮像画像、又は、未知撮像画像から特定された個眼画像E#iを、サーバ90に送信することができる。この場合、サーバ90において、必要に応じて、未知撮像画像から個眼画像E#iを特定し、その未知撮像画像から特定された個眼画像E#i、又は、カメラ本体10から送信されてきた個眼画像E#iを用いて、画像処理部53と同様の画像処理を行うことができる。そして、サーバ90は、その画像処理により得られる処理結果画像を、カメラ本体10に送信することができる。
<本技術を適用したコンピュータの説明>
次に、上述した領域特定部52や、画像処理部53、通信部56、基準位置算出部57及び71等の一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
図28は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク205やROM203に予め記録しておくことができる。
あるいはまた、プログラムは、リムーバブル記録媒体211に格納(記録)しておくことができる。このようなリムーバブル記録媒体211は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体211としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体211からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク205にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)202を内蔵しており、CPU202には、バス201を介して、入出力インタフェース210が接続されている。
CPU202は、入出力インタフェース210を介して、ユーザによって、入力部207が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)203に格納されているプログラムを実行する。あるいは、CPU202は、ハードディスク205に格納されたプログラムを、RAM(Random Access Memory)204にロードして実行する。
これにより、CPU202は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU202は、その処理結果を、必要に応じて、例えば、入出力インタフェース210を介して、出力部206から出力、あるいは、通信部208から送信、さらには、ハードディスク205に記録等させる。
なお、入力部207は、キーボードや、マウス、マイク等で構成される。また、出力部206は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
なお、本技術は、以下の構成をとることができる。
<1>
光軸方向に重ならないように配置された複数のレンズである個眼レンズを有する交換レンズがイメージセンサを有するカメラ本体に装着されたときに1個の前記イメージセンサで撮像された所定の被写体が映る撮像画像上の、前記個眼レンズにより集光される光線により形成される像に対応する個眼画像上の所定の光線に対応する位置である既知基準位置を受信する通信部と、
前記既知基準位置に基づいて、前記イメージセンサで撮影される他の撮像画像上の前記個眼レンズに対する前記個眼画像上の前記所定の光線に対応する位置である未知基準位置を求める基準位置算出部と
を備える情報処理装置。
<2>
前記撮像画像は、既知の距離にある前記所定の被写体が映る画像である
<1>に記載の情報処理装置。
<3>
前記未知基準位置に基づいて、前記他の撮像画像上の前記複数の個眼レンズに対する複数の個眼画像それぞれの領域を特定する領域特定部をさらに備える
<1>又は<2>に記載の情報処理装置。
<4>
前記交換レンズは、光を照射する複数の光源を備え、
前記通信部は、前記既知基準位置と、前記撮像画像上の前記複数の光源それぞれの光の照射位置である既知光位置とを受信し、
前記基準位置算出部は、前記既知基準位置と前記既知光位置とに基づいて、前記未知基準位置を求める
<1>ないし<3>のいずれかに記載の情報処理装置。
<5>
前記基準位置算出部は、
前記他の撮像画像上の前記複数の光源それぞれの光の照射位置と、前記既知光位置との間の回転角を求め、
前記既知基準位置を、前記回転角に応じて回転させることにより、前記未知基準位置を求める
<4>に記載の情報処理装置。
<6>
前記基準位置算出部は、前記他の撮像画像上の前記光源の光の照射位置と、前記既知光位置との間の平行移動量をさらに求める
<4>又は<5>に記載の情報処理装置。
<7>
前記基準位置算出部は、
前記他の撮像画像上の前記複数の個眼レンズに対する複数の個眼画像それぞれから、同一の特徴を有する特徴点を抽出し、
前記複数の個眼画像のうちの1の個眼画像の前記特徴点と他の個眼画像の前記特徴点とを結ぶ線の方向を表す角度と、前記1の個眼画像の前記既知基準位置と前記他の個眼画像の前記既知基準位置とを結ぶ線の方向を表す角度である基準角との間の回転角を求め、
前記既知基準位置を、前記回転角に応じて回転させることにより、前記未知基準位置を求める
<1>ないし<3>のいずれかに記載の情報処理装置。
<8>
前記通信部は、前記既知基準位置と前記基準角とを受信する
<7>に記載の情報処理装置。
<9>
前記他の撮像画像から特定された前記複数の個眼画像を含む複数の視点の視点画像の画素をシフトして積算することにより、奥行き方向の距離が所定の距離の合焦点に合焦した処理結果画像を生成する集光処理を行う集光処理部をさらに備える
<3>に記載の情報処理装置。
<10>
前記集光処理部は、前記複数の視点の視点画像の視差情報に応じて、前記視点画像の画素をシフトするシフト量を設定する
<9>に記載の情報処理装置。
<11>
前記複数の視点の視点画像は、前記複数の個眼画像と、前記複数の個眼画像を用いた補間により生成される複数の補間画像とを含む
<9>又は<10>に記載の情報処理装置。
<12>
前記複数の個眼画像の視差情報を生成する視差情報生成部と、
前記個眼画像、及び、前記視差情報を用いて、異なる視点の前記複数の補間画像を生成する補間部と
をさらに備える<11>に記載の情報処理装置。
<13>
情報処理装置が、
光軸方向に重ならないように配置された複数のレンズである個眼レンズを有する交換レンズがイメージセンサを有するカメラ本体に装着されたときに1個の前記イメージセンサで撮像された所定の被写体が映る撮像画像上の、前記個眼レンズにより集光される光線により形成される像に対応する個眼画像上の所定の光線に対応する位置である既知基準位置を受信することと、
前記既知基準位置に基づいて、前記イメージセンサで撮影される他の撮像画像上の前記個眼レンズに対する前記個眼画像上の前記所定の光線に対応する位置である未知基準位置を求めることと
を含む情報処理方法。
<14>
光軸方向に重ならないように配置された複数のレンズである個眼レンズを有する交換レンズがイメージセンサを有するカメラ本体に装着されたときに1個の前記イメージセンサで撮像された所定の被写体が映る撮像画像上の、前記個眼レンズにより集光される光線により形成される像に対応する個眼画像上の所定の光線に対応する位置である既知基準位置を受信する通信部と、
前記既知基準位置に基づいて、前記イメージセンサで撮影される他の撮像画像上の前記個眼レンズに対する前記個眼画像上の前記所定の光線に対応する位置である未知基準位置を求める基準位置算出部と
して、コンピュータを機能させるためのプログラム。
<15>
光軸方向に重ならないように配置された複数のレンズである個眼レンズと、
イメージセンサを有するカメラ本体に装着されたときに1個の前記イメージセンサで撮像された所定の被写体が映る撮像画像上の、前記個眼レンズにより集光される光線により形成される像に対応する個眼画像上の所定の光線に対応する位置である既知基準位置を記憶する記憶部と、
前記既知基準位置を外部に送信する通信部と
を備える交換レンズ。
<16>
前記イメージセンサに、光を照射する複数の光源をさらに備え、
前記記憶部は、前記既知基準位置と、前記撮像画像上の前記複数の光源それぞれの光の照射位置である既知光位置とを記憶し、
前記通信部は、前記既知基準位置と前記既知光位置とを送信する
<15>に記載の交換レンズ。
<17>
2個の前記光源が、前記交換レンズの、前記複数の個眼レンズが配置された平面上の最も遠い2点を結ぶ線上に配置されている
<16>に記載の交換レンズ。
<18>
前記イメージセンサで撮像される他の撮像画像上の前記複数の光源それぞれの光の照射位置が、前記他の撮像画像に含まれる前記個眼画像の領域外に位置するように、前記複数の光源が設けられている
<16>又は<17>に記載の交換レンズ。
<19>
前記記憶部は、前記既知基準位置と、前記複数の個眼レンズに対する複数の個眼画像のうちの1の個眼画像の前記既知基準位置と他の個眼画像の前記既知基準位置とを結ぶ線の方向を表す角度である基準角とを記憶し、
前記通信部は、前記既知基準位置と前記基準角とを送信する
<15>に記載の交換レンズ。