JP2013021589A - 画像処理装置および方法、並びにプログラム - Google Patents
画像処理装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP2013021589A JP2013021589A JP2011154629A JP2011154629A JP2013021589A JP 2013021589 A JP2013021589 A JP 2013021589A JP 2011154629 A JP2011154629 A JP 2011154629A JP 2011154629 A JP2011154629 A JP 2011154629A JP 2013021589 A JP2013021589 A JP 2013021589A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- captured image
- global motion
- image
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Studio Circuits (AREA)
Abstract
【課題】より簡単に高品質なパノラマ画像を得ることができるようにする。
【解決手段】グローバル動きベクトル算出部は、処理対象のフレームの撮像画像と、いくつかの他のフレームの撮像画像のそれぞれとの間のグローバル動きベクトルを算出する。グローバル動きベクトル評価部は、算出された複数のグローバル動きベクトルのうち、参照ベクトルとの差分が最小となるものを、処理対象のフレームの最終的なグローバル動きベクトルとする。得られたグローバル動きベクトルを用いて撮像画像を接続し、パノラマ画像を生成すれば、撮像画像の端近傍がパノラマ画像の生成に用いられなくなるので被写体の接続ずれが軽減され、高品質なパノラマ画像が得られる。本発明は、撮像装置に適用することができる。
【選択図】図3
【解決手段】グローバル動きベクトル算出部は、処理対象のフレームの撮像画像と、いくつかの他のフレームの撮像画像のそれぞれとの間のグローバル動きベクトルを算出する。グローバル動きベクトル評価部は、算出された複数のグローバル動きベクトルのうち、参照ベクトルとの差分が最小となるものを、処理対象のフレームの最終的なグローバル動きベクトルとする。得られたグローバル動きベクトルを用いて撮像画像を接続し、パノラマ画像を生成すれば、撮像画像の端近傍がパノラマ画像の生成に用いられなくなるので被写体の接続ずれが軽減され、高品質なパノラマ画像が得られる。本発明は、撮像装置に適用することができる。
【選択図】図3
Description
本技術は画像処理装置および方法、並びにプログラムに関し、特に、より簡単に高品質なパノラマ画像を得ることができるようにした画像処理装置および方法、並びにプログラムに関する。
従来、撮像装置で撮像して得られた複数枚の画像を合成することで、撮像装置の画角よりも広い画角のパノラマ画像を生成する技術が知られている。
例えば、ビデオカメラを三脚に載せて回転させながら被写体を撮像し、その回転角に応じて画像をずらして重ね合わせ、合成することでパノラマ画像を生成するパノラマ画像生成用のビデオカメラが提案されている(例えば、特許文献1参照)。
また、撮像された画像間の動きベクトルを算出するとともに、得られた動きベクトルを利用して各画像の合成領域を算出し、それらの合成領域を逐次合成することで、パノラマ画像を生成する技術も提案されている(例えば、特許文献2参照)。
しかしながら、上述した技術では、簡単に高品質なパノラマ画像を得ることができなかった。例えば、パノラマ画像生成用のビデオカメラでは、三脚や回転角度の検出回路が必要であり、三脚を用いて画像を撮像すると、手持ちでの撮像と比べて利便性や操作性も低下してしまう。
また、画像上の合成領域を算出して合成する方法では、手持ちで画像を撮像する場合など、カメラの動きの変動が大きい場合には、カメラの光学中心の移動により生じる画像の視差によって合成領域の接続部分のずれ量の変動が大きくなってしまう。そうすると、得られたパノラマ画像では、接続部分における被写体のずれが目立ってしまい、パノラマ画像の品質が劣化してしまう。
本技術は、このような状況に鑑みてなされたものであり、より簡単に高品質なパノラマ画像を得ることができるようにするものである。
本技術の一側面の画像処理装置は、複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択する選択部と、前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出する算出部と、前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択する評価部と、前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成する合成部とを備える。
前記選択部には、最終的な前記グローバル動きベクトルとして選択された前記候補ベクトルの前記他のフレームを新たな処理対象フレームとして、前記撮像画像を選択させることができる。
前記評価部には、前記参照ベクトルとの差分が最小となる前記候補ベクトルを最終的な前記グローバル動きベクトルとして選択させることができる。
前記評価部には、過去に処理対象フレームとされたフレームのうち、2番目に前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとさせることができる。
前記評価部には、過去に処理対象フレームとされたフレームのうち、最も前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとさせることができる。
前記評価部には、過去に処理対象フレームとされた所定フレームの前記撮像画像の前記グローバル動きベクトルと、その前記グローバル動きベクトルの選択に用いられた参照ベクトルとを所定の比率で合成することにより、前記処理対象フレームにおける前記参照ベクトルを算出させることができる。
本技術の一側面の画像処理方法またはプログラムは、複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択し、前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出し、前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択し、前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成するステップを含む。
本技術の一側面においては、複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とが選択され、前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルが候補ベクトルとして算出され、前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルが用いられて前記候補ベクトルが評価され、複数の前記候補ベクトルのうちの何れかが前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択され、前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像が合成され、パノラマ画像が生成される。
本技術の一側面によれば、より簡単に高品質なパノラマ画像を得ることができる。
以下、図面を参照して、本技術を適用した実施の形態について説明する。
〈第1の実施の形態〉
[撮像装置の構成例]
図1は、本技術を適用した撮像装置の一実施の形態の構成例を示す図である。
[撮像装置の構成例]
図1は、本技術を適用した撮像装置の一実施の形態の構成例を示す図である。
この撮像装置11は、大別して光学系、信号処理系、記録系、表示系、および制御系から構成される。
すなわち、光学系は、被写体の光画像を集光するレンズ21、レンズ21からの光画像の光量を調整する絞り22、および集光された光画像を光電変換して電気信号に変換する撮像素子23から構成される。撮像素子23は、例えばCCD(Charge Coupled Devices)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどからなる。
信号処理系は、サンプリング回路24、A/D(Analog/Digital)変換回路25、および画像処理回路26から構成される。サンプリング回路24は、例えば、相関2重サンプリング回路(CDS:Correlated Double Sampling)によって実現され、撮像素子23からの電気信号をサンプリングしてアナログ信号を生成する。これにより、撮像素子23において発生するノイズが軽減される。サンプリング回路24において得られるアナログ信号は、撮像された被写体の画像を表示させる画像信号である。
A/D変換回路25は、サンプリング回路24から供給されるアナログ信号をデジタル信号に変換して、画像処理回路26に供給し、画像処理回路26は、A/D変換回路25から入力されるデジタル信号に所定の画像処理を施す。
また、記録系は、画像信号を符号化または復号する符号化/復号器27と、画像信号を記録するメモリ28とから構成される。符号化/復号器27は、画像処理回路26によって処理されたデジタル信号である画像信号を符号化してメモリ28に記録させたり、メモリ28から画像信号を読み出して復号し、画像処理回路26に供給したりする。
表示系は、D/A(Digital/Analog)変換回路29、ビデオエンコーダ30、および表示部31から構成される。
D/A変換回路29は、画像処理回路26によって処理された画像信号をアナログ化してビデオエンコーダ30に供給し、ビデオエンコーダ30は、D/A変換回路29からの画像信号を表示部31に適合する形式のビデオ信号にエンコードする。表示部31は、例えば、LCD(Liquid Crystal Display)等により実現され、ビデオエンコーダ30におけるエンコードで得られたビデオ信号に基づいて、ビデオ信号に対応する画像を表示する。また、表示部31は、被写体の撮像時にはファインダとしても機能する。
制御系は、タイミング生成部32、操作入力部33、ドライバ34、および制御部35から構成される。また、画像処理回路26、符号化/復号器27、メモリ28、タイミング生成部32、操作入力部33、および制御部35は、バス36を介して相互に接続されている。
タイミング生成部32は、撮像素子23、サンプリング回路24、A/D変換回路25、および画像処理回路26の動作のタイミングを制御する。操作入力部33は、ボタンやスイッチなどからなり、ユーザによるシャッタ操作やその他のコマンド入力を受け付けて、ユーザの操作に応じた信号を制御部35に供給する。
ドライバ34には所定の周辺機器が接続され、ドライバ34は接続された周辺機器を駆動する。例えばドライバ34は、周辺機器として接続された磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等の記録媒体からデータを読み出して制御部35に供給する。
制御部35は、撮像装置11の全体を制御する。例えば、制御部35は、ドライバ34を介して、ドライバ34に接続されている記録媒体から制御用プログラムを読み出して、制御用プログラムや操作入力部33からのコマンド等に基づいて、撮像装置11全体の動作を制御する。
次に、撮像装置11の動作について説明する。
撮像装置11では、被写体からの入射光、すなわち被写体の光画像は、レンズ21および絞り22を介して撮像素子23に入射し、撮像素子23によって光電変換されて電気信号とされる。撮像素子23で得られた電気信号は、サンプリング回路24によってノイズ成分が除去され、A/D変換回路25によってデジタル化された後、画像処理回路26が内蔵する図示せぬ画像メモリに一時的に格納される。
なお、通常の状態、つまりシャッタ操作がされる前の状態では、タイミング生成部32による信号処理系に対するタイミングの制御により、画像処理回路26の画像メモリには、一定のフレームレートで、絶えずA/D変換回路25からの画像信号が上書きされるようになされている。画像処理回路26の画像メモリ内の画像信号は、D/A変換回路29によってデジタル信号からアナログ信号に変換され、ビデオエンコーダ30によってビデオ信号に変換されて、ビデオ信号に対応する画像が表示部31に表示される。
この場合において、表示部31は、撮像装置11のファインダとしての機能も担っており、ユーザは、表示部31に表示される画像を見ながら構図を定め、操作入力部33としてのシャッタボタンを押下して、画像の撮像を指示する。シャッタボタンが押下されると、制御部35は、操作入力部33からの信号に基づいて、タイミング生成部32に対し、シャッタボタンが押下された直後の画像信号が保持されるように指示する。これにより、画像処理回路26の画像メモリに画像信号が上書きされないように、信号処理系が制御される。
そして、その後、画像処理回路26の画像メモリに保持されている画像信号が、符号化/復号器27によって符号化されてメモリ28に記録される。以上のような撮像装置11の動作によって、1枚の画像信号の取込みが完了する。
[パノラマ画像について]
また、ユーザが撮像装置11を所定方向(以下、スイープ軸方向と称する)に回動させながら、撮像装置11に複数枚の画像(以下、撮像画像と称する)を撮像させ、それらの撮像画像を合成させることで、パノラマ画像を生成させることができる。
また、ユーザが撮像装置11を所定方向(以下、スイープ軸方向と称する)に回動させながら、撮像装置11に複数枚の画像(以下、撮像画像と称する)を撮像させ、それらの撮像画像を合成させることで、パノラマ画像を生成させることができる。
例えば図2に示すように、n枚の撮像画像FP(1)乃至撮像画像FP(n)が撮像されると、それらの撮像画像間のグローバル動きベクトルが算出される。
そして、グローバル動きベクトルに基づいて、パノラマ画像の生成に用いられる撮像画像上の短冊領域RE(1)乃至短冊領域RE(n)が定められ、これらの短冊領域RE(1)乃至短冊領域RE(n)を並べて合成することで、1つのパノラマ画像PL11が生成される。
[画像処理回路の構成]
このように、撮像画像に基づいてパノラマ画像が生成される場合、図1の画像処理回路26は、より詳細には図3に示すように構成される。
このように、撮像画像に基づいてパノラマ画像が生成される場合、図1の画像処理回路26は、より詳細には図3に示すように構成される。
すなわち、画像処理回路26は、撮像画像保持部61、画像選択部62、グローバル動きベクトル算出部63、グローバル動きベクトル評価部64、グローバル動きベクトル保持部65、短冊領域決定部66、および短冊領域合成部67から構成される。
撮像画像保持部61には、撮像装置11により撮像された撮像画像が供給され、撮像画像保持部61は、供給された複数の撮像画像を保持する。撮像画像保持部61に供給される撮像画像は、撮像装置11がスイープ軸方向に移動(スイープ)している状態で連続して撮像された画像であり、撮像画像の撮像時には、連続して撮像される2つの撮像画像上に同じ被写体が含まれるように、撮像装置11が移動される。
なお、以下、連続して撮像された撮像画像のうち、t番目に撮像された撮像画像をフレームtの撮像画像とも称することとする。
画像選択部62は、グローバル動きベクトル評価部64からの指示に応じて、撮像画像保持部61に保持されている撮像画像を取得し、グローバル動きベクトル算出部63に供給する。グローバル動きベクトル算出部63は、画像選択部62から供給された撮像画像に基づいて、撮像画像のグローバル動きベクトルを算出し、グローバル動きベクトル評価部64に供給する。
ここで、撮像画像のグローバル動きベクトルは、撮像画像全体の動きベクトルであり、同じ被写体が重なるように2つの撮像画像を重ね合わせたときの撮像画像の位置関係を示している。換言すれば、グローバル動きベクトルは、撮像画像の撮像時における背景などの動きのない被写体に対する撮像装置11の動きを示しているということができる。
グローバル動きベクトル評価部64は、グローバル動きベクトル保持部65に保持されている過去のフレームの撮像画像のグローバル動きベクトルに基づいて、グローバル動きベクトル算出部63から供給されたグローバル動きベクトルを評価する。また、グローバル動きベクトル評価部64は、グローバル動きベクトルの評価の結果に応じて、画像選択部62に撮像画像の取得を指示したり、算出されたグローバル動きベクトルをグローバル動きベクトル保持部65に供給したりする。
グローバル動きベクトル保持部65は、グローバル動きベクトル評価部64から供給されたグローバル動きベクトルを保持するとともに、グローバル動きベクトルを短冊領域決定部66に供給する。短冊領域決定部66は、グローバル動きベクトル保持部65から供給されたグローバル動きベクトルに基づいて、撮像画像上の短冊領域を決定し、短冊領域の端の位置(以下、接続位置とも称する)を示す情報を短冊領域合成部67に供給する。
短冊領域合成部67は、短冊領域決定部66から供給された短冊領域の接続位置を示す情報に基づいて、撮像画像保持部61から供給された撮像画像を接続してパノラマ画像を生成し、出力する。
[パノラマ画像生成処理の説明]
ところで、ユーザが操作入力部33を操作して、パノラマ画像の生成を指示すると、撮像装置11は、撮像画像を撮像してパノラマ画像を生成するパノラマ画像生成処理を開始する。以下、図4のフローチャートを参照して、撮像装置11によるパノラマ画像生成処理について説明する。
ところで、ユーザが操作入力部33を操作して、パノラマ画像の生成を指示すると、撮像装置11は、撮像画像を撮像してパノラマ画像を生成するパノラマ画像生成処理を開始する。以下、図4のフローチャートを参照して、撮像装置11によるパノラマ画像生成処理について説明する。
ステップS11において、撮像装置11は、撮像画像の撮像を開始する。すなわち、処理が開始されると、例えば、ユーザは撮像装置11を所定方向に回動させながら、複数枚の撮像画像を連続して撮像装置11に撮像させる。
被写体からの光はレンズ21および絞り22を介して撮像素子23に入射するので、撮像素子23は入射した光を光電変換することにより、撮像画像を撮像する。得られた撮像画像(画像信号)は、撮像素子23から、サンプリング回路24乃至符号化/復号器27を介してメモリ28に供給され、記録される。このとき、撮像画像は符号化/復号器27により符号化される。また、メモリ28への記録時において、各撮像画像には撮像順にフレーム番号が付される。
複数の撮像画像がメモリ28に順次記録されると、それらの撮像画像は、符号化/復号器27によりメモリ28から読み出されて復号され、画像処理回路26の撮像画像保持部61に供給されて保持される。
なお、撮像により得られた撮像画像が、メモリ28に記録されずに、直接、撮像画像保持部61に供給されるようにしてもよい。また、撮像画像は、撮像された1つの静止画像であってもよいし、撮影された動画像を構成する1フレーム分の画像であってもよい。
ステップS12において、画像選択部62は、グローバル動きベクトル評価部64からの指示に応じて、処理対象となる撮像画像のフレームを決定するとともに、処理対象のフレームのグローバル動きベクトルの算出に用いる撮像画像を選択する。
例えば、図5に示すように、フレーム(t−1)の撮像画像FP(t−1)と、フレームtの撮像画像FP(t)との間のグローバル動きベクトルMV(t-1,t)が、撮像画像FP(t−1)のグローバル動きベクトルGMV(t-1)として算出されたとする。
そのような場合、グローバル動きベクトルGMV(t-1)の算出に用いられた撮像画像FP(t)のフレームtが次の処理対象のフレームとして選択され、処理対象のフレームtのグローバル動きベクトルGMV(t)を算出する処理が行われる。
具体的には、まず処理対象のフレームtの撮像画像FP(t)と、フレームtの次のフレーム(t+1)の撮像画像FP(t+1)とが画像選択部62により選択され、それらの撮像画像間のグローバル動きベクトルMV(t,t+1)が算出される。
その後、グローバル動きベクトルMV(t,t+1)が所定の条件を満たすか否かが評価され、条件が満たされなかった場合、処理対象のフレームtの撮像画像FP(t)と、フレーム(t+1)の次のフレーム(t+2)の撮像画像FP(t+2)とが選択される。
そして、選択された撮像画像FP(t)と撮像画像FP(t+2)の間のグローバル動きベクトルMV(t,t+2)が算出されて、その評価が行なわれる。図5の例では、グローバル動きベクトルMV(t,t+2)も条件が満たされていないので、処理対象のフレームtの撮像画像FP(t)と、フレーム(t+2)の次のフレーム(t+3)の撮像画像FP(t+3)との間のグローバル動きベクトルMV(t,t+3)が算出されている。
このようにして、画像処理回路26では、予め定められた条件を満たすグローバル動きベクトルが得られるまで、処理対象のフレームと、そのフレームよりも後のフレームとの撮像画像間のグローバル動きベクトルが順番に算出されていく。
したがって例えば、画像選択部62は、グローバル動きベクトル評価部64から、グローバル動きベクトルMV(t,t+1)が条件を満たさなかった旨の情報が供給されると、ステップS12において撮像画像FP(t)と撮像画像FP(t+2)を選択する。そして、画像選択部62は、選択した撮像画像を撮像画像保持部61から取得して、グローバル動きベクトル算出部63に供給する。
図4のフローチャートの説明に戻り、撮像画像が選択されると、処理はステップS12からステップS13へと進む。
ステップS13において、グローバル動きベクトル算出部63は、画像選択部62から供給された2つの撮像画像に基づいて、それらの撮像画像間のグローバル動きベクトルを算出し、グローバル動きベクトル評価部64に供給する。
例えば、グローバル動きベクトルの算出方法としては、主に次の3つの手法が知られている。
すなわち、第1の手法として、特徴点ベースでのグローバル動きベクトル推定手法が知られている。この手法では、2つ撮像画像のそれぞれについて、特徴点が算出される。
例えば、代表的な特徴点としてはSIFT(Scale Invariant Feature Transform)やSURF(Speeded Up Robust Features)などが知られており、これらは被写体の拡大縮小、回転等に頑強な特徴を持つ。
次に撮像画像上の特徴点の対応付けが行なわれる。例えば、特徴点の対応付けを行なう場合に、RANSAC(Random Sample Consensus)などのロバスト推定を行えば、動被写体などのアウトライヤの除去が、ある程度可能となる。そして、撮像画像間の特徴点の対応付けが確定すると、それらの対応付け結果が利用されて、撮像画像間のグローバル動きベクトルが算出される。
また、第2の手法として、ブロックマッチングベースでのグローバル動きベクトル推定手法がある。この手法では、一方の撮像画像が複数のブロックに分割され、各ブロックについて、他方の撮像画像から、それらのブロックと一致する領域が探索される。
すなわち、一方の撮像画像のブロックに対して、他方の撮像画像上のそのブロックと同じ位置を中心とする探索領域が定められる。そして、探索領域内の各領域のうち、ブロック内の画素の画素値との差分絶対値の総和など、ブロック同士の差分が最小となる領域を探索することで、ブロックの動きベクトルが求められる。さらに、そのようにして求められた各ブロックの動きベクトルから、撮像画像間のグローバル動きベクトルが求められる。
また、第3の手法として、積分射影法によるグローバル動きベクトル推定手法がある。この手法では、撮像画像の局所特徴量が所定の軸に射影され、撮像画像ごとに射影された一次元情報(局所特徴量)が利用されて、撮像画像間のグローバル動きベクトルが算出される。
具体的には、軸上の同じ位置に射影された局所特徴量の和が射影積分値として求められ、軸上の各位置の射影積分値を要素とする射影特徴ベクトルが算出される。そして、2つの撮像画像のそれぞれについて求められた射影特徴ベクトルのマッチングが行なわれて、撮像画像のグローバル動きベクトルが算出される。
上述した各手法等による演算が行なわれると、例えば図6に示すグローバル動きベクトルが得られる。なお、図6において、横方向および縦方向は、撮像画像の水平方向(以下、x方向とも称する)および垂直方向(以下、y方向とも称する)を示している。ここで、x方向は、撮像画像の撮像時におけるスイープ軸方向と平行な方向である。
図6の例では、フレームtの撮像画像FP(t)とフレーム(t+1)の撮像画像FP(t+1)の同じ被写体が重なるように、それらの画像が並べられている。また、撮像画像FP(t+1)の左上の頂点を始点とし、撮像画像FP(t)の左上の頂点を終点とするベクトルMV(t,t+1)がグローバル動きベクトルとされている。
このグローバル動きベクトルMV(t,t+1)は、撮像画像FP(t)の最終的なグローバル動きベクトルGMV(t)の候補となるベクトルであり、撮像画像FP(t)と撮像画像FP(t+1)の相対的な位置関係を示している。
図4のフローチャートの説明に戻り、ステップS14において、グローバル動きベクトル評価部64は、グローバル動きベクトル保持部65に保持されている過去のフレームの撮像画像のグローバル動きベクトルに基づいて、グローバル動きベクトル算出部63から供給されたグローバル動きベクトルの評価を行なう。
例えば、処理対象のフレームtのグローバル動きベクトルGMV(t)を求めるために、フレームtの撮像画像FP(t)と、フレーム(t+j)の撮像画像FP(t+j)の間のグローバル動きベクトルMV(t,t+j)の評価が行なわれるとする。
この場合、グローバル動きベクトル評価部64は、現在処理対象となっているフレームtよりも2つ前の処理対象のフレームの撮像画像のグローバル動きベクトルをグローバル動きベクトル保持部65から取得する。ここで、2つ前の処理対象のフレームとは、過去に処理対象とされたフレームのうち、現在処理対象となっているフレームtに2番目に近い時刻のフレームである。例えば、過去のフレーム(t−2)の撮像画像FP(t−2)のグローバル動きベクトルGMV(t-2)が取得される。
なお、以下、グローバル動きベクトルの評価に用いられる過去のフレームのグローバル動きベクトルを参照ベクトルとも称することとする。
次に、グローバル動きベクトル評価部64は、取得した参照ベクトルとグローバル動きベクトルMV(t,t+j)との差分d(t+j)を、グローバル動きベクトルの評価値として算出する。そして、グローバル動きベクトル評価部64は、得られた評価値、つまり差分d(t+j)が予め定められた条件|d(t+1)|<|d(t+j)|を満足するか否かを判定することで、グローバル動きベクトルを評価する。
なお、d(t+1)は、参照ベクトルであるグローバル動きベクトルGMV(t-2)と、グローバル動きベクトルMV(t,t+1)との差分である。
ステップS15において、グローバル動きベクトル評価部64は、ステップS13の処理で算出されたグローバル動きベクトルについて求められた評価値が、所定の条件|d(t+1)|<|d(t+j)|を満足するか否かを判定する。
ステップS15において、グローバル動きベクトルの評価値が所定の条件を満足しないと判定された場合、グローバル動きベクトル評価部64は、評価値が条件を満足しない旨の情報を画像選択部62に供給する。そして、その後、処理はステップS12に戻り、上述した処理が繰り返される。すなわち、次のフレームの撮像画像が選択されて、選択されたフレームの撮像画像と、処理対象のフレームの撮像画像とのグローバル動きベクトルが算出され、その評価が行なわれる。
これに対して、ステップS15において、グローバル動きベクトルの評価値が所定の条件を満足すると判定された場合、処理はステップS16へと進む。
ステップS16において、グローバル動きベクトル評価部64は、各グローバル動きベクトルの評価値に基づいて、処理対象のフレームの最終的なグローバル動きベクトルを選択し、選択したグローバル動きベクトルをグローバル動きベクトル保持部65に供給する。
例えば図7に示すように、処理対象のフレームがフレームtであり、参照ベクトルがフレーム(t−2)の撮像画像FP(t−2)のグローバル動きベクトルGMV(t-2)であったとする。そのような場合、フレームtと各フレーム(t+j)(但し、1≦j)の撮像画像間のグローバル動きベクトルMV(t,t+j)のうちの何れかが、フレームtの撮像画像FP(t)の最終的なグローバル動きベクトルGMV(t)として選択される。
なお、図7において、横軸は撮像画像のフレーム番号を示しており、縦軸は撮像画像間のグローバル動きベクトルの大きさを示している。また、図中、各円は、1つのグローバル動きベクトルMV(t,t+j)(但し、j=1,2,3)を表しており、図中、横方向の点線は、グローバル動きベクトルGMV(t-2)の大きさを示している。
例えば、図7の左側の例では、まずフレームtとフレーム(t+1)の撮像画像間のグローバル動きベクトルMV(t,t+1)と、参照ベクトルとの差分d(t+1)が算出される。ここで、グローバル動きベクトルMV(t,t+1)を表す円から点線までの図中、縦方向の長さが差分d(t+1)の大きさとなる。
次に、フレームtとフレーム(t+2)の撮像画像間のグローバル動きベクトルMV(t,t+2)と、参照ベクトルとの差分d(t+2)が算出される。この例では、差分d(t+2)の絶対値は、差分d(t+1)の絶対値よりも小さいので、条件|d(t+1)|<|d(t+2)|は満たされない。
そこで、さらにフレームtとフレーム(t+3)の撮像画像間のグローバル動きベクトルMV(t,t+3)が算出され、グローバル動きベクトルMV(t,t+3)と参照ベクトルの差分d(t+3)が算出される。すると、差分d(t+3)の絶対値は、差分d(t+1)の絶対値よりも大きいので、条件|d(t+1)|<|d(t+3)|が満たされることになる。
すると、グローバル動きベクトル評価部64は、これまでに算出されたフレームtについてのグローバル動きベクトルMV(t,t+1)乃至グローバル動きベクトルMV(t,t+3)のうち、最も差分d(t+j)の絶対値が小さいものを、グローバル動きベクトルGMV(t)として選択する。
図7の左側の例では、差分が最小であるグローバル動きベクトルMV(t,t+2)がグローバル動きベクトルGMV(t)として選択され、グローバル動きベクトル保持部65に保持される。そして、次回の処理、つまり次に行われるステップS12の処理では、フレーム(t+2)が新たな処理対象のフレームとされる。
また、例えば図中、右側に示す例では、まずフレームtおよびフレーム(t+1)の撮像画像間のグローバル動きベクトルMV(t,t+1)と、参照ベクトルとの差分d(t+1)が算出される。そして、次にフレームtおよびフレーム(t+2)の撮像画像間のグローバル動きベクトルMV(t,t+2)と、参照ベクトルとの差分d(t+2)が算出される。
この例では、差分d(t+2)の絶対値は、差分d(t+1)の絶対値よりも大きく、条件|d(t+1)|<|d(t+2)|が満たされるので、グローバル動きベクトルMV(t,t+1)とグローバル動きベクトルMV(t,t+2)から、グローバル動きベクトルGMV(t)が選択される。ここでは、より差分が小さいグローバル動きベクトルMV(t,t+1)が、フレームtの撮像画像FP(t)のグローバル動きベクトルGMV(t)として選択され、次回の処理では、フレーム(t+1)が処理対象のフレームとされる。
このように、参照ベクトルとの差分が最も小さいグローバル動きベクトルを、処理対象のフレームの撮像画像のグローバル動きベクトルとして選択すれば、各フレームのグローバル動きベクトルは、ほぼ同じ大きさのベクトルとなる。
したがって、最終的なグローバル動きベクトルGMV(t)(但し、1≦t)が算出された撮像画像FP(t)のみを用いてパノラマ画像を生成すれば、各短冊領域の幅を均一にすることができる。
図4のフローチャートの説明に戻り、グローバル動きベクトル評価部64は、グローバル動きベクトルを選択すると、選択したグローバル動きベクトルをグローバル動きベクトル保持部65に供給して保持させる。また、グローバル動きベクトル評価部64は、グローバル動きベクトルの選択結果に応じて、次に処理対象とすべきフレームを示す情報を画像選択部62に供給する。
ステップS17において、画像処理回路26は、全てのフレームの撮像画像について、処理を行なったか否かを判定する。例えば、全フレームの撮像画像を対象として、処理対象のフレームを決定し、そのフレームのグローバル動きベクトルを算出する処理が行われた場合、全てのフレームについて処理を行なったと判定される。
ステップS17において、まだ全てのフレームについて処理を行なっていないと判定された場合、処理はステップS12に戻り、上述した処理が繰り返される。すなわち、次に処理対象とされるフレームが決定されて、処理対象のフレームの撮像画像のグローバル動きベクトルが算出される。
これに対して、ステップS17において、全てのフレームについて処理を行なったと判定された場合、ステップS18において、短冊領域決定部66は、グローバル動きベクトル保持部65からグローバル動きベクトルを取得して、撮像画像上の短冊領域を定める。
なお、ステップS18では、グローバル動きベクトルGMV(t)が算出されたフレームの撮像画像のみが処理対象とされる。つまり、ステップS12の処理で処理対象とされなかったフレームの撮像画像は、パノラマ画像の生成には用いられない。短冊領域決定部66は、撮像画像の短冊領域を定めると、各短冊領域の接続位置を示す情報を短冊領域合成部67に供給する。
例えば、短冊領域決定部66は図8に示すように、撮像時刻の古い順(フレーム番号の小さい順)に撮像画像上の短冊領域の接続位置、つまり撮像画像同士の接続位置を定めていく。なお、図8において、横方向はスイープ軸方向を示している。
図8では、3つの連続するフレーム(t−1)乃至フレーム(t+1)の撮像画像FP(t−1)乃至撮像画像FP(t+1)のそれぞれが、グローバル動きベクトルに基づいてスイープ軸方向に並べられている。撮像画像FP(t−1)乃至撮像画像FP(t+1)のうち、最もフレーム番号が小さいものは撮像画像FP(t−1)であるから、短冊領域決定部66は、まず撮像画像FP(t−1)と撮像画像FP(t)との接続位置を定める。
すなわち、図中、上側に示すように、短冊領域決定部66は、互いに隣接する撮像画像FP(t−1)と撮像画像FP(t)との互いに重なる、スイープ軸上の位置I0(t)から位置I1(t−1)までの範囲を探索範囲として接続位置を定める。ここで、位置I0(t)および位置I1(t−1)は、それぞれ撮像画像FP(t)の図中、左側の端の位置、および撮像画像FP(t−1)の図中、右側の端の位置である。
例えば、短冊領域決定部66は、撮像画像FP(t−1)の図中、左側の端の位置I0(t−1)と、撮像画像FP(t)の図中、右側の端の位置I1(t)との中間の位置S(t−1,t)を、撮像画像FP(t−1)と撮像画像FP(t)の接続位置とする。つまり、位置S(t−1,t)は、撮像画像FP(t−1)の短冊領域の図中、右側の端の位置であり、かつ撮像画像FP(t)の短冊領域の図中、左側の端の位置である。なお、以下、位置S(t−1,t)を接続位置S(t−1,t)と称する。
次に、短冊領域決定部66は、図中、中央に示すように撮像画像FP(t)と撮像画像FP(t+1)との接続位置S(t,t+1)を定める。
ここで、撮像画像FP(t)と撮像画像FP(t+1)が互いに重なる領域の図中、左側の端、つまり撮像画像FP(t+1)の左端の位置I0(t+1)は、撮像画像FP(t−1)と撮像画像FP(t)の接続位置S(t−1,t)よりも図中、左側に位置している。撮像画像FP(t)と撮像画像FP(t+1)の接続位置は、撮像画像FP(t−1)と撮像画像FP(t)の接続位置よりも図中、右側に位置すべきであるから、接続位置S(t−1,t)よりも左側の領域は、接続位置S(t,t+1)の探索範囲から除外されるべきである。
そこで、短冊領域決定部66は、スイープ軸上の接続位置S(t−1,t)から、撮像画像FP(t)の図中、右端の位置I1(t)までの範囲を探索範囲として接続位置S(t,t+1)を定める。例えば、短冊領域決定部66は、撮像画像FP(t)の図中、左側の端の位置I0(t)と、撮像画像FP(t+1)の図中、右側の端の位置I1(t+1)との中間の位置を接続位置S(t,t+1)とする。
このようにして各フレームの撮像画像を接続するための接続位置が定められると、図中、下側に示すように、後段の短冊領域合成部67において、接続位置により定まる撮像画像上の短冊領域が互いに接続されてパノラマ画像とされる。なお、図中、下側において、撮像画像FP(t−1)乃至撮像画像FP(t+1)の斜線部分は、短冊領域を示している。
例えば、撮像画像FP(t)の短冊領域は、撮像画像FP(t)におけるスイープ軸方向の位置が、接続位置S(t−1,t)から接続位置S(t,t+1)までの領域とされる。このように、各撮像画像の隣接する他の撮像画像との接続位置を順次、定めていくことにより、各撮像画像の短冊領域を順次決定することができる。
なお、ここでは時系列順に撮像画像の接続位置を決定する方法について説明したが、他の基準で決定した順番で、各撮像画像の接続位置を逐次決定するようにしてもよい。
図4のフローチャートの説明に戻り、各撮像画像の短冊領域が定められると、処理はステップS18からステップS19へと進む。
ステップS19において、短冊領域合成部67は、短冊領域決定部66から供給された各短冊領域の接続位置を示す情報と、撮像画像保持部61から供給された撮像画像とに基づいてパノラマ画像を生成し、出力する。例えば、各撮像画像上の短冊領域が合成され、1つのパノラマ画像とされる。換言すれば、各撮像画像が接続位置で互いに接続され、パノラマ画像とされる。
より詳細には、短冊領域合成部67は、撮像画像の短冊領域を合成するにあたり、短冊領域の端近傍の部分については、隣接する2つの撮像画像の短冊領域を重み付き加算することにより、パノラマ画像を生成する。
例えば、図9に示すように、隣接するフレームの撮像画像の短冊領域は、その端部分が互いに重なりを持つように定められる。なお、図9において横方向はスイープ軸方向を示しており、図9においては3つの連続するフレームの撮像画像FP(t−1)乃至撮像画像FP(t+1)が、スイープ軸方向に並べられている。
図中、上側に示すように、撮像画像FP(t−1)の短冊領域RE(t−1)の図中、右端は、撮像画像FP(t)との接続位置S(t−1,t)よりもやや右側に位置している。また、撮像画像FP(t)の短冊領域RE(t)の図中、左端も撮像画像FP(t−1)との接続位置S(t−1,t)よりもやや左側に位置しており、短冊領域RE(t−1)と短冊領域RE(t)は、端近傍の領域が互いに重なっている。
そして、短冊領域RE(t−1)と短冊領域RE(t)とが接続される場合には、スイープ軸方向における、短冊領域RE(t)の左端の位置から、短冊領域RE(t−1)の右端の位置までの範囲では、短冊領域RE(t−1)と短冊領域RE(t)の同じ位置の画素の画素値が重み付き加算される。
同様に、短冊領域RE(t)と短冊領域RE(t+1)とは、接続位置S(t,t+1)近傍において互いに重なっており、短冊領域RE(t)と短冊領域RE(t+1)の接続時においても、それらの重なる部分では、画素値の重み付き加算が行われる。
短冊領域の重み付き加算では、図中、下側に示すように、スイープ軸方向の各位置によって重み付き加算の重みが変化する。図9の下側において、折れ線OMは、撮像画像FP(t−1)(短冊領域RE(t−1))の画素に乗算される重みの大きさを示している。
すなわち、短冊領域RE(t−1)における、図中、左端から、短冊領域RE(t)の左端の位置までの重みの大きさは「1」とされている。これは、短冊領域RE(t−1)における、短冊領域RE(t−1)の左端から、短冊領域RE(t)の左端の位置までの領域は、短冊領域RE(t−1)がそのままパノラマ画像とされるからである。
また、短冊領域RE(t−1)における、短冊領域RE(t)の左端から、短冊領域RE(t−1)の右端の位置までの短冊領域RE(t−1)の重みの大きさは、その位置が図中、右方向に行くにしたがって小さくなり、短冊領域RE(t−1)の右端の位置では、重みの大きさは「0」となっている。
短冊領域RE(t−1)と短冊領域RE(t)が重なる部分では、接続位置S(t−1,t)から、短冊領域RE(t)の左端により近くなるにしたがって、短冊領域RE(t−1)のパノラマ画像の生成に対する寄与率がより高くなる。逆に、接続位置S(t−1,t)から、短冊領域RE(t−1)の右端により近くなるにしたがって、短冊領域RE(t)のパノラマ画像の生成に対する寄与率がより高くなる。
さらに、撮像画像FP(t−1)における、図中、短冊領域RE(t−1)の右端よりも右側の位置では、撮像画像は、パノラマ画像の生成には用いられないので、重みの大きさは「0」とされている。
このように、短冊領域の端近傍については、2つの隣接する短冊領域を用いてパノラマ画像を生成し、その他の部分では1つの短冊領域をそのままパノラマ画像とすることで、撮像画像の重ね合わせによるパノラマ画像のぼけの発生を抑制することができる。
また、短冊領域の端部分を位置により合成比率を変化させて、つまり重みに傾斜をつけて重み付き加算することで、より高品質なパノラマ画像を得ることができる。すなわち、接続される2つの短冊領域の互いに重なる部分において、被写体の位置にずれがあったり、画素の色が異なったりする場合であっても、重み付き加算によりスムージング効果が得られる。これにより、被写体の一部が欠損したり、パノラマ画像に色のむらが生じたりすることを抑制することができ、より自然なパノラマ画像を得ることができる。
短冊領域合成部67は、このようにして撮像画像の短冊領域を接続し、1つのパノラマ画像を生成する。なお、トリミングが行われるようにし、接続された短冊領域からなる1つの画像の一部の領域がパノラマ画像とされてもよい。
例えば、ユーザが撮像装置11を手で持って、撮像装置11をスイープさせながら撮像画像を撮像させると、スープ軸方向と異なる方向の動きの成分を0とすることは困難である。そのため、例えば図10に示すように、連続して撮像された撮像画像上の短冊領域RE11乃至短冊領域RE17は、図中、上下方向にばらつくことがある。
なお、図10において、図中、横方向はx方向(スイープ軸方向)を示しており、縦方向は、y方向を示している。
図10の例では、スイープ軸は、各撮像画像の長手方向、つまりx方向と平行となっている。また、図10では、短冊領域RE11乃至短冊領域RE17の図中、上下方向の位置、つまりスイープ軸と垂直な方向の位置が、撮像画像ごとに異なっている。
そのため、各撮像画像の短冊領域を接続して得られる1つの画像は、矩形状とはならなくなる。そこで、短冊領域合成部67は、短冊領域RE11乃至短冊領域RE17を接続して得られる画像全体の領域に内接する、最も大きい矩形領域PL21を切り出して、パノラマ画像とする。このとき、矩形領域PL21の長辺は、スイープ軸と平行になるようにされる。このように、トリミングを行うことにより、見映えのよい矩形状のパノラマ画像を得ることができる。
図4のフローチャートの説明に戻り、パノラマ画像が生成されて出力されると、パノラマ画像生成処理は終了する。
以上のようにして、撮像装置11は、撮像画像のグローバル動きベクトルを算出し、得られたグローバル動きベクトルを用いて撮像画像から短冊領域を切り出して、パノラマ画像を生成する。
撮像装置11では、グローバル動きベクトルGMV(t)が略均一となるように撮像画像を選択し、選択した撮像画像のみを用いてパノラマ画像を生成するようにしたので、簡単な処理で短冊領域の接続位置近傍の被写体のずれを低減させ、高品質なパノラマ画像を得ることができる。
例えば、図11に示すように、連続する3つのフレーム(t−1)乃至フレーム(t+1)の撮像画像FP(t−1)乃至撮像画像FP(t+1)について、グローバル動きベクトルが算出されたとする。なお、図11において、横方向はスイープ軸方向を示している。
図11では、撮像画像FP(t−1)のグローバル動きベクトルGMV(t-1)と、撮像画像FP(t)のグローバル動きベクトルGMV(t)に基づいて、同じ被写体の領域が重なるように撮像画像FP(t−1)乃至撮像画像FP(t+1)がスイープ軸方向に並べられている。また、撮像画像FP(t)上の斜線が施された領域RE(t)(以下、短冊領域RE(t)と称する)は、短冊領域を示している。
ここで、短冊領域RE(t)の図中、左側の端の位置は、撮像画像FP(t−1)の左端の位置と、撮像画像FP(t)の右端の位置との中点の位置、つまり撮像画像FP(t−1)と撮像画像FP(t)が重なっている領域の中心位置となる。
同様に、短冊領域RE(t)の図中、右側の端の位置は、撮像画像FP(t)の左端の位置と、撮像画像FP(t+1)の右端の位置との中点の位置、つまり撮像画像FP(t)と撮像画像FP(t+1)が重なっている領域の中心位置となる。
また、短冊領域RE(t)のスイープ軸方向の幅sw(t)は、次式(1)により表される。
すなわち、短冊領域RE(t)の幅sw(t)は、グローバル動きベクトルGMV(t-1)と、グローバル動きベクトルGMV(t)の和を2で除算することで得られる。
同様に、撮像画像FP(t−1)上の短冊領域RE(t−1)(図示せず)のスイープ軸方向の幅sw(t−1)は、次式(2)により表される。
これらの式(1)および式(2)から分かるように、撮像画像FP(t−2)のグローバル動きベクトルGMV(t-2)と、撮像画像FP(t)のグローバル動きベクトルGMV(t)との差分が小さいほど、短冊領域RE(t)と短冊領域RE(t−1)の幅の差は小さくなる。つまり、それらの短冊領域の幅の大きさは近くなる。
上述したパノラマ画像生成処理では、2つ前の処理で算出されたグローバル動きベクトルGMV(t-2)と、グローバル動きベクトルMV(t,t+j)との差分が最小となる撮像画像を、最終的なグローバル動きベクトルGMV(t)の算出に寄与する撮像画像として選択すると説明した。このような処理により、各撮像画像上の短冊領域の幅の変動を抑えることができる。
このように、グローバル動きベクトルの変動が抑制されるように撮像画像を選択し、選択した撮像画像間のグローバル動きベクトルを算出すれば、図中、下側に示すように、パノラマ画像の生成に用いられる各撮像画像上の短冊領域の幅の変動を抑えることができる。なお、図中、下側において、点線の長方形は1つの撮像画像を表しており、それらの撮像画像内の斜線の領域は、短冊領域を表している。
例えば、パノラマ画像を生成する場合に、図12の上側に示すように短冊領域の幅が不均一であると、撮像画像によっては、撮像画像上の多くの領域がパノラマ画像の生成に用いられることになる。
すなわち、グローバル動きベクトルが他の撮像画像のグローバル動きベクトルより大きい撮像画像では短冊領域が大きくなり、撮像画像上の端付近の領域がパノラマ画像の生成に用いられることになる。そうすると、その短冊領域の接続位置近傍では、視差の影響により被写体の位置のずれが大きくなり、パノラマ画像の品質が低下してしまう。
図12の上側では、パノラマ画像PL31は、従来の手法により生成されたパノラマ画像であり、パノラマ画像PL31中の点線は、各短冊領域の境界位置を示しており、パノラマ画像PL31中の実線は、所定の被写体の輪郭を表している。
パノラマ画像PL31では、各短冊領域の図中、横方向の幅が不均一となっており、特に横方向の幅が広い短冊領域の端近傍では、被写体の位置ずれ(例えば、実線の上下方向のずれ)が大きくなっている。
パノラマ画像上の短冊領域の接続位置近傍において生じる被写体のずれの原因には、グローバル動きベクトルの誤差やレンズによる像の歪み、視差の影響などがある。特に、手持ちにより撮像装置で連続的に撮像画像を撮像すると、視差の影響が生じないようにすることはほぼ不可能であり、短冊領域の接続部分において被写体の位置ずれが発生する。
例えば撮像画像上では、撮像画像の端近傍にある被写体ほど、撮像画像を撮像するときの視点と被写体を結ぶ直線と、撮像画像を撮像するための光学系の光軸とのなす角度が大きくなるため、視差の影響が大きくなる。つまり、撮像画像の端近傍の被写体ほど、他の撮像画像の同じ被写体との視差が大きくなり、撮像画像同士を接続したときに生じる被写体のずれが大きくなる。
一方、図中、下側に示すように、撮像装置11により生成されたパノラマ画像PL32では、各短冊領域の横方向の幅が略同じとなっている。なお、パノラマ画像PL32中の点線は、各短冊領域の境界位置を示しており、パノラマ画像PL32中の実線は、所定の被写体の輪郭を表している。
パノラマ画像PL32では各短冊領域の幅が均等であるため、撮像画像の中央付近の領域が短冊領域とされている。そのため、各短冊領域では被写体の視差の影響が抑えられ、短冊領域の接続位置近傍における被写体の位置ずれを低減させることができる。これにより、高品質なパノラマ画像を得ることができる。
特に、パノラマ画像PL31とパノラマ画像PL32とを比較すると、パノラマ画像PL32で生じる位置ずれの最大値は、パノラマ画像PL31で生じる位置ずれの最大値よりも小さいため、全体的に被写体の位置ずれが小さく見える。このような被写体の位置ずれの軽減効果は、短冊領域の幅が均等であるほど大きくなる。
また、撮像画像の端付近では、撮像画像を撮像する光学系(例えば、レンズ21)の特性により像歪曲が生じるが、パノラマ画像PL32では撮像画像の中央付近が短冊領域として用いられるため、像歪曲により生じる接続位置近傍の被写体の位置ずれも低減させることができる。
しかも、撮像装置11では、三脚や撮像装置11の回転角度を検出する回路などを必要とせずに、簡単にパノラマ画像を生成することが可能である。さらに、撮像装置11では、パノラマ画像の生成に用いられない撮像画像が発生する場合もあるが、いくつかの撮像画像がパノラマ画像の生成に用いられなければ、その分だけパノラマ画像の生成処理の計算コストを削減することができる。
なお、図4のパノラマ画像生成処理では、パノラマ画像の生成に必要な全フレームのグローバル動きベクトルが算出されてからパノラマ画像の生成が開始されると説明したが、グローバル動きベクトルの算出と、パノラマ画像の生成とが並列に行なわれるようにしてもよい。
また以上においては、処理対象のフレームよりも2つ前の処理で決定されたグローバル動きベクトルGMV(t)を参照ベクトルとする例について説明したが、参照ベクトルは、処理対象のフレームよりも過去のフレームのグローバル動きベクトルGMV(t)であればよい。
例えば、1つ前の処理で決定されたグローバル動きベクトル、つまり過去に処理対象とされてグローバル動きベクトルが算出されたフレームのうち、現在処理対象となっているフレームに最も近い時刻のフレームのグローバル動きベクトルGMV(t-j)が参照ベクトルとされてもよい。そのような場合、グローバル動きベクトルGMV(t-j)との差分が最小となるように、グローバル動きベクトルGMV(t)の算出に用いる撮像画像を決定すれば、グローバル動きベクトルの変動率が小さくなる。これにより、2つ前の処理で決定されたグローバル動きベクトルと、処理対象のフレームのグローバル動きベクトルとの差が小さくなり、結果として短冊領域の幅の変動を抑えることができる。
さらに、処理対象のフレームのグローバル動きベクトルGMV(t)を算出しようとする場合に、直前の処理で得られたグローバル動きベクトルGMV(t-j)と、直前の処理で用いられた参照ベクトルRGMV(t-j)とを所定の比率で合成し、処理対象のフレームでの参照ベクトルRGMV(t)としてもよい。すなわち、この場合、グローバル動きベクトル評価部64は、所定の重みをαとして、α×RGMV(t-j)+(1−α)×GMV(t-j)の演算を行ない、その演算結果を処理対象のフレームの参照ベクトルRGMV(t)とする。
なお、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図13は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)301,ROM(Read Only Memory)302,RAM(Random Access Memory)303は、バス304により相互に接続されている。
バス304には、さらに、入出力インターフェース305が接続されている。入出力インターフェース305には、キーボード、マウス、マイクロホンなどよりなる入力部306、ディスプレイ、スピーカなどよりなる出力部307、ハードディスクや不揮発性のメモリなどよりなる記録部308、ネットワークインターフェースなどよりなる通信部309、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア311を駆動するドライブ310が接続されている。
以上のように構成されるコンピュータでは、CPU301が、例えば、記録部308に記録されているプログラムを、入出力インターフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU301)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア311に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア311をドライブ310に装着することにより、入出力インターフェース305を介して、記録部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記録部308にインストールすることができる。その他、プログラムは、ROM302や記録部308に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
さらに、本技術は、以下の構成とすることも可能である。
[1]
複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択する選択部と、
前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出する算出部と、
前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択する評価部と、
前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成する合成部と
を備える画像処理装置。
[2]
前記選択部は、最終的な前記グローバル動きベクトルとして選択された前記候補ベクトルの前記他のフレームを新たな処理対象フレームとして、前記撮像画像を選択する
[1]に記載の画像処理装置。
[3]
前記評価部は、前記参照ベクトルとの差分が最小となる前記候補ベクトルを最終的な前記グローバル動きベクトルとして選択する
[1]または[2]に記載の画像処理装置。
[4]
前記評価部は、過去に処理対象フレームとされたフレームのうち、2番目に前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとする
[1]乃至[3]の何れかに記載の画像処理装置。
[5]
前記評価部は、過去に処理対象フレームとされたフレームのうち、最も前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとする
[1]乃至[3]の何れかに記載の画像処理装置。
[6]
前記評価部は、過去に処理対象フレームとされた所定フレームの前記撮像画像の前記グローバル動きベクトルと、その前記グローバル動きベクトルの選択に用いられた参照ベクトルとを所定の比率で合成することにより、前記処理対象フレームにおける前記参照ベクトルを算出する
[1]乃至[3]の何れかに記載の画像処理装置。
複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択する選択部と、
前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出する算出部と、
前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択する評価部と、
前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成する合成部と
を備える画像処理装置。
[2]
前記選択部は、最終的な前記グローバル動きベクトルとして選択された前記候補ベクトルの前記他のフレームを新たな処理対象フレームとして、前記撮像画像を選択する
[1]に記載の画像処理装置。
[3]
前記評価部は、前記参照ベクトルとの差分が最小となる前記候補ベクトルを最終的な前記グローバル動きベクトルとして選択する
[1]または[2]に記載の画像処理装置。
[4]
前記評価部は、過去に処理対象フレームとされたフレームのうち、2番目に前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとする
[1]乃至[3]の何れかに記載の画像処理装置。
[5]
前記評価部は、過去に処理対象フレームとされたフレームのうち、最も前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとする
[1]乃至[3]の何れかに記載の画像処理装置。
[6]
前記評価部は、過去に処理対象フレームとされた所定フレームの前記撮像画像の前記グローバル動きベクトルと、その前記グローバル動きベクトルの選択に用いられた参照ベクトルとを所定の比率で合成することにより、前記処理対象フレームにおける前記参照ベクトルを算出する
[1]乃至[3]の何れかに記載の画像処理装置。
11 撮像装置, 26 画像処理回路, 62 画像選択部, 63 グローバル動きベクトル算出部, 64 グローバル動きベクトル評価部, 66 短冊領域決定部, 67 短冊領域合成部
Claims (8)
- 複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択する選択部と、
前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出する算出部と、
前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択する評価部と、
前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成する合成部と
を備える画像処理装置。 - 前記選択部は、最終的な前記グローバル動きベクトルとして選択された前記候補ベクトルの前記他のフレームを新たな処理対象フレームとして、前記撮像画像を選択する
請求項1に記載の画像処理装置。 - 前記評価部は、前記参照ベクトルとの差分が最小となる前記候補ベクトルを最終的な前記グローバル動きベクトルとして選択する
請求項2に記載の画像処理装置。 - 前記評価部は、過去に処理対象フレームとされたフレームのうち、2番目に前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとする
請求項3に記載の画像処理装置。 - 前記評価部は、過去に処理対象フレームとされたフレームのうち、最も前記処理対象フレームに近い時刻のフレームの前記撮像画像の前記グローバル動きベクトルを前記参照ベクトルとする
請求項3に記載の画像処理装置。 - 前記評価部は、過去に処理対象フレームとされた所定フレームの前記撮像画像の前記グローバル動きベクトルと、その前記グローバル動きベクトルの選択に用いられた参照ベクトルとを所定の比率で合成することにより、前記処理対象フレームにおける前記参照ベクトルを算出する
請求項3に記載の画像処理装置。 - 複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択する選択部と、
前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出する算出部と、
前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択する評価部と、
前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成する合成部と
を備える画像処理装置の画像処理方法であって、
前記選択部が前記撮像画像を選択し、
前記算出部が前記候補ベクトルを算出し、
前記評価部が前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルを選択し、
前記合成部が前記パノラマ画像を生成する
ステップを含む画像処理方法。 - 複数の撮像画像のなかから、処理対象フレームの前記撮像画像と、前記処理対象フレームとは異なる他のフレームの前記撮像画像とを選択し、
前記処理対象フレームの前記撮像画像と、前記他のフレームの前記撮像画像との間のグローバル動きベクトルを候補ベクトルとして算出し、
前記処理対象フレームよりも前のフレームの前記撮像画像のグローバル動きベクトルに基づいて算出された参照ベクトルを用いて前記候補ベクトルを評価し、複数の前記候補ベクトルのうちの何れかを前記処理対象フレームの前記撮像画像の最終的なグローバル動きベクトルとして選択し、
前記撮像画像の前記グローバル動きベクトルに基づいて複数の前記撮像画像を合成し、パノラマ画像を生成する
ステップを含む処理をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011154629A JP2013021589A (ja) | 2011-07-13 | 2011-07-13 | 画像処理装置および方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011154629A JP2013021589A (ja) | 2011-07-13 | 2011-07-13 | 画像処理装置および方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013021589A true JP2013021589A (ja) | 2013-01-31 |
Family
ID=47692561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011154629A Withdrawn JP2013021589A (ja) | 2011-07-13 | 2011-07-13 | 画像処理装置および方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013021589A (ja) |
-
2011
- 2011-07-13 JP JP2011154629A patent/JP2013021589A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5359783B2 (ja) | 画像処理装置および方法、並びにプログラム | |
US10277812B2 (en) | Image processing to obtain high-quality loop moving image | |
JP4561845B2 (ja) | 撮像装置と画像処理プログラム | |
US8682104B2 (en) | Image synthesizing apparatus, image synthesizing method, and image synthesizing program | |
JP5754312B2 (ja) | 画像処理装置及び画像処理方法、並びにプログラム | |
JP2013020527A (ja) | 画像処理装置および方法、並びにプログラム | |
US8164641B2 (en) | Photographic device and photographing method | |
US9538085B2 (en) | Method of providing panoramic image and imaging device thereof | |
JP2011130327A (ja) | 画像処理装置および方法、並びにプログラム | |
JP5531603B2 (ja) | 画像処理装置および方法、並びにプログラム | |
JP2010021698A (ja) | 画像処理装置およびプログラム | |
JP5729237B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP6656035B2 (ja) | 画像処理装置、撮像装置および画像処理装置の制御方法 | |
JP2011114823A (ja) | 画像処理装置及び撮像装置 | |
JP5011504B2 (ja) | 画像合成装置、画像合成方法及びプログラム | |
JP2013165487A (ja) | 画像処理装置、撮像装置、およびプログラム | |
JP2008077501A (ja) | 画像処理装置及び画像処理制御プログラム | |
JP2013020528A (ja) | 画像処理装置および方法、並びにプログラム | |
JP5402166B2 (ja) | 画像合成装置及びプログラム | |
JP2009044329A (ja) | プログラム、画像処理方法および画像処理装置 | |
JP2009038478A (ja) | プログラム、画像処理装置、撮像装置および画像処理方法 | |
JP5018937B2 (ja) | 撮像装置と画像処理プログラム | |
JP2010239459A (ja) | 画像合成装置及びプログラム | |
JP2013258468A (ja) | 撮像装置とその制御方法およびプログラム | |
JP2013021589A (ja) | 画像処理装置および方法、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20141007 |