画像処理装置および方法、並びにプログラム
【課題】より自然な奥行き感を有する立体画像を表示できるようにする。
【解決手段】パノラマ画像生成部25−1は、撮像装置11が移動している状態で連続して撮像された複数の撮像画像の短冊領域TRRを切り出して合成し、右眼用のパノラマ画像PRを生成する。パノラマ画像生成部25−2は、複数の撮像画像の短冊領域TRLを切り出して合成し、左眼用のパノラマ画像PLを生成する。視差制御部26は、パノラマ画像PRとパノラマ画像PLから、これらのパノラマ画像の支配的な視差を検出し、その検出結果に応じてパノラマ画像全体をシフトさせることで、視差調整を行なう。表示部27は、視差調整されたパノラマ画像の対を同時に表示することで、より自然な奥行き感の立体パノラマ画像を表示する。本発明は、カメラに適用することができる。
【解決手段】パノラマ画像生成部25−1は、撮像装置11が移動している状態で連続して撮像された複数の撮像画像の短冊領域TRRを切り出して合成し、右眼用のパノラマ画像PRを生成する。パノラマ画像生成部25−2は、複数の撮像画像の短冊領域TRLを切り出して合成し、左眼用のパノラマ画像PLを生成する。視差制御部26は、パノラマ画像PRとパノラマ画像PLから、これらのパノラマ画像の支配的な視差を検出し、その検出結果に応じてパノラマ画像全体をシフトさせることで、視差調整を行なう。表示部27は、視差調整されたパノラマ画像の対を同時に表示することで、より自然な奥行き感の立体パノラマ画像を表示する。本発明は、カメラに適用することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置および方法、並びにプログラムに関し、特に、より自然な奥行き感を有する立体画像を表示させることができるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
従来、撮像装置を所定方向にパンさせながら撮像して得られた複数の静止画像を重ね合わせて合成することで、パノラマ画像を生成する技術が知られている(例えば、特許文献1参照)。パノラマ画像は、複数の静止画像を並べて合成することで得られる画像であるので、パノラマ画像によれば、1つの静止画像の撮像時に撮像対象となる空間上の領域よりも、より広い領域を被写体として表示することができる。
【0003】
また、パノラマ画像を得るために、撮像装置をパンさせながら複数の静止画像を撮像した場合には、いくつかの静止画像に、同じ被写体が含まれていることがある。そのような場合において、異なる静止画像上の同じ被写体は、互いに異なる位置から撮像されたものであるから、視差が生じていることになる。
【0004】
これを利用して、複数の静止画像から、互いに視差を有する2つのパノラマ画像を生成すれば、これらのパノラマ画像をレンチキュラ方式で同時に表示することで、撮像対象となった被写体を立体的に表示することができる。なお、以下、2つのパノラマ画像に基づいて表示される立体的な画像を、立体パノラマ画像とも称することとする。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3168443号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、立体パノラマ画像を表示部に表示させる場合、同時に表示させる2つのパノラマ画像間の視差がほとんどなければ、立体パノラマ画像上の主な被写体は、表示部の表示面に定位することになる。
【0007】
このとき、2つのパノラマ画像間において、被写体全体で全く視差がなければ、立体パノラマ画像の被写体は立体的には見えないが、被写体の一部に視差があれば、その被写体の部位は表示面とは異なる位置に定位し、全体として立体感のある被写体が表示される。つまり、2つのパノラマ画像上の被写体の各部が相対的に適切な視差を有していれば、被写体が立体的に表示されることになる。
【0008】
これに対して、2つのパノラマ画像間に視差があれば、その視差に応じて、立体パノラマ画像の主な被写体は、観察者から見て表示面の手前側または奥行き側に定位するが、このような場合、自然な立体感が得られなくなることがある。さらに、この場合、観察者は表示部の表示面に目の焦点を合わせているのに、立体パノラマ画像の主な被写体は表示面とは異なる位置に定位しているので、観察者の目と脳が疲れてしまう。
【0009】
通常、2つのパノラマ画像間において、パノラマ画像上の被写体の各部位は、互いに異なる視差を有するから、パノラマ画像上の主な被写体がどの位置に定位しても、立体パノラマ画像上の被写体は、立体的に見えるはずである。したがって、立体パノラマ画像上の主な被写体が、表示面に定位するような視差を有する2つのパノラマ画像が、最も適切な視差を有するパノラマ画像対であるということができる。
【0010】
しかしながら、上述した技術では、撮像された複数の静止画像から、適切な視差を有する2つのパノラマ画像を得ることは困難であった。そのため、自然な奥行き感(立体感)のある立体画像を表示させることができなかった。
【0011】
本発明は、このような状況に鑑みてなされたものであり、より自然な奥行き感を有する立体画像を表示させることができるようにするものである。
【課題を解決するための手段】
【0012】
本発明の一側面の画像処理装置は、撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理装置であって、複数の前記撮像画像の第1の短冊領域の画像のそれぞれを合成して、前記第1の合成画像を生成する第1の合成画像生成手段と、複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれを合成して、前記第2の合成画像を生成する第2の合成画像生成手段と、所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差を調整する視差制御手段とを備える。
【0013】
前記視差制御手段には、前記第1の合成画像の領域と前記第2の合成画像の領域との相関の度合いを示す相関値を算出させ、前記相関値を用いて前記第1の合成画像と前記第2の合成画像の支配的な視差を検出させて、前記支配的な視差が打ち消される前記シフト量を算出させることができる。
【0014】
前記視差制御手段には、前記第1の合成画像に対する前記第2の合成画像の位置をずらしながら、前記第1の合成画像と前記第2の合成画像との差分を前記相関値として算出させることができる。
【0015】
前記視差制御手段には、前記撮像画像上における前記第1の短冊領域と前記第2の短冊領域との距離に基づいて、前記シフト量を算出させることができる。
【0016】
本発明の一側面の画像処理方法またはプログラムは、撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理方法またはプログラムであって、複数の前記撮像画像の第1の短冊領域の画像のそれぞれを合成して、前記第1の合成画像を生成し、複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれを合成して、前記第2の合成画像を生成し、所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差を調整するステップを含む。
【0017】
本発明の一側面においては、撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理において、複数の前記撮像画像の第1の短冊領域の画像のそれぞれが合成されて、前記第1の合成画像が生成され、複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれが合成されて、前記第2の合成画像が生成され、所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差が調整される。
【発明の効果】
【0018】
本発明の一側面によれば、より自然な奥行き感を有する立体画像を表示させることができる。
【図面の簡単な説明】
【0019】
【図1】立体パノラマ画像について説明する図である。
【図2】本発明を適用した撮像装置の一実施の形態の構成例を示す図である。
【図3】立体パノラマ画像表示処理を説明するフローチャートである。
【図4】短冊領域について説明する図である。
【図5】支配的な視差の検出について説明する図である。
【図6】支配的な視差の検出について説明する図である。
【図7】支配的な視差の検出について説明する図である。
【図8】支配的な視差の検出について説明する図である。
【図9】視差調整について説明する図である。
【図10】オフセット量と視差の関係について説明する図である。
【図11】立体パノラマ画像表示処理を説明するフローチャートである。
【図12】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して、本発明を適用した実施の形態について説明する。
【0021】
〈第1の実施の形態〉
[立体パノラマ画像の説明]
本発明を適用した撮像装置は、例えばカメラなどからなり、撮像装置が移動している状態で、撮像装置が連続的に撮像した複数の撮像画像から、立体パノラマ画像を生成する。立体パノラマ画像は、視差を有する2つのパノラマ画像から構成される。
【0022】
ユーザが撮像装置に立体パノラマ画像を生成させようとする場合、ユーザは撮像装置を操作して、立体パノラマ画像の生成に用いられる撮像画像を撮像させる。
【0023】
例えば、図1の左側に示すように、撮像装置のレンズ主点が位置fp1にある状態で、仮想撮像面VSを撮像すると、撮像画像IMが得られる。例えば、撮像画像IM上の領域TRRおよび領域TRLには、それぞれ実空間上の領域SERおよび領域SELにある被写体が表示されることになる。
【0024】
そして、ユーザが図1中、横方向に撮像装置を移動させながら複数の撮像画像を撮像させると、各撮像画像は視差を有することになる。具体的には、図1中央に示すように、時刻T=tにおいて、レンズ主点が位置fp1にある状態で撮像画像を撮像し、時刻T=t+Δtにおいて、レンズ主点が位置fp2にある状態で撮像画像を撮像すると、それらの撮像画像には、同じ被写体OB1が表示される。このとき、被写体OB1の撮像位置は互いに異なるので視差が生じることになる。これを利用すれば、同じ被写体が表示される、互いに視差を有するパノラマ画像が得られる。
【0025】
すなわち、撮像装置を移動させながら撮像して得られた各撮像画像から、それぞれ撮像画像IMの領域TRRおよび領域TRLに対応する領域を切り出して合成すれば、図1中、右側に示すように、パノラマ画像PRとパノラマ画像PLが得られる。
【0026】
ここで、パノラマ画像PRは、各撮像画像の領域TRRに対応する領域を並べて合成することで得られる画像であり、このパノラマ画像PRは、位置fp3を仮想的なレンズ主点位置として被写体を撮像して得られる画像である。一方、パノラマ画像PLは、各撮像画像の領域TRLに対応する領域を並べて合成することで得られる画像であり、このパノラマ画像PLは、位置fp4を仮想的なレンズ主点位置として被写体を撮像して得られる画像である。そしてパノラマ画像PRとパノラマ画像PLは、互いに視差を有し、同じ被写体が表示されている画像である。
【0027】
そこで、パノラマ画像PRを右眼用の画像とし、パノラマ画像PLを左眼用の画像として、これらのパノラマ画像をレンチキュラ方式等により同時に表示すれば、ユーザの目には、立体的なパノラマ画像(以下、立体パノラマ画像とも称する)が見えることになる。
【0028】
このように、複数の撮像画像の所定の領域(以下、短冊領域と称する)を切り出して、それらの部分的な画像を並べて合成し、1つの画像とすれば1つのパノラマ画像が得られる。また、短冊領域をずらして異なるパノラマ画像を生成すれば、互いに視差を有するパノラマ画像の対を得ることができ、それらのパノラマ画像を用いれば、立体パノラマ画像を表示させることができる。
【0029】
[撮像装置の構成]
図2は、本発明を適用した撮像装置の一実施の形態の構成例を示す図である。
【0030】
撮像装置11は、撮像部21、動き算出部22、短冊領域決定部23、合成領域決定部24、パノラマ画像生成部25−1、パノラマ画像生成部25−2、視差制御部26、および表示部27から構成される。
【0031】
撮像部21は、光学レンズ等の光学系や撮像素子などから構成され、被写体からの光を電気信号に変換することで、被写体の像を撮像し、その結果得られた撮像画像を動き算出部22に供給する。
【0032】
例えば、ユーザが撮像装置11を所定方向に移動させながら連続して撮像画像の撮像を指示した場合、時間的に連続して撮像された撮像画像が、順次、動き算出部22に供給されることになる。なお、以下、連続して撮像された撮像画像のうち、m番目に撮像された撮像画像をフレームmの撮像画像とも称することとする。
【0033】
動き算出部22は、撮像部21から供給された撮像画像に基づいて、撮像画像のフレーム間における、撮像装置11の動き(移動)を補償する動き補償パラメータを算出し、撮像画像および動き補償パラメータを短冊領域決定部23に供給する。
【0034】
この動き補償パラメータは、複数の撮像画像のそれぞれを、実空間上において動きのない同じ被写体がほぼ重なるように並べた場合における、撮像画像同士の相対的な位置関係を示す情報である。
【0035】
例えば、互いに垂直なx方向およびy方向からなる2次元平面(以下、投影面と称する)を考え、撮像画像の撮像時にユーザが撮像装置11を移動させる方向に対応する方向がx方向であったとする。また、各撮像画像の端は、x方向およびy方向にほぼ平行であるとする。この場合、動き算出部22は、各撮像画像を投影面上に並べたときに、隣接する2つの撮像画像、つまり連続するフレームの撮像画像同士の相対的な位置関係を示す情報を動き補償パラメータとして算出する。
【0036】
なお、以下、x方向に平行な方向のうち、撮像装置11の移動方向と同じ方向を、特に+x方向とも称し、+x方向と反対の方向を−x方向とも称することとする。したがって、投影面上に各フレームの撮像画像を並べた場合、フレームmの撮像画像は、フレーム(m−1)の撮像画像に対して、+x方向側に位置することになる。
【0037】
短冊領域決定部23は、動き算出部22から供給された撮像画像および動き補償パラメータと、入力されたオフセット量に基づいて、撮像画像上において、パノラマ画像の生成に用いるために切り出される領域である短冊領域を決定する。
【0038】
ここで、短冊領域は、図1に示した領域TRRおよび領域TRLであり、撮像画像上の異なる2つの領域が短冊領域とされる。例えば、撮像画像上において、−x方向側に位置する短冊領域をTRRとし、+x方向側に位置する短冊領域をTRLとして、1つの撮像画像上に2つの短冊領域が定められる。
【0039】
このような場合に、撮像画像上の短冊領域TRRから短冊領域TRLまでの距離が、オフセット量として短冊領域決定部23に入力される。このオフセット量は、予め定められていてもよいし、ユーザにより変更可能なようにしてもよい。
【0040】
短冊領域決定部23は、各撮像画像の短冊領域を決定すると、撮像画像、動き補償パラメータ、および短冊領域の位置を示す短冊領域位置情報を、合成領域決定部24に供給する。
【0041】
合成領域決定部24は、短冊領域決定部23から供給された撮像画像、動き補償パラメータ、および短冊領域位置情報に基づいて、合成領域を決定する。
【0042】
撮像装置11では、各撮像画像上の短冊領域が切り出されて合成され、1つのパノラマ画像が生成されるが、ユーザがx方向に撮像装置11を移動させながら撮像画像を撮像した場合でも、撮像装置11がy方向にもわずかに動いてしまう。そのため、各撮像画像を投影面に並べた場合、各撮像画像の位置はy方向にばらつきが生じる。
【0043】
そこで、合成領域決定部24は、撮像画像を投影面に並べた場合に、各撮像画像の短冊領域からなる領域に内接する最も大きい矩形領域を、パノラマ画像の生成に用いられる画像が切り出される合成領域とする。したがって、各撮像画像の短冊領域のうちの合成領域に含まれる領域を切り出して合成すれば、矩形状のパノラマ画像が得られる。
【0044】
合成領域決定部24は、決定された合成領域、つまり修正された最終的な各短冊領域の位置を示す合成領域情報と、撮像画像および動き補償パラメータとを、パノラマ画像生成部25−1およびパノラマ画像生成部25−2に供給する。
【0045】
パノラマ画像生成部25−1およびパノラマ画像生成部25−2は、合成領域決定部24から供給された合成領域情報、撮像画像、および動き補償パラメータを用いてパノラマ画像PRおよびパノラマ画像PLを生成し、視差制御部26に供給する。なお、以下、パノラマ画像生成部25−1およびパノラマ画像生成部25−2を特に区別する必要のない場合、単にパノラマ画像生成部25とも称する。
【0046】
視差制御部26は、パノラマ画像生成部25から供給されたパノラマ画像を加工して、パノラマ画像の視差調整を行い、その結果得られたパノラマ画像の対を表示部27に供給し、立体パノラマ画像を表示させる。
【0047】
表示部27は、例えばLCD(Liquid Crystal Display)やレンチキュラレンズからなり、視差制御部26から供給されたパノラマ画像の対を、レンチキュラ方式で同時に表示することで、パノラマ画像を立体表示する。
【0048】
[立体パノラマ画像表示処理の説明]
ところで、ユーザが撮像装置11を操作して、立体パノラマ画像の生成を指示すると、撮像装置11は、立体パノラマ画像を生成して表示する処理である立体パノラマ画像表示処理を開始する。以下、図3のフローチャートを参照して、撮像装置11による立体パノラマ画像表示処理について説明する。
【0049】
ステップS11において、撮像部21は、撮像装置11が移動している状態で被写体を撮像する。例えば、ユーザは撮像装置11を所定方向に回動させながら、複数枚の撮像画像を連続して撮像装置11に撮像させる。
【0050】
被写体からの光は撮像部21に入射するので、撮像部21は入射した光を光電変換することにより、撮像画像を撮像する。得られた撮像画像は、順次、撮像部21から動き算出部22に供給される。なお、撮像画像は、撮像された1つの静止画像であってもよいし、撮影された動画像を構成する1フレーム分の画像であってもよい。
【0051】
ステップS12において、動き算出部22は、撮像部21から供給された各撮像画像について、撮像画像の動き補償パラメータを算出し、撮像画像および動き補償パラメータを短冊領域決定部23に供給する。
【0052】
例えば、動き算出部22は、連続する2つのフレームの撮像画像を用いて、ブロックマッチングにより、撮像画像のグローバルモーションベクトルを動き補償パラメータとして算出する。
【0053】
すなわち、動き算出部22は、処理対象のフレームの撮像画像を複数ブロックに分割し、各ブロックについて、処理対象の1つ前のフレームの撮像画像とのブロックマッチングを行なうことにより、そのブロックの動きベクトルを検出する。そして、動き算出部22は、ブロックごとに求めた動きベクトルのうち、最も多い大きさかつ方向の動きベクトルを、撮像画像のグローバルモーションベクトルとする。
【0054】
グローバルモーションベクトルは、撮像画像上の被写体全体のフレーム間の動きを示すグローバルな動きベクトルである。撮像画像上の被写体の多くは、実空間上において動きのない静止物体であるので、グローバルモーションベクトルは、撮像画像上の静止物体のフレーム間の動き、つまり撮像画像の撮像時における撮像装置11の動きを示すベクトルであるということができる。
【0055】
なお、動き補償パラメータは、その他、拡張アフィン変換などを利用して求めてもよい。例えば、拡張アフィン変換を利用して動き補償パラメータを算出する場合、動き算出部22は、次式(1)を計算することで、撮像画像のフレーム間の動きを示すベクトル(V,W)を求め、得られたベクトル(V,W)を動き補償パラメータとする。
【0056】
【数1】
【0057】
なお、式(1)において、a乃至lは、アフィンパラメータを示しており、x,yは、それぞれxy座標系における撮像画像上の特徴的なブロックの中心位置のx成分およびy成分を示している。
【0058】
すなわち、動き算出部22は、処理対象のフレームの撮像画像を複数ブロックに分割し、各ブロックについて、処理対象の1つ前のフレームの撮像画像とのブロックマッチングを行なうことにより、そのブロックの動きベクトルを検出する。そして、動き算出部22は、コーナーディテクタ等を利用して、各ブロックの動きベクトルの信頼性を求め、最も信頼性の高い動きベクトルのブロックを特徴的なブロックとし、上述した式(1)を計算する。
【0059】
なお、アフィンパラメータは、各ブロックの中心座標と、各ブロックの動きベクトルとが用いられて、最小自乗法により算出される。
【0060】
ステップS13において、短冊領域決定部23は、動き算出部22から供給された撮像画像および動き補償パラメータと、オフセット量とに基づいて、各撮像画像の短冊領域を決定する。
【0061】
例えば、図4の左側に示すように、短冊領域決定部23は、フレーム1の撮像画像IM(1)とフレーム2の撮像画像IM(2)とを動き補償パラメータに基づいて投影面上に並べる。なお、図4において、図中、横方向はx方向を示しており、特に右方向は+x方向を示している。また、図4では、説明を分かり易くするため、撮像画像のx方向の位置関係のみを示しており、実際には撮像画像を投影面上に並べると、それらの撮像画像は互いに重なることになる。
【0062】
短冊領域決定部23は、投影面上に並べられた撮像画像IM(1)と撮像画像IM(2)が重なる領域のx方向の中心の位置(以下、基準位置と称する)を求め、さらにその基準位置から−x方向に特定の距離だけ離れた位置をR基準位置とする。この特定の距離は、例えば、オフセット量の半分の距離とされる。
【0063】
短冊領域決定部23は、撮像画像IM(1)上において、R基準位置を中心とし、x方向に予め定められた所定幅を有する領域を重複領域CR(1)とする。また、短冊領域決定部23は、撮像画像IM(2)上において、R基準位置を中心とし、x方向に予め定められた所定幅を有する領域を重複領域CR(2)とする。ここで、重複領域CR(1)と重複領域CR(2)は、投影面上において互いに重なる領域(同じ領域)とされる。
【0064】
そして、短冊領域決定部23は、図中、右側に示すように、撮像画像IM(1)上における、撮像画像IM(1)の左端から重複領域CR(1)の右端までの領域を、フレーム1の撮像画像の短冊領域TRR(1)とする。同様に、短冊領域決定部23は、撮像画像IM(2)上における、重複領域CR(2)の左端から撮像画像IM(2)の右端までの領域を、フレーム2の短冊領域TRR(2)とする。
【0065】
なお、より詳細には、フレーム2以降では、処理対象のフレームの短冊領域TRRを定めるにあたり、その前後のフレームについて考慮する必要がある。したがって、例えばフレームm(但し、m≧2)の短冊領域TRR(m)は、撮像画像上における、フレーム(m−1)との重複領域の左端から、フレーム(m+1)との重複領域の右端までの領域とされる。
【0066】
短冊領域決定部23は、このようにして各フレームの短冊領域TRRを定めると、同様の処理を行って、各フレームの短冊領域TRLを定める。このとき、撮像画像上の基準位置から、+x方向に特定の距離、例えばオフセット量の半分の距離だけ離れた位置が、R基準位置に対応するL基準位置とされる。そして、例えば短冊領域決定部23は、撮像画像IM(1)上における、撮像画像IM(1)の左端から、L基準位置に対して定められた重複領域の右端までの領域を、フレーム1の撮像画像の短冊領域TRLとする。
【0067】
このように、R基準位置とL基準位置を基準位置からx方向にずらした位置に定めることで、短冊領域TRRと短冊領域TRLとの間隔がオフセット量と等しくなり、互いに視差を有するパノラマ画像が得られる。
【0068】
図3のフローチャートの説明に戻り、短冊領域決定部23は、短冊領域を決定すると、撮像画像、動き補償パラメータ、および短冊領域の位置を示す短冊領域位置情報を、合成領域決定部24に供給する。
【0069】
ステップS14において、合成領域決定部24は、短冊領域決定部23からの撮像画像、動き補償パラメータ、および短冊領域位置情報に基づいて合成領域を決定し、決定された合成領域の位置を示す合成領域情報、撮像画像、および動き補償パラメータをパノラマ画像生成部25に供給する。このとき、パノラマ画像生成部25−1には、パノラマ画像PRを生成するための合成領域情報が供給され、パノラマ画像生成部25−2には、パノラマ画像PLを生成するための合成領域情報が供給される。
【0070】
ステップS15において、パノラマ画像生成部25は、合成領域決定部24からの合成領域情報、撮像画像、および動き補償パラメータを用いてパノラマ画像を生成し、視差制御部26に供給する。
【0071】
例えば、パノラマ画像生成部25−1は、動き補償パラメータを用いて、動きのない同じ被写体がほぼ重なるように各撮像画像を投影面上に並べる。そして、パノラマ画像生成部25−1は、合成領域情報により示される最終的な各撮像画像の短冊領域TRR内の画像を切り出して、切り出された画像を合成することで、パノラマ画像PRを生成する。
【0072】
このように、パノラマ画像生成部25−1およびパノラマ画像生成部25−2によりステップS15の処理が行われると、互いに異なる視点から見た被写体が表示される、2つのパノラマ画像が得られる。これらのパノラマ画像には、同じ被写体が表示されているが、この被写体は視差を有することになる。そのため、2つのパノラマ画像を同時に表示させれば、これらのパノラマ画像を観察するユーザには、パノラマ画像上の被写体が立体的に見えることになる。
【0073】
ステップS16において、視差制御部26は、パノラマ画像生成部25から供給されたパノラマ画像対の支配的な視差を検出する。
【0074】
ここで、支配的な視差とは、パノラマ画像上の主要な被写体、つまり最も大きい(面積の広い)被写体が有する視差をいう。視差制御部26は、パノラマ画像の画素ごとに視差を求め、各視差の大きさと、その大きさの視差を有するパノラマ画像の画素の数を示す評価値とからなる評価値テーブルを生成することにより、支配的な視差を求める。
【0075】
具体的には、図5に示すように、視差制御部26は、2つのパノラマ画像のうち、より−x方向側に位置する短冊領域から切り出された画像により生成されたパノラマ画像PRを、右眼用のパノラマ画像とし、他方のパノラマ画像PLを左眼用のパノラマ画像とする。なお、図5において、横方向および縦方向は、それぞれx方向およびy方向を示している。特に、図中、右方向は+x方向を示している。
【0076】
ここで、右眼用のパノラマ画像PRとは、パノラマ画像対を立体表示するときに、ユーザの右眼により観察されるように表示されるパノラマ画像をいい、左眼用のパノラマ画像PLとは、ユーザの左眼により観察されるように表示されるパノラマ画像をいう。
【0077】
また、視差制御部26は、パノラマ画像PRおよびパノラマ画像PL上に、評価対象領域ERおよび評価対象領域ELを設定する。
【0078】
評価対象領域ERは、その中心がパノラマ画像PRの中心と同じ位置にあり、パノラマ画像PRよりも所定の長さだけx方向に短い矩形領域である。同様に、評価対象領域ELは、その中心がパノラマ画像PLの中心と同じ位置にあり、パノラマ画像PLよりも所定の長さだけx方向に短い矩形領域である。また、評価対象領域ERと評価対象領域ELは同じ大きさの領域とされる。視差制御部26は、パノラマ画像の画素のうち、これらの評価対象領域内にある画素を処理対象として、各視差の評価値を求める。
【0079】
まず、視差制御部26は、評価値テーブルの各視差に対する評価値を「0」に初期化し、視差「0」に対する評価値を求める。すなわち、図6に示すように、視差制御部26は、パノラマ画像PRにおける評価対象領域ER内の所定の画素GR(i)と、パノラマ画像PLにおける評価対象領域EL内の所定の画素GL(i)とを処理対象の画素とする。なお、画素GR(i)と画素GL(i)は、パノラマ画像PRとパノラマ画像PLとを重ねた場合に、同じ位置にある画素とされる。
【0080】
次に、視差制御部26は、パノラマ画像PL上において画素GL(i)にx方向に隣接する画素GL(i+1)および画素GL(i−1)と、画素GL(i)とを用いて閾値thを定める。すなわち、視差制御部26は、画素GL(i−1)、画素GL(i)、および画素GL(i+1)の画素値のうちの最大値と最小値との差の絶対値を求めることにより、画素GL(i)のx方向のダイナミックレンジDLを求める。
【0081】
視差制御部26は、求めたダイナミックレンジDLが、予め定められた所定の値以上である場合、閾値thを予め定められた規定値とし、ダイナミックレンジDLが、予め定められた所定の値未満である場合、閾値thを規定値よりも小さい値とする。
【0082】
そして、視差制御部26は、画素GR(i)と画素GL(i)の画素値の差分の絶対値を求め、求められた絶対値が閾値th未満である場合、評価値テーブルの視差「0」に対する評価値に「1」を加算する。これに対して、視差制御部26は、求めた絶対値が閾値th以上である場合、視差「0」に対する評価値をそのままとする。
【0083】
処理対象の画素GR(i)と画素GL(i)の差分の絶対値がある程度小さい場合、それらの画素には同じ被写体が表示されているはずである。また、画素GR(i)と画素GL(i)は、パノラマ画像PRおよびパノラマ画像PL上の同じ位置にある画素であるから、それらの画素に同じ被写体が表示されていれば、その被写体は視差を有さないことになる。つまり、画素GR(i)と画素GL(i)に表示されている被写体は、立体パノラマ画像の表示時においては、表示部27の表示画面上に定位することになる。
【0084】
なお、ダイナミックレンジDLに応じて閾値thを変化させるのは、処理対象の画素同士の相関の有無の誤判定を抑制するためである。例えば、画素GL(i)の部分に、被写体として空間方向への画素値の変化が少ない平坦な被写体(例えば、空など)が表示されていたとする。
【0085】
この場合、画素GL(i)近傍の画素の画素値は、画素GL(i)の画素値に近い値となり、画素GR(i)と画素GL(i)に異なる被写体の部分が表示されていたとしても、それらの画素の差分の絶対値は、閾値th未満となってしまうことがある。つまり、誤判定が生じることがある。そこで、ダイナミックレンジDLが小さい場合には、このような誤判定が生じにくくなるように、閾値thが通常の規定値よりも小さい値とされる。
【0086】
なお、誤判定の抑制のため、ダイナミックレンジDLが予め定められた所定の値未満である場合には、画素GR(i)と画素GL(i)を処理対象とせず、差分の計算を行わないようにしてもよい。
【0087】
このようにして、処理対象とされた画素の差分が求められ、閾値thとの閾値処理の結果に応じて評価値テーブルの評価値に「1」が加算されると、視差制御部26は、評価対象領域ERと評価対象領域EL内のまだ処理対象としてない画素を選択し、処理対象とする。つまり、新たに処理対象とされた画素同士の差分の絶対値と、閾値thとが比較され、その比較結果に応じて、評価値テーブルが更新される。
【0088】
そして、評価対象領域ERと評価対象領域EL内の全ての画素が処理対象とされると、そのときの評価値テーブルの視差「0」の評価値が、最終的な評価値とされる。この評価値は、パノラマ画像の評価対象領域内において、視差が「0」である被写体が表示されている画素の数を示している。換言すれば、パノラマ画像上の評価対象領域内には、視差が「0」である被写体が表示される画素が、評価値に示される数だけ存在する。
【0089】
さらに、視差制御部26は、評価対象領域ERに対してパノラマ画像PRの位置をずらしながら、評価対象領域ERと評価対象領域EL内の同じ位置にある画素を処理対象として、各視差の大きさについて評価値を求めていく。すなわち、視差制御部26は、パノラマ画像PLに対してパノラマ画像PRの位置をずらしながら、パノラマ画像の差分を求め、各視差の評価値を求めていく。
【0090】
例えば、視差制御部26は、図7に示すように、評価対象領域ERに対してパノラマ画像PRの位置を、図中、左方向にずらし、評価対象領域内の画素の差分を求める。なお、図中、横方向および縦方向はx方向およびy方向を示しており、特に右方向は+x方向を示している。
【0091】
図7の例では、評価対象領域ERに対してパノラマ画像PRが−x方向に128画素分だけずらされており、評価対象領域ERとパノラマ画像PRの右側の端が一致している。この状態で、視差制御部26は、図5および図6を参照して説明した処理を行う。つまり、視差制御部26は、評価対象領域内の同じ位置にあるパノラマ画像PRおよびパノラマ画像PLの画素の差分の絶対値を求め、その絶対値と閾値thを比較する。視差制御部26は、比較の結果、絶対値が閾値未満であれば、評価値テーブルの視差「−128」の評価値に「1」を加算し、絶対値が閾値以上であれば、評価値の更新を行わない。
【0092】
このようにして、評価対象領域内の全ての画素を処理対象として評価値テーブルの更新を行うと、視差「−128」の最終的な評価値が得られる。視差「−128」の評価値の更新時においては、パノラマ画像PRを128画素分だけずらして処理が行われるため、差分の絶対値が閾値未満である画素に表示される被写体は、パノラマ画像PRとパノラマ画像PLとで、128画素分だけ離れた位置に表示されることになる。つまり、その被写体は128画素分だけの視差を有することになる。そして、視差が「−128」である画素に表示されている被写体は、立体パノラマ画像の表示時においては、表示部27の表示画面よりもユーザから見て奥行き側に定位することになる。
【0093】
同様に、視差制御部26は、図7の例と反対の方向にも評価対象領域ERに対してパノラマ画像PRの位置をずらしながら、評価対象領域ERと評価対象領域EL内の同じ位置にある画素を処理対象として、各視差の大きさについて評価値を求めていく。
【0094】
例えば、視差制御部26は、図8に示すように、評価対象領域ERに対してパノラマ画像PRの位置を、図中、右方向にずらし、評価対象領域内の画素の差分を求める。なお、図中、横方向および縦方向はx方向およびy方向を示しており、特に右方向は+x方向を示している。
【0095】
図8の例では、評価対象領域ERに対してパノラマ画像PRが+x方向に128画素分だけずらされており、評価対象領域ERとパノラマ画像PRの左側の端が一致している。この状態で、視差制御部26は、評価対象領域内の同じ位置にあるパノラマ画像PRおよびパノラマ画像PLの画素の差分の絶対値を求め、その絶対値と閾値thを比較する。視差制御部26は、比較の結果、絶対値が閾値未満であれば、評価値テーブルの視差「128」の評価値に「1」を加算し、絶対値が閾値以上であれば、評価値の更新を行わない。
【0096】
このようにして、評価対象領域内の全ての画素を処理対象として評価値テーブルの更新を行うと、視差「128」の最終的な評価値が得られる。視差が「128」である画素に表示されている被写体は、立体パノラマ画像の表示時においては、表示部27の表示画面よりもユーザから見て手前側に定位することになる。
【0097】
視差制御部26は、以上のようにして、各視差の大きさについて評価値を求めると、評価値テーブルの評価値のうち、最も値が大きい評価値の視差を、パノラマ画像の支配的な視差とする。評価値テーブルにおいて、視差ごとの評価値は、その大きさの視差を有する画素の数、つまりパノラマ画像上の被写体の領域の大きさ(面積)を表している。したがって、パノラマ画像では、最も大きい評価値の視差を有する領域(画素)が、最も面積が広く、評価値が最大である視差が、パノラマ画像の被写体の支配的な視差であるということができる。
【0098】
なお、パノラマ画像の支配的な視差を求める方法として、パノラマ画像の画素ごとの差分を求める例について説明したが、パノラマ画像PRの領域とパノラマ画像PLの領域との相関の度合いを示す相関値を求め、その相関値に基づいて各視差の評価値が求められればよい。例えば、パノラマ画像の画素ごとの差分ではなく、ブロックごとの差分に基づく値(例えばブロック内の画素の差分絶対値和)が相関値とされてもよい。
【0099】
また、パノラマ画像の差分を利用して支配的な視差を求める場合に、パノラマ画像PRとパノラマ画像PLとに対して間引きを行い、間引きされて縮小されたパノラマ画像の差分が求められて支配的な視差が求められるようにしてもよい。
【0100】
図3のフローチャートの説明に戻り、視差制御部26が、パノラマ画像の支配的な視差を検出すると、処理はステップS16からステップS17へと進む。
【0101】
ステップS17において、視差制御部26は、求めたパノラマ画像PRとパノラマ画像PLの間の支配的な視差に基づいて、パノラマ画像PRおよびパノラマ画像PLの視差調整を行う。
【0102】
すなわち、視差制御部26は、求めた支配的な視差が打ち消されるように、パノラマ画像PRとパノラマ画像PL全体を視差の分だけシフト(移動)させる。このように、支配的な視差が打ち消されるようにパノラマ画像全体の位置をずらして視差調整を行うと、視差調整後のパノラマ画像の支配的な視差は「0」となる。これにより、パノラマ画像PRとパノラマ画像PLを同時に立体表示させると、立体パノラマ画像の主要な被写体は、表示部27の表示画面の位置に定位することとなる。
【0103】
立体パノラマ画像の主要な被写体、つまり大きい被写体が表示部27の表示画面の位置に定位すると、その定位の位置とユーザの目の焦点位置とが一致して、ユーザの目や脳が疲れてしまうことがなくなる。しかも、立体パノラマ画像の主要な被写体は表示画面の位置に定位するが、他の被写体の部分は、表示画面の手前側や奥行き側に定位するため、立体パノラマ画像が充分立体的に表示され、立体パノラマ画像は、より自然な奥行き感(立体感)を有するものとなる。
【0104】
このように、パノラマ画像の支配的な視差を求め、その支配的な視差が打ち消されるように、パノラマ画像の視差調整を行うことで、より適切な視差を有するパノラマ画像対を得ることができ、その結果、より自然な立体感を再現することができる。
【0105】
パノラマ画像の視差調整は、例えば図9に示すように、パノラマ画像PRとパノラマ画像PLとが支配的な視差に対して定まるシフト量だけシフトされることにより行われる。なお、図中、横方向および縦方向はx方向およびy方向を示しており、特に右方向および下方向は、+x方向および+y方向を示している。また、図9において図8における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【0106】
いま、パノラマ画像PRとパノラマ画像PLの支配的な視差としてPaが得られたとすると、視差制御部26は、パノラマ画像のシフト量S=Paとして、パノラマ画像PRを+x方向にS/2だけシフトさせ、パノラマ画像PLを−x方向にS/2だけシフトさせる。
【0107】
例えばシフト量Sが正の値(S>0)であれば、図9に示すように、パノラマ画像PR全体が評価対象領域ERに対して右方向(+x方向)にS/2だけシフトされ、パノラマ画像PL全体が評価対象領域ELに対して左方向(−x方向)にS/2だけシフトされる。そして、シフト後において評価対象領域ERおよび評価対象領域EL内にあるパノラマ画像PRとパノラマ画像PLの領域が、最終的なパノラマ画像の対とされて、立体パノラマ画像の表示に用いられる。
【0108】
支配的な視差Paが正の値である場合、立体パノラマ画像の主な被写体は、表示部27の表示画面の手前側に定位する。そこで、視差が小さくなるように、つまり支配的な視差が「0」となるように、図9中、パノラマ画像PRとパノラマ画像PLを遠ざける方向にシフトすれば、シフト後のパノラマ画像の主な被写体は表示部27の表示画面の位置に定位する。
【0109】
逆に、シフト量Sが負の値(S<0)であれば、パノラマ画像PR全体が評価対象領域ERに対して図中、左方向(−x方向)にシフトされ、パノラマ画像PL全体が評価対象領域ELに対して右方向(+x方向)にシフトされる。すなわち、支配的な視差Paが負の値である場合、立体パノラマ画像の主な被写体は、表示画面の奥行き側に定位するので、視差が大きくなるように、図9中、パノラマ画像同士を、互いに近づく方向にシフトすれば、主な被写体を表示画面に定位させることができる。
【0110】
以上において説明したパノラマ画像をシフトさせる処理を、式を用いて説明すると次のようになる。xy座標系において、パノラマ画像PR上の注目する画素をprとし、パノラマ画像PL上の注目する画素をplとして、それらの画素prと画素plの座標を(xr,yr)および(xl,yl)とする。
【0111】
また、シフト量をSとすると、視差制御部26は、次式(2)および式(3)を計算して、画素prおよび画素plを、それぞれ座標(xr’,yr’)および(xl’,yl’)に移動させることで、視差調整を行う。
【0112】
(xr’,yr’)=(xr+(S/2),yr) ・・・(2)
【0113】
(xl’,yl’)=(xl−(S/2),yl) ・・・(3)
【0114】
このように、パノラマ画像上の各画素の表示位置をずらせば、より適切な視差を有するパノラマ画像対を得ることができる。
【0115】
図3のフローチャートの説明に戻り、視差制御部26は、パノラマ画像対の視差調整を行うと、その結果得られたパノラマ画像対を表示部27に供給し、処理はステップS18に進む。
【0116】
ステップS18において、表示部27は、視差制御部26から供給されたパノラマ画像対を、右眼用および左眼用のパノラマ画像として、これらのパノラマ画像をレンチキュラ方式で同時に立体表示する。これにより、表示部27の表示画面には、立体パノラマ画像が表示される。立体パノラマ画像が表示されると、立体パノラマ画像表示処理は終了する。
【0117】
このようにして撮像装置11は、オフセット量に基づいて各撮像画像上の短冊領域を決定し、その短冊領域から画像を切り出してパノラマ画像を生成する。そして、撮像装置11は、得られたパノラマ画像の視差調整を行い、パノラマ画像対を立体パノラマ画像として表示する。
【0118】
このように、生成されたパノラマ画像に対して、パノラマ画像の画素同士の差分を求めることで、より簡単かつ迅速にパノラマ画像の支配的な視差を求めることができ、これにより得られた視差を打ち消すようにパノラマ画像に対するシフト処理を行えば、より適切な視差を有するパノラマ画像対を得ることができる。したがって、得られたパノラマ画像対を立体表示すれば、より自然な立体感を再現することができる。
【0119】
なお、以上においては、パノラマ画像の支配的な視差に基づいて、パノラマ画像の視差調整を行なうと説明したが、求められた支配的な視差を用いてオフセット量を設定し直して、撮像画像から最終的なパノラマ画像対を生成し直すようにしてもよい。この場合、設定し直されたオフセット量に基づいて短冊領域が定められ、その短冊領域の画像が合成されて、最終的なパノラマ画像が生成される。
【0120】
〈第2の実施の形態〉
[支配的な視差についての説明]
ところで、以上においては、パノラマ画像から支配的な視差を求め、その視差に応じてパノラマ画像の視差調整を行なうと説明したが、本出願人により、パノラマ画像の支配的な視差の絶対値は、短冊領域のオフセット量とほぼ等しいことが確認されている。
【0121】
例えば、図10に示すように、撮像部21を構成するレンズの主点L0が、回転中心OCを中心として図中、時計回りの方向に回動するように、ユーザが撮像装置11を移動させながら撮像画像を撮像させたとする。ここで、レンズの主点L0から回転中心OCまでの距離、つまり回転半径はrとされ、撮像部21の焦点距離はfであるとする。
【0122】
また、撮像面VS(t)と撮像面VS(t+1)が時間的に連続して撮像され、撮像面VS(t)上の領域TRR−1と領域TRL−1が短冊領域TRRと短冊領域TRLに相当し、撮像面VS(t+1)上の領域TRR−2と領域TRL−2が短冊領域TRRと短冊領域TRLに相当するとする。このとき、オフセット量が2Hであるとすると、領域TRR−1と領域TRL−1の間の距離、および領域TRR−2と領域TRL−2の間の距離は、ともにオフセット量2Hとなる。
【0123】
図10の例では、撮像面VS(t)と撮像面VS(t+1)のそれぞれに対応する撮像画像上には、同じ被写体OB21が表示され、被写体OB21は、それぞれ領域TRL−1と領域TRR−2に対応する領域に表示される。この場合における実際の被写体OB21の視差は、領域TRL−1と領域TRR−2の距離2dである。
【0124】
また、図10の例で撮像された撮像画像から2つのパノラマ画像PRおよびパノラマ画像PLを生成すると、それらのパノラマ画像の視差は、領域TRR−1から領域TRR−2までの距離Dとなる。そして、この視差Dは、領域TRR−1から領域TRL−1までの距離、つまりオフセット量2Hと、被写体OB21の視差2dの和により表すことができるが、連続して撮像画像が撮像される場合には、視差2dは微小な値となるため、無視することができる。したがって、パノラマ画像の視差Dは、オフセット量2Hと近似することができる。
【0125】
このように、パノラマ画像PRとパノラマ画像PLとの視差Dは、オフセット量2Hとほぼ同じであるので、オフセット量に基づいてパノラマ画像の視差調整をすれば、パノラマ画像の支配的な視差を求めなくても、適切な視差制御を行なうことができる。
【0126】
[立体パノラマ画像表示処理の説明]
撮像装置11が、オフセット量に基づいてパノラマ画像の視差調整を行なう場合、短冊領域決定部23だけでなく、視差制御部26にもオフセット量が供給される。
【0127】
以下、図11のフローチャートを参照して、このような場合に撮像装置11が行なう立体パノラマ画像表示処理について説明する。
【0128】
なお、ステップS51乃至ステップS55の処理は、図3のステップS11乃至ステップS15の処理と同様であるので、その説明は省略する。すなわち、撮像画像が撮像されて、それらの撮像画像からパノラマ画像PRおよびパノラマ画像PLが生成される。
【0129】
ステップS56において、視差制御部26は、入力されたオフセット量2Hを用いて、パノラマ画像生成部25から供給されたパノラマ画像PRおよびパノラマ画像PLの視差調整を行う。
【0130】
すなわち、視差制御部26は、パノラマ画像のシフト量S=−2Hとして、図9を参照して説明した処理と同様の処理を行い、パノラマ画像PRおよびパノラマ画像PLの視差を調整する。つまりパノラマ画像PRおよびパノラマ画像PLが、それぞれS/2だけx方向にシフトされる。
【0131】
そしてステップS57において、表示部27は、視差制御部26から供給されたパノラマ画像対を、右眼用および左眼用のパノラマ画像として、これらのパノラマ画像をレンチキュラ方式で同時に立体表示し、立体パノラマ画像表示処理は終了する。
【0132】
このようにして撮像装置11は、オフセット量に基づいてパノラマ画像の視差調整を行い、パノラマ画像対を立体パノラマ画像として表示する。
【0133】
このように、オフセット量を用いてパノラマ画像の視差調整を行なうことでも、より適切な視差を有するパノラマ画像対を得ることができ、より自然な立体感を有する立体パノラマ画像を表示することができる。この場合、支配的な視差を求める場合よりも、より簡単な処理で、迅速に視差調整を行なうことができる。
【0134】
なお、以上においては、シフト量をオフセット量と同じ大きさにすると説明したが、オフセット量を多少増減させた値をシフト量として用いるようにしてもよい。
【0135】
また、撮像画像上の異なる2つの領域が短冊領域とされると説明したが、1つの撮像画像上の互いに異なる3以上の領域が、それぞれ短冊領域とされるようにしてもよい。そのような場合、それらの短冊領域ごとにパノラマ画像が生成される。これらの複数のパノラマ画像は、例えば多視点の立体パノラマ画像を表示するのに用いられる。例えば、複数のパノラマ画像のうちのいくつかをレンチキュラ方式で表示部27に同時に表示すれば、表示部27を見る視点位置によって、異なる視差のパノラマ画像が表示されるようにすることができる。この場合であっても、撮像装置11は、パノラマ画像の対ごとに視差調整を行うことができる。
【0136】
さらに、パノラマ画像PRとパノラマ画像PLの両方をシフトさせることにより、それらのパノラマ画像の視差調整を行なうと説明したが、パノラマ画像PRまたはパノラマ画像PLの少なくとも一方がシフトされ、視差調整がされればよい。すなわち、例えばパノラマ画像PRのみが、シフト量Sだけシフトされて視差調整されてもよい。
【0137】
さらに、以上においては、立体パノラマ画像が表示される例について説明したが、表示される立体画像は、撮像画像よりも広い画角である必要はなく、例えば、撮像画像と同じ広さの画角の立体画像が表示されるようにしてもよい。そのような場合、生成されるパノラマ画像の画角は、撮像画像の画角と同じとされる。
【0138】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0139】
図12は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0140】
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
【0141】
バス204には、さらに、入出力インターフェース205が接続されている。入出力インターフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207、ハードディスクや不揮発性のメモリなどよりなる記録部208、ネットワークインターフェースなどよりなる通信部209、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211を駆動するドライブ210が接続されている。
【0142】
以上のように構成されるコンピュータでは、CPU201が、例えば、記録部208に記録されているプログラムを、入出力インターフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
【0143】
コンピュータ(CPU201)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0144】
そして、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インターフェース205を介して、記録部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記録部208にインストールすることができる。その他、プログラムは、ROM202や記録部208に、あらかじめインストールしておくことができる。
【0145】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0146】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0147】
11 撮像装置, 21 撮像部, 22 動き算出部, 23 短冊領域決定部, 24 合成領域決定部, 25−1,25−2,25 パノラマ画像生成部, 26 視差制御部, 27 表示部
【技術分野】
【0001】
本発明は画像処理装置および方法、並びにプログラムに関し、特に、より自然な奥行き感を有する立体画像を表示させることができるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
従来、撮像装置を所定方向にパンさせながら撮像して得られた複数の静止画像を重ね合わせて合成することで、パノラマ画像を生成する技術が知られている(例えば、特許文献1参照)。パノラマ画像は、複数の静止画像を並べて合成することで得られる画像であるので、パノラマ画像によれば、1つの静止画像の撮像時に撮像対象となる空間上の領域よりも、より広い領域を被写体として表示することができる。
【0003】
また、パノラマ画像を得るために、撮像装置をパンさせながら複数の静止画像を撮像した場合には、いくつかの静止画像に、同じ被写体が含まれていることがある。そのような場合において、異なる静止画像上の同じ被写体は、互いに異なる位置から撮像されたものであるから、視差が生じていることになる。
【0004】
これを利用して、複数の静止画像から、互いに視差を有する2つのパノラマ画像を生成すれば、これらのパノラマ画像をレンチキュラ方式で同時に表示することで、撮像対象となった被写体を立体的に表示することができる。なお、以下、2つのパノラマ画像に基づいて表示される立体的な画像を、立体パノラマ画像とも称することとする。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3168443号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、立体パノラマ画像を表示部に表示させる場合、同時に表示させる2つのパノラマ画像間の視差がほとんどなければ、立体パノラマ画像上の主な被写体は、表示部の表示面に定位することになる。
【0007】
このとき、2つのパノラマ画像間において、被写体全体で全く視差がなければ、立体パノラマ画像の被写体は立体的には見えないが、被写体の一部に視差があれば、その被写体の部位は表示面とは異なる位置に定位し、全体として立体感のある被写体が表示される。つまり、2つのパノラマ画像上の被写体の各部が相対的に適切な視差を有していれば、被写体が立体的に表示されることになる。
【0008】
これに対して、2つのパノラマ画像間に視差があれば、その視差に応じて、立体パノラマ画像の主な被写体は、観察者から見て表示面の手前側または奥行き側に定位するが、このような場合、自然な立体感が得られなくなることがある。さらに、この場合、観察者は表示部の表示面に目の焦点を合わせているのに、立体パノラマ画像の主な被写体は表示面とは異なる位置に定位しているので、観察者の目と脳が疲れてしまう。
【0009】
通常、2つのパノラマ画像間において、パノラマ画像上の被写体の各部位は、互いに異なる視差を有するから、パノラマ画像上の主な被写体がどの位置に定位しても、立体パノラマ画像上の被写体は、立体的に見えるはずである。したがって、立体パノラマ画像上の主な被写体が、表示面に定位するような視差を有する2つのパノラマ画像が、最も適切な視差を有するパノラマ画像対であるということができる。
【0010】
しかしながら、上述した技術では、撮像された複数の静止画像から、適切な視差を有する2つのパノラマ画像を得ることは困難であった。そのため、自然な奥行き感(立体感)のある立体画像を表示させることができなかった。
【0011】
本発明は、このような状況に鑑みてなされたものであり、より自然な奥行き感を有する立体画像を表示させることができるようにするものである。
【課題を解決するための手段】
【0012】
本発明の一側面の画像処理装置は、撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理装置であって、複数の前記撮像画像の第1の短冊領域の画像のそれぞれを合成して、前記第1の合成画像を生成する第1の合成画像生成手段と、複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれを合成して、前記第2の合成画像を生成する第2の合成画像生成手段と、所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差を調整する視差制御手段とを備える。
【0013】
前記視差制御手段には、前記第1の合成画像の領域と前記第2の合成画像の領域との相関の度合いを示す相関値を算出させ、前記相関値を用いて前記第1の合成画像と前記第2の合成画像の支配的な視差を検出させて、前記支配的な視差が打ち消される前記シフト量を算出させることができる。
【0014】
前記視差制御手段には、前記第1の合成画像に対する前記第2の合成画像の位置をずらしながら、前記第1の合成画像と前記第2の合成画像との差分を前記相関値として算出させることができる。
【0015】
前記視差制御手段には、前記撮像画像上における前記第1の短冊領域と前記第2の短冊領域との距離に基づいて、前記シフト量を算出させることができる。
【0016】
本発明の一側面の画像処理方法またはプログラムは、撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理方法またはプログラムであって、複数の前記撮像画像の第1の短冊領域の画像のそれぞれを合成して、前記第1の合成画像を生成し、複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれを合成して、前記第2の合成画像を生成し、所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差を調整するステップを含む。
【0017】
本発明の一側面においては、撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理において、複数の前記撮像画像の第1の短冊領域の画像のそれぞれが合成されて、前記第1の合成画像が生成され、複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれが合成されて、前記第2の合成画像が生成され、所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差が調整される。
【発明の効果】
【0018】
本発明の一側面によれば、より自然な奥行き感を有する立体画像を表示させることができる。
【図面の簡単な説明】
【0019】
【図1】立体パノラマ画像について説明する図である。
【図2】本発明を適用した撮像装置の一実施の形態の構成例を示す図である。
【図3】立体パノラマ画像表示処理を説明するフローチャートである。
【図4】短冊領域について説明する図である。
【図5】支配的な視差の検出について説明する図である。
【図6】支配的な視差の検出について説明する図である。
【図7】支配的な視差の検出について説明する図である。
【図8】支配的な視差の検出について説明する図である。
【図9】視差調整について説明する図である。
【図10】オフセット量と視差の関係について説明する図である。
【図11】立体パノラマ画像表示処理を説明するフローチャートである。
【図12】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して、本発明を適用した実施の形態について説明する。
【0021】
〈第1の実施の形態〉
[立体パノラマ画像の説明]
本発明を適用した撮像装置は、例えばカメラなどからなり、撮像装置が移動している状態で、撮像装置が連続的に撮像した複数の撮像画像から、立体パノラマ画像を生成する。立体パノラマ画像は、視差を有する2つのパノラマ画像から構成される。
【0022】
ユーザが撮像装置に立体パノラマ画像を生成させようとする場合、ユーザは撮像装置を操作して、立体パノラマ画像の生成に用いられる撮像画像を撮像させる。
【0023】
例えば、図1の左側に示すように、撮像装置のレンズ主点が位置fp1にある状態で、仮想撮像面VSを撮像すると、撮像画像IMが得られる。例えば、撮像画像IM上の領域TRRおよび領域TRLには、それぞれ実空間上の領域SERおよび領域SELにある被写体が表示されることになる。
【0024】
そして、ユーザが図1中、横方向に撮像装置を移動させながら複数の撮像画像を撮像させると、各撮像画像は視差を有することになる。具体的には、図1中央に示すように、時刻T=tにおいて、レンズ主点が位置fp1にある状態で撮像画像を撮像し、時刻T=t+Δtにおいて、レンズ主点が位置fp2にある状態で撮像画像を撮像すると、それらの撮像画像には、同じ被写体OB1が表示される。このとき、被写体OB1の撮像位置は互いに異なるので視差が生じることになる。これを利用すれば、同じ被写体が表示される、互いに視差を有するパノラマ画像が得られる。
【0025】
すなわち、撮像装置を移動させながら撮像して得られた各撮像画像から、それぞれ撮像画像IMの領域TRRおよび領域TRLに対応する領域を切り出して合成すれば、図1中、右側に示すように、パノラマ画像PRとパノラマ画像PLが得られる。
【0026】
ここで、パノラマ画像PRは、各撮像画像の領域TRRに対応する領域を並べて合成することで得られる画像であり、このパノラマ画像PRは、位置fp3を仮想的なレンズ主点位置として被写体を撮像して得られる画像である。一方、パノラマ画像PLは、各撮像画像の領域TRLに対応する領域を並べて合成することで得られる画像であり、このパノラマ画像PLは、位置fp4を仮想的なレンズ主点位置として被写体を撮像して得られる画像である。そしてパノラマ画像PRとパノラマ画像PLは、互いに視差を有し、同じ被写体が表示されている画像である。
【0027】
そこで、パノラマ画像PRを右眼用の画像とし、パノラマ画像PLを左眼用の画像として、これらのパノラマ画像をレンチキュラ方式等により同時に表示すれば、ユーザの目には、立体的なパノラマ画像(以下、立体パノラマ画像とも称する)が見えることになる。
【0028】
このように、複数の撮像画像の所定の領域(以下、短冊領域と称する)を切り出して、それらの部分的な画像を並べて合成し、1つの画像とすれば1つのパノラマ画像が得られる。また、短冊領域をずらして異なるパノラマ画像を生成すれば、互いに視差を有するパノラマ画像の対を得ることができ、それらのパノラマ画像を用いれば、立体パノラマ画像を表示させることができる。
【0029】
[撮像装置の構成]
図2は、本発明を適用した撮像装置の一実施の形態の構成例を示す図である。
【0030】
撮像装置11は、撮像部21、動き算出部22、短冊領域決定部23、合成領域決定部24、パノラマ画像生成部25−1、パノラマ画像生成部25−2、視差制御部26、および表示部27から構成される。
【0031】
撮像部21は、光学レンズ等の光学系や撮像素子などから構成され、被写体からの光を電気信号に変換することで、被写体の像を撮像し、その結果得られた撮像画像を動き算出部22に供給する。
【0032】
例えば、ユーザが撮像装置11を所定方向に移動させながら連続して撮像画像の撮像を指示した場合、時間的に連続して撮像された撮像画像が、順次、動き算出部22に供給されることになる。なお、以下、連続して撮像された撮像画像のうち、m番目に撮像された撮像画像をフレームmの撮像画像とも称することとする。
【0033】
動き算出部22は、撮像部21から供給された撮像画像に基づいて、撮像画像のフレーム間における、撮像装置11の動き(移動)を補償する動き補償パラメータを算出し、撮像画像および動き補償パラメータを短冊領域決定部23に供給する。
【0034】
この動き補償パラメータは、複数の撮像画像のそれぞれを、実空間上において動きのない同じ被写体がほぼ重なるように並べた場合における、撮像画像同士の相対的な位置関係を示す情報である。
【0035】
例えば、互いに垂直なx方向およびy方向からなる2次元平面(以下、投影面と称する)を考え、撮像画像の撮像時にユーザが撮像装置11を移動させる方向に対応する方向がx方向であったとする。また、各撮像画像の端は、x方向およびy方向にほぼ平行であるとする。この場合、動き算出部22は、各撮像画像を投影面上に並べたときに、隣接する2つの撮像画像、つまり連続するフレームの撮像画像同士の相対的な位置関係を示す情報を動き補償パラメータとして算出する。
【0036】
なお、以下、x方向に平行な方向のうち、撮像装置11の移動方向と同じ方向を、特に+x方向とも称し、+x方向と反対の方向を−x方向とも称することとする。したがって、投影面上に各フレームの撮像画像を並べた場合、フレームmの撮像画像は、フレーム(m−1)の撮像画像に対して、+x方向側に位置することになる。
【0037】
短冊領域決定部23は、動き算出部22から供給された撮像画像および動き補償パラメータと、入力されたオフセット量に基づいて、撮像画像上において、パノラマ画像の生成に用いるために切り出される領域である短冊領域を決定する。
【0038】
ここで、短冊領域は、図1に示した領域TRRおよび領域TRLであり、撮像画像上の異なる2つの領域が短冊領域とされる。例えば、撮像画像上において、−x方向側に位置する短冊領域をTRRとし、+x方向側に位置する短冊領域をTRLとして、1つの撮像画像上に2つの短冊領域が定められる。
【0039】
このような場合に、撮像画像上の短冊領域TRRから短冊領域TRLまでの距離が、オフセット量として短冊領域決定部23に入力される。このオフセット量は、予め定められていてもよいし、ユーザにより変更可能なようにしてもよい。
【0040】
短冊領域決定部23は、各撮像画像の短冊領域を決定すると、撮像画像、動き補償パラメータ、および短冊領域の位置を示す短冊領域位置情報を、合成領域決定部24に供給する。
【0041】
合成領域決定部24は、短冊領域決定部23から供給された撮像画像、動き補償パラメータ、および短冊領域位置情報に基づいて、合成領域を決定する。
【0042】
撮像装置11では、各撮像画像上の短冊領域が切り出されて合成され、1つのパノラマ画像が生成されるが、ユーザがx方向に撮像装置11を移動させながら撮像画像を撮像した場合でも、撮像装置11がy方向にもわずかに動いてしまう。そのため、各撮像画像を投影面に並べた場合、各撮像画像の位置はy方向にばらつきが生じる。
【0043】
そこで、合成領域決定部24は、撮像画像を投影面に並べた場合に、各撮像画像の短冊領域からなる領域に内接する最も大きい矩形領域を、パノラマ画像の生成に用いられる画像が切り出される合成領域とする。したがって、各撮像画像の短冊領域のうちの合成領域に含まれる領域を切り出して合成すれば、矩形状のパノラマ画像が得られる。
【0044】
合成領域決定部24は、決定された合成領域、つまり修正された最終的な各短冊領域の位置を示す合成領域情報と、撮像画像および動き補償パラメータとを、パノラマ画像生成部25−1およびパノラマ画像生成部25−2に供給する。
【0045】
パノラマ画像生成部25−1およびパノラマ画像生成部25−2は、合成領域決定部24から供給された合成領域情報、撮像画像、および動き補償パラメータを用いてパノラマ画像PRおよびパノラマ画像PLを生成し、視差制御部26に供給する。なお、以下、パノラマ画像生成部25−1およびパノラマ画像生成部25−2を特に区別する必要のない場合、単にパノラマ画像生成部25とも称する。
【0046】
視差制御部26は、パノラマ画像生成部25から供給されたパノラマ画像を加工して、パノラマ画像の視差調整を行い、その結果得られたパノラマ画像の対を表示部27に供給し、立体パノラマ画像を表示させる。
【0047】
表示部27は、例えばLCD(Liquid Crystal Display)やレンチキュラレンズからなり、視差制御部26から供給されたパノラマ画像の対を、レンチキュラ方式で同時に表示することで、パノラマ画像を立体表示する。
【0048】
[立体パノラマ画像表示処理の説明]
ところで、ユーザが撮像装置11を操作して、立体パノラマ画像の生成を指示すると、撮像装置11は、立体パノラマ画像を生成して表示する処理である立体パノラマ画像表示処理を開始する。以下、図3のフローチャートを参照して、撮像装置11による立体パノラマ画像表示処理について説明する。
【0049】
ステップS11において、撮像部21は、撮像装置11が移動している状態で被写体を撮像する。例えば、ユーザは撮像装置11を所定方向に回動させながら、複数枚の撮像画像を連続して撮像装置11に撮像させる。
【0050】
被写体からの光は撮像部21に入射するので、撮像部21は入射した光を光電変換することにより、撮像画像を撮像する。得られた撮像画像は、順次、撮像部21から動き算出部22に供給される。なお、撮像画像は、撮像された1つの静止画像であってもよいし、撮影された動画像を構成する1フレーム分の画像であってもよい。
【0051】
ステップS12において、動き算出部22は、撮像部21から供給された各撮像画像について、撮像画像の動き補償パラメータを算出し、撮像画像および動き補償パラメータを短冊領域決定部23に供給する。
【0052】
例えば、動き算出部22は、連続する2つのフレームの撮像画像を用いて、ブロックマッチングにより、撮像画像のグローバルモーションベクトルを動き補償パラメータとして算出する。
【0053】
すなわち、動き算出部22は、処理対象のフレームの撮像画像を複数ブロックに分割し、各ブロックについて、処理対象の1つ前のフレームの撮像画像とのブロックマッチングを行なうことにより、そのブロックの動きベクトルを検出する。そして、動き算出部22は、ブロックごとに求めた動きベクトルのうち、最も多い大きさかつ方向の動きベクトルを、撮像画像のグローバルモーションベクトルとする。
【0054】
グローバルモーションベクトルは、撮像画像上の被写体全体のフレーム間の動きを示すグローバルな動きベクトルである。撮像画像上の被写体の多くは、実空間上において動きのない静止物体であるので、グローバルモーションベクトルは、撮像画像上の静止物体のフレーム間の動き、つまり撮像画像の撮像時における撮像装置11の動きを示すベクトルであるということができる。
【0055】
なお、動き補償パラメータは、その他、拡張アフィン変換などを利用して求めてもよい。例えば、拡張アフィン変換を利用して動き補償パラメータを算出する場合、動き算出部22は、次式(1)を計算することで、撮像画像のフレーム間の動きを示すベクトル(V,W)を求め、得られたベクトル(V,W)を動き補償パラメータとする。
【0056】
【数1】
【0057】
なお、式(1)において、a乃至lは、アフィンパラメータを示しており、x,yは、それぞれxy座標系における撮像画像上の特徴的なブロックの中心位置のx成分およびy成分を示している。
【0058】
すなわち、動き算出部22は、処理対象のフレームの撮像画像を複数ブロックに分割し、各ブロックについて、処理対象の1つ前のフレームの撮像画像とのブロックマッチングを行なうことにより、そのブロックの動きベクトルを検出する。そして、動き算出部22は、コーナーディテクタ等を利用して、各ブロックの動きベクトルの信頼性を求め、最も信頼性の高い動きベクトルのブロックを特徴的なブロックとし、上述した式(1)を計算する。
【0059】
なお、アフィンパラメータは、各ブロックの中心座標と、各ブロックの動きベクトルとが用いられて、最小自乗法により算出される。
【0060】
ステップS13において、短冊領域決定部23は、動き算出部22から供給された撮像画像および動き補償パラメータと、オフセット量とに基づいて、各撮像画像の短冊領域を決定する。
【0061】
例えば、図4の左側に示すように、短冊領域決定部23は、フレーム1の撮像画像IM(1)とフレーム2の撮像画像IM(2)とを動き補償パラメータに基づいて投影面上に並べる。なお、図4において、図中、横方向はx方向を示しており、特に右方向は+x方向を示している。また、図4では、説明を分かり易くするため、撮像画像のx方向の位置関係のみを示しており、実際には撮像画像を投影面上に並べると、それらの撮像画像は互いに重なることになる。
【0062】
短冊領域決定部23は、投影面上に並べられた撮像画像IM(1)と撮像画像IM(2)が重なる領域のx方向の中心の位置(以下、基準位置と称する)を求め、さらにその基準位置から−x方向に特定の距離だけ離れた位置をR基準位置とする。この特定の距離は、例えば、オフセット量の半分の距離とされる。
【0063】
短冊領域決定部23は、撮像画像IM(1)上において、R基準位置を中心とし、x方向に予め定められた所定幅を有する領域を重複領域CR(1)とする。また、短冊領域決定部23は、撮像画像IM(2)上において、R基準位置を中心とし、x方向に予め定められた所定幅を有する領域を重複領域CR(2)とする。ここで、重複領域CR(1)と重複領域CR(2)は、投影面上において互いに重なる領域(同じ領域)とされる。
【0064】
そして、短冊領域決定部23は、図中、右側に示すように、撮像画像IM(1)上における、撮像画像IM(1)の左端から重複領域CR(1)の右端までの領域を、フレーム1の撮像画像の短冊領域TRR(1)とする。同様に、短冊領域決定部23は、撮像画像IM(2)上における、重複領域CR(2)の左端から撮像画像IM(2)の右端までの領域を、フレーム2の短冊領域TRR(2)とする。
【0065】
なお、より詳細には、フレーム2以降では、処理対象のフレームの短冊領域TRRを定めるにあたり、その前後のフレームについて考慮する必要がある。したがって、例えばフレームm(但し、m≧2)の短冊領域TRR(m)は、撮像画像上における、フレーム(m−1)との重複領域の左端から、フレーム(m+1)との重複領域の右端までの領域とされる。
【0066】
短冊領域決定部23は、このようにして各フレームの短冊領域TRRを定めると、同様の処理を行って、各フレームの短冊領域TRLを定める。このとき、撮像画像上の基準位置から、+x方向に特定の距離、例えばオフセット量の半分の距離だけ離れた位置が、R基準位置に対応するL基準位置とされる。そして、例えば短冊領域決定部23は、撮像画像IM(1)上における、撮像画像IM(1)の左端から、L基準位置に対して定められた重複領域の右端までの領域を、フレーム1の撮像画像の短冊領域TRLとする。
【0067】
このように、R基準位置とL基準位置を基準位置からx方向にずらした位置に定めることで、短冊領域TRRと短冊領域TRLとの間隔がオフセット量と等しくなり、互いに視差を有するパノラマ画像が得られる。
【0068】
図3のフローチャートの説明に戻り、短冊領域決定部23は、短冊領域を決定すると、撮像画像、動き補償パラメータ、および短冊領域の位置を示す短冊領域位置情報を、合成領域決定部24に供給する。
【0069】
ステップS14において、合成領域決定部24は、短冊領域決定部23からの撮像画像、動き補償パラメータ、および短冊領域位置情報に基づいて合成領域を決定し、決定された合成領域の位置を示す合成領域情報、撮像画像、および動き補償パラメータをパノラマ画像生成部25に供給する。このとき、パノラマ画像生成部25−1には、パノラマ画像PRを生成するための合成領域情報が供給され、パノラマ画像生成部25−2には、パノラマ画像PLを生成するための合成領域情報が供給される。
【0070】
ステップS15において、パノラマ画像生成部25は、合成領域決定部24からの合成領域情報、撮像画像、および動き補償パラメータを用いてパノラマ画像を生成し、視差制御部26に供給する。
【0071】
例えば、パノラマ画像生成部25−1は、動き補償パラメータを用いて、動きのない同じ被写体がほぼ重なるように各撮像画像を投影面上に並べる。そして、パノラマ画像生成部25−1は、合成領域情報により示される最終的な各撮像画像の短冊領域TRR内の画像を切り出して、切り出された画像を合成することで、パノラマ画像PRを生成する。
【0072】
このように、パノラマ画像生成部25−1およびパノラマ画像生成部25−2によりステップS15の処理が行われると、互いに異なる視点から見た被写体が表示される、2つのパノラマ画像が得られる。これらのパノラマ画像には、同じ被写体が表示されているが、この被写体は視差を有することになる。そのため、2つのパノラマ画像を同時に表示させれば、これらのパノラマ画像を観察するユーザには、パノラマ画像上の被写体が立体的に見えることになる。
【0073】
ステップS16において、視差制御部26は、パノラマ画像生成部25から供給されたパノラマ画像対の支配的な視差を検出する。
【0074】
ここで、支配的な視差とは、パノラマ画像上の主要な被写体、つまり最も大きい(面積の広い)被写体が有する視差をいう。視差制御部26は、パノラマ画像の画素ごとに視差を求め、各視差の大きさと、その大きさの視差を有するパノラマ画像の画素の数を示す評価値とからなる評価値テーブルを生成することにより、支配的な視差を求める。
【0075】
具体的には、図5に示すように、視差制御部26は、2つのパノラマ画像のうち、より−x方向側に位置する短冊領域から切り出された画像により生成されたパノラマ画像PRを、右眼用のパノラマ画像とし、他方のパノラマ画像PLを左眼用のパノラマ画像とする。なお、図5において、横方向および縦方向は、それぞれx方向およびy方向を示している。特に、図中、右方向は+x方向を示している。
【0076】
ここで、右眼用のパノラマ画像PRとは、パノラマ画像対を立体表示するときに、ユーザの右眼により観察されるように表示されるパノラマ画像をいい、左眼用のパノラマ画像PLとは、ユーザの左眼により観察されるように表示されるパノラマ画像をいう。
【0077】
また、視差制御部26は、パノラマ画像PRおよびパノラマ画像PL上に、評価対象領域ERおよび評価対象領域ELを設定する。
【0078】
評価対象領域ERは、その中心がパノラマ画像PRの中心と同じ位置にあり、パノラマ画像PRよりも所定の長さだけx方向に短い矩形領域である。同様に、評価対象領域ELは、その中心がパノラマ画像PLの中心と同じ位置にあり、パノラマ画像PLよりも所定の長さだけx方向に短い矩形領域である。また、評価対象領域ERと評価対象領域ELは同じ大きさの領域とされる。視差制御部26は、パノラマ画像の画素のうち、これらの評価対象領域内にある画素を処理対象として、各視差の評価値を求める。
【0079】
まず、視差制御部26は、評価値テーブルの各視差に対する評価値を「0」に初期化し、視差「0」に対する評価値を求める。すなわち、図6に示すように、視差制御部26は、パノラマ画像PRにおける評価対象領域ER内の所定の画素GR(i)と、パノラマ画像PLにおける評価対象領域EL内の所定の画素GL(i)とを処理対象の画素とする。なお、画素GR(i)と画素GL(i)は、パノラマ画像PRとパノラマ画像PLとを重ねた場合に、同じ位置にある画素とされる。
【0080】
次に、視差制御部26は、パノラマ画像PL上において画素GL(i)にx方向に隣接する画素GL(i+1)および画素GL(i−1)と、画素GL(i)とを用いて閾値thを定める。すなわち、視差制御部26は、画素GL(i−1)、画素GL(i)、および画素GL(i+1)の画素値のうちの最大値と最小値との差の絶対値を求めることにより、画素GL(i)のx方向のダイナミックレンジDLを求める。
【0081】
視差制御部26は、求めたダイナミックレンジDLが、予め定められた所定の値以上である場合、閾値thを予め定められた規定値とし、ダイナミックレンジDLが、予め定められた所定の値未満である場合、閾値thを規定値よりも小さい値とする。
【0082】
そして、視差制御部26は、画素GR(i)と画素GL(i)の画素値の差分の絶対値を求め、求められた絶対値が閾値th未満である場合、評価値テーブルの視差「0」に対する評価値に「1」を加算する。これに対して、視差制御部26は、求めた絶対値が閾値th以上である場合、視差「0」に対する評価値をそのままとする。
【0083】
処理対象の画素GR(i)と画素GL(i)の差分の絶対値がある程度小さい場合、それらの画素には同じ被写体が表示されているはずである。また、画素GR(i)と画素GL(i)は、パノラマ画像PRおよびパノラマ画像PL上の同じ位置にある画素であるから、それらの画素に同じ被写体が表示されていれば、その被写体は視差を有さないことになる。つまり、画素GR(i)と画素GL(i)に表示されている被写体は、立体パノラマ画像の表示時においては、表示部27の表示画面上に定位することになる。
【0084】
なお、ダイナミックレンジDLに応じて閾値thを変化させるのは、処理対象の画素同士の相関の有無の誤判定を抑制するためである。例えば、画素GL(i)の部分に、被写体として空間方向への画素値の変化が少ない平坦な被写体(例えば、空など)が表示されていたとする。
【0085】
この場合、画素GL(i)近傍の画素の画素値は、画素GL(i)の画素値に近い値となり、画素GR(i)と画素GL(i)に異なる被写体の部分が表示されていたとしても、それらの画素の差分の絶対値は、閾値th未満となってしまうことがある。つまり、誤判定が生じることがある。そこで、ダイナミックレンジDLが小さい場合には、このような誤判定が生じにくくなるように、閾値thが通常の規定値よりも小さい値とされる。
【0086】
なお、誤判定の抑制のため、ダイナミックレンジDLが予め定められた所定の値未満である場合には、画素GR(i)と画素GL(i)を処理対象とせず、差分の計算を行わないようにしてもよい。
【0087】
このようにして、処理対象とされた画素の差分が求められ、閾値thとの閾値処理の結果に応じて評価値テーブルの評価値に「1」が加算されると、視差制御部26は、評価対象領域ERと評価対象領域EL内のまだ処理対象としてない画素を選択し、処理対象とする。つまり、新たに処理対象とされた画素同士の差分の絶対値と、閾値thとが比較され、その比較結果に応じて、評価値テーブルが更新される。
【0088】
そして、評価対象領域ERと評価対象領域EL内の全ての画素が処理対象とされると、そのときの評価値テーブルの視差「0」の評価値が、最終的な評価値とされる。この評価値は、パノラマ画像の評価対象領域内において、視差が「0」である被写体が表示されている画素の数を示している。換言すれば、パノラマ画像上の評価対象領域内には、視差が「0」である被写体が表示される画素が、評価値に示される数だけ存在する。
【0089】
さらに、視差制御部26は、評価対象領域ERに対してパノラマ画像PRの位置をずらしながら、評価対象領域ERと評価対象領域EL内の同じ位置にある画素を処理対象として、各視差の大きさについて評価値を求めていく。すなわち、視差制御部26は、パノラマ画像PLに対してパノラマ画像PRの位置をずらしながら、パノラマ画像の差分を求め、各視差の評価値を求めていく。
【0090】
例えば、視差制御部26は、図7に示すように、評価対象領域ERに対してパノラマ画像PRの位置を、図中、左方向にずらし、評価対象領域内の画素の差分を求める。なお、図中、横方向および縦方向はx方向およびy方向を示しており、特に右方向は+x方向を示している。
【0091】
図7の例では、評価対象領域ERに対してパノラマ画像PRが−x方向に128画素分だけずらされており、評価対象領域ERとパノラマ画像PRの右側の端が一致している。この状態で、視差制御部26は、図5および図6を参照して説明した処理を行う。つまり、視差制御部26は、評価対象領域内の同じ位置にあるパノラマ画像PRおよびパノラマ画像PLの画素の差分の絶対値を求め、その絶対値と閾値thを比較する。視差制御部26は、比較の結果、絶対値が閾値未満であれば、評価値テーブルの視差「−128」の評価値に「1」を加算し、絶対値が閾値以上であれば、評価値の更新を行わない。
【0092】
このようにして、評価対象領域内の全ての画素を処理対象として評価値テーブルの更新を行うと、視差「−128」の最終的な評価値が得られる。視差「−128」の評価値の更新時においては、パノラマ画像PRを128画素分だけずらして処理が行われるため、差分の絶対値が閾値未満である画素に表示される被写体は、パノラマ画像PRとパノラマ画像PLとで、128画素分だけ離れた位置に表示されることになる。つまり、その被写体は128画素分だけの視差を有することになる。そして、視差が「−128」である画素に表示されている被写体は、立体パノラマ画像の表示時においては、表示部27の表示画面よりもユーザから見て奥行き側に定位することになる。
【0093】
同様に、視差制御部26は、図7の例と反対の方向にも評価対象領域ERに対してパノラマ画像PRの位置をずらしながら、評価対象領域ERと評価対象領域EL内の同じ位置にある画素を処理対象として、各視差の大きさについて評価値を求めていく。
【0094】
例えば、視差制御部26は、図8に示すように、評価対象領域ERに対してパノラマ画像PRの位置を、図中、右方向にずらし、評価対象領域内の画素の差分を求める。なお、図中、横方向および縦方向はx方向およびy方向を示しており、特に右方向は+x方向を示している。
【0095】
図8の例では、評価対象領域ERに対してパノラマ画像PRが+x方向に128画素分だけずらされており、評価対象領域ERとパノラマ画像PRの左側の端が一致している。この状態で、視差制御部26は、評価対象領域内の同じ位置にあるパノラマ画像PRおよびパノラマ画像PLの画素の差分の絶対値を求め、その絶対値と閾値thを比較する。視差制御部26は、比較の結果、絶対値が閾値未満であれば、評価値テーブルの視差「128」の評価値に「1」を加算し、絶対値が閾値以上であれば、評価値の更新を行わない。
【0096】
このようにして、評価対象領域内の全ての画素を処理対象として評価値テーブルの更新を行うと、視差「128」の最終的な評価値が得られる。視差が「128」である画素に表示されている被写体は、立体パノラマ画像の表示時においては、表示部27の表示画面よりもユーザから見て手前側に定位することになる。
【0097】
視差制御部26は、以上のようにして、各視差の大きさについて評価値を求めると、評価値テーブルの評価値のうち、最も値が大きい評価値の視差を、パノラマ画像の支配的な視差とする。評価値テーブルにおいて、視差ごとの評価値は、その大きさの視差を有する画素の数、つまりパノラマ画像上の被写体の領域の大きさ(面積)を表している。したがって、パノラマ画像では、最も大きい評価値の視差を有する領域(画素)が、最も面積が広く、評価値が最大である視差が、パノラマ画像の被写体の支配的な視差であるということができる。
【0098】
なお、パノラマ画像の支配的な視差を求める方法として、パノラマ画像の画素ごとの差分を求める例について説明したが、パノラマ画像PRの領域とパノラマ画像PLの領域との相関の度合いを示す相関値を求め、その相関値に基づいて各視差の評価値が求められればよい。例えば、パノラマ画像の画素ごとの差分ではなく、ブロックごとの差分に基づく値(例えばブロック内の画素の差分絶対値和)が相関値とされてもよい。
【0099】
また、パノラマ画像の差分を利用して支配的な視差を求める場合に、パノラマ画像PRとパノラマ画像PLとに対して間引きを行い、間引きされて縮小されたパノラマ画像の差分が求められて支配的な視差が求められるようにしてもよい。
【0100】
図3のフローチャートの説明に戻り、視差制御部26が、パノラマ画像の支配的な視差を検出すると、処理はステップS16からステップS17へと進む。
【0101】
ステップS17において、視差制御部26は、求めたパノラマ画像PRとパノラマ画像PLの間の支配的な視差に基づいて、パノラマ画像PRおよびパノラマ画像PLの視差調整を行う。
【0102】
すなわち、視差制御部26は、求めた支配的な視差が打ち消されるように、パノラマ画像PRとパノラマ画像PL全体を視差の分だけシフト(移動)させる。このように、支配的な視差が打ち消されるようにパノラマ画像全体の位置をずらして視差調整を行うと、視差調整後のパノラマ画像の支配的な視差は「0」となる。これにより、パノラマ画像PRとパノラマ画像PLを同時に立体表示させると、立体パノラマ画像の主要な被写体は、表示部27の表示画面の位置に定位することとなる。
【0103】
立体パノラマ画像の主要な被写体、つまり大きい被写体が表示部27の表示画面の位置に定位すると、その定位の位置とユーザの目の焦点位置とが一致して、ユーザの目や脳が疲れてしまうことがなくなる。しかも、立体パノラマ画像の主要な被写体は表示画面の位置に定位するが、他の被写体の部分は、表示画面の手前側や奥行き側に定位するため、立体パノラマ画像が充分立体的に表示され、立体パノラマ画像は、より自然な奥行き感(立体感)を有するものとなる。
【0104】
このように、パノラマ画像の支配的な視差を求め、その支配的な視差が打ち消されるように、パノラマ画像の視差調整を行うことで、より適切な視差を有するパノラマ画像対を得ることができ、その結果、より自然な立体感を再現することができる。
【0105】
パノラマ画像の視差調整は、例えば図9に示すように、パノラマ画像PRとパノラマ画像PLとが支配的な視差に対して定まるシフト量だけシフトされることにより行われる。なお、図中、横方向および縦方向はx方向およびy方向を示しており、特に右方向および下方向は、+x方向および+y方向を示している。また、図9において図8における場合と対応する部分には、同一の符号を付してあり、その説明は適宜省略する。
【0106】
いま、パノラマ画像PRとパノラマ画像PLの支配的な視差としてPaが得られたとすると、視差制御部26は、パノラマ画像のシフト量S=Paとして、パノラマ画像PRを+x方向にS/2だけシフトさせ、パノラマ画像PLを−x方向にS/2だけシフトさせる。
【0107】
例えばシフト量Sが正の値(S>0)であれば、図9に示すように、パノラマ画像PR全体が評価対象領域ERに対して右方向(+x方向)にS/2だけシフトされ、パノラマ画像PL全体が評価対象領域ELに対して左方向(−x方向)にS/2だけシフトされる。そして、シフト後において評価対象領域ERおよび評価対象領域EL内にあるパノラマ画像PRとパノラマ画像PLの領域が、最終的なパノラマ画像の対とされて、立体パノラマ画像の表示に用いられる。
【0108】
支配的な視差Paが正の値である場合、立体パノラマ画像の主な被写体は、表示部27の表示画面の手前側に定位する。そこで、視差が小さくなるように、つまり支配的な視差が「0」となるように、図9中、パノラマ画像PRとパノラマ画像PLを遠ざける方向にシフトすれば、シフト後のパノラマ画像の主な被写体は表示部27の表示画面の位置に定位する。
【0109】
逆に、シフト量Sが負の値(S<0)であれば、パノラマ画像PR全体が評価対象領域ERに対して図中、左方向(−x方向)にシフトされ、パノラマ画像PL全体が評価対象領域ELに対して右方向(+x方向)にシフトされる。すなわち、支配的な視差Paが負の値である場合、立体パノラマ画像の主な被写体は、表示画面の奥行き側に定位するので、視差が大きくなるように、図9中、パノラマ画像同士を、互いに近づく方向にシフトすれば、主な被写体を表示画面に定位させることができる。
【0110】
以上において説明したパノラマ画像をシフトさせる処理を、式を用いて説明すると次のようになる。xy座標系において、パノラマ画像PR上の注目する画素をprとし、パノラマ画像PL上の注目する画素をplとして、それらの画素prと画素plの座標を(xr,yr)および(xl,yl)とする。
【0111】
また、シフト量をSとすると、視差制御部26は、次式(2)および式(3)を計算して、画素prおよび画素plを、それぞれ座標(xr’,yr’)および(xl’,yl’)に移動させることで、視差調整を行う。
【0112】
(xr’,yr’)=(xr+(S/2),yr) ・・・(2)
【0113】
(xl’,yl’)=(xl−(S/2),yl) ・・・(3)
【0114】
このように、パノラマ画像上の各画素の表示位置をずらせば、より適切な視差を有するパノラマ画像対を得ることができる。
【0115】
図3のフローチャートの説明に戻り、視差制御部26は、パノラマ画像対の視差調整を行うと、その結果得られたパノラマ画像対を表示部27に供給し、処理はステップS18に進む。
【0116】
ステップS18において、表示部27は、視差制御部26から供給されたパノラマ画像対を、右眼用および左眼用のパノラマ画像として、これらのパノラマ画像をレンチキュラ方式で同時に立体表示する。これにより、表示部27の表示画面には、立体パノラマ画像が表示される。立体パノラマ画像が表示されると、立体パノラマ画像表示処理は終了する。
【0117】
このようにして撮像装置11は、オフセット量に基づいて各撮像画像上の短冊領域を決定し、その短冊領域から画像を切り出してパノラマ画像を生成する。そして、撮像装置11は、得られたパノラマ画像の視差調整を行い、パノラマ画像対を立体パノラマ画像として表示する。
【0118】
このように、生成されたパノラマ画像に対して、パノラマ画像の画素同士の差分を求めることで、より簡単かつ迅速にパノラマ画像の支配的な視差を求めることができ、これにより得られた視差を打ち消すようにパノラマ画像に対するシフト処理を行えば、より適切な視差を有するパノラマ画像対を得ることができる。したがって、得られたパノラマ画像対を立体表示すれば、より自然な立体感を再現することができる。
【0119】
なお、以上においては、パノラマ画像の支配的な視差に基づいて、パノラマ画像の視差調整を行なうと説明したが、求められた支配的な視差を用いてオフセット量を設定し直して、撮像画像から最終的なパノラマ画像対を生成し直すようにしてもよい。この場合、設定し直されたオフセット量に基づいて短冊領域が定められ、その短冊領域の画像が合成されて、最終的なパノラマ画像が生成される。
【0120】
〈第2の実施の形態〉
[支配的な視差についての説明]
ところで、以上においては、パノラマ画像から支配的な視差を求め、その視差に応じてパノラマ画像の視差調整を行なうと説明したが、本出願人により、パノラマ画像の支配的な視差の絶対値は、短冊領域のオフセット量とほぼ等しいことが確認されている。
【0121】
例えば、図10に示すように、撮像部21を構成するレンズの主点L0が、回転中心OCを中心として図中、時計回りの方向に回動するように、ユーザが撮像装置11を移動させながら撮像画像を撮像させたとする。ここで、レンズの主点L0から回転中心OCまでの距離、つまり回転半径はrとされ、撮像部21の焦点距離はfであるとする。
【0122】
また、撮像面VS(t)と撮像面VS(t+1)が時間的に連続して撮像され、撮像面VS(t)上の領域TRR−1と領域TRL−1が短冊領域TRRと短冊領域TRLに相当し、撮像面VS(t+1)上の領域TRR−2と領域TRL−2が短冊領域TRRと短冊領域TRLに相当するとする。このとき、オフセット量が2Hであるとすると、領域TRR−1と領域TRL−1の間の距離、および領域TRR−2と領域TRL−2の間の距離は、ともにオフセット量2Hとなる。
【0123】
図10の例では、撮像面VS(t)と撮像面VS(t+1)のそれぞれに対応する撮像画像上には、同じ被写体OB21が表示され、被写体OB21は、それぞれ領域TRL−1と領域TRR−2に対応する領域に表示される。この場合における実際の被写体OB21の視差は、領域TRL−1と領域TRR−2の距離2dである。
【0124】
また、図10の例で撮像された撮像画像から2つのパノラマ画像PRおよびパノラマ画像PLを生成すると、それらのパノラマ画像の視差は、領域TRR−1から領域TRR−2までの距離Dとなる。そして、この視差Dは、領域TRR−1から領域TRL−1までの距離、つまりオフセット量2Hと、被写体OB21の視差2dの和により表すことができるが、連続して撮像画像が撮像される場合には、視差2dは微小な値となるため、無視することができる。したがって、パノラマ画像の視差Dは、オフセット量2Hと近似することができる。
【0125】
このように、パノラマ画像PRとパノラマ画像PLとの視差Dは、オフセット量2Hとほぼ同じであるので、オフセット量に基づいてパノラマ画像の視差調整をすれば、パノラマ画像の支配的な視差を求めなくても、適切な視差制御を行なうことができる。
【0126】
[立体パノラマ画像表示処理の説明]
撮像装置11が、オフセット量に基づいてパノラマ画像の視差調整を行なう場合、短冊領域決定部23だけでなく、視差制御部26にもオフセット量が供給される。
【0127】
以下、図11のフローチャートを参照して、このような場合に撮像装置11が行なう立体パノラマ画像表示処理について説明する。
【0128】
なお、ステップS51乃至ステップS55の処理は、図3のステップS11乃至ステップS15の処理と同様であるので、その説明は省略する。すなわち、撮像画像が撮像されて、それらの撮像画像からパノラマ画像PRおよびパノラマ画像PLが生成される。
【0129】
ステップS56において、視差制御部26は、入力されたオフセット量2Hを用いて、パノラマ画像生成部25から供給されたパノラマ画像PRおよびパノラマ画像PLの視差調整を行う。
【0130】
すなわち、視差制御部26は、パノラマ画像のシフト量S=−2Hとして、図9を参照して説明した処理と同様の処理を行い、パノラマ画像PRおよびパノラマ画像PLの視差を調整する。つまりパノラマ画像PRおよびパノラマ画像PLが、それぞれS/2だけx方向にシフトされる。
【0131】
そしてステップS57において、表示部27は、視差制御部26から供給されたパノラマ画像対を、右眼用および左眼用のパノラマ画像として、これらのパノラマ画像をレンチキュラ方式で同時に立体表示し、立体パノラマ画像表示処理は終了する。
【0132】
このようにして撮像装置11は、オフセット量に基づいてパノラマ画像の視差調整を行い、パノラマ画像対を立体パノラマ画像として表示する。
【0133】
このように、オフセット量を用いてパノラマ画像の視差調整を行なうことでも、より適切な視差を有するパノラマ画像対を得ることができ、より自然な立体感を有する立体パノラマ画像を表示することができる。この場合、支配的な視差を求める場合よりも、より簡単な処理で、迅速に視差調整を行なうことができる。
【0134】
なお、以上においては、シフト量をオフセット量と同じ大きさにすると説明したが、オフセット量を多少増減させた値をシフト量として用いるようにしてもよい。
【0135】
また、撮像画像上の異なる2つの領域が短冊領域とされると説明したが、1つの撮像画像上の互いに異なる3以上の領域が、それぞれ短冊領域とされるようにしてもよい。そのような場合、それらの短冊領域ごとにパノラマ画像が生成される。これらの複数のパノラマ画像は、例えば多視点の立体パノラマ画像を表示するのに用いられる。例えば、複数のパノラマ画像のうちのいくつかをレンチキュラ方式で表示部27に同時に表示すれば、表示部27を見る視点位置によって、異なる視差のパノラマ画像が表示されるようにすることができる。この場合であっても、撮像装置11は、パノラマ画像の対ごとに視差調整を行うことができる。
【0136】
さらに、パノラマ画像PRとパノラマ画像PLの両方をシフトさせることにより、それらのパノラマ画像の視差調整を行なうと説明したが、パノラマ画像PRまたはパノラマ画像PLの少なくとも一方がシフトされ、視差調整がされればよい。すなわち、例えばパノラマ画像PRのみが、シフト量Sだけシフトされて視差調整されてもよい。
【0137】
さらに、以上においては、立体パノラマ画像が表示される例について説明したが、表示される立体画像は、撮像画像よりも広い画角である必要はなく、例えば、撮像画像と同じ広さの画角の立体画像が表示されるようにしてもよい。そのような場合、生成されるパノラマ画像の画角は、撮像画像の画角と同じとされる。
【0138】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0139】
図12は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0140】
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
【0141】
バス204には、さらに、入出力インターフェース205が接続されている。入出力インターフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207、ハードディスクや不揮発性のメモリなどよりなる記録部208、ネットワークインターフェースなどよりなる通信部209、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211を駆動するドライブ210が接続されている。
【0142】
以上のように構成されるコンピュータでは、CPU201が、例えば、記録部208に記録されているプログラムを、入出力インターフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
【0143】
コンピュータ(CPU201)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0144】
そして、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インターフェース205を介して、記録部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記録部208にインストールすることができる。その他、プログラムは、ROM202や記録部208に、あらかじめインストールしておくことができる。
【0145】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0146】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0147】
11 撮像装置, 21 撮像部, 22 動き算出部, 23 短冊領域決定部, 24 合成領域決定部, 25−1,25−2,25 パノラマ画像生成部, 26 視差制御部, 27 表示部
【特許請求の範囲】
【請求項1】
撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理装置であって、
複数の前記撮像画像の第1の短冊領域の画像のそれぞれを合成して、前記第1の合成画像を生成する第1の合成画像生成手段と、
複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれを合成して、前記第2の合成画像を生成する第2の合成画像生成手段と、
所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差を調整する視差制御手段と
を備える画像処理装置。
【請求項2】
前記視差制御手段は、前記第1の合成画像の領域と前記第2の合成画像の領域との相関の度合いを示す相関値を算出し、前記相関値を用いて前記第1の合成画像と前記第2の合成画像の支配的な視差を検出して、前記支配的な視差が打ち消される前記シフト量を算出する
請求項1に記載の画像処理装置。
【請求項3】
前記視差制御手段は、前記第1の合成画像に対する前記第2の合成画像の位置をずらしながら、前記第1の合成画像と前記第2の合成画像との差分を前記相関値として算出する
請求項2に記載の画像処理装置。
【請求項4】
前記視差制御手段は、前記撮像画像上における前記第1の短冊領域と前記第2の短冊領域との距離に基づいて、前記シフト量を算出する
請求項1に記載の画像処理装置。
【請求項5】
撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理装置であり、
複数の前記撮像画像の第1の短冊領域の画像のそれぞれを合成して、前記第1の合成画像を生成する第1の合成画像生成手段と、
複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれを合成して、前記第2の合成画像を生成する第2の合成画像生成手段と、
所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差を調整する視差制御手段と
を備える画像処理装置の画像処理方法であって、
前記第1の合成画像生成手段が、前記撮像画像の前記第1の短冊領域の画像を合成して、前記第1の合成画像を生成し、
前記第2の合成画像生成手段が、前記撮像画像の前記第2の短冊領域の画像を合成して、前記第2の合成画像を生成し、
前記視差制御手段が、前記シフト量に基づいて、前記第1の合成画像と前記第2の合成画像の視差を調整する
ステップを含む画像処理方法。
【請求項6】
撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理装置を制御するコンピュータに、
複数の前記撮像画像の第1の短冊領域の画像のそれぞれを合成して、前記第1の合成画像を生成し、
複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれを合成して、前記第2の合成画像を生成し、
所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差を調整する
ステップを含む処理を実行させるプログラム。
【請求項1】
撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理装置であって、
複数の前記撮像画像の第1の短冊領域の画像のそれぞれを合成して、前記第1の合成画像を生成する第1の合成画像生成手段と、
複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれを合成して、前記第2の合成画像を生成する第2の合成画像生成手段と、
所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差を調整する視差制御手段と
を備える画像処理装置。
【請求項2】
前記視差制御手段は、前記第1の合成画像の領域と前記第2の合成画像の領域との相関の度合いを示す相関値を算出し、前記相関値を用いて前記第1の合成画像と前記第2の合成画像の支配的な視差を検出して、前記支配的な視差が打ち消される前記シフト量を算出する
請求項1に記載の画像処理装置。
【請求項3】
前記視差制御手段は、前記第1の合成画像に対する前記第2の合成画像の位置をずらしながら、前記第1の合成画像と前記第2の合成画像との差分を前記相関値として算出する
請求項2に記載の画像処理装置。
【請求項4】
前記視差制御手段は、前記撮像画像上における前記第1の短冊領域と前記第2の短冊領域との距離に基づいて、前記シフト量を算出する
請求項1に記載の画像処理装置。
【請求項5】
撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理装置であり、
複数の前記撮像画像の第1の短冊領域の画像のそれぞれを合成して、前記第1の合成画像を生成する第1の合成画像生成手段と、
複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれを合成して、前記第2の合成画像を生成する第2の合成画像生成手段と、
所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差を調整する視差制御手段と
を備える画像処理装置の画像処理方法であって、
前記第1の合成画像生成手段が、前記撮像画像の前記第1の短冊領域の画像を合成して、前記第1の合成画像を生成し、
前記第2の合成画像生成手段が、前記撮像画像の前記第2の短冊領域の画像を合成して、前記第2の合成画像を生成し、
前記視差制御手段が、前記シフト量に基づいて、前記第1の合成画像と前記第2の合成画像の視差を調整する
ステップを含む画像処理方法。
【請求項6】
撮像手段を移動させながら前記撮像手段により撮像して得られた複数の撮像画像に基づいて、立体合成画像表示用の互いに視差を有する第1の合成画像および第2の合成画像を生成する画像処理装置を制御するコンピュータに、
複数の前記撮像画像の第1の短冊領域の画像のそれぞれを合成して、前記第1の合成画像を生成し、
複数の前記撮像画像の前記第1の短冊領域とは異なる第2の短冊領域の画像のそれぞれを合成して、前記第2の合成画像を生成し、
所定のシフト量に基づいて、前記第1の合成画像または前記第2の合成画像のうちの少なくとも一方をシフトさせることで、前記第1の合成画像と前記第2の合成画像の視差を調整する
ステップを含む処理を実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−135459(P2011−135459A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−294548(P2009−294548)
【出願日】平成21年12月25日(2009.12.25)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願日】平成21年12月25日(2009.12.25)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]