<本技術を適用した画像処理システムの一実施の形態>
図1は、本技術を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。
図1において、画像処理システムは、撮影装置11、画像処理装置12、及び、表示装置13を有する。
撮影装置11は、被写体を複数の視点から撮影し、その結果得られる複数の視点の、例えば(ほぼ)パンフォーカスの撮影画像を画像処理装置12に供給する。
画像処理装置12は、撮影装置11からの複数の視点の撮影画像を用いて任意の被写体にフォーカスを合わせた画像を生成(再構成)するリフォーカス等の画像処理を行い、その画像処理の結果得られる処理結果画像を表示装置13に供給する。
表示装置13は、画像処理装置12からの処理結果画像を表示する。
なお、図1において、画像処理システムを構成する撮影装置11、画像処理装置12、及び、表示装置13は、それらのすべてを例えばディジタル(スチル/ビデオ)カメラや、スマートフォン等の携帯端末等のような独立した装置に内蔵させることができる。
また、撮影装置11、画像処理装置12、及び、表示装置13は、それぞれを別個に独立した装置に内蔵させることができる。
さらに、撮影装置11、画像処理装置12、及び、表示装置13は、それらのうちの任意の2つと残りの1つとをそれぞれ別個に独立した装置に内蔵させることができる。
例えば撮影装置11及び表示装置13をユーザが所持する携帯端末に内蔵させ、画像処理装置12をクラウド上のサーバに内蔵させることができる。
また、画像処理装置12の一部のブロックをクラウド上のサーバに内蔵させ、画像処理装置12の残りのブロックと撮影装置11及び表示装置13とを携帯端末に内蔵させることができる。
<撮影装置11の構成例>
図2は、図1の撮影装置11の構成例を示す背面図である。
撮影装置11は、例えばRGBの値を画素値として有する画像を撮影する複数のカメラユニット(以下、カメラともいう)21iを有し、その複数のカメラ21iによって、複数の視点の撮影画像を撮影する。
図2では、撮影装置11は、複数としての、例えば7個のカメラ211,212,213,214,215,216、及び、217を有し、それらの7個のカメラ211ないし217は、2次元平面上に配置されている。
さらに、図2では、7個のカメラ211ないし217は、それらのうちの1つである、例えばカメラ211を中心として、他の6個のカメラ212ないし217が、カメラ211の周辺に正6角形を構成するように配置されている。
したがって、図2では、7個のカメラ211ないし217のうちの、任意の1つのカメラ21i(i=1,2,...,7)とそのカメラ21iに最も近い他の1つのカメラ21j(j=1,2,...,7)との(光軸どうしの)距離は、同一の距離Bになっている。
カメラ21iと21jとの距離Bとしては、例えば20mm程度を採用することができる。この場合、撮影装置11は、ICカード等のカードサイズ程度の大きさに構成することができる。
なお、撮影装置11を構成するカメラ21iの数は、7個に限定されるものではなく、2個以上6個以下の数や、8個以上の数を採用することができる。
また、撮影装置11において、複数のカメラ21iは、上述のような正6角形等の正多角形を構成するように配置する他、任意の位置に配置することができる。
ここで、以下、カメラ211ないし217のうちの、中心に配置されたカメラ211を基準カメラ211ともいい、その基準カメラ211の周辺に配置されたカメラ212ないし217を周辺カメラ212ないし217ともいう。
図3は、図1の撮影装置11の他の構成例を示す背面図である。
図3では、撮影装置11は、9個のカメラ2111ないし2119で構成され、その9個のカメラ2111ないし2119は、横×縦が3×3に配置されている。3×3のカメラ21i(i=11,12,...,19)は、上、下、左、又は、右に隣接するカメラ21j(j=11,12,...,19)と距離Bだけ離れて配置されている。
ここで、以下では、特に断らない限り、撮影装置11は、例えば図2に示したように、7個のカメラ211ないし217で構成されることとする。
また、基準カメラ211の視点を基準視点ともいい、基準カメラ211で撮影された撮影画像PL1を基準画像PL1ともいう。さらに、周辺カメラ21iで撮影された撮影画像PL#iを周辺画像PL#iともいう。
なお、撮影装置11は、図2や図3に示したように、複数のカメラ21iで構成する他、例えばRen.Ng、他7名,"Light Field Photography with a Hand-Held Plenoptic Camera", Stanford Tech Report CTSR 2005-02に記載されているように、MLA(Micro Lens Array)を用いて構成することができる。MLAを用いて撮影装置11を構成した場合であっても、実質的に、複数の視点から撮影した撮影画像を得ることができる。
また、複数の視点の撮影画像を撮影する方法は、撮影装置11を複数のカメラ21iで構成する方法や、MLAを用いて構成する方法に限定されるものではない。
<画像処理装置12の構成例>
図4は、図1の画像処理装置12の構成例を示すブロック図である。
図4において、画像処理装置12は、視差情報生成部31、補間部32、調整部33、集光処理部34、及び、パラメータ設定部35を有する。
画像処理装置12には、撮影装置11から、カメラ211ないし217で撮影された7視点の撮影画像PL1ないしPL7が供給される。
画像処理装置12において、撮影画像PL#iは、視差情報生成部31、及び、補間部32に供給される。
視差情報生成部31は、撮影装置11から供給される撮影画像PL#iを用いて視差情報を求め、補間部32、及び、集光処理部34に供給する。
すなわち、視差情報生成部31は、例えば撮影装置11から供給される撮影画像PL#iそれぞれの、他の撮影画像PL#jとの視差情報を求める処理を複数の視点の撮影画像PL#iの画像処理として行う。そして、視差情報生成部31は、例えば撮影画像の画素(の位置)ごとに、視差情報が登録されたマップを生成し、補間部32、及び、集光処理部34に供給する。
ここで、視差情報としては、視差を画素数で表したディスパリティ(disparity)や、視差に対応する奥行き方向の距離等の視差に換算することができる任意の情報を採用することができる。本実施の形態では、視差情報として、例えばディスパリティを採用することとし、視差情報生成部31では、そのディスパリティが登録されたディスパリティマップが、視差情報が登録されたマップとして生成されることとする。
補間部32は、撮影装置11からの、カメラ211ないし217の7視点の撮影画像PL1ないしPL7と視差情報生成部31からのディスパリティマップとを用いてカメラ211ないし217の7視点以外の視点から撮影を行ったならば得られる画像を補間により生成する。
ここで、後述する集光処理部34が行う集光処理によって、複数のカメラ211ないし217で構成される撮影装置11は、カメラ211ないし217を合成開口とする仮想レンズとして機能させることができる。図2の撮影装置11については、仮想レンズの合成開口は、周辺カメラ212ないし217の光軸を結ぶ、直径が略2Bの略円形状になる。
補間部32は、例えば仮想レンズの直径2Bを一辺とする正方形(又は、仮想レンズの合成開口に内接する正方形)内のほぼ等間隔の複数の点、すなわち、例えば横×縦が21×21個の点を視点として、その21×21視点のうちの、カメラ211ないし217の7視点以外の、21×21-7視点の画像を補間により生成する。
そして、補間部32は、カメラ211ないし217の7視点の撮影画像PL1ないしPL7と撮影画像を用いた補間により生成された21×21-7視点の画像とを調整部33に供給する。
ここで、補間部32において、撮影画像を用いた補間により生成された画像を補間画像ともいう。
また、補間部32から調整部33に供給される、カメラ211ないし217の7視点の撮影画像PL1ないしPL7と21×21-7視点の補間画像との、合計で、21×21視点の画像を視点画像ともいう。
補間部32での補間は、カメラ211ないし217の7視点の撮影画像PL1ないしPL7から、より多く数の視点(ここでは、21×21視点)の視点画像を生成する処理であると考えることができる。この多数の視点の視点画像を生成する処理は、実空間内の実空間点から、カメラ211ないし217を合成開口とする仮想レンズに入射する光線を再現する処理であると捉えることができる。
調整部33には、補間部32から、複数の視点の視点画像が供給される他、パラメータ設定部35から、調整パラメータが供給される。調整パラメータは、例えば視点ごとに設定された、画素値を調整する調整係数である。
調整部33は、パラメータ設定部35からの調整パラメータとしての視点ごとの調整係数によって、補間部32からの各視点の視点画像の画素の画素値を調整し、画素値の調整後の複数の視点の視点画像を集光処理部34に供給する。
集光処理部34は、調整部33からの複数の視点の視点画像を用いて、現実のカメラにおいて、レンズ等の光学系を通過した、被写体からの光線をイメージセンサやフィルム上に集光させ、被写体の像を形成することに相当する画像処理である集光処理を行う。
集光処理部34の集光処理では、任意の被写体にフォーカスを合わせた画像を生成(再構成)するリフォーカスが行われる。リフォーカスは、視差情報生成部31からのディスパリティマップや、パラメータ設定部35からの集光パラメータを用いて行われる。
集光処理部34の集光処理によって得られる画像は、処理結果画像として(表示装置13)に出力される。
パラメータ設定部35は、ユーザによる図示せぬ操作部の操作や、所定のアプリケーション等によって指定された位置にある、撮影画像PL#i(例えば基準画像PL1)の画素を、合焦させる(被写体が映る)合焦対象画素に設定し、集光パラメータ(の一部)として、集光処理部34に供給する。
さらに、パラメータ設定部35は、ユーザの操作や、所定のアプリケーションからの指令に従って、画素値を調整する調整係数を複数の視点のそれぞれごとに設定し、その視点ごとの調整係数を調整パラメータとして、調整部33に供給する。
調整パラメータは、調整部33での画素値の調整を制御するパラメータであり、集光処理部34での集光処理に用いられる視点画像の視点、すなわち、補間部32で得られる視点画像の視点ごとの調整係数で構成される。
調整パラメータとしては、例えば光学レンズ及び絞り等の光学系によって現実に又は理論的に奏することが可能な光学的な画像効果を実現するレンズ絞りパラメータや、レンズフィルタによって現実に又は理論的に奏することが可能な光学的な画像効果を実現するフィルタパラメータ等がある。
なお、画像処理装置12は、サーバとして構成することもできるし、クライアントとして構成することもできる。さらに、画像処理装置12は、サーバクライアントシステムとして構成することもできる。画像処理装置12をサーバクライアントシステムとして構成する場合には、画像処理装置12の任意の一部のブロックをサーバで構成し、残りのブロックをクライアントで構成することができる。
<画像処理システムの処理>
図5は、図1の画像処理システムの処理の例を説明するフローチャートである。
ステップS11において、撮影装置11は、複数の視点としての7視点の撮影画像PL1ないしPL7を撮影する。撮影画像PL#iは、画像処理装置12(図4)の視差情報生成部31、及び、補間部32に供給される。
そして、処理はステップS11からステップS12に進み、画像処理装置12は、撮影装置11からの撮影画像PL#iを取得する。さらに、画像処理装置12では、視差情報生成部31は、撮影装置11からの撮影画像PL#iを用いて視差情報を求め、その視差情報が登録されたディスパリティマップを生成する視差情報生成処理を行う。
視差情報生成部31は、視差情報生成処理により得られるディスパリティマップを補間部32、及び、集光処理部34に供給し、処理はステップS12からステップS13に進む。なお、ここでは、画像処理装置12は、撮影装置11から撮影画像PL#iを取得することとしたが、画像処理装置12では、撮影装置11から撮影画像PL#iを直接取得する他、例えば撮影装置11やその他の図示せぬ撮影装置で撮影され、クラウドに予め保存された撮影画像PL#iを、クラウドから取得すること等ができる。
ステップS13では、補間部32は、撮影装置11からのカメラ211ないし217の7視点の撮影画像PL1ないしPL7と視差情報生成部31からのディスパリティマップとを用いてカメラ211ないし217の7視点以外の複数の視点の補間画像を生成する補間処理を行う。
さらに、補間部32は、撮影装置11からのカメラ211ないし217の7視点の撮影画像PL1ないしPL7と補間処理により得られた複数の視点の補間画像とを複数の視点の視点画像として、調整部33に供給し、処理はステップS13からステップS14に進む。
ステップS14では、パラメータ設定部35は、集光パラメータや調整パラメータを設定する。
すなわち、パラメータ設定部35は、ユーザの操作等に従って、視点画像の視点ごとに調整係数を設定する。
また、パラメータ設定部35は、ユーザの操作等によって指定された位置にある、基準画像PL1の画素を合焦させる合焦対象画素に設定する。
ここで、パラメータ設定部35は、例えば撮影装置11からの7視点の撮影画像PL1ないしPL7のうちの、例えば基準画像PL1を合焦させる被写体の指定を促すメッセージとともに、表示装置13に表示させる。そして、パラメータ設定部35は、ユーザが、表示装置13に表示された基準画像PL1(に映る被写体)上の位置を指定するのを待って、ユーザが指定した位置にある基準画像PL1の画素を合焦対象画素に設定する。
合焦対象画素は、以上のように、ユーザの指定に従って設定する他、例えばアプリケーションからの指定や、予め決められたルールによる指定等に従って設定することができる。
例えば所定の速さ以上の動きがある被写体や、所定の時間以上連続して動いている被写体が映る画素を合焦対象画素に設定することができる。
パラメータ設定部35は、視点画像の視点ごとの調整係数を調整パラメータとして、調整部33に供給するとともに、合焦対象画素を集光パラメータとして、集光処理部34に供給し、処理はステップS14からステップS15に進む。
ステップS15では、調整部33は、パラメータ設定部35からの調整パラメータとしての視点ごとの調整係数によって、補間部32からの各視点の画像の画素の画素値を調整する調整処理を行う。調整部33は、画素値の調整後の複数の視点の視点画像を集光処理部34に供給し、処理はステップS15からステップS16に進む。
ステップS16では、集光処理部34は、調整部33からの、画素値の調整後の複数の視点の視点画像、視差情報生成部31からのディスパリティマップ、及び、パラメータ設定部35からの集光パラメータとしての合焦対象画素を用いてカメラ211ないし217を合成開口とする仮想レンズを通過した被写体からの光線を図示せぬ仮想センサ上に集光させることに相当する集光処理を行う。
仮想レンズを通過した光線が集光される仮想センサの実体は、例えば図示せぬメモリである。集光処理では、複数の視点の視点画像の画素値が、仮想センサに集光される光線の輝度として、仮想センサとしてのメモリ(の記憶値)に積算されることで、仮想レンズを通過した光線の集光により得られる画像の画素値が求められる。
集光処理部34の集光処理では、複数の視点の視点画像の画素を画素シフトする画素シフト量である後述する基準シフト量BVを設定し、その基準シフト量BVに応じて、複数の視点の視点画像の画素を画素シフトして積算することにより、リフォーカス、すなわち、所定の距離の合焦点に合焦した処理結果画像の各画素値を求める処理結果画像の生成が行われる。
以上のように、集光処理部34において、集光処理(の画素(の画素値)の積算)が、画素値の調整後の複数の視点の視点画像を対象として行われるので、画素値を調整する調整パラメータとしての視点ごとの調整係数によって、種々の光学的効果が付与されたリフォーカスを行うことができる。
ここで、合焦点とは、フォーカスが合う、実空間内の実空間点であり、集光処理部34の集光処理では、合焦点の集合としての面である合焦面が、パラメータ設定部35からの集光パラメータとしての合焦対象画素を用いて設定される。
なお、集光処理部34の集光処理において、基準シフト量BVを処理結果画像の画素ごとに設定することにより、処理結果画像としては、1の距離の合焦点に合焦した画像の他、複数の距離の複数の合焦点それぞれに合焦した画像を得ることができる。
集光処理部34は、集光処理の結果得られる処理結果画像を表示装置13に供給し、処理はステップS16からステップS17に進む。
ステップS17では、表示装置13が、集光処理部34からの処理結果画像を表示する。
なお、図5では、ステップS14において、調整パラメータ及び集光パラメータの設定を行うこととしたが、調整パラメータの設定は、ステップS15の調整処理が行われる直前までの任意のタイミングで行うことができ、集光パラメータの設定は、ステップS11の7視点の撮影画像PL1ないしPL7の撮影の直後から、ステップS15の集光処理の直前までの間の任意のタイミングで行うことができる。
また、画像処理装置12(図4)は、集光処理部34だけで構成することができる。
例えば集光処理部34の集光処理を補間画像を用いずに、撮影装置11で撮影された撮影画像を用いて行う場合には、補間部32を設けずに、画像処理装置12を構成することができる。但し、集光処理を、撮影画像の他、補間画像をも用いて行う場合には、処理結果画像において、合焦していない被写体にリンギングが発生することを抑制することができる。
また、例えば撮影装置11で撮影された複数の視点の撮影画像の視差情報を、距離センサ等を用いて外部の装置で生成し、その外部の装置から視差情報を取得することができる場合には、視差情報生成部31を設けずに、画像処理装置12を構成することができる。
さらに、例えば予め決められたルール等に従って、調整部33において調整パラメータを設定するとともに、集光処理部34において集光パラメータを設定することができる場合には、パラメータ設定部35を設けずに、画像処理装置12を構成することができる。
<補間画像の生成>
図6は、図4の補間部32での補間画像の生成の例を説明する図である。
ある視点の補間画像を生成する場合、補間部32は、補間画像の画素を順次、補間の対象の補間対象画素に選択する。さらに、補間部32は、7視点の撮影画像PL1ないしPL7のうちの全部、又は、補間画像の視点に近い一部の視点の撮影画像PL#iを補間対象画素の画素値の算出に用いる画素値算出画像に選択する。補間部32は、視差情報生成部31からのディスパリティマップと補間画像の視点とを用いて、画素値算出画像に選択された複数の視点の撮影画像PL#iそれぞれから、補間対象画素に対応する対応画素(補間画像の視点から撮影を行ったならば、補間対象画素に映る空間点と同一の空間点が映っている画素)を求める。
そして、補間部32は、対応画素の画素値の重み付け加算を行い、その結果得られる重み付け加算値を補間対象画素の画素値として求める。
対応画素の画素値の重み付け加算に用いる重みとしては、対応画素を有する画素値算出画像としての撮影画像PL#iの視点と補間対象画素を有する補間画像の視点との間の距離に反比例するような値を採用することができる。
なお、撮影画像PL#iに指向性がある強い光が映っている場合には、7視点の撮影画像PL1ないしPL7のうちの全部を画素値算出画像に選択するよりも、補間画像の視点に近い3視点や4視点等の一部の視点の撮影画像PL#iを画素値算出画像に選択する方が、実際に、補間画像の視点から撮影したならば得られる画像に近い補間画像を得ることができる。
<ディスパリティマップの生成>
図7は、図4の視差情報生成部31でのディスパリティマップの生成の例を説明する図である。
すなわち、図7は、撮影装置11のカメラ211ないし217で撮影された撮影画像PL1ないしPL7の例を示している。
図7では、撮影画像PL1ないしPL7には、所定の背景の手前側に、前景としての所定の物体objが映っている。撮影画像PL1ないしPL7それぞれについては、視点が異なるため、例えば撮影画像PL2ないしPL7それぞれに映る物体objの位置(撮影画像上の位置)は、撮影画像PL1に映る物体objの位置から、視点が異なる分だけずれている。
いま、カメラ21iの視点(位置)、すなわち、カメラ21iで撮影された撮影画像PL#iの視点をvp#iと表すこととする。
例えば撮影画像PL1の視点vp1のディスパリティマップを生成する場合には、視差情報生成部31は、撮影画像PL1を注目する注目画像PL1とする。さらに、視差情報生成部31は、注目画像PL1の各画素を順次、注目する注目画素に選択し、その注目画素に対応する対応画素(対応点)を他の撮影画像PL2ないしPL7のそれぞれから検出する。
撮影画像PL2ないしPL7それぞれから、注目画像PL1の注目画素に対応する対応画素を検出する方法としては、例えばステレオマッチングやマルチベースラインステレオ等の三角測量の原理を利用した方法がある。
ここで、注目画像PL1の注目画素に対する、撮影画像PL#iの対応画素の位置ずれを表すベクトルをディスパリティベクトルv#i,1ということとする。
視差情報生成部31は、撮影画像PL2ないしPL7のそれぞれについてディスパリティベクトルv2,1ないしv7,1を求める。そして、視差情報生成部31は、例えばディスパリティベクトルv2,1ないしv7,1の大きさを対象とした多数決を行い、その多数決に勝利したディスパリティベクトルv#i,1の大きさを注目画素(の位置)のディスパリティの大きさとして求める。
ここで、撮影装置11において、図2で説明したように、注目画像PL1を撮影する基準カメラ211と撮影画像PL2ないしPL7を撮影する周辺カメラ212ないし217それぞれとの距離が、同一の距離Bになっている場合に、注目画像PL1の注目画素に映る実空間点が、撮影画像PL2ないしPL7にも映っているときには、ディスパリティベクトルv2,1ないしv7,1として、向きが異なるが、大きさが等しいベクトルが求められる。
すなわち、この場合、ディスパリティベクトルv2,1ないしv7,1は、注目画像PL1の視点vp1に対する他の撮影画像PL2ないしPL7の視点vp2ないしvp7の方向と逆方向の、大きさが等しいベクトルになる。
但し、撮影画像PL2ないしPL7の中には、オクルージョンが生じている画像、すなわち、注目画像PL1の注目画素に映る実空間点が、前景に隠れて映っていない画像があり得る。
注目画像PL1の注目画素に映る実空間点が映っていない撮影画像(以下、オクルージョン画像ともいう)PL#iについては、注目画素に対応する対応画素として、正しい画素を検出することが困難である。
そのため、オクルージョン画像PL#iについては、注目画像PL1の注目画素に映る実空間点が映っている撮影画像PL#jのディスパリティベクトルv#j,1とは、大きさが異なるディスパリティベクトルv#i,1が求められる。
撮影画像PL2ないしPL7の中で、注目画素について、オクルージョンが生じている画像は、オクルージョンが生じていない画像よりも少ないと推定される。そこで、視差情報生成部31は、上述のように、ディスパリティベクトルv2,1ないしv7,1の大きさを対象とした多数決を行い、その多数決に勝利したディスパリティベクトルv#i,1の大きさを注目画素のディスパリティの大きさとして求める。
図7では、ディスパリティベクトルv2,1ないしv7,1の中で、3つのディスパリティベクトルv2,1,v3,1,v7,1が大きさが等しいベクトルになっている。また、ディスパリティベクトルv4,1,v5,1,v6,1それぞれについては、大きさが等しいディスパリティベクトルが存在しない。
そのため、3つのディスパリティベクトルv2,1,v3,1,v7,1の大きさが、注目画素のディスパリティの大きさとして求められる。
なお、注目画像PL1の注目画素の、任意の撮影画像PL#iとの間のディスパリティの方向は、注目画像PL1の視点vp1(カメラ211の位置)と撮影画像PL#iの視点vp#i(カメラ21iの位置)との位置関係(視点vp1から視点vp#iへの方向等)から認識することができる。
視差情報生成部31は、注目画像PL1の各画素を順次、注目画素に選択し、ディスパリティの大きさを求める。そして、視差情報生成部31は、注目画像PL1の各画素の位置(xy座標)に対して、その画素のディスパリティの大きさを登録したマップをディスパリティマップとして生成する。したがって、ディスパリティマップは、画素の位置とその画素のディスパリティの大きさとを対応付けたマップ(テーブル)である。
他の撮影画像PL#iの視点vp#iのディスパリティマップも、視点vp1のディスパリティマップと同様に生成することができる。
但し、視点vp1以外の視点vp#iのディスパリティマップの生成にあたって、ディスパリティベクトルの多数決は、撮影画像PL#iの視点vp#iとその撮影画像PL#i以外の撮影画像PL#jの視点vp#jとの位置関係(カメラ21iと21jとの位置関係)(視点vp#iと視点vp#jとの距離)に基づき、ディスパリティベクトルの大きさを調整して行われる。
すなわち、例えば図2の撮影装置11について、撮影画像PL5を注目画像PL5として、ディスパリティマップを生成する場合、注目画像PL5と撮影画像PL2との間で得られるディスパリティベクトルは、注目画像PL5と撮影画像PL1との間で得られるディスパリティベクトルの2倍の大きさになる。
これは、注目画像PL5を撮影するカメラ215と撮影画像PL1を撮影するカメラ211との光軸どうしの距離である基線長が、距離Bであるのに対して、注目画像PL5を撮影するカメラ215と撮影画像PL2を撮影するカメラ212との基線長が、距離2Bになっているためである。
そこで、いま、例えば基準カメラ211と他のカメラ21iとの基線長である距離Bをディスパリティを求める基準となる基準基線長ということとする。ディスパリティベクトルの多数決は、基線長が基準基線長Bに換算されるように、ディスパリティベクトルの大きさを調整して行われる。
すなわち、例えば注目画像PL5を撮影するカメラ215と撮影画像PL1を撮影する基準カメラ211との基線長Bは、基準基線長Bに等しいので、注目画像PL5と撮影画像PL1との間で得られるディスパリティベクトルは、その大きさが1倍に調整される。
また、例えば注目画像PL5を撮影するカメラ215と撮影画像PL2を撮影するカメラ212との基線長2Bは、基準基線長Bの2倍に等しいので、注目画像PL5と撮影画像PL2との間で得られるディスパリティベクトルは、その大きさが1/2倍(基準基線長Bと、カメラ215とカメラ212との基線長2Bとの比の値倍)に調整される。
注目画像PL5と他の撮影画像PL#iとの間で得られるディスパリティベクトルについても、同様に、その大きさが、基準基線長Bとの比の値倍に調整される。
そして、大きさの調整後のディスパリティベクトルを用いてディスパリティベクトルの多数決が行われる。
なお、視差情報生成部31において、撮影画像PL#i(の各画素)のディスパリティは、例えば撮影装置11で撮影される撮影画像の画素の精度で求めることができる。また、撮影画像PL#iのディスパリティは、例えばその撮影画像PL#iの画素より細かい精度である画素以下精度(例えば1/4画素等のサブピクセルの精度)で求めることができる。
ディスパリティを画素以下精度で求める場合、ディスパリティを用いる処理では、その画素以下精度のディスパリティをそのまま用いることもできるし、画素以下精度のディスパリティの小数点以下を切り捨て、切り上げ、又は、四捨五入等して整数化して用いることもできる。
ここで、ディスパリティマップに登録されるディスパリティの大きさを、以下、登録ディスパリティともいう。例えば左から右方向の軸をx軸とするとともに、下から上方向の軸をy軸とする2次元座標系において、ディスパリティとしてのベクトルを表す場合、登録ディスパリティは、基準画像PL1の各画素の、基準画像PL1の左隣の視点の撮影画像PL5との間のディスパリティ(基準画像PL1の画素から、その画素に対応する撮影画像PL5の対応画素までの画素ずれを表すベクトル)のx成分に等しい。
<集光処理によるリフォーカス>
図8は、図4の集光処理部34で行われる集光処理によるリフォーカスの概要を説明する図である。
なお、図8では、説明を簡単にするため、集光処理に用いる複数の視点の視点画像として、基準画像PL1、基準画像PL1の右隣の視点の撮影画像PL2、及び、基準画像PL1の左隣の視点の撮影画像PL5の3枚の画像を用いることとする。
図8において、撮影画像PL1,PL2、及び、PL5には、2つの物体obj1及びobj2が映っている。例えば物体obj1は、手前側に位置しており、物体obj2は、奥側に位置している。
いま、例えば物体obj1に合焦させる(焦点を合わせる)リフォーカスを行って、そのリフォーカス後の処理結果画像として、基準画像PL1の基準視点から見た画像を得ることとする。
ここで、撮影画像PL1の物体obj1が映る画素との間の、処理結果画像の視点、すなわち、ここでは、基準視点(の基準画像PL1の対応画素)のディスパリティをDP1と表す。また、撮影画像PL2の物体obj1が映る画素との間の、処理結果画像の視点のディスパリティをDP2と表すとともに、撮影画像PL5の物体obj1が映る画素との間の、処理結果画像の視点のディスパリティをDP5と表すこととする。
なお、図8では、処理結果画像の視点は、撮影画像PL1の基準視点に等しいので、撮影画像PL1の物体obj1が映る画素との間の、処理結果画像の視点のディスパリティDP1は、(0,0)になる。
撮影画像PL1,PL2、及び、PL5については、撮影画像PL1,PL2、及び、PL5をディスパリティDP1,DP2、及び、DP5に応じて、それぞれ画素シフトし、その画素シフト後の撮影画像PL1,PL2、及び、PL5を積算することにより、物体obj1に合焦した処理結果画像を得ることができる。
すなわち、撮影画像PL1,PL2、及び、PL5を、ディスパリティDP1,DP2、及び、DP5をキャンセルするように(ディスパリティDP1,DP2、及び、DP5の逆方向に)、それぞれ画素シフトすることで、画素シフト後の撮影画像PL1,PL2、及び、PL5では、obj1が映る画素の位置が一致する。
したがって、画素シフト後の撮影画像PL1,PL2、及び、PL5を積算することにより、物体obj1に合焦した処理結果画像を得ることができる。
なお、画素シフト後の撮影画像PL1,PL2、及び、PL5においては、物体obj1と異なる奥行き方向の位置にある物体obj2が映る画素の位置は、一致しない。そのため、処理結果画像に映る物体obj2は、ぼやける。
また、ここでは、上述したように、処理結果画像の視点は、基準視点であり、ディスパリティDP1は(0,0)であるため、撮影画像PL1については、実質的に、画素シフトを行う必要はない。
集光処理部34の集光処理では、例えば以上のように、複数の視点の視点画像の画素を、合焦対象が映る合焦対象画素との間の、処理対象画像の視点(ここでは、基準視点)のディスパリティをキャンセルするように画素シフトして積算することで、合焦対象にリフォーカスが行われた画像を処理結果画像として求める。
<ディスパリティ変換>
図9は、ディスパリティ変換の例を説明する図である。
図7で説明したように、ディスパリティマップに登録される登録ディスパリティは、基準画像PL1の左隣の視点の撮影画像PL5の各画素との間の、基準画像PL1の画素のディスパリティのx成分に等しい。
リフォーカスでは、視点画像を、合焦対象画素のディスパリティをキャンセルするように画素シフトする必要がある。
いま、ある視点を注目視点として注目すると、リフォーカスにおいて、注目視点の視点画像の画素シフトにあたっては、その注目視点の視点画像との間の、処理結果画像の合焦対象画素のディスパリティ、すなわち、ここでは、例えば基準視点の基準画像PL1の合焦対象画素のディスパリティが必要となる。
注目視点の視点画像との間の、基準画像PL1の合焦対象画素のディスパリティは、基準画像PL1の合焦対象画素(処理結果画像の合焦対象画素に対応する基準画像PLの対応画素)の登録ディスパリティから、基準視点(処理対象画素の視点)から注目視点の方向を加味して求めることができる。
いま、基準視点から注目視点の方向をx軸を0[radian]とする反時計回りの角度で表すこととする。
例えばカメラ212は、基準基線長Bだけ+x方向に離れた位置にあり、基準視点からカメラ212の視点の方向は、0[radian]である。この場合、カメラ212の視点の視点画像(撮影画像PL2)との間の、基準画像PL1の合焦対象画素のディスパリティDP2(としてのベクトル)は、その合焦対象画素の登録ディスパリティRDから、カメラ212の視点の方向である0[radian]を加味して、(-RD,0)=(-(B/B)×RD×cos0,-(B/B)×RD×sin0)と求めることができる。
また、例えばカメラ213は、基準基線長Bだけπ/3の方向に離れた位置にあり、基準視点からカメラ212の視点の方向は、π/3[radian]である。この場合、カメラ213の視点の視点画像(撮影画像PL3)との間の、基準画像PL1の合焦対象画素のディスパリティDP3は、その合焦対象画素の登録ディスパリティRDから、カメラ213の視点の方向であるπ/3[radian]を加味して、(-RD×cos(π/3),-RD×sin(π/3))=(-(B/B)×RD×cos(π/3),-(B/B)×RD×sin(π/3))と求めることができる。
ここで、補間部32で得られる補間画像は、その補間画像の視点vpに位置する仮想的なカメラで撮影された画像であるとみなすことができる。この仮想的なカメラの視点vpが、基準視点から、距離Lだけ、角度θ[radian]の方向に離れた位置であるとする。この場合、視点vpの視点画像(仮想的なカメラで撮影された画像)との間の、基準画像PL1の合焦対象画素のディスパリティDPは、その合焦対象画素の登録ディスパリティRDから、視点vpの方向である角度θを加味して、(-(L/B)×RD×cosθ,-(L/B)×RD×sinθ)と求めることができる。
以上のように、登録ディスパリティRDから、注目視点の方向を加味して、注目視点の視点画像との間の、基準画像PL1の画素のディスパリティを求めること、すなわち、登録ディスパリティRDを、注目視点の視点画像との間の、基準画像PL1(処理結果画像)の画素のディスパリティに変換することをディスパリティ変換ともいう。
リフォーカスでは、合焦対象画素の登録ディスパリティRDから、ディスパリティ変換によって、各視点の視点画像との間の、基準画像PL1の合焦対象画素のディスパリティが求められ、その合焦対象画素のディスパリティをキャンセルするように、各視点の視点画像が画素シフトされる。
リフォーカスにおいて、視点画像は、その視点画像との間の、合焦対象画素のディスパリティをキャンセルするように画素シフトされるが、この画素シフトのシフト量を合焦シフト量ともいう。
ここで、以下、補間部32で得られる複数の視点の視点画像のうちの、i番目の視点画像の視点を視点vp#iとも記載する。視点vp#iの視点画像の合焦シフト量を合焦シフト量DP#iとも記載する。
視点vp#iの視点画像の合焦シフト量DP#iは、合焦対象画素の登録ディスパリティRDから、基準視点から視点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倍は、撮影画像PL2との間の、合焦対象画素のディスパリティのx成分に等しい。
<集光処理>
図10は、集光処理によるリフォーカスを説明する図である。
いま、合焦点(フォーカスが合う、実空間内の実空間点)の集まりで構成される面を合焦面ということとする。
集光処理では、例えば実空間内の奥行き方向の距離が一定の(変化しない)平面を合焦面として、その合焦面上(合焦面の近傍)に位置する被写体に合焦した処理結果画像が、複数の視点の視点画像を用いて生成されることで、リフォーカスが行われる。
図10では、複数の視点の視点画像の手前と中程のそれぞれに、1人の人が映っている。そして、中程の人の位置を通る、奥行き方向の距離が一定の平面を合焦面として、複数の視点の視点画像から、合焦面上の被写体、すなわち、例えば中程の人に合焦した処理結果画像が得られている。
なお、合焦面としては、例えば実空間内の奥行き方向の距離が変化する平面や曲面を採用することができる。また、合焦面としては、奥行き方向の距離が異なる複数の平面等を採用することができる。
図11は、集光処理部34が行う集光処理の例を説明するフローチャートである。
ステップS31において、集光処理部34は、パラメータ設定部35から、集光パラメータとしての合焦対象画素(の情報)を取得し、処理はステップS32に進む。
すなわち、例えばカメラ211ないし217で撮影された撮影画像PL1ないしPL7のうちの、基準画像PL1等が、表示装置13に表示され、ユーザが、その基準画像PL1上の1つの位置を指定すると、パラメータ設定部35は、ユーザが指定した位置の画素を合焦対象画素に設定し、その合焦対象画素(を表す情報)を集光パラメータとして、集光処理部34に供給する。
ステップS31では、集光処理部34は、以上のようにして、パラメータ設定部35から供給される合焦対象画素を取得する。
ステップS32では、集光処理部34は、視差情報生成部31からのディスパリティマップに登録されている合焦対象画素の登録ディスパリティRDを取得する。そして、集光処理部34は、合焦対象画素の登録ディスパリティRDに応じて、基準シフト量BVを設定し、すなわち、例えば合焦対象画素の登録ディスパリティRDの-1倍を基準シフト量BVに設定し、処理はステップS32からステップS33に進む。
ステップS33では、集光処理部34は、調整部33からの、画素値の調整後の複数の視点の視点画像のうちの1つの画像である、例えば基準画像に対応する画像、すなわち、基準画像の視点から見た、基準画像と同一サイズの画像であって、画素値が初期値としての0の画像を処理結果画像に設定する。さらに、集光処理部34は、その処理結果画像の画素の中から、まだ、注目画素に決定していない画素のうちの1画素を注目画素に決定し、処理はステップS33からステップS34に進む。
ステップS34では、集光処理部34は、調整部33からの視点画像の視点のうちの、(注目画素について、)まだ、注目視点に決定していない1つの視点vp#iを注目視点vp#iに決定し、処理はステップS35に進む。
ステップS35では、集光処理部34は、基準シフト量BVから、合焦対象画素を合焦させる(合焦対象画素に映る被写体にフォーカスを合わせる)ために必要な、注目視点vp#iの視点画像の各画素の合焦シフト量DP#iを求める。
すなわち、集光処理部34は、基準シフト量BVを、基準視点から注目視点vp#iの方向を加味して、ディスパリティ変換し、そのディスパリティ変換の結果得られる値(ベクトル)を注目視点vp#iの視点画像の各画素の合焦シフト量DP#iとして取得する。
その後、処理はステップS35からステップS36に進み、集光処理部34は、注目視点vp#iの視点画像の各画素を合焦シフト量DP#iに応じて画素シフトし、画素シフト後の視点画像の、注目画素の位置の画素の画素値を注目画素の画素値に積算する。
すなわち、集光処理部34は、注目視点vp#iの視点画像の画素のうちの、注目画素の位置から合焦シフト量DP#iに対応するベクトル(ここでは、例えば合焦シフト量DP#iの-1倍)だけ離れた画素の画素値を注目画素の画素値に積算する。
そして、処理はステップS36からステップS37に進み、集光処理部34は、調整部33からの視点画像のすべての視点を注目視点としたかどうかを判定する。
ステップS37において、まだ、調整部33からの視点画像のすべての視点を注目視点としていないと判定された場合、処理はステップS34に戻り、以下、同様の処理が繰り返される。
また、ステップS37において、調整部33からの視点画像のすべての視点を注目視点としたと判定された場合、処理はステップS38に進む。
ステップS38では、集光処理部34は、処理結果画像の画素のすべてを注目画素としたかどうかを判定する。
ステップS38において、まだ、処理結果画像の画素のすべてを注目画素としていないと判定された場合、処理はステップS33に戻り、集光処理部34は、上述したように、処理結果画像の画素の中から、まだ、注目画素に決定していない画素のうちの1画素を注目画素に新たに決定し、以下、同様の処理を繰り返す。
また、ステップS38において、処理結果画像の画素のすべてを注目画素としたと判定された場合、集光処理部34は、処理結果画像を出力して、集光処理を終了する。
なお、図11の集光処理では、基準シフト量BVは、合焦対象画素の登録ディスパリティRDに応じて設定され、注目画素や注目視点vp#iによっては変化しない。そのため、基準シフト量BVは、注目画素や注目視点vp#iに関係なく設定される。
また、合焦シフト量DP#iは、注目視点vp#i及び基準シフト量BVによって変化するが、図11の集光処理では、上述のように、基準シフト量BVは、注目画素や注目視点vp#iによっては変化しない。したがって、合焦シフト量DP#iは、注目視点vp#iによって変化するが、注目画素によっては変化しない。すなわち、合焦シフト量DP#iは、1つの視点の視点画像の各画素に対しては、注目画素に関係なく、同一の値になる。
図11において、合焦シフト量DP#iを求めるステップS35の処理は、異なる注目画素について、同一の視点vp#iに対する合焦シフト量DP#iを繰り返し算出するループ(ステップS33ないしステップS38のループ)を構成しているが、上述のように、合焦シフト量DP#iは、1つの視点の視点画像の各画素に対しては、注目画素に関係なく、同一の値になる。
したがって、図11において、合焦シフト量DP#iを求めるステップS35の処理は、1視点に対して1回だけ行えば良い。
図11の集光処理では、図10で説明したように、奥行き方向の距離が一定の平面を合焦面とするため、合焦対象画素を合焦させるのに必要な視点画像の基準シフト量BVは、奥行き方向の距離が一定の合焦面上の空間点が映る合焦対象画素、すなわち、ディスパリティが合焦面までの距離に対応する値の合焦対象画素のディスパリティをキャンセルするような1つの値になる。
したがって、基準シフト量BVは、処理結果画像の画素(注目画素)や、画素値を積算する視点画像の視点(注目視点)に依存しないので、処理結果画像の画素ごとや、視点画像の視点ごとに設定する必要はない(基準シフト量BVを処理結果画像の画素ごとや、視点画像の視点ごとに設定しても、基準シフト量BVは、同一の値に設定されるので、実質的に、処理結果画像の画素ごとや、視点画像の視点ごとに設定することにはならない)。
なお、図11では、処理結果画像の画素ごとに、視点画像の画素の画素シフト及び積算を行うこととしたが、集光処理において、視点画像の画素の画素シフト及び積算は、処理結果画像の画素ごとの他、処理結果画像の画素を細かく分割したサブピクセルごとに行うことができる。
また、図11の集光処理では、注目画素のループ(ステップS33ないしステップS38のループ)が、外側にあり、注目視点のループ(ステップS34ないしステップS37のループ)が、内側にあるが、注目視点のループを外側のループにするとともに、注目画素のループを内側のループにすることができる。
<調整処理>
図12は、図4の調整部33が行う調整処理の例を説明するフローチャートである。
ステップS51において、調整部33は、パラメータ設定部35から供給される調整パラメータとしての視点ごとの調整係数を取得し、処理はステップS52に進む。
ステップS52では、調整部33は、補間部32からの視点画像の視点のうちの、まだ、注目視点に決定していない1つの視点vp#iを注目視点vp#iに決定し、処理はステップS53に進む。
ステップS53では、調整部33は、パラメータ設定部35からの調整パラメータとしての視点ごとの調整係数から、注目視点vp#iの調整係数を取得し、処理はステップS54に進む。
ステップS54では、調整部33は、補間部32からの注目視点vp#iの視点画像の画素の中から、まだ、注目画素に決定していない画素のうちの1画素を注目画素に決定し、処理はステップS55に進む。
ステップS55では、調整部33は、注目画素の画素値を注目視点vp#iの調整係数に従って調整し、すなわち、例えば注目画素の画素値に、注目視点vp#iの調整係数を乗算した乗算値を調整後の注目画素の画素値として求め、処理はステップS56に進む。
ステップS56では、調整部33は、注目視点vp#iの視点画像の画素のすべてを注目画素としたかどうかを判定する。
ステップS56において、まだ、注目視点vp#iの視点画像の画素のすべてを注目画素としていないと判定された場合、処理はステップS54に戻り、調整部33は、上述したように、注目視点vp#iの視点画像の画素の中から、まだ、注目画素に決定していない画素のうちの1画素を注目画素に新たに決定し、以下、同様の処理を繰り返す。
また、ステップS56において、注目視点vp#iの視点画像の画素のすべてを注目画素としたと判定された場合、処理はステップS57に進む。
ステップS57に進み、調整部33は、補間部32からの視点画像のすべての視点を注目視点としたかどうかを判定する。
ステップS57において、まだ、補間部32からの視点画像のすべての視点を注目視点としていないと判定された場合、処理はステップS52に戻り、以下、同様の処理が繰り返される。
また、ステップS57において、補間部32からの視点画像のすべての視点を注目視点としたと判定された場合、すなわち、補間部32からの複数の視点画像すべての画素値の調整が終了した場合、調整部33は、画素値の調整後のすべての視点の視点画像を集光処理部34に供給し、調整処理を終了する。
図11の集光処理(のステップS36での、複数の視点の視点画像の画素の画素値の積算)は、以上のような調整処理によって得られる、画素値の調整後の複数の視点の視点画像を対象として行われる。
したがって、調整パラメータとしての視点ごとの調整係数として、光学的効果に対応する係数を採用することにより、種々の光学的効果が付与されたリフォーカスを行うことができる。
以下、調整パラメータとしての視点ごとの調整係数について、光学レンズ及び絞り等の光学系によって現実に又は理論的に奏することが可能な光学的な画像効果を実現するレンズ絞りパラメータとレンズフィルタによって現実に又は理論的に奏することが可能な光学的な画像効果を実現するフィルタパラメータとを例に説明を行う。
<レンズ絞りパラメータ>
図13は、レンズ絞りパラメータの第1の例を示す図である。
いま、補間部32で得られる視点画像の視点の総数が、横×縦がM×M視点のM2個であることとする。
レンズ絞りパラメータとしてのM×M視点の視点ごとの調整係数としては、M×M視点の視点ごとに設定された透過率を採用することができる。
各視点の透過率の設定は、例えば所望のレンズ及び絞りの効果を生じさせる透過率の分布をM×M視点と同一の数の、M×Mブロックに区切り、各ブロックの透過率の代表値を求め、左からx番目で下からy番目(以下、(x,y)番目ともいう)のブロックの代表値(例えばブロック内の透過率の平均値や中央値等)を(x,y)番目の視点の透過率に設定することで行うことができる。
図13では、STF(Smooth Transfer focus)レンズの効果を生じさせる透過率の分布、すなわち、中心部で最も大で、周辺部にいくほど小になる透過率の分布に応じて設定された視点ごとの透過率の平面図とその視点ごとの透過率の線分LO上の断面図とが示されている。
ここで、STFレンズの効果を生じさせる透過率の分布の平面形状(平面図に現れる形状)は、略円形であるが、線分LOは、その円の中心を通り、x方向(水平方向)に平行な線分である。
また、図13の平面図において、明暗(濃淡)は、透過率を表し、暗いほど、透過率が低いことを表す。
以上の点、後述する図14、図15、及び、図16の平面図でも同様である。
STFレンズの効果を生じさせる透過率の分布に応じて設定された視点ごとの透過率としての調整係数によれば、STFレンズで実現されるぼけのような、ぼけ部分の中央から周辺に向かうにつれ、ぼけの程度がソフトに変化する自然なぼけが付与されたリフォーカスを実現することができる。
図14は、レンズ絞りパラメータの第2の例を示す図である。
図14では、ミラーレンズの効果を生じさせる透過率の分布、すなわち、周辺部のやや中心部よりの部分で最も大になり、中心部又は周辺部にいくほど小になる透過率の分布に応じて設定された視点ごとの透過率の平面図とその視点ごとの透過率の線分LO上の断面図とが示されている。
ミラーレンズの効果を生じさせる透過率の分布に応じて設定された視点ごとの透過率としての調整係数によれば、ミラーレンズで実現されるぼけのような、リングぼけや二線ぼけが付与されたリフォーカスを実現することができる。
図15は、レンズ絞りパラメータの第3の例を示す図である。
図15では、図13のSTFレンズの効果を生じさせる透過率の分布の平面形状である円を縮小するように、STFレンズの効果を生じさせる透過率の分布を変形した分布(以下、STF変形分布ともいう)に応じて設定された視点ごとの透過率の平面図とその視点ごとの透過率の線分LO上の断面図とが示されている。
なお、図13では、開放状態の絞りの効果を生じさせるため、特に、透過率の分布の操作を行っていないが、図15では、絞った状態の絞りの効果を生じさせるため、STF変形分布の平面形状である円よりやや大きい円よりも外側の視点、すなわち、絞った状態の絞りにより光線が遮断される視点の透過率は、0%に設定(操作)されている。
以上のような視点ごとの透過率としての調整係数によれば、STFレンズで実現されるぼけのような、ぼけ部分の中央から周辺に向かうにつれ、ぼけの程度がソフトに変化する自然なぼけが付与されたリフォーカスを実現することができる。
さらに、リフォーカス後の処理結果画像として、被写界深度が深い画像を得ることができる。
すなわち、リフォーカス後の処理結果画像として、被写界深度が深く、かつ、STFレンズで実現されるぼけが付与された画像を得ることができる。
なお、実際のSTFレンズを用いて絞りを絞って撮影を行っても、被写界深度が深く、かつ、STFレンズで実現される自然なぼけが付与された画像を得ることは、困難である。
すなわち、実際のSTFレンズを用いて絞りを絞って撮影を行った場合に得られる撮影画像では、絞った状態の絞りによって、被写界深度は深くなる。
しかしながら、実際のSTFレンズを用いて絞りを絞って撮影を行った場合、図13に示したSTFレンズの効果を生じさせる透過率の分布の平面形状としての円の中心部分以外に対応するSTFレンズの領域(透過率が小さい領域)を通過しようとする光線が、絞った状態の絞りによって遮断されるため、絞りを絞っていない状態のSTFレンズで付与される自然なぼけと同等のぼけ味をだすことは、困難になる。
図16は、レンズ絞りパラメータの第4の例を示す図である。
図16では、図14のミラーレンズの効果を生じさせる透過率の分布の平面形状を縮小するように、ミラーレンズの効果を生じさせる透過率の分布を変形した分布(以下、ミラーレンズ変形分布ともいう)に応じて設定された視点ごとの透過率の平面図とその視点ごとの透過率の線分LO上の断面図とが示されている。
なお、図14では、開放状態の絞りの効果を生じさせるため、特に、透過率の分布の操作を行っていないが、図16では、図15と同様に、絞った状態の絞りの効果を生じさせるため、STF変形分布の平面形状である円よりやや大きい円よりも外側の視点、すなわち、絞った状態の絞りにより光線が遮断される視点の透過率は、0%に設定されている。
以上のような視点ごとの透過率としての調整係数によれば、ミラーレンズで実現されるリングぼけや二線ぼけが付与されたリフォーカスを実現することができる。
さらに、リフォーカス後の処理結果画像として、被写界深度が深い画像を得ることができる。
すなわち、リフォーカス後の処理結果画像として、被写界深度が深く、かつ、ミラーレンズで実現されるぼけが付与された画像を得ることができる。
なお、実際のミラーレンズを用いて絞りを絞って撮影を行っても、被写界深度が深く、かつ、ミラーレンズで実現されるリングぼけや二線ぼけが付与された画像を得ることは、困難である。
すなわち、実際のミラーレンズを用いて絞りを絞って撮影を行った場合に得られる撮影画像では、絞った状態の絞りによって、被写界深度は深くなる。
しかしながら、実際のミラーレンズを用いて絞りを絞って撮影を行った場合、図14に示したミラーレンズの効果を生じさせる透過率の分布の平面形状としての円の中心部分以外に対応するミラーレンズの領域(透過率が最大の領域とその近傍領域)を通過しようとする光線が、絞った状態の絞りによって遮断されるため、絞りを絞っていない状態のミラーレンズで付与されるリングぼけや二線ぼけと同等のぼけ味をだすことは、困難になる。
視点ごとの調整係数として、以上のようなレンズ絞りパラメータを採用する場合、そのレンズ絞りパラメータとしての調整係数をαと表すとともに、補間部32で得られる視点画像の画素の画素値をIと表すこととすると、調整部33では、例えば画素値α×Iを画素値Iの調整後の画素値として求める処理が、画素値Iを調整する調整処理として行われる。
そして、集光処理部34において、そのような調整処理後の視点画像を対象として、集光処理が行われることにより、任意のレンズのぼけ味や任意の絞りの状態が反映されたリフォーカスを行うことができる。
なお、図13ないし図16では、視点ごとの調整係数をSTFレンズやミラーレンズの効果を生じさせる透過率の分布に応じて設定することとしたが、視点ごとの調整係数は、その他のレンズの効果を生じさせる透過率の分布に応じて設定することができる。
さらに、図15及び図16では、絞った状態の絞りの効果を生じさせるように、透過率の分布を操作したが、透過率の分布は、その他、任意の状態の絞りの効果を生じさせるように操作することができる。
また、図13ないし図16では、視点ごとの調整係数の設定に、平面形状が略円形の透過率の分布を採用することとしたが、視点ごとの調整係数の設定には、その他、例えば平面形状をハートや星等の所望の形状に変形した透過率の分布を採用することができる。この場合、ぼけに、所望の形状が現れた処理結果画像を得ることができる。
<フィルタパラメータ>
図17は、フィルタパラメータの例を示す図である。
実際の一眼カメラ等で撮影する場合に、レンズの前に装着して使用されるレンズフィルタとして、グラデーションを有する色彩効果用フィルタや周辺効果フィルタ等のグラデーションフィルタがある。
図17は、グラデーションフィルタの例とそのグラデーションフィルタのフィルタ効果を生じさせるゲインの分布に応じて設定されたフィルタパラメータとしての視点ごとの調整係数の例とを示している。
図17では、補間部32で得られる視点画像の視点の総数が、横×縦がM×M=5×5視点の52個になっている。
フィルタパラメータとしてのM×M視点の視点ごとの調整係数としては、M×M視点の視点ごとに設定された、輝度又は所定の色に対するゲインを採用することができる。
各視点のゲインの設定は、例えば所望のフィルタ効果を生じさせるゲインの分布をM×Mと同一の数の、M×Mブロックに区切り、各ブロックのゲインの代表値を求め、(x,y)番目のブロックの代表値を(x,y)番目の視点のゲインに設定することで行うことができる。
図17では、青色のグラデーションフィルタのフィルタ効果を生じさせるゲインの分布に応じて、M×M=5×5視点の視点ごとの調整係数としてのゲインが設定されている。
ここで、図17のグラデーションフィルタにおいて、明暗は、青色に対するゲインを表し、暗いほど、ゲインが高いことを表す。
図17のグラデーションフィルタは、上側ほど青色に対するゲインが高いフィルタになっている。
視点ごとの調整係数として、以上のようなフィルタパラメータを採用する場合、そのフィルタパラメータとしての調整係数をGと表すとともに、補間部32で得られる視点画像の画素の画素値としてのRGB(Red, Green, Blue)成分を(Ir, Ig ,Ib)と表すこととすると、調整部33では、例えば画素値(Ir, Ig ,Ib×G)を画素値(Ir, Ig ,Ib)の調整後の画素値として求める処理が、画素値(Ir, Ig ,Ib)を調整する調整処理として行われる。
以上のようなグラデーションフィルタのフィルタ効果を生じさせるゲインの分布に応じて設定された視点ごとのゲインとしての調整係数によれば、上側ほど青みがかった処理結果画像を得ることができるリフォーカスを実現することができる。
なお、図17では、上側ほど青色に対するゲインが高いグラデーションフィルタのゲインの分布に応じて、フィルタパラメータとしての視点ごとの調整係数を設定することとしたが、視点ごとの調整係数は、図17のグラデーションフィルタのフィルタ効果以外のフィルタ効果を生じさせる、輝度や任意の色(例えば青色以外の赤色や緑色等)のゲインの分布に応じて設定することができる。
<画像処理装置12の他の構成例>
図18は、図1の画像処理装置12の他の構成例を示すブロック図である。
なお、図中、図4の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図18の画像処理装置12は、視差情報生成部31、補間部32、パラメータ設定部35、及び、集光処理部51を有する。
したがって、図18の画像処理装置12は、視差情報生成部31、補間部32、及び、パラメータ設定部35を有する点で、図4の場合と共通する。
但し、図18の画像処理装置12は、調整部33が設けられていない点、及び、集光処理部34に代えて、集光処理部51が設けられている点で、図4の場合と相違する。
図4では、視点画像の画素の画素値の調整を調整部33で行い、画素値の調整後の視点画像を対象として、集光処理を行うこととしたが、図18の画像処理装置12では、集光処理において、視点画像の画素の画素値の積算を行う直前に、その積算の対象の画素値の調整を行い、その調整後の画素値を対象に画素値の積算が行われる。
図18において、集光処理部51は、図4の集光処理部34と同様の集光処理を行うが、さらに、集光処理において、視点画像の画素の画素値の調整を行う。そのため、集光処理に用いられる集光パラメータの他、画素値の調整に用いる調整パラメータが、パラメータ設定部35から集光処理部51に供給される。
集光処理部51は、集光処理において、視点画像の画素の画素値の積算を行う直前に、視点画像の画素の画素値の調整を行い、その調整後の画素値を対象に画素値の積算を行う。
図19は、集光処理部51が行う集光処理の例を説明するフローチャートである。
ステップS71において、集光処理部51は、図11のステップS31と同様に、パラメータ設定部35から、集光パラメータとしての合焦対象画素を取得する。
さらに、ステップS71では、集光処理部51は、パラメータ設定部35から、調整パラメータとしての、視点ごとの調整係数を取得し、処理はステップS72に進む。
ステップS72ないしS75において、集光処理部51は、図11のステップS32ないしS35とそれぞれ同様の処理を行い、注目視点vp#iの合焦シフト量DP#iを求める。
そして、処理はステップS75からステップS76に進み、集光処理部51は、パラメータ設定部35からの調整パラメータとしての視点ごとの調整係数から、注目視点vp#iの調整係数を取得して、処理はステップS77に進む。
ステップS77では、集光処理部51は、注目視点vp#iの視点画像の画素のうちの、注目画素の位置から合焦シフト量DP#iに対応するベクトル(ここでは、例えば合焦シフト量DP#iの-1倍)だけ離れた画素を調整対象画素とする。そして、集光処理部51は、調整対象画素の画素値を注目視点vp#iの調整係数に従って調整し、すなわち、例えば調整対象画素の画素値に注目視点vp#iの調整係数を乗算した乗算値を調整後の調整対象画素の画素値として求め、処理はステップS77からステップS78に進む。
ステップS78では、図11のステップS36と同様に、集光処理部51は、注目視点vp#iの視点画像の各画素を合焦シフト量DP#iに応じて画素シフトし、画素シフト後の視点画像の、注目画素の位置の画素の画素値(調整後の調整対象画素の画素値)を注目画素の画素値に積算する。
すなわち、集光処理部51は、注目視点vp#iの視点画像の画素のうちの、注目画素の位置から合焦シフト量DP#iに対応するベクトル(ここでは、例えば合焦シフト量DP#iの-1倍)だけ離れた画素の画素値(注目視点vp#iの調整係数による調整後の画素値)を注目画素の画素値に積算する。
そして、処理はステップS78からステップS79に進み、以下、ステップS79及びS80において、図11のステップS37及びS38とそれぞれ同様の処理が行われる。
なお、本実施の形態では、処理結果画像の視点として、基準視点を採用することとしたが、処理結果画像の視点としては、基準視点以外の点、すなわち、例えば仮想レンズの合成開口内の任意の点等を採用することができる。
<本技術を適用したコンピュータの説明>
次に、上述した画像処理装置12の一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
図20は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
あるいはまた、プログラムは、リムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えばフレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えばダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムをRAM(Random Access Memory)104にロードして実行する。
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
なお、本技術は、以下の構成をとることができる。
<1>
複数の視点の画像を取得する取得部と、
前記複数の視点の画像を用いて所定の距離に合焦した処理結果画像を生成する集光処理を行う集光処理部と
を備え、
前記集光処理部は、前記視点ごとの調整係数によって画素値が調整された前記複数の視点の画像を用いて前記集光処理を行う
画像処理装置。
<2>
前記視点に応じた前記調整係数により前記視点の画像の画素の画素値を調整する調整部をさらに備え、
前記集光処理部は、
前記複数の視点の画像の画素をシフトするシフト量を設定し、前記シフト量に応じて前記複数の視点の画像の画素をシフトして画素値を積算する処理を前記集光処理として行い、
前記調整部により調整された前記複数の視点の画像の画素の画素値を用いて前記集光処理を行う
<1>に記載の画像処理装置。
<3>
前記調整係数は、所定のレンズ及び絞りの効果を生じさせる透過率の分布に応じて前記視点ごとに設定される
<1>又は<2>に記載の画像処理装置。
<4>
前記調整係数は、所定のフィルタ効果を生じさせるゲインの分布に応じて前記視点ごとに設定される
<1>又は<2>に記載の画像処理装置。
<5>
前記複数の視点の画像は、複数のカメラで撮影された複数の撮影画像を含む
<1>ないし<4>のいずれかに記載の画像処理装置。
<6>
前記複数の視点の画像は、前記複数の撮影画像と前記撮影画像を用いた補間により生成される複数の補間画像とを含む
<5>に記載の画像処理装置。
<7>
前記複数の撮影画像の視差情報を生成する視差情報生成部と、
前記撮影画像、及び、前記視差情報を用いて、異なる視点の前記複数の補間画像を生成する補間部と
をさらに備える
<6>に記載の画像処理装置。
<8>
複数の視点の画像を取得することと、
前記複数の視点の画像を用いて所定の距離に合焦した処理結果画像を生成する集光処理を行うことと
を含み、
前記集光処理を、前記視点ごとの調整係数によって画素値が調整された前記複数の視点の画像を用いて行う
画像処理方法。
<9>
複数の視点の画像を取得する取得部と、
前記複数の視点の画像を用いて所定の距離に合焦した処理結果画像を生成する集光処理を行う集光処理部と
して、コンピュータを機能させるためのプログラムであり、
前記集光処理部は、前記視点ごとの調整係数によって画素値が調整された前記複数の視点の画像を用いて前記集光処理を行う
プログラム。
<A1>
複数の視点の画像の画素をシフトするシフト量を設定し、
前記シフト量に応じて、前記複数の視点の画像の画素をシフトして積算する
ことにより、所定の距離に合焦した処理結果画像を生成する集光処理での、前記複数の視点の画像の画素値の積算を、前記視点に応じて設定された、画素値を調整する調整係数によって調整された前記視点の画像の画素の調整後の画素値を対象として行う集光処理部を備える
画像処理装置。