JP2013228896A - 画像処理装置、画像処理方法、プログラム - Google Patents
画像処理装置、画像処理方法、プログラム Download PDFInfo
- Publication number
- JP2013228896A JP2013228896A JP2012100620A JP2012100620A JP2013228896A JP 2013228896 A JP2013228896 A JP 2013228896A JP 2012100620 A JP2012100620 A JP 2012100620A JP 2012100620 A JP2012100620 A JP 2012100620A JP 2013228896 A JP2013228896 A JP 2013228896A
- Authority
- JP
- Japan
- Prior art keywords
- seam
- image data
- frame image
- determination
- subject information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
- H04N23/662—Transmitting camera control signals through networks, e.g. control via the Internet by using master/slave camera arrangements for affecting the control of camera image capture, e.g. placing the camera in a desirable condition to capture a desired image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Abstract
【課題】パノラマ合成のためのシーム(つなぎ目)を処理負担を過大とせずに、精度よく実行できるようにする。
【解決手段】フレーム画像データについての被写体情報を検出する。そして隣接フレーム画像データ間のシームを決定する基準線となるシーム基準を、被写体情報を用いて求める。そして、シーム基準に基づいて設定される判定領域内のみで、被写体情報を用いて隣接フレーム画像データ間のシームを決定する。
【選択図】図5
【解決手段】フレーム画像データについての被写体情報を検出する。そして隣接フレーム画像データ間のシームを決定する基準線となるシーム基準を、被写体情報を用いて求める。そして、シーム基準に基づいて設定される判定領域内のみで、被写体情報を用いて隣接フレーム画像データ間のシームを決定する。
【選択図】図5
Description
本開示はパノラマ画像生成のための画像処理装置、画像処理方法、及びそれらを実現するプログラムに関する。
「画像ラボ」2008年6月号、日本工業出版、飯吉建彰・三橋 渉「パノラマ画像作成のための画像モザイク生成法」
上記特許文献1に示されるように、複数枚の画像から1枚のパノラマ画像を生成する画像処理が知られている。
例えばユーザがカメラを水平にスイープさせながら多数の撮像画像(フレーム画像データ)を得、これを合成することで、いわゆるパノラマ画像を得ることができる。
例えばユーザがカメラを水平にスイープさせながら多数の撮像画像(フレーム画像データ)を得、これを合成することで、いわゆるパノラマ画像を得ることができる。
なお「スイープ」とは、パノラマ画像生成のための複数のフレーム画像データを得るために、撮像時に撮像装置の回転運動による撮像方向移動の動作をいう。例えば水平方向に撮像方向を移動させる場合、スイープ方向とは水平方向を指す。
ところで、パノラマ画像を生成する際には、隣接する撮像画像間のシーム(seam:つなぎ目)を決定して画像を張り合わせていく。
シームを決定し各画像を合成する場合、以下のような問題があった。
複数枚の撮像画像(複数のフレーム画像データ)を合成してパノラマ画像を生成する処理において、撮像シーンに動被写体が存在すると、動被写体の一部が分断されたり、ぼやけるなどの画像の破綻や画質の低下の原因となる。
そのため従来より動被写体を検出した上で、パノラマ画像を形成するためのシームを動被写体を避けて決定するなどの手法が提案されている。
シームを決定し各画像を合成する場合、以下のような問題があった。
複数枚の撮像画像(複数のフレーム画像データ)を合成してパノラマ画像を生成する処理において、撮像シーンに動被写体が存在すると、動被写体の一部が分断されたり、ぼやけるなどの画像の破綻や画質の低下の原因となる。
そのため従来より動被写体を検出した上で、パノラマ画像を形成するためのシームを動被写体を避けて決定するなどの手法が提案されている。
上記非特許文献1の「パノラマ画像作成のための画像モザイク生成法」に記載されている手法では、画像の張り合わせを行うためのシームを決定する方法として、グラフ理論における最短経路問題の解法を利用する方法をあげている。この方法は、隣接2フレームの重複領域において算出されたコスト値から最小コストのシームの算出を行うもので、動被写体に高いコスト、静止被写体に低いコストを設定してグラフを生成し、最小コストのシームを決定する。このため、動被写体を分断しないような高精度の任意形状のシームを決定することができる。
しかしながら、シーム決定のための処理負担が重く、高い演算能力やメモリ容量などの十分なリソースが要求される。
しかしながら、シーム決定のための処理負担が重く、高い演算能力やメモリ容量などの十分なリソースが要求される。
これに対し、上記特許文献2では、2次元の被写体情報(画素値、動被写体検出、顔検出、人体検出など)を1次元のスイープ軸に射影することによって、従来と比べ被写体情報保持に必要なメモリの削減をはかる。加えて、動被写体を分断しないようにスイープ軸と垂直な方向にフレーム間の接続ライン(直線)を決定することにより、2次元の探索に比べてより低い計算量の処理で、パノラマ画像における動被写体の分断リスク、および重ね合わせによる動被写体のぼけを抑える手法が提案されている。
さらにこの手法では、複数のシームの交錯を防ぐための拘束条件が複雑化し計算コストが高くなるという欠点も解消されている。
しかしながらこの手法では、シームをスイープ方向に対して垂直な直線に限定しているため、シーム探索の自由度が低く、動被写体を分断しないシームを求められない場合が多かった。
さらにこの手法では、複数のシームの交錯を防ぐための拘束条件が複雑化し計算コストが高くなるという欠点も解消されている。
しかしながらこの手法では、シームをスイープ方向に対して垂直な直線に限定しているため、シーム探索の自由度が低く、動被写体を分断しないシームを求められない場合が多かった。
本開示では、このような問題に鑑みて、パノラマ画像生成において、処理負担を重くせずに、自由度の高いシームを設定できるようにすることを目的とする。
本開示の画像処理装置は、パノラマ画像生成に用いる一連のn個(nは2以上の自然数)のフレーム画像データにおける、隣接する2つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する2つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理部と、上記シーム基準決定処理部で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する2つのフレーム画像データ間のシームを決定するシーム決定処理部と、を備える。
本開示の画像処理方法は、パノラマ画像生成に用いる一連のn個(nは2以上の自然数)のフレーム画像データにおける、隣接する2つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する2つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理と、上記シーム基準決定処理で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する2つのフレーム画像データ間のシームを決定するシーム決定処理とを備える。
本開示のプログラムは、上記各処理を演算処理装置に実行させるプログラムである。
本開示のプログラムは、上記各処理を演算処理装置に実行させるプログラムである。
これらの本開示の技術によれば、2つのフレーム画像データを合成するシームを決定するために、まず、シーム基準としての基準線を決める。そしてシーム基準に基づいて判定領域を設定する。例えばシーム基準とは、動被写体が存在しない部分などを大まかに決めるラインとすればよい。そして判定領域とは、例えばシーム基準を中心線としたような領域とすればよい。この判定領域は、2つのフレーム画像データの重なり部分、つまりシームを探索できる最大範囲のうちの一部の領域となる。そして、判定領域内のみで被写体情報に基づいてシームを決める。判定領域内のみとすることで、例えば2次元コスト関数演算等により不定形状線のシーム探索を行っても、処理負担が過大にはならないうえ、効率的な探索が可能となる。
本開示の技術によれば、パノラマ画像生成において、低メモリ容量、低計算コストとして処理負担を重くせずに、精度が高く自由度の高いシームを設定することが可能となる。結果として、高速な処理で高品質なパノラマ画像を実現できる。
以下、実施の形態を次の順序で説明する。なお実施の形態では、本開示の画像処理装置を搭載した撮像装置の例を挙げる。
<1.撮像装置の構成>
<2.パノラマ合成機能の概要>
<3.実施の形態のパノラマ合成アルゴリズム>
<4.判定領域の設定例>
<5.低解像度画像/高解像度画像の利用>
<6.パノラマ合成処理例I>
<7.パノラマ合成処理例II>
<8.パノラマ合成処理例III>
<9.プログラム及びコンピュータ装置への適用>
<10.変形例>
<1.撮像装置の構成>
<2.パノラマ合成機能の概要>
<3.実施の形態のパノラマ合成アルゴリズム>
<4.判定領域の設定例>
<5.低解像度画像/高解像度画像の利用>
<6.パノラマ合成処理例I>
<7.パノラマ合成処理例II>
<8.パノラマ合成処理例III>
<9.プログラム及びコンピュータ装置への適用>
<10.変形例>
<1.撮像装置の構成>
図1は本開示の実施の形態の画像処理装置を搭載した撮像装置1の構成例を示している。
撮像装置1はレンズユニット100、撮像素子101、画像処理部102、制御部103、表示部104、メモリ部105、記録デバイス106、操作部107、センサー部108を備える。
図1は本開示の実施の形態の画像処理装置を搭載した撮像装置1の構成例を示している。
撮像装置1はレンズユニット100、撮像素子101、画像処理部102、制御部103、表示部104、メモリ部105、記録デバイス106、操作部107、センサー部108を備える。
レンズユニット100は、被写体の光画像を集光する。レンズユニット100は制御部103からの指示に従い、適切な画像を得られるように、焦点距離、被写体距離、絞りなどを調整する機構を持つ。
撮像素子101は、レンズユニット100で集光された光画像を光電変換して電気信号に変換する。具体的には、CCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどにより実現される。
撮像素子101は、レンズユニット100で集光された光画像を光電変換して電気信号に変換する。具体的には、CCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどにより実現される。
画像処理部102は、撮像素子101からの電気信号をサンプリングするサンプリング回路、アナログ信号をデジタル信号に変換するA/D変換回路、デジタル信号に所定の画像処理を施す画像処理回路などから構成される。ここでは、この画像処理部102は、撮像素子101での撮像によるフレーム画像データを得る処理を行うとともに、後述するパノラマ画像を合成する処理も行うものとして示している。
この画像処理部102は、専用のハードウエア回路のみではなく、CPU(Central Processing Unit)やDSP(Digital Signal Processor)を備え、柔軟な画像処理に対応するためにソフトウエア処理を行うことができる。
この画像処理部102は、専用のハードウエア回路のみではなく、CPU(Central Processing Unit)やDSP(Digital Signal Processor)を備え、柔軟な画像処理に対応するためにソフトウエア処理を行うことができる。
制御部103は、CPU及び制御プログラムからなり、撮像装置1の各部の制御を行う。制御プログラム自体は実際にはメモリ部105に格納され、CPUによって実行される。
本実施の形態のパノラマ画像を合成する処理(後述するパノラマ合成処理I、II、III等)は、制御部103と画像処理部102によって実行される。その処理の詳細については後述する。
本実施の形態のパノラマ画像を合成する処理(後述するパノラマ合成処理I、II、III等)は、制御部103と画像処理部102によって実行される。その処理の詳細については後述する。
表示部104は、画像処理部102によって処理された、メモリ部105に格納されている画像データをアナログ化するD/A変換回路と、アナログ化された画像信号を後段の表装置に適合する形式のビデオ信号にエンコードするビデオエンコーダと、入力されるビデオ信号に対応する画像を表示する表示装置とから構成される。
表示装置は、例えば、LCD(Liquid Crystal Display)や有機EL(Electroluminescence)パネル等により実現され、ファインダとしての機能も有する。
表示装置は、例えば、LCD(Liquid Crystal Display)や有機EL(Electroluminescence)パネル等により実現され、ファインダとしての機能も有する。
メモリ部105は、DRAM(Dynamic Random Access Memory)などの半導体メモリから構成され、画像処理部102で処理された画像データ、制御部103における制御プログラム及び各種データなどが一時記録される。
記録デバイス106は、フラッシュメモリ(Flash Memory)メモリなどの半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクなどの記録媒体と、それらの記録媒体に対する記録再生系回路・機構により構成される。
撮像装置1による撮像時には、画像処理部102でJPEG(Joint Photographic Experts Group)形式にエンコードされ、メモリ部105に格納されたJPEG画像データを記録メディアに記録する。
再生時には、記録メディアに保存されたJPEG画像データをメモリ部105に読み込み、画像処理部102でデコード処理を行う。デコードされた画像データは、表示部104で表示させたり、或いは図示しない外部インターフェースにより外部機器に出力することも可能である。
撮像装置1による撮像時には、画像処理部102でJPEG(Joint Photographic Experts Group)形式にエンコードされ、メモリ部105に格納されたJPEG画像データを記録メディアに記録する。
再生時には、記録メディアに保存されたJPEG画像データをメモリ部105に読み込み、画像処理部102でデコード処理を行う。デコードされた画像データは、表示部104で表示させたり、或いは図示しない外部インターフェースにより外部機器に出力することも可能である。
操作部107は、シャッターボタンなどのハードウエアキー、操作ダイアル、タッチパネルなどの入力デバイスを備え、撮像者(ユーザ)の入力操作を検出し、制御部103に伝達する。制御部103はユーザの入力操作に応じて撮像装置1の動作を決定し、各部が必要な動作を行うように制御する。
センサー部108は、ジャイロセンサー、加速度センサー、地磁気センサー、GPS(Global Positioning System)センサーなどで構成され、各種情報の検出を行う。これらの情報は、撮像された画像データに対して、メタデータとして付加されるほか、各種画像処理、制御処理にも利用される。
センサー部108は、ジャイロセンサー、加速度センサー、地磁気センサー、GPS(Global Positioning System)センサーなどで構成され、各種情報の検出を行う。これらの情報は、撮像された画像データに対して、メタデータとして付加されるほか、各種画像処理、制御処理にも利用される。
画像処理部102、制御部103、表示部104、メモリ部105、記録デバイス106、操作部107、及びセンサー部108は、バス109を介して相互に接続され、画像データや制御信号等がやりとりされる。
<2.パノラマ合成機能の概要>
次に、撮像装置1が備えるパノラマ合成機能についての概要を説明する。
本実施の形態の撮像装置1は、撮像者がある回転軸で撮像装置1を回転運動させながら撮像して得られた複数枚の静止画像(フレーム画像データ)に対し、合成処理を行うことによってパノラマ画像を生成することができる。
次に、撮像装置1が備えるパノラマ合成機能についての概要を説明する。
本実施の形態の撮像装置1は、撮像者がある回転軸で撮像装置1を回転運動させながら撮像して得られた複数枚の静止画像(フレーム画像データ)に対し、合成処理を行うことによってパノラマ画像を生成することができる。
図2Aは、パノラマ撮像時の撮像装置1の動きを示したものである。パノラマ撮像時には遠景、近景の視差が合成時のシーム(seam:つなぎ目)の不自然さを生じさせるため、撮像時の回転中心は、ノーダルポイント(Nodal Point)と呼ばれる視差を生じないレンズ固有の点を回転中心にすることが望ましい。
パノラマ撮像時の撮像装置1の回転運動のことを「スイープ」と呼ぶ。
パノラマ撮像時の撮像装置1の回転運動のことを「スイープ」と呼ぶ。
図2Bは、撮像装置1のスイープによって得られた複数枚の静止画像に対して、適切に位置合わせを行ったときの概念図である。撮像で得られる各静止画像を、撮像の時間的な順序で、時刻0〜時刻(n−1)までに撮像されたフレーム画像データを、フレーム画像データFM#0、FM#1・・・FM#(n−1)として示す。n枚の静止画像からパノラマ画像を生成する場合は、図示するように連続して撮像された一連のn個のフレーム画像データFM#0〜FM#(n−1)について合成処理を行うこととなる。
この図2Bに示すように、撮像された各フレーム画像データは隣接するフレーム画像データと必ず重なり部分を持つ必要があるので、撮像装置1の各フレーム画像データの撮像時間間隔と、撮像者がスイープする速度の上限値は適切に設定しなければならない。
そして、このように位置合わせされたフレーム画像データ群は多くの重なり部分を持つため、各フレーム画像データに対して最終的なパノラマ画像に使用する領域を決定する必要がある。これは言い換えると、パノラマ合成処理における画像のシームを決めていることと同一である。
そして、このように位置合わせされたフレーム画像データ群は多くの重なり部分を持つため、各フレーム画像データに対して最終的なパノラマ画像に使用する領域を決定する必要がある。これは言い換えると、パノラマ合成処理における画像のシームを決めていることと同一である。
図3A、図3Bでは、シームSMの例を示している。
シームには、図3Aに示すようにスイープ方向に垂直な直線や、図3Bに示すように非直線(曲線など)とすることができる。
この図3A、図3Bにおいて、シームSM0はフレーム画像データFM#0,FM#1間のシーム、シームSM1はフレーム画像データFM#1,FM#2間のシーム、・・・シームSM(n−2)はフレーム画像データFM#(n−2),FM#(n−1)間のシームとして示している。
なお、これらシームSM0〜SM(n−2)が合成時の隣接画像間のシームとされることで、各フレーム画像データにおいて斜線部とした部分は、最終的なパノラマ画像に使用されない画像領域となる。
シームには、図3Aに示すようにスイープ方向に垂直な直線や、図3Bに示すように非直線(曲線など)とすることができる。
この図3A、図3Bにおいて、シームSM0はフレーム画像データFM#0,FM#1間のシーム、シームSM1はフレーム画像データFM#1,FM#2間のシーム、・・・シームSM(n−2)はフレーム画像データFM#(n−2),FM#(n−1)間のシームとして示している。
なお、これらシームSM0〜SM(n−2)が合成時の隣接画像間のシームとされることで、各フレーム画像データにおいて斜線部とした部分は、最終的なパノラマ画像に使用されない画像領域となる。
また、パノラマ合成を行う際には、シーム付近の画像の不自然さを低減することを目的とし、シーム前後の画像領域についてブレンド処理することも行われる場合もある。ブレンド処理については図12で後述する。
そして、各フレーム画像データの共通部分を広範囲にブレンド処理することによって接合させる場合や、パノラマ画像に寄与する画素を共通部分から画素毎に選択する場合もあり、これらの場合には、シームは明確には存在しないが、この広範囲な接合部分も広義のシームといえる。
そして、各フレーム画像データの共通部分を広範囲にブレンド処理することによって接合させる場合や、パノラマ画像に寄与する画素を共通部分から画素毎に選択する場合もあり、これらの場合には、シームは明確には存在しないが、この広範囲な接合部分も広義のシームといえる。
また図2Bに示したように、各フレーム画像データの位置合わせの結果、一般的にスイープ方向だけでなく、スイープと垂直な方向にも若干の移動が認められる。これは撮像者のスイープ時の手振れ等によって生じるズレである。
各フレーム画像データのシームを決定し、その境界領域をブレンド処理することによって接合を行い、最終的に手振れ量を考慮してスイープと垂直な方向な不要な部分をトリミングすることによって、図4Aに示すような、スイープ方向を長辺方向とする、広画角のパノラマ画像を得ることができる。
図4Aでは不定形状線の縦線がシームを示しており、n個のフレーム画像データFM#0〜FM#(n−1)がシームSM0〜SM(n−2)でそれぞれ接合されてパノラマ画像が生成されている状態を模式的に示している。
図4Aでは不定形状線の縦線がシームを示しており、n個のフレーム画像データFM#0〜FM#(n−1)がシームSM0〜SM(n−2)でそれぞれ接合されてパノラマ画像が生成されている状態を模式的に示している。
なお詳しくは続いて説明していくが、本実施の形態のシーム決定のための処理としては、まず第1段階として、図4Bのように直線状の基準線としてのシーム基準aSM0〜aSM(n−2)を決定する。そして第2段階として、各シーム基準aSM0〜aSM(n−2)のそれぞれの周辺領域を探索して、図4Aに示すような不定形状線のシームSM0〜SM(n−2)を決定するものとなる。
<3.実施の形態のパノラマ合成アルゴリズム>
次に、本実施の形態の撮像装置1のパノラマ合成処理についての詳細を説明する。
図5はパノラマ合成処理のために画像処理部102及び制御部103において実行される処理を、機能構成として示し、それらの機能構成部位によって実行される処理を示している。
そして機能構成としては、一点鎖線でそれぞれ示すように、被写体情報検出部20、シーム決定処理部21、画像合成部22、パノラマ合成準備処理部23、シーム基準決定処理部24を備える。
次に、本実施の形態の撮像装置1のパノラマ合成処理についての詳細を説明する。
図5はパノラマ合成処理のために画像処理部102及び制御部103において実行される処理を、機能構成として示し、それらの機能構成部位によって実行される処理を示している。
そして機能構成としては、一点鎖線でそれぞれ示すように、被写体情報検出部20、シーム決定処理部21、画像合成部22、パノラマ合成準備処理部23、シーム基準決定処理部24を備える。
被写体情報検出部20は、パノラマ画像生成に用いる一連のn個のフレーム画像データの入力過程で、各フレーム画像データ毎に被写体情報を検出する。
この例では動被写体検出処理202、検出・認識処理203を行う。
この例では動被写体検出処理202、検出・認識処理203を行う。
シーム基準決定処理部24は、隣接するフレーム画像データ間のシームSMを決定する基準線となるシーム基準aSM(aSM0〜aSM(n−2))を、被写体情報検出部20で検出された被写体情報を用いて求める処理(シーム基準決定処理207)を行う。
シーム決定処理部21は、隣接フレーム画像データ間の重なり範囲のうちで、シーム基準決定処理部24で決定された隣接フレーム画像データ間のシーム基準aSMに基づいて設定される判定領域内のみで、被写体情報検出部20で検出された被写体情報を用いて隣接フレーム画像データ間のシームSMを決定する処理(シーム決定処理205)を行う。
画像合成部22は、シーム決定処理部21で確定されたシームSM0〜SM(n−2)に基づいて、各フレーム画像データFM#0〜FM#(n−1)を合成していくことで、n個のフレーム画像データを用いたパノラマ画像データを生成するスティッチ処理206を行う。
パノラマ合成準備処理部23は、パノラマ合成を精度良く行うために必要な準備処理として、例えば前処理200、画像レジストレーション処理201、再投影処理204を行う。
本実施の形態の動作を実現するには、被写体情報検出部20、シーム基準決定処理部24、シーム決定処理部21、画像合成部22を有することが好ましい。但し、画像合成部22の処理や被写体情報検出部20の処理は、外部機器で行うようにしてもよく、本実施の形態の画像処理装置としてはシーム基準決定処理部24、シーム決定処理部21を少なくとも備えることが必要となる。
言い換えれば、画像処理装置が、撮像装置1に内蔵されたり、或いは後述するコンピュータ装置のような情報処理装置において実現されたり、さらには単体機器として実現される場合、その画像処理装置は、シーム決定処理部21とシーム基準決定処理部24を備える。また画像処理装置としては加えて画像合成部22や被写体情報検出部20の一方又は両方を含む場合もある。
言い換えれば、画像処理装置が、撮像装置1に内蔵されたり、或いは後述するコンピュータ装置のような情報処理装置において実現されたり、さらには単体機器として実現される場合、その画像処理装置は、シーム決定処理部21とシーム基準決定処理部24を備える。また画像処理装置としては加えて画像合成部22や被写体情報検出部20の一方又は両方を含む場合もある。
各処理について説明する。
前処理200の対象となる入力画像群とは、撮像者が撮像装置1でパノラマ撮像を実行しているときに順次得られるフレーム画像データFM#0、FM#1、FM#2・・・である。
まずパノラマ合成準備処理部23では、撮像者のパノラマ撮像操作によって撮像された画像(各フレーム画像データ)に対して、パノラマ合成処理に対する前処理200を行う。なお、入力される画像は、通常の撮像時と同様の画像処理は行われているものとする。
入力された画像はレンズユニット100の特性に基づく収差の影響を受けている。特にレンズの歪曲収差は、画像レジストレーション処理201に悪影響を与え、位置合わせの精度を低下させる。さらに合成されたパノラマ画像のシーム付近にアーティファクトも発生させるため、この前処理200において歪曲収差の補正を行う。歪曲収差の補正によって、動被写体検出処理202、検出・認識処理203の精度を向上させる効果もある。
前処理200の対象となる入力画像群とは、撮像者が撮像装置1でパノラマ撮像を実行しているときに順次得られるフレーム画像データFM#0、FM#1、FM#2・・・である。
まずパノラマ合成準備処理部23では、撮像者のパノラマ撮像操作によって撮像された画像(各フレーム画像データ)に対して、パノラマ合成処理に対する前処理200を行う。なお、入力される画像は、通常の撮像時と同様の画像処理は行われているものとする。
入力された画像はレンズユニット100の特性に基づく収差の影響を受けている。特にレンズの歪曲収差は、画像レジストレーション処理201に悪影響を与え、位置合わせの精度を低下させる。さらに合成されたパノラマ画像のシーム付近にアーティファクトも発生させるため、この前処理200において歪曲収差の補正を行う。歪曲収差の補正によって、動被写体検出処理202、検出・認識処理203の精度を向上させる効果もある。
次にパノラマ合成準備処理部23は、前処理200を行ったフレーム画像データに対して、画像レジストレーション処理201を行う。
パノラマ合成時には複数のフレーム画像データを単一の座標系に座標変換する必要があるが、この単一の座標系をパノラマ座標系と呼ぶことにする。
画像レジストレーション処理201は、2枚の連続するフレーム画像データを入力し、パノラマ座標系での位置合わせを行う処理である。2枚のフレーム画像データについての画像レジストレーション処理201によって得られる情報は、あくまで2枚の画像座標間の相対関係であるが、複数枚の画像座標系のうち一つ(例えば最初のフレーム画像データの座標系)を選び、パノラマ座標系に固定することによって、すべてのフレーム画像データの座標系をパノラマ座標系に変換することができる。
パノラマ合成時には複数のフレーム画像データを単一の座標系に座標変換する必要があるが、この単一の座標系をパノラマ座標系と呼ぶことにする。
画像レジストレーション処理201は、2枚の連続するフレーム画像データを入力し、パノラマ座標系での位置合わせを行う処理である。2枚のフレーム画像データについての画像レジストレーション処理201によって得られる情報は、あくまで2枚の画像座標間の相対関係であるが、複数枚の画像座標系のうち一つ(例えば最初のフレーム画像データの座標系)を選び、パノラマ座標系に固定することによって、すべてのフレーム画像データの座標系をパノラマ座標系に変換することができる。
画像レジストレーション処理201で行う具体的な処理は、以下の二つに大別される。
1.画像内のローカルな動きを検出する。
2.上記で求めたローカルな動き情報から、画像全体のグローバルな動きを求める。
1.画像内のローカルな動きを検出する。
2.上記で求めたローカルな動き情報から、画像全体のグローバルな動きを求める。
上記1の処理では一般的に、
・ブロックマッチング
・Harris,Hessian,SIFT,SURF,FASTなどの特徴点抽出及び特徴点マッチング
などが用いられ、画像の特徴点のローカルベクトルを求める。
・ブロックマッチング
・Harris,Hessian,SIFT,SURF,FASTなどの特徴点抽出及び特徴点マッチング
などが用いられ、画像の特徴点のローカルベクトルを求める。
上記2の処理では、上記1の処理で求められたローカルベクトル群を入力として、
・最小二乗法
・M−Estimator
・最小メジアン法(LMedS)
・RANSAC(RANdom SAmple Consensus)
などのロバスト推定手法が用いられ、2枚間の座標系の関係を記述する最適なアフィン変換行列や射影変換行列(Homography)を求める。本明細書では、これらの情報を画像レジストレーション情報と呼ぶことにする。
・最小二乗法
・M−Estimator
・最小メジアン法(LMedS)
・RANSAC(RANdom SAmple Consensus)
などのロバスト推定手法が用いられ、2枚間の座標系の関係を記述する最適なアフィン変換行列や射影変換行列(Homography)を求める。本明細書では、これらの情報を画像レジストレーション情報と呼ぶことにする。
またパノラマ合成準備処理部23は再投影処理204を行う。
再投影処理204では、画像レジストレーション処理201によって得られた画像レジストレーション情報に基づき、すべてのフレーム画像データを単一の平面、あるいは円筒面、球面などの単一の曲面に投影処理を行う。また同時に、動被写体情報、検出・認識情報についても同一平面もしくは曲面に投影処理を行う。
フレーム画像データの再投影処理204は、ピクセル処理の最適化を考慮して、スティッチ処理206の前段処理として、もしくはスティッチ処理206の一部として行ってもよい。また簡易的に画像レジストレーション処理201の前、例えば前処理200の一部として行ってもよい。またさらに簡略化して、処理そのものを行わず円筒投影処理の近似として扱ってもよい。
再投影処理204では、画像レジストレーション処理201によって得られた画像レジストレーション情報に基づき、すべてのフレーム画像データを単一の平面、あるいは円筒面、球面などの単一の曲面に投影処理を行う。また同時に、動被写体情報、検出・認識情報についても同一平面もしくは曲面に投影処理を行う。
フレーム画像データの再投影処理204は、ピクセル処理の最適化を考慮して、スティッチ処理206の前段処理として、もしくはスティッチ処理206の一部として行ってもよい。また簡易的に画像レジストレーション処理201の前、例えば前処理200の一部として行ってもよい。またさらに簡略化して、処理そのものを行わず円筒投影処理の近似として扱ってもよい。
被写体情報検出部20は、前処理200が行われた各フレーム画像データについて、動被写体検出処理202、検出・認識処理203を行う。
パノラマ合成処理は、複数枚のフレーム画像データを合成するという特性上、撮像シーンに動被写体が存在すると動被写体の一部が分断されたり、ぼやけるなどの画像の破綻や画質の低下の原因となる。そのため動被写体を検出した上で、動被写体を避けてパノラマのシームを決定することが好ましい。
パノラマ合成処理は、複数枚のフレーム画像データを合成するという特性上、撮像シーンに動被写体が存在すると動被写体の一部が分断されたり、ぼやけるなどの画像の破綻や画質の低下の原因となる。そのため動被写体を検出した上で、動被写体を避けてパノラマのシームを決定することが好ましい。
動被写体検出処理202は、2枚以上の連続するフレーム画像データを入力し、動被写体の検出を行う処理である。具体的な処理の例は、画像レジストレーション処理201によって得られた画像レジストレーション情報により、実際に位置合わせを行った2枚のフレーム画像データの画素の差分値がある閾値以上の場合に、その画素を動被写体と判定するものである。
あるいは、画像レジストレーション処理201のロバスト推定時に外れ値(アウトライア)として判断された、特徴点情報を利用して判定を行っても良い。
あるいは、画像レジストレーション処理201のロバスト推定時に外れ値(アウトライア)として判断された、特徴点情報を利用して判定を行っても良い。
検出・認識処理203では、撮像されたフレーム画像データ内の人間の顔や身体、動物などの位置情報を検出する。人間や動物は動被写体である可能性が高く、仮に動いていなかったとしても、その被写体上にパノラマのシームが決定された場合、他の物体と比べて視感上の違和感を生じることが多いので、これらの物体を避けてシームを決定することが好ましい。つまりこの検出・認識処理203で得られた情報は、動被写体検出処理202の情報を補うために利用される。
シーム基準決定処理207、シーム決定処理205は、再投影処理204からの画像データ、画像レジストレーション処理201からの画像レジストレーション情報、動被写体検出処理202からの動被写体情報、検出・認識処理203からの検出・認識情報を入力とし、パノラマ画像として破綻の少ない、適切なシームSMを決定するための処理である。
その際にシーム基準決定処理207では、スイープ方向に垂直な直線状の基準線として最適なシーム基準aSMを決定する。
またシーム決定処理205では、シーム基準決定処理207で決定したシーム基準aSMの周辺領域となる判定領域内を探索し、不定形状線の最適なシームSMを決定する。
このように、まずシーム基準aSMとしての最適な基準線を決定し、この基準線に応じた判定領域内で不定形状線の最適なシームSMを決定するという2段階処理を行うことになる。
なお、シーム基準aSMとは、簡易的に求めたシームであるともいえる。その意味で2段階処理とは、まず簡易的に直線状のシームを決定し、その後、直線状のシームの周辺領域を判定領域として高精度のシーム設定、つまり直線、非直線に関わらず画像内容に応じて最適化された最終的なシーム(不定形状線のシーム)の決定を行うものであるといえる。
その際にシーム基準決定処理207では、スイープ方向に垂直な直線状の基準線として最適なシーム基準aSMを決定する。
またシーム決定処理205では、シーム基準決定処理207で決定したシーム基準aSMの周辺領域となる判定領域内を探索し、不定形状線の最適なシームSMを決定する。
このように、まずシーム基準aSMとしての最適な基準線を決定し、この基準線に応じた判定領域内で不定形状線の最適なシームSMを決定するという2段階処理を行うことになる。
なお、シーム基準aSMとは、簡易的に求めたシームであるともいえる。その意味で2段階処理とは、まず簡易的に直線状のシームを決定し、その後、直線状のシームの周辺領域を判定領域として高精度のシーム設定、つまり直線、非直線に関わらず画像内容に応じて最適化された最終的なシーム(不定形状線のシーム)の決定を行うものであるといえる。
シーム基準決定処理部24によるシーム基準決定処理207の具体的な処理を説明する。
まず図6により、重なり領域におけるコスト関数の定義について説明する。
パノラマ座標系においてスイープ方向の座標軸をx軸、x軸と垂直な軸をy軸とする。そして図6Aのように、ak≦x≦bkの領域において時刻kに撮像したフレーム画像データFM#(k)と、時刻k+1に撮像したフレーム画像データFM#(k+1)が重なり合っているとする。
まず図6により、重なり領域におけるコスト関数の定義について説明する。
パノラマ座標系においてスイープ方向の座標軸をx軸、x軸と垂直な軸をy軸とする。そして図6Aのように、ak≦x≦bkの領域において時刻kに撮像したフレーム画像データFM#(k)と、時刻k+1に撮像したフレーム画像データFM#(k+1)が重なり合っているとする。
この重なり領域(ak〜bk)における、動被写体検出処理202からの動被写体情報、検出・認識処理203からの検出・認識情報のそれぞれに対して適当な重みをつけ、x軸方向に射影した上で、全情報について積分したものをコスト関数fk (x)と定義する。 すなわち、
但し、
・moi=0,1:動被写体検出情報(0≦i≦Nmo−1)
・wmoi:動被写体検出情報に対する重み関数(0≦i≦Nmo−1)
・detj=0,1:検出・認識情報(0≦j≦Ndet−1)
・wdetj:検出・認識情報に対する重み関数(0≦j≦Ndet−1)
と定義する。
但し、
・moi=0,1:動被写体検出情報(0≦i≦Nmo−1)
・wmoi:動被写体検出情報に対する重み関数(0≦i≦Nmo−1)
・detj=0,1:検出・認識情報(0≦j≦Ndet−1)
・wdetj:検出・認識情報に対する重み関数(0≦j≦Ndet−1)
と定義する。
コスト関数値が高いほど、そのライン上には動被写体や人体などの物体が多く存在することを意味する。前述の通り、パノラマ画像における破綻を最小限に抑えるためには、最終的なシームSM(及びシーム基準aSM)はこれらの物体を避けて決めるべきであるので、コスト関数値の低いx座標値をシーム基準の位置とすればよい。
動被写体検出処理202、検出・認識処理203は、通常数〜数十画素を一辺にもつブロック単位で行われるため、コスト関数fk (x)はxが整数値で定義された離散関数である。
動被写体検出情報に対する重み関数wmoiは、例えばその動被写体における動き量の大きさとすれば、動き量の大きい物体のある領域ほどシームSM(及びシーム基準aSM)になりにくくなる。
動被写体検出情報に対する重み関数wmoiは、例えばその動被写体における動き量の大きさとすれば、動き量の大きい物体のある領域ほどシームSM(及びシーム基準aSM)になりにくくなる。
図6Aにおいては、フレーム画像データFM#(k)、FM#(k+1)の重なり領域(ak〜bk)における、動被写体情報、検出・認識情報の該当画素ブロックを例示している。この場合、例えばx軸上のak≦x≦bkの範囲で上記(数1)のコスト関数fk (x)で求められるコスト値は例えば図6Bのようになる。
そして、コスト値の最も低いx座標値(xk)が、2つのフレーム画像データFM#(k)、FM#(k+1)間のシームSM(及びシーム基準aSM)として適切な位置となる。
シーム基準決定処理207では、このようにコスト関数を用いて、シーム基準aSMとして適切なx座標値を算出する。
そして、コスト値の最も低いx座標値(xk)が、2つのフレーム画像データFM#(k)、FM#(k+1)間のシームSM(及びシーム基準aSM)として適切な位置となる。
シーム基準決定処理207では、このようにコスト関数を用いて、シーム基準aSMとして適切なx座標値を算出する。
但し、ここでの説明はあくまでも2つのフレーム画像データ間のコスト関数でみた場合である。図4で説明したようにパノラマ画像はn個のフレーム画像データFM#0〜FM#(n−1)についてシームSM0〜SM(n−2)で接合して生成する。この場合にシームSM0〜SM(n−2)の組み合わせを最適化する必要がある。例えばシームSM2がシームSM1よりも図4A上で左側となるなどが生じたりすることがないように組み合わせを最適化する。
本実施の形態の場合、シーム決定処理部21によるシーム決定処理205は、上述のようにシーム基準aSMに基づく判定領域内でシームSMを決定する。つまりシームSM0〜SM(n−2)のそれぞれは、シーム基準aSM0〜aSM(n−2)に基づく判定領域内で決定される。
従ってシーム決定処理205で求められる最終的なシームSM0〜SM(n−2)の組み合わせを最適化するには、各フレーム画像データ間で求める各シーム基準aSM0〜aSM(n−2)の組み合わせを最適化すればよい。
このためシーム基準決定処理部24でのシーム基準決定処理207では、単に2枚のフレーム画像データ間で、シーム基準を決定するものではない。詳しくは後に述べる。
本実施の形態の場合、シーム決定処理部21によるシーム決定処理205は、上述のようにシーム基準aSMに基づく判定領域内でシームSMを決定する。つまりシームSM0〜SM(n−2)のそれぞれは、シーム基準aSM0〜aSM(n−2)に基づく判定領域内で決定される。
従ってシーム決定処理205で求められる最終的なシームSM0〜SM(n−2)の組み合わせを最適化するには、各フレーム画像データ間で求める各シーム基準aSM0〜aSM(n−2)の組み合わせを最適化すればよい。
このためシーム基準決定処理部24でのシーム基準決定処理207では、単に2枚のフレーム画像データ間で、シーム基準を決定するものではない。詳しくは後に述べる。
なお、検出・認識情報に対する重み関数wdstjは、例えば顔検出、人体検出など検出器の種別において変更したり、あるいは検出時の信頼性(スコア値)としたり、検出された座標によって変更するなどによって、コスト関数値を調整することが考えられる。
さらに動被写体検出処理202と検出・認識処理203の検出精度、信頼度が異なる場合、検出精度、信頼度が高い方の重み関数を、低い方の重み関数に比べて、相対的に高く設定することによって、検出精度、信頼度をコスト関数に反映することができる。
このようにシーム基準決定処理部24では、コスト関数fk (x)を、被写体情報の信頼度を反映する関数としてもよい。
さらに動被写体検出処理202と検出・認識処理203の検出精度、信頼度が異なる場合、検出精度、信頼度が高い方の重み関数を、低い方の重み関数に比べて、相対的に高く設定することによって、検出精度、信頼度をコスト関数に反映することができる。
このようにシーム基準決定処理部24では、コスト関数fk (x)を、被写体情報の信頼度を反映する関数としてもよい。
またシーム基準決定処理部24は、コスト関数を、画像の空間的条件を反映するコスト関数f’k (x)としてもよい。
即ち上記(数1)式では、動被写体情報、検出・認識情報のみからコスト関数fk (x)を定義したが、さらにこのコスト関数fk (x)に対して、g(x, fk (x))によって、新たなコスト関数f’k (x)を定義する。
即ち上記(数1)式では、動被写体情報、検出・認識情報のみからコスト関数fk (x)を定義したが、さらにこのコスト関数fk (x)に対して、g(x, fk (x))によって、新たなコスト関数f’k (x)を定義する。
この新たなコスト関数f’k (x)を使用することによって、動被写体情報、検出・認識情報だけでは表現できない、空間的なコスト値の調整を行うことができる。
一般的に、レンズの収差の影響で画像周辺部の画質は、中心部の画質よりも劣る傾向がある。そのため、画像周辺部をパノラマ画像になるべく使用しないようにしたい。このためには、シームを重なり領域の中央付近で決定すればよい。
そこで、例えば以下のようなg(x, fk (x))を用いて、コスト関数f’k (x)を定義すればよい。
但しt0、t1は正の定数値である。
一般的に、レンズの収差の影響で画像周辺部の画質は、中心部の画質よりも劣る傾向がある。そのため、画像周辺部をパノラマ画像になるべく使用しないようにしたい。このためには、シームを重なり領域の中央付近で決定すればよい。
そこで、例えば以下のようなg(x, fk (x))を用いて、コスト関数f’k (x)を定義すればよい。
但しt0、t1は正の定数値である。
空間的条件を反映するコスト関数f’k (x)を図7で模式的に説明する。
図7Aは、重なり領域(ak〜bk)において、上記(数1)のコスト関数fk (x)で与えられるコスト値を示している。図6Bではコスト値を曲線で示したが、コスト関数fk (x)はxが整数値で定義された離散関数であることから、実際には図7Aのように棒グラフ状となる。
この場合、図中のx座標値のxp〜xqの範囲でコスト値が最小となっているため、この座標値xp〜xqの範囲であれば、x座標値をシーム基準としても良い。しかし、上記のようになるべくシーム基準aSM(ひいては最終的なシームSM)を重なり領域の中央付近としたい。
図7Aは、重なり領域(ak〜bk)において、上記(数1)のコスト関数fk (x)で与えられるコスト値を示している。図6Bではコスト値を曲線で示したが、コスト関数fk (x)はxが整数値で定義された離散関数であることから、実際には図7Aのように棒グラフ状となる。
この場合、図中のx座標値のxp〜xqの範囲でコスト値が最小となっているため、この座標値xp〜xqの範囲であれば、x座標値をシーム基準としても良い。しかし、上記のようになるべくシーム基準aSM(ひいては最終的なシームSM)を重なり領域の中央付近としたい。
ここで、上記(数3)の、t0・|x−(bk−ak)/2|の項は、図7Bのような係数値を与えることを意味する。即ち画像の中央に行くほどコストが低くなるような係数である。なお、(数3)のt1はコスト関数fk (x)によるコスト値が0となる場合(動被写体が存在しない部分など)で係数によってコスト値の差が無くなってしまうことを避けるためのオフセット値である。
結局図7Bのような係数値が反映されることで、重なり領域(ak〜bk)において、上記(数3)のコスト関数f’k (x)で与えられるコスト値は、図7Cのようになる。すると、座標値xpが、シーム基準aSMとして選択される。これはつまり、なるべく重なり領域の中央付近で最終的なシームSMが決められるようにするための関数となる。
結局図7Bのような係数値が反映されることで、重なり領域(ak〜bk)において、上記(数3)のコスト関数f’k (x)で与えられるコスト値は、図7Cのようになる。すると、座標値xpが、シーム基準aSMとして選択される。これはつまり、なるべく重なり領域の中央付近で最終的なシームSMが決められるようにするための関数となる。
例えば以上のように、コスト関数を適切に設計することにより、各種の条件を織り込んだ最適なシーム基準aSMを選択することができる。
ここまで2つのフレーム画像データ間の重なり領域において、最適なシーム基準aSMを決めるためにはコスト関数値が最小になる位置として求めれば良いことを説明した。
次にn(n>2)枚のフレーム画像データを合成するときの最適なシーム基準aSM0〜aSM(n−2)の組み合わせを求める手法について説明する。
次にn(n>2)枚のフレーム画像データを合成するときの最適なシーム基準aSM0〜aSM(n−2)の組み合わせを求める手法について説明する。
n個のフレーム画像データFM#0〜FM#(n−1)を考えた場合、その重なり領域の数はn−1個になり、コスト関数もn−1個定義されることになる。
図8はn個のフレーム画像データを考えた場合のコスト関数の関係を示したものである。即ちフレーム画像データFM#0、FM#1間のコスト関数f0、フレーム画像データFM#1、FM#2間のコスト関数f1、・・・フレーム画像データFM#(n−2)、FM#(n−1)間のコスト関数fn-2を示している。
n個のフレーム画像データをパノラマ合成し、全体として最適なシームを選ぶためには、
を最小にするx0、x1・・・xn-2を求めれば良い。
ただしxkは以下を満たす整数値である。
・xk-1+α≦xk≦xk+1−α (シームの拘束条件)
・ak≦xk≦bk (コスト関数の定義域)
図8はn個のフレーム画像データを考えた場合のコスト関数の関係を示したものである。即ちフレーム画像データFM#0、FM#1間のコスト関数f0、フレーム画像データFM#1、FM#2間のコスト関数f1、・・・フレーム画像データFM#(n−2)、FM#(n−1)間のコスト関数fn-2を示している。
n個のフレーム画像データをパノラマ合成し、全体として最適なシームを選ぶためには、
を最小にするx0、x1・・・xn-2を求めれば良い。
ただしxkは以下を満たす整数値である。
・xk-1+α≦xk≦xk+1−α (シームの拘束条件)
・ak≦xk≦bk (コスト関数の定義域)
ここでαは隣接するシーム基準aSM(又はシームSM)の最低間隔を定義する定数値である。
上記(数4)を最小化する問題は、一般に組み合わせ最適化問題と呼ばれ、以下のような解法が知られている。
・厳密解を求める解法
−分枝限定法
−Memoization
−動的計画法(Dynamic Programming)
−グラフカット
・近似解を求める解法
−局所探索法(山登り法)
−焼きなまし法(Simulated Annealing)
−タブーサーチ
−遺伝的アルゴリズム(Genetic Algorithm)
以上のいずれかの手法により(数4)の最小化問題を解く事が可能である。
上記(数4)を最小化する問題は、一般に組み合わせ最適化問題と呼ばれ、以下のような解法が知られている。
・厳密解を求める解法
−分枝限定法
−Memoization
−動的計画法(Dynamic Programming)
−グラフカット
・近似解を求める解法
−局所探索法(山登り法)
−焼きなまし法(Simulated Annealing)
−タブーサーチ
−遺伝的アルゴリズム(Genetic Algorithm)
以上のいずれかの手法により(数4)の最小化問題を解く事が可能である。
以上の処理により、スイープ方向に垂直な直線としての最適なシーム基準aSM0〜SM(n−2)を決定することができる。
なお、ここでは、パノラマ合成を行うn個の全フレーム画像データFM#0〜FM#(n−1)を対象として、各隣接フレーム画像データ間のn−2個のシーム基準aSM0〜SM(n−2)を求める場合を述べた。具体的な処理例として後述するパノラマ合成処理例Iでは、この手法を用いる。
なお、ここでは、パノラマ合成を行うn個の全フレーム画像データFM#0〜FM#(n−1)を対象として、各隣接フレーム画像データ間のn−2個のシーム基準aSM0〜SM(n−2)を求める場合を述べた。具体的な処理例として後述するパノラマ合成処理例Iでは、この手法を用いる。
但し、パノラマ合成処理例II、IIIでは、パノラマ画像生成に用いる一連のn個のフレーム画像データの入力過程で、(m+1)個(但しm<n)のフレーム画像データ群毎に、各シーム基準aSM0〜SM(m−1)を、被写体情報検出部20で検出された被写体情報を用いた最適位置判定処理によって求める。そしてm個以下のシーム基準を決定させる処理を、一連のフレーム画像データの入力過程で順次行うようにしている。
このように、m+1個のフレーム画像データ(但しm<n)について、m個のシーム基準を求める処理を順次行う場合、上記(数4)を最小とするm個のシーム基準(例えばx0、x1・・・xm)を求めれば良いものとなる。
このように、m+1個のフレーム画像データ(但しm<n)について、m個のシーム基準を求める処理を順次行う場合、上記(数4)を最小とするm個のシーム基準(例えばx0、x1・・・xm)を求めれば良いものとなる。
以上のようにシーム基準決定処理部24で決定されるシーム基準aSMの例、及びシーム基準aSMに応じた判定領域AR1の例を図9に示す。
図9ではフレーム画像データFM#(k)、FM#(k+1)の重なり領域(ak〜bk)におけるシーム基準aSM(k)を例示している。この場合、コスト関数fk (x)が設定され、さらに上記(数4)の組み合わせ最適化により、最終的にx座標値(xk)が、2つのフレーム画像データFM#(k)、FM#(k+1)間のシーム基準aSM(k)とされたとする。
シーム基準aSM(k)は、図示のようにスイープ方向(x軸方向)に垂直な直線状とされる。
そして例えば、このシーム基準aSM(k)としての線から、スイープ方向及びその逆方向に、所定の距離β内となる範囲、つまりx座標値として(xk−β)から(xk+β)の範囲となる斜線部の領域が判定領域AR1とされる。
図9ではフレーム画像データFM#(k)、FM#(k+1)の重なり領域(ak〜bk)におけるシーム基準aSM(k)を例示している。この場合、コスト関数fk (x)が設定され、さらに上記(数4)の組み合わせ最適化により、最終的にx座標値(xk)が、2つのフレーム画像データFM#(k)、FM#(k+1)間のシーム基準aSM(k)とされたとする。
シーム基準aSM(k)は、図示のようにスイープ方向(x軸方向)に垂直な直線状とされる。
そして例えば、このシーム基準aSM(k)としての線から、スイープ方向及びその逆方向に、所定の距離β内となる範囲、つまりx座標値として(xk−β)から(xk+β)の範囲となる斜線部の領域が判定領域AR1とされる。
シーム決定処理部21によるシーム決定処理205では、この判定領域AR1内のみを対象として、2次元コスト探索を行って、最終的なシームSMを決定することとなる。
シーム決定処理205の具体的な処理を説明する。
パノラマ画像として動被写体を分断せず、破綻の少ない不定形状シームは、直線シーム(つまりシーム基準aSMとしての直線)の近傍領域付近に存在していると考えられる。そこでシーム決定処理205では、シーム基準aSMの周辺である判定領域AR1内のみを部分的に探索し、最適な不定形状のシームSMを決定する。
シーム決定処理205の具体的な処理を説明する。
パノラマ画像として動被写体を分断せず、破綻の少ない不定形状シームは、直線シーム(つまりシーム基準aSMとしての直線)の近傍領域付近に存在していると考えられる。そこでシーム決定処理205では、シーム基準aSMの周辺である判定領域AR1内のみを部分的に探索し、最適な不定形状のシームSMを決定する。
図10Aに不定形状のシームSMの例を示している。シームSMは、判定領域AR1内で決定されることになる。
こうして求めた不定形状のシームSMは、フレーム間の重なり領域(ak〜bk)の全体を対象として最適化を行った場合の不定形状シームに対しての十分に精度のよい近似解となる。
つまり、重なり領域(ak〜bk)の全体を対象として探索するということをせず、(xk−β)から(xk+β)の範囲となる判定領域AR1に絞って探索を行うことで、処理負担を大きく軽減しつつ、重なり領域(ak〜bk)の全体を対象とした場合と遜色のない精度のシーム決定を行うことができるようにしている。
こうして求めた不定形状のシームSMは、フレーム間の重なり領域(ak〜bk)の全体を対象として最適化を行った場合の不定形状シームに対しての十分に精度のよい近似解となる。
つまり、重なり領域(ak〜bk)の全体を対象として探索するということをせず、(xk−β)から(xk+β)の範囲となる判定領域AR1に絞って探索を行うことで、処理負担を大きく軽減しつつ、重なり領域(ak〜bk)の全体を対象とした場合と遜色のない精度のシーム決定を行うことができるようにしている。
なお、決定されるシームSMは、あくまで判定領域AR1内での2次元コスト探索で決められるもので、最終的に決定されるシームSMとしての線の形状は不定である。例えば図10Aのように蛇行する曲線となったり、或いは図10Bに示す折れ線状となることもある。また図10Cのように直線状となったり、図10Dのように曲線部分と直線部分がつながるような線となることもある。
判定領域AR1内において、最適な不定形状のシームSMを求める手法を説明する。
判定領域AR1としての(xk−β)〜(xk+β)における、動被写体検出処理202からの動被写体情報、検出・認識処理203からの検出・認識情報を、それぞれに対して適当な重みをつけたものをコスト関数gk(x,y)と定義する。
上述のシーム基準決定処理207の場合のコスト関数と異なり、1次元射影をしないため、2変数関数となる。
判定領域AR1としての(xk−β)〜(xk+β)における、動被写体検出処理202からの動被写体情報、検出・認識処理203からの検出・認識情報を、それぞれに対して適当な重みをつけたものをコスト関数gk(x,y)と定義する。
上述のシーム基準決定処理207の場合のコスト関数と異なり、1次元射影をしないため、2変数関数となる。
すなわち
但し、
・moi=0,1:動被写体検出情報(0≦i≦Nmo−1)
・wmoi:動被写体検出情報に対する重み関数(0≦i≦Nmo−1)
・detj=0,1:検出・認識情報(0≦j≦Ndet−1)
・wdetj:検出・認識情報に対する重み関数(0≦j≦Ndet−1)
と定義する。
但し、
・moi=0,1:動被写体検出情報(0≦i≦Nmo−1)
・wmoi:動被写体検出情報に対する重み関数(0≦i≦Nmo−1)
・detj=0,1:検出・認識情報(0≦j≦Ndet−1)
・wdetj:検出・認識情報に対する重み関数(0≦j≦Ndet−1)
と定義する。
また別のコスト関数として、判定領域AR1の画素の輝度差分の絶対値を選択してもよい。すなわち、
としてもよい。
但し、Ik(x,y)は、パノラマ座標(x,y)におけるフレームFM#(k)の画素の輝度値である。
としてもよい。
但し、Ik(x,y)は、パノラマ座標(x,y)におけるフレームFM#(k)の画素の輝度値である。
これらのコスト関数に対して、コストを最小にする不定形状の経路を求める.法として、
・動的計画法(Dynamic Programming)
・グラフカット
が一般的に知られており、疑似多項式時間で厳密解を求めることが可能である。
・動的計画法(Dynamic Programming)
・グラフカット
が一般的に知られており、疑似多項式時間で厳密解を求めることが可能である。
以上の処理により、2フレーム間の重なり領域における極めて最適に近いシームSMを決定することができる。
図11に、2変数関数によるコスト探索としてシームSMを求める処理のイメージを示した。図11は判定領域AR1となるx座標範囲及びy座標範囲において、縦軸を各画素のコストの値とする模式図である。
コストを最小にする不定形状の経路とは、図11の図における谷の部分を辿る経路ということになる。つまりその経路が、太破線で示すシームSM(k)となる。
図11に、2変数関数によるコスト探索としてシームSMを求める処理のイメージを示した。図11は判定領域AR1となるx座標範囲及びy座標範囲において、縦軸を各画素のコストの値とする模式図である。
コストを最小にする不定形状の経路とは、図11の図における谷の部分を辿る経路ということになる。つまりその経路が、太破線で示すシームSM(k)となる。
一般的に、2つのフレームの重なり領域全域に対して不定形状シームの探索を行う手法は、広範囲の2次元のコスト関数を保持しなければならず、メモリ使用量が大きくなる。また探索範囲も広いため、計算コストも大きくなる。
さらに複数の重なり領域自体が重なっている場合には、求めた不定形状シームが交錯する可能性があるため、例外処理を行う必要や、複雑な拘束条件を適用する必要がある。
それに対して本実施の形態の手法では、直線シームとして求めたシーム基準aSMの前後の判定領域AR1内のみの二次元探索を行うため、コスト関数の保持のためのメモリ量も、計算コストも小さい。さらにシーム基準aSMを求める際の制約αと、最終的なシームSMを求める際の制約βを、α≧βの関係に設定しておけば、複数の不定形状のシームSMが交錯する恐れもないため、処理も簡便になる。
結果として処理速度も高速化される。
さらに複数の重なり領域自体が重なっている場合には、求めた不定形状シームが交錯する可能性があるため、例外処理を行う必要や、複雑な拘束条件を適用する必要がある。
それに対して本実施の形態の手法では、直線シームとして求めたシーム基準aSMの前後の判定領域AR1内のみの二次元探索を行うため、コスト関数の保持のためのメモリ量も、計算コストも小さい。さらにシーム基準aSMを求める際の制約αと、最終的なシームSMを求める際の制約βを、α≧βの関係に設定しておけば、複数の不定形状のシームSMが交錯する恐れもないため、処理も簡便になる。
結果として処理速度も高速化される。
図5の画像合成部22ではスティッチ処理206を行う。
スティッチ処理205では、シーム決定処理205で決定された全てのシームSM0〜SM(n−2)の情報と、各フレーム画像データFM#0〜FM#(n−1)を使用して、最終的にパノラマ画像を生成する。
スティッチ処理205では、シーム決定処理205で決定された全てのシームSM0〜SM(n−2)の情報と、各フレーム画像データFM#0〜FM#(n−1)を使用して、最終的にパノラマ画像を生成する。
この場合、隣接するフレーム画像データ間を、単純にシームで接続させるようにしてもよいが、ブレンド処理を行うことが画質上好ましい。
図12でブレンド処理の一例を説明する。図12は、フレーム画像データFM#(k)とFM#(k+1)の合成を模式的に示している。確定されたシームSM(k)を太線で示している。
なお、フレーム画像データFM#(k)とFM#(k+1)の重なり領域のy軸状の範囲をy1〜y2としている。
また、y座標値=y1におけるシームSMのx座標値をx1、y座標値=y2におけるシームSMのx座標値をx2としている。
図12でブレンド処理の一例を説明する。図12は、フレーム画像データFM#(k)とFM#(k+1)の合成を模式的に示している。確定されたシームSM(k)を太線で示している。
なお、フレーム画像データFM#(k)とFM#(k+1)の重なり領域のy軸状の範囲をy1〜y2としている。
また、y座標値=y1におけるシームSMのx座標値をx1、y座標値=y2におけるシームSMのx座標値をx2としている。
画像合成部22は、シームSMとしての線からスイープ方向、及びその逆方向に、所定の距離γ内となる斜線部で示すブレンド領域BLを対象として、ブレンド処理を行って2つのフレーム画像データを合成することで、シームでの不自然さを低減する。
y座標値=y1について言えば、x1−γからx1+γがブレンド領域BL内であり、y座標値=y2についていえば、x2−γからx2+γがブレンド領域BL内となる。
それ以外の領域(重なり領域のうちの非斜線部)に対しては、単純な画素値のコピー、あるいはパノラマ座標系への再サンプリングのみを行い、すべての画像を接合する。
y座標値=y1について言えば、x1−γからx1+γがブレンド領域BL内であり、y座標値=y2についていえば、x2−γからx2+γがブレンド領域BL内となる。
それ以外の領域(重なり領域のうちの非斜線部)に対しては、単純な画素値のコピー、あるいはパノラマ座標系への再サンプリングのみを行い、すべての画像を接合する。
ブレンド処理は以下の演算で行う。
PIk(x,y):パノラマ座標(x,y)におけるパノラマ画像の画素値
Ik(x,y):パノラマ座標(x,y)におけるフレーム画像データFM#(k)の画素値
つまり、斜線部のブレンド領域BLにおけるy1〜y2の各y座標について、上記(数5)の演算を行ってブレンド処理を行えばよい。
PIk(x,y):パノラマ座標(x,y)におけるパノラマ画像の画素値
Ik(x,y):パノラマ座標(x,y)におけるフレーム画像データFM#(k)の画素値
つまり、斜線部のブレンド領域BLにおけるy1〜y2の各y座標について、上記(数5)の演算を行ってブレンド処理を行えばよい。
以上の画像合成部22のスティッチ処理206により、n個のフレーム画像データからのパノラマ合成画像を得ることができる。
<4.判定領域の設定例>
ここで判定領域AR1の設定について各種例を説明しておく。
図9で述べたように判定領域AR1はシーム基準aSMからx軸の±方向の距離βの範囲の領域とすることが考えられる。
この距離βの具体的な設定例は各種想定される。例えばβの値は固定値としてもよいし、可変設定されてもよい。
ここで判定領域AR1の設定について各種例を説明しておく。
図9で述べたように判定領域AR1はシーム基準aSMからx軸の±方向の距離βの範囲の領域とすることが考えられる。
この距離βの具体的な設定例は各種想定される。例えばβの値は固定値としてもよいし、可変設定されてもよい。
距離βを例えば固定のピクセル数PXとすれば、判定領域AR1は、シーム基準aSMを決定したら、シーム基準aSMのx座標値xからの±PXの範囲として一意に決まる。つまり(xk−PX)〜(xk+PX)の範囲である。
但しこの場合、判定領域AR1のx軸範囲(xk−PX)〜(xk+PX)が、フレームの重なり領域(ak〜bk)以上となることもあり得る。この場合、判定領域AR1は、フレームの重なり領域(ak〜bk)の全域となるが、そもそもこの場合は、判定領域AR1が狭い領域であるため、シーム決定処理205における2次元コスト探索のための処理が重くなるものではない。
但しこの場合、判定領域AR1のx軸範囲(xk−PX)〜(xk+PX)が、フレームの重なり領域(ak〜bk)以上となることもあり得る。この場合、判定領域AR1は、フレームの重なり領域(ak〜bk)の全域となるが、そもそもこの場合は、判定領域AR1が狭い領域であるため、シーム決定処理205における2次元コスト探索のための処理が重くなるものではない。
また距離βを例えば重なり領域(ak〜bk)の所定割合の値としてもよい。例えば重なり領域(ak〜bk)の距離の10%の値をβとした場合、判定領域AR1はシーム基準aSMを中央ラインとして重なり領域(ak〜bk)の20%の領域となる。
また距離βを固定のピクセル数とする場合の値や、距離βを重なり領域(ak〜bk)の所定割合の値とする場合の割合の値を、ユーザが任意に設定したり選択できるようにしてもよい。判定領域AR1は狭くするほど、シーム決定処理205の演算負担は軽く処理速度は速くなるが、広いほどシームSMの精度は高くなる。従って処理速度を優先するか、シーム品質を優先するかにより、ユーザが任意に設定できる用にすることは有用である。
また、決定したシーム基準aSMの信頼性によって距離βの値を可変してもよい。
図13Aはβ値を小さくして判定領域AR1を狭くした状態、図13Cはβ値を大きくして判定領域AR1を広くした状態をそれぞれ示している。このように距離βの値を可変して判定領域AR1を最適化できる。
例えば重なり領域(ak〜bk)におけるコスト値が図13Bのようであったとする。この場合、最もコストが低い極小値であるx座標値(xk)と、第2極小値であるx座標値(ck)は、その差分Qが比較的大きい。このようなコスト分布になっている場合、x座標値(xk)付近がシームとして最も適切である可能性は高く、x座標値(xk)をシーム基準aSMとすることは信頼性が高いと言える。すると、図13Aのようにβ値を小さくして判定領域AR1を狭くしても、高精度のシームSMが決定できる可能性は高い。その場合、シーム決定処理205の演算負担を小さくできるという利点が得られる。
一方、重なり領域(ak〜bk)におけるコスト値が図13Dのようななだらかな分布であったとする。この場合、最もコストが低い極小値であるx座標値(xk)は他のx座標値と比べて特徴的な座標値ではなく、x座標値(xk)付近がシームとして最も適切であるという信頼性は低い。このような場合、シームSMの精度確保のために、演算負担は増えても、図13Cのようにβ値を大きくして判定領域AR1を広げるということが考えられる。
図13Aはβ値を小さくして判定領域AR1を狭くした状態、図13Cはβ値を大きくして判定領域AR1を広くした状態をそれぞれ示している。このように距離βの値を可変して判定領域AR1を最適化できる。
例えば重なり領域(ak〜bk)におけるコスト値が図13Bのようであったとする。この場合、最もコストが低い極小値であるx座標値(xk)と、第2極小値であるx座標値(ck)は、その差分Qが比較的大きい。このようなコスト分布になっている場合、x座標値(xk)付近がシームとして最も適切である可能性は高く、x座標値(xk)をシーム基準aSMとすることは信頼性が高いと言える。すると、図13Aのようにβ値を小さくして判定領域AR1を狭くしても、高精度のシームSMが決定できる可能性は高い。その場合、シーム決定処理205の演算負担を小さくできるという利点が得られる。
一方、重なり領域(ak〜bk)におけるコスト値が図13Dのようななだらかな分布であったとする。この場合、最もコストが低い極小値であるx座標値(xk)は他のx座標値と比べて特徴的な座標値ではなく、x座標値(xk)付近がシームとして最も適切であるという信頼性は低い。このような場合、シームSMの精度確保のために、演算負担は増えても、図13Cのようにβ値を大きくして判定領域AR1を広げるということが考えられる。
また、判定領域AR1はシーム基準aSMを中央ラインとする±βとしたが、シーム基準aSMから左右非対称の領域としてもよい。
図14Aに、x座標値(xk)としたシーム基準aSMから−β1、+β2の範囲を判定領域AR1とした例を示している。
判定領域AR1は、あくまで高精度なシームSMを探索するための領域であって、その判定領域AR1とされる範囲が、必ずしもシーム基準aSMを中央とする必要はない。例えば重なり領域(ak〜bk)におけるコスト値が図14Bのように、x座標値(xk)よりak側の方に低コストの傾向が高い分布であったとする。この場合、β1>β2としての値を設定し、図14Aのようにak側の方に判定領域AR1を広げてシームSMの探索を行うことで、よりシームSMの精度が高くなる。
図14Aに、x座標値(xk)としたシーム基準aSMから−β1、+β2の範囲を判定領域AR1とした例を示している。
判定領域AR1は、あくまで高精度なシームSMを探索するための領域であって、その判定領域AR1とされる範囲が、必ずしもシーム基準aSMを中央とする必要はない。例えば重なり領域(ak〜bk)におけるコスト値が図14Bのように、x座標値(xk)よりak側の方に低コストの傾向が高い分布であったとする。この場合、β1>β2としての値を設定し、図14Aのようにak側の方に判定領域AR1を広げてシームSMの探索を行うことで、よりシームSMの精度が高くなる。
また図14Cは、シーム基準aSMが、重なり領域(ak〜bk)のak側の隅に近い位置に決定された場合を示している。
このような場合、当然に判定領域AR1の左端はx座標値=akに制限される。そこでβ3<β4として、判定領域AR1をbk側に広めに確保するようにし、シームSMの探索範囲があまりにも狭すぎないようにすることが考えられる。
このような場合、当然に判定領域AR1の左端はx座標値=akに制限される。そこでβ3<β4として、判定領域AR1をbk側に広めに確保するようにし、シームSMの探索範囲があまりにも狭すぎないようにすることが考えられる。
以上、判定領域AR1の設定例を例示したが、これら以外にも判定領域AR1の設定例は考えられる。
<5.低解像度画像/高解像度画像の利用>
ここで、シーム基準決定処理207と、シーム決定処理205で解像度の異なる画像から得た被写体情報を利用する例を説明する。
例えばシーム基準決定処理207では低解像度の画像から得た被写体情報を利用してシーム基準aSMを決定する。
一方、シーム決定処理205では高解像度の画像から得た被写体情報を利用してシームSMを決定する。
これにより、性能を損なうことなくメモリ使用量、計算コストを低減することができる。
ここで、シーム基準決定処理207と、シーム決定処理205で解像度の異なる画像から得た被写体情報を利用する例を説明する。
例えばシーム基準決定処理207では低解像度の画像から得た被写体情報を利用してシーム基準aSMを決定する。
一方、シーム決定処理205では高解像度の画像から得た被写体情報を利用してシームSMを決定する。
これにより、性能を損なうことなくメモリ使用量、計算コストを低減することができる。
この場合、画像処理装置としては図5の構成に代えて図15に示す構成をとることが考えられる。
図15の構成は、図5と同じくパノラマ合成準備処理部23、被写体情報検出部20、シーム基準決定処理部24、シーム決定処理部21、画像合成部22を備えるものとしている。この構成において、被写体情報検出部20としては、低解像度の画像データについての被写体情報検出を行う低解像度被写体情報検出部20Lと、高解像度の画像データについての被写体情報検出を行う高解像度被写体情報検出部20Hとを備える。
低解像度被写体情報検出部20Lと、高解像度被写体情報検出部20Hは、いずれも図5で説明した動被写体検出処理202や検出・認識処理203を行う。
図15の構成は、図5と同じくパノラマ合成準備処理部23、被写体情報検出部20、シーム基準決定処理部24、シーム決定処理部21、画像合成部22を備えるものとしている。この構成において、被写体情報検出部20としては、低解像度の画像データについての被写体情報検出を行う低解像度被写体情報検出部20Lと、高解像度の画像データについての被写体情報検出を行う高解像度被写体情報検出部20Hとを備える。
低解像度被写体情報検出部20Lと、高解像度被写体情報検出部20Hは、いずれも図5で説明した動被写体検出処理202や検出・認識処理203を行う。
低解像度被写体情報検出部20Lには、パノラマ合成準備処理部23から低解像度とされたフレーム画像データDLが供給されるようにする。
一方でパノラマ合成準備処理部23は、シーム基準決定処理部24、シーム決定処理部21、画像合成部22、及び高解像度被写体情報検出部20Hに対しては、高解像度のフレーム画像データDHを供給する。
一方でパノラマ合成準備処理部23は、シーム基準決定処理部24、シーム決定処理部21、画像合成部22、及び高解像度被写体情報検出部20Hに対しては、高解像度のフレーム画像データDHを供給する。
低解像度被写体情報検出部20Lは、低解像度のフレーム画像データDLについて、動被写体検出処理202や検出・認識処理203を行って、被写体情報をシーム基準決定処理部24に供給する。
シーム基準決定処理部24は、フレーム画像データDHについて、低解像度被写体情報検出部20Lで得られた被写体情報を用いてシーム基準aSMを決定する。そしてシーム基準aSMの情報(又は判定領域AR1)の情報を、シーム決定処理部21及び高解像度被写体情報検出部20Hに受け渡す。
シーム基準決定処理部24は、フレーム画像データDHについて、低解像度被写体情報検出部20Lで得られた被写体情報を用いてシーム基準aSMを決定する。そしてシーム基準aSMの情報(又は判定領域AR1)の情報を、シーム決定処理部21及び高解像度被写体情報検出部20Hに受け渡す。
高解像度被写体情報検出部20Hでは、高解像度のフレーム画像データDHにおいて、判定領域AR1の範囲内のみで被写体情報検出、つまり動被写体検出処理202や検出・認識処理203を行う。そして、被写体情報をシーム決定処理部21に出力する。
シーム決定処理部21は、高解像度被写体情報検出部20Hからの被写体情報を用いて、シーム基準決定処理部24で決定されたシーム基準aSMに基づく判定領域AR1の範囲で、2次元コスト関数処理を行い、シームSMを決定する。
画像合成部22のスティッチ処理は図5と同様である。
シーム決定処理部21は、高解像度被写体情報検出部20Hからの被写体情報を用いて、シーム基準決定処理部24で決定されたシーム基準aSMに基づく判定領域AR1の範囲で、2次元コスト関数処理を行い、シームSMを決定する。
画像合成部22のスティッチ処理は図5と同様である。
例えばこのような処理を行うことで、低解像度被写体情報検出部20Lを有効利用し、シームSMの決定精度を損なわずに、シームSMの決定のためのメモリ使用量、計算コストを低減できる。シーム基準aSMの決定については、大まかであっても、第2段階のシーム決定処理部21で高解像度画像からの被写体情報によりシーム探索が行われることで精度が保たれるためである。
なお、低解像度のフレーム画像データを利用して被写体情報検出を行う例は他にも考えられる。
例えば図5の構成において、パノラマ合成準備処理部23は、被写体情報検出部20のみに低解像度のフレーム画像データを与えるようにしてもよい。つまり被写体情報検出部20における動被写体検出処理202と検出・認識処理203は、低解像度のフレーム画像データを対象として行われるようにする。
この結果得られた被写体情報を用いて、シーム基準決定処理部24でのシーム基準決定処理207と、シーム決定処理部21でのシーム決定処理205が行われるようにする。
このようにすることで、さらにメモリ使用量、計算コストを低減することができる。
例えば図5の構成において、パノラマ合成準備処理部23は、被写体情報検出部20のみに低解像度のフレーム画像データを与えるようにしてもよい。つまり被写体情報検出部20における動被写体検出処理202と検出・認識処理203は、低解像度のフレーム画像データを対象として行われるようにする。
この結果得られた被写体情報を用いて、シーム基準決定処理部24でのシーム基準決定処理207と、シーム決定処理部21でのシーム決定処理205が行われるようにする。
このようにすることで、さらにメモリ使用量、計算コストを低減することができる。
次にシーム基準決定処理207と、シーム決定処理205で解像度の異なる画像を利用する例を説明する。つまり被写体情報検出だけでなく、シーム基準aSMとシームSMの決定処理自体にも解像度の異なる画像を利用するものである。
即ちシーム基準決定処理部24は、第1の解像度の画像データ(低解像度のフレーム画像データDL)を用いてシーム基準aSMを決定する。一方、シーム決定処理部21は、第1の解像度の画像データより高解像度のフレーム画像データDHを用いてシームSMを決定する。
即ちシーム基準決定処理部24は、第1の解像度の画像データ(低解像度のフレーム画像データDL)を用いてシーム基準aSMを決定する。一方、シーム決定処理部21は、第1の解像度の画像データより高解像度のフレーム画像データDHを用いてシームSMを決定する。
例えば図15において破線Zで示すように、シーム基準決定処理部24には低解像度のフレーム画像データDLが供給されるようにする。
そしてシーム基準決定処理部24は、フレーム画像データDLについて、低解像度被写体情報検出部20Lで得られた被写体情報を用いてシーム基準aSMを決定する。そしてシーム基準aSMの情報(又は判定領域AR1)の情報を、シーム決定処理部21及び高解像度被写体情報検出部20Hに受け渡す。
高解像度被写体情報検出部20H、シーム決定処理部21、画像合成部22の処理は上記と同様である。
そしてシーム基準決定処理部24は、フレーム画像データDLについて、低解像度被写体情報検出部20Lで得られた被写体情報を用いてシーム基準aSMを決定する。そしてシーム基準aSMの情報(又は判定領域AR1)の情報を、シーム決定処理部21及び高解像度被写体情報検出部20Hに受け渡す。
高解像度被写体情報検出部20H、シーム決定処理部21、画像合成部22の処理は上記と同様である。
つまりこの例は、被写体情報の検出だけでなく、シーム基準決定処理にも低解像度のフレーム画像データDLを用いるものである。
このような処理によっても、低解像度被写体情報検出部20Lを有効利用し、シームSMの決定精度を損なわずに、シームSMの決定のためのメモリ使用量、計算コストを低減できる。シーム基準aSMの決定については、低解像度のフレーム画像データDLを用いて大まかに行っても、第2段階のシーム決定処理部21で高解像度画像からの被写体情報を用いて、高解像度のフレーム画像データDHを用いてシーム探索が行われることで精度が保たれるためである。
このような処理によっても、低解像度被写体情報検出部20Lを有効利用し、シームSMの決定精度を損なわずに、シームSMの決定のためのメモリ使用量、計算コストを低減できる。シーム基準aSMの決定については、低解像度のフレーム画像データDLを用いて大まかに行っても、第2段階のシーム決定処理部21で高解像度画像からの被写体情報を用いて、高解像度のフレーム画像データDHを用いてシーム探索が行われることで精度が保たれるためである。
シーム基準aSMとシームSMの決定処理自体に解像度の異なる画像を利用する例は他にも考えられる。
例えば図5の構成において、シーム決定処理部21には低解像度のフレーム画像データDLが供給され、これを用いてシーム基準aSMを決定し、一方、シーム決定処理部21には、高解像度のフレーム画像データDHが供給され、これを用いてシームSMを決定するようにしてもよい。
例えば図5の構成において、シーム決定処理部21には低解像度のフレーム画像データDLが供給され、これを用いてシーム基準aSMを決定し、一方、シーム決定処理部21には、高解像度のフレーム画像データDHが供給され、これを用いてシームSMを決定するようにしてもよい。
以上をまとめると、低解像度のフレーム画像データの利用例としては次のような例が想定できる。
・シーム基準aSMの決定に用いる被写体情報の検出に低解像度のフレーム画像データを用いる。
・シーム基準aSMの決定及びシームSMの決定の両方に用いる被写体情報の検出に低解像度のフレーム画像データを用いる。
・シーム基準aSMを低解像度のフレーム画像データを用いて決定する。
これらにより、シームSMの決定精度を損なわずに、シームSMの決定のためのメモリ使用量、計算コストを低減できる。
・シーム基準aSMの決定に用いる被写体情報の検出に低解像度のフレーム画像データを用いる。
・シーム基準aSMの決定及びシームSMの決定の両方に用いる被写体情報の検出に低解像度のフレーム画像データを用いる。
・シーム基準aSMを低解像度のフレーム画像データを用いて決定する。
これらにより、シームSMの決定精度を損なわずに、シームSMの決定のためのメモリ使用量、計算コストを低減できる。
<6.パノラマ合成処理例I>
以下では、図5や図15のような機能構成で実行される、本実施の形態のパノラマ合成処理例を説明していく。
まず、図16でパノラマ合成処理例Iを説明する。なお図16(及び後述する図17、図20)は、主に図5に示した各機能構成で実行される処理要素に、いくつかの制御要素を付加してフローチャート化したものである。図16の処理において図5の処理要素と同名の処理については、以下の説明で図5の対応する処理を付記するのみとし、重複した詳しい説明は避ける。
以下では、図5や図15のような機能構成で実行される、本実施の形態のパノラマ合成処理例を説明していく。
まず、図16でパノラマ合成処理例Iを説明する。なお図16(及び後述する図17、図20)は、主に図5に示した各機能構成で実行される処理要素に、いくつかの制御要素を付加してフローチャート化したものである。図16の処理において図5の処理要素と同名の処理については、以下の説明で図5の対応する処理を付記するのみとし、重複した詳しい説明は避ける。
ステップF100の画像撮像は、パノラマ撮像モードにて1枚の静止画像を撮像し、撮像装置1内で1枚のフレーム画像データとして取り込む処理を意味する。即ち制御部103の制御により、撮像素子部101で得られる撮像信号が画像処理部102で撮像信号処理され、1枚のフレーム画像データとなる。
このフレーム画像データは、そのまま画像処理部102でのパノラマ合成処理(図5の各部によるステップF101以降の処理)に供されても良いし、一旦メモリ部105に取り込まれた後、1個のフレーム画像データとして画像処理部102でのパノラマ合成処理に供されてもよい。
このフレーム画像データは、そのまま画像処理部102でのパノラマ合成処理(図5の各部によるステップF101以降の処理)に供されても良いし、一旦メモリ部105に取り込まれた後、1個のフレーム画像データとして画像処理部102でのパノラマ合成処理に供されてもよい。
画像処理部102及び制御部103によって実現される図5の各部(パノラマ合成準備処理部23、被写体情報検出部20、シーム基準決定処理部24、シーム決定処理部21、画像合成部22)では、ステップF100に基づくフレーム画像データの入力に応じて、ステップF101以降の処理を行う。
ステップF101でパノラマ合成準備処理部23は、前処理を行う(図5の前処理200)。
ステップF102でパノラマ合成準備処理部23は、画像レジストレーション処理を行う(図5の画像レジストレーション処理201)。
ステップF103で被写体情報検出部20は、動被写体検出処理を行う(図5の動被写体検出処理202)。
ステップF104で被写体情報検出部20は、検出・認識処理を行う(図5の検出・認識処理203)。
ステップF105でパノラマ合成準備処理部23は、再投影処理を行う(図5の再投影処理204)。
ステップF101でパノラマ合成準備処理部23は、前処理を行う(図5の前処理200)。
ステップF102でパノラマ合成準備処理部23は、画像レジストレーション処理を行う(図5の画像レジストレーション処理201)。
ステップF103で被写体情報検出部20は、動被写体検出処理を行う(図5の動被写体検出処理202)。
ステップF104で被写体情報検出部20は、検出・認識処理を行う(図5の検出・認識処理203)。
ステップF105でパノラマ合成準備処理部23は、再投影処理を行う(図5の再投影処理204)。
ステップF106では、ステップF105までの処理データのメモリ部105への一時保存を行う。即ち、画像のピクセル情報、画像レジストレーション情報、動被写体検出情報、検出・認識情報などのパノラマ合成に用いる処理データを一時保存する。またフレーム画像データ自体も、この時点で保存されていなければ、メモリ部105に一時保存する。
これはパノラマ合成準備処理部23及び被写体情報検出部20がシーム決定処理部21に受け渡す各種データや画像を一時記憶させる処理となる。
以上の処理が、ステップF107で撮像終了と判断されるまで繰り返される。
これはパノラマ合成準備処理部23及び被写体情報検出部20がシーム決定処理部21に受け渡す各種データや画像を一時記憶させる処理となる。
以上の処理が、ステップF107で撮像終了と判断されるまで繰り返される。
撮像終了とされ、パノラマ画像生成のためのnフレームのフレーム画像データFM#0〜FM#(n−1)、及びこれらについての被写体情報等が確保されたら、処理はステップF108に進む。
ステップF108では、シーム基準決定処理部24が、シーム基準aSM0〜aSM(n−2)を決定する処理を行う(図5のシーム基準決定処理207)
即ちフレーム画像データFM#0、FM#1間のコスト関数f0、フレーム画像データFM#1、FM#2間のコスト関数f1、・・・フレーム画像データFM#(n−2)、FM#(n−1)間のコスト関数fn-2を設定する。
そして、上述の(数4)を最小化するx0、x1・・・xn-2を求める。
求められたx0、x1・・・xn-2が、シーム基準aSM0〜aSM(n−2)のx座標値として決定される。
ステップF108では、シーム基準決定処理部24が、シーム基準aSM0〜aSM(n−2)を決定する処理を行う(図5のシーム基準決定処理207)
即ちフレーム画像データFM#0、FM#1間のコスト関数f0、フレーム画像データFM#1、FM#2間のコスト関数f1、・・・フレーム画像データFM#(n−2)、FM#(n−1)間のコスト関数fn-2を設定する。
そして、上述の(数4)を最小化するx0、x1・・・xn-2を求める。
求められたx0、x1・・・xn-2が、シーム基準aSM0〜aSM(n−2)のx座標値として決定される。
続いてステップF109〜F111で、シーム決定処理部21が、シームSM0〜SM(n−2)を決定する処理を行う(図5のシーム決定処理205)。
まずステップF109でシーム決定処理部21は、変数M=0にセットする。そしてステップF110で、シーム決定処理部21はシーム基準aSM(M)についての判定領域AR1内で、シームSM(M)を決定する処理を行う。
まず最初は、変数M=0であるので、フレーム画像データFM#0、FM#1の重なり領域内において、シーム基準aSM0としてのx座標値x0に基づいて設定される判定領域AR1内で、(数5)又は(数6)の2次元コスト関数についてコストを最小化する経路を求める演算を行い、シームSM0を決定する。
まずステップF109でシーム決定処理部21は、変数M=0にセットする。そしてステップF110で、シーム決定処理部21はシーム基準aSM(M)についての判定領域AR1内で、シームSM(M)を決定する処理を行う。
まず最初は、変数M=0であるので、フレーム画像データFM#0、FM#1の重なり領域内において、シーム基準aSM0としてのx座標値x0に基づいて設定される判定領域AR1内で、(数5)又は(数6)の2次元コスト関数についてコストを最小化する経路を求める演算を行い、シームSM0を決定する。
そしてステップF111で変数M≧(n−2)となるまで、つまりすべてのシームSM0〜SM(n−2)の算出を終えるまで、シーム決定処理部21はステップF112で変数Mをインクリメントしながら、ステップF110の処理を行う。つまりシームSM1、SM2,SM3・・・と、順次シームSMを決定していく。
シームSM(n−2)までを決定したら、ステップF111からF113に進む。
シームSM(n−2)までを決定したら、ステップF111からF113に進む。
ステップF113では画像合成部22がスティッチ処理206を実行する。即ち各シームSM0〜SM(n−2)で、各フレーム画像データをつなぎ合わせる。つなぎ合わせる際にはブレンド処理も行う。
以上で、図4Aに示したような1つのパノラマ画像データが生成される。
以上で、図4Aに示したような1つのパノラマ画像データが生成される。
上述したとおり、この図16のパノラマ合成処理例Iによれば、まずスイープ方向に垂直な直線状のシーム基準aSM0〜aSM(n−1)が求められ、各シーム基準aSM0〜aSM(n−2)に基づいた判定領域AR1内で、不定形状線のシームSM0〜SM(n−2)が決定される。
この2段階の処理により、低メモリ容量、低計算コストとして処理負担を重くせずに、精度が高く自由度の高いシームを設定することが可能となる。結果として、高速な処理で高品質なパノラマ画像を実現できる。
この2段階の処理により、低メモリ容量、低計算コストとして処理負担を重くせずに、精度が高く自由度の高いシームを設定することが可能となる。結果として、高速な処理で高品質なパノラマ画像を実現できる。
<7.パノラマ合成処理例II>
実施の形態のパノラマ合成処理例IIを図17で説明する。
パノラマ合成処理例IIは、被写体情報検出部20が、パノラマ画像生成に用いる一連のn個のフレーム画像データの入力過程で、フレーム画像データについての被写体情報を検出する。そしてシーム基準決定処理部24は、(m+1)個(但しm<n)のフレーム画像データ群毎にm個以下のl個(m≧l:lは少なくとも1以上)のシーム基準aSMを決定する処理を、フレーム画像データの入力過程で順次行う。
実施の形態のパノラマ合成処理例IIを図17で説明する。
パノラマ合成処理例IIは、被写体情報検出部20が、パノラマ画像生成に用いる一連のn個のフレーム画像データの入力過程で、フレーム画像データについての被写体情報を検出する。そしてシーム基準決定処理部24は、(m+1)個(但しm<n)のフレーム画像データ群毎にm個以下のl個(m≧l:lは少なくとも1以上)のシーム基準aSMを決定する処理を、フレーム画像データの入力過程で順次行う。
つまり、n個の全てのフレーム画像データの入力が完了する前にシーム基準決定処理207を順次進めていく。
この場合に、(m+1)個のフレーム画像データ群で、各シームを求めることで、その複数のフレーム画像データの全体を考慮したシーム基準が決定されるようにする。
この場合に、(m+1)個のフレーム画像データ群で、各シームを求めることで、その複数のフレーム画像データの全体を考慮したシーム基準が決定されるようにする。
さらに、シーム基準aSMが決定されたフレーム画像データについては、その後のパノラマ合成に使用しないことが明らかな画像部分が確定する。
例えば図9に示した2つのフレーム画像データFM#(k)、FM#(k+1)の関係で言えば、シーム基準aSM(k)が決定され、判定領域AR1が決まることで、フレーム画像データFM#(k)については、x座標値(xk+β)からx座標値(bk)の範囲の画像は不要となる。一方、フレーム画像データFM#(k+1)については、x座標値(xk−β)からx座標値(ak)の範囲の画像は不要となる。このように、シーム基準aSM決定に伴う判定領域AR1の決定により、各フレーム画像データについては、その後不要となる領域が確定する。従って、必要な画像部分のみを、その後のパノラマ合成に用いる画像データとして記憶し、不要な部分は記憶しない。これにより、処理過程での記憶しておく画像容量を削減することができる。
例えば図9に示した2つのフレーム画像データFM#(k)、FM#(k+1)の関係で言えば、シーム基準aSM(k)が決定され、判定領域AR1が決まることで、フレーム画像データFM#(k)については、x座標値(xk+β)からx座標値(bk)の範囲の画像は不要となる。一方、フレーム画像データFM#(k+1)については、x座標値(xk−β)からx座標値(ak)の範囲の画像は不要となる。このように、シーム基準aSM決定に伴う判定領域AR1の決定により、各フレーム画像データについては、その後不要となる領域が確定する。従って、必要な画像部分のみを、その後のパノラマ合成に用いる画像データとして記憶し、不要な部分は記憶しない。これにより、処理過程での記憶しておく画像容量を削減することができる。
図17において、ステップF200〜F206は、図16のステップF100〜F106と同様であるため、説明を省略する。
そしてこの図17の処理では、ステップF207で未決定のシーム基準aSMの数がm個以上となるまで、ステップF200で得られるフレーム画像データの入力毎に、ステップF201〜F206の処理を繰り返す。
そしてこの図17の処理では、ステップF207で未決定のシーム基準aSMの数がm個以上となるまで、ステップF200で得られるフレーム画像データの入力毎に、ステップF201〜F206の処理を繰り返す。
シーム基準決定処理部24はステップF207の判断に応じて処理を実行する。
即ちステップF207において、未決定のシーム基準aSMがm個以上になったと判断される場合、つまり一時保存した、シーム基準aSMが確定されていないフレーム画像データがm+1個となった場合、シーム基準決定処理部24が、ステップF208においてm個のシームに対して前述の手法で(数4)の最適化を行う。その最適化結果のm個の解のうち撮像開始順からl(l≦m)個のシーム基準aSMを確定させる。
さらにステップF209でシーム基準決定処理部24は、シーム基準aSMを確定したフレーム画像データについてメモリ部105に保存させる。
この場合、シーム基準aSMが決定され、判定領域AR1が確定したため、最終的にパノラマ画像に寄与しない画素データ部分を保存する必要はなく、必要な部分のみを保存すればよい。従ってフレーム画像データにおける不要部分の画像データを消去する。
即ちステップF207において、未決定のシーム基準aSMがm個以上になったと判断される場合、つまり一時保存した、シーム基準aSMが確定されていないフレーム画像データがm+1個となった場合、シーム基準決定処理部24が、ステップF208においてm個のシームに対して前述の手法で(数4)の最適化を行う。その最適化結果のm個の解のうち撮像開始順からl(l≦m)個のシーム基準aSMを確定させる。
さらにステップF209でシーム基準決定処理部24は、シーム基準aSMを確定したフレーム画像データについてメモリ部105に保存させる。
この場合、シーム基準aSMが決定され、判定領域AR1が確定したため、最終的にパノラマ画像に寄与しない画素データ部分を保存する必要はなく、必要な部分のみを保存すればよい。従ってフレーム画像データにおける不要部分の画像データを消去する。
以上のステップF200〜F209の処理を、ステップF210での撮像終了判定が成立するまで繰り返す。ステップF210の撮像終了とは、制御部103がパノラマ撮像モードでの撮像終了の判定を行う処理である。撮像終了の条件は、
・撮像者がシャッターボタンを離した
・規定の画角の撮像が終了した
・規定の撮像枚数を超過した
・規定のスイープ方向と垂直方向の手振れ量を超過した
・その他のエラー
などがある。
・撮像者がシャッターボタンを離した
・規定の画角の撮像が終了した
・規定の撮像枚数を超過した
・規定のスイープ方向と垂直方向の手振れ量を超過した
・その他のエラー
などがある。
上記ステップF207,F208,F209の処理を図18,図19で説明する。
なお、一例としてステップF207における未決定のシーム基準aSM数の判断基準のm=5とする。またステップF208で確定させるシーム数l=1とする。
図18は、順次入力されてくるフレーム画像データFM#0、FM#1・・・を示している。
ステップF200で最初のフレーム画像データFM#0が入力された後、5番目のフレーム画像データFM#4が入力された時点までの期間は、未決定のシーム基準aSMの数は4以下であるため、各フレーム画像データ(FM#0〜FM#4)の入力毎にステップF201〜F206が繰り返される。
6番目(つまりm+1個目)のフレーム画像データFM#5が入力され、ステップF206までの処理が行われた時点で、ステップF207では、未決定のシーム基準aSMの数が5であるため、未決定シーム基準数≧mとなり、ステップF208に進むことになる。
なお、一例としてステップF207における未決定のシーム基準aSM数の判断基準のm=5とする。またステップF208で確定させるシーム数l=1とする。
図18は、順次入力されてくるフレーム画像データFM#0、FM#1・・・を示している。
ステップF200で最初のフレーム画像データFM#0が入力された後、5番目のフレーム画像データFM#4が入力された時点までの期間は、未決定のシーム基準aSMの数は4以下であるため、各フレーム画像データ(FM#0〜FM#4)の入力毎にステップF201〜F206が繰り返される。
6番目(つまりm+1個目)のフレーム画像データFM#5が入力され、ステップF206までの処理が行われた時点で、ステップF207では、未決定のシーム基準aSMの数が5であるため、未決定シーム基準数≧mとなり、ステップF208に進むことになる。
この場合、シーム基準決定処理部24はステップF208で、(m+1)個のフレーム画像データ群(つまりフレーム画像データFM#0〜FM#5)について、隣接フレーム画像データ間のm個の各シーム基準aSM0〜aSM4を、それぞれのフレーム画像データについての動被写体検出処理202(ステップF203)及び検出・認識処理203(ステップF204)で検出された被写体情報を用いた最適位置判定処理によって求める。そしてl個(例えば1個)のシーム基準aSMを決定する。
このときの最適位置判定処理は、フレーム画像データFM#0とFM#1間、FM#1とFM#2間、FM#2とFM#3間、FM#3とFM#4間 FM#4とFM#5間の5つのシーム基準aSM0〜aSM4を最適化する処理である。即ち、各隣接フレーム画像データについての上記(数1)のコスト関数fk (又は上記(数3)のf’k)で求められる5つのシーム基準aSM0〜aSM4について、上記(数4)により最適化されるようにする。
そして最適化された5つのシーム基準aSM0〜aSM4の内、順番が早い方からのl個、例えば1個のシーム基準aSM0を確定させる。
図19Aで模式的に示す。図19Aには、フレーム画像データFM#0〜FM#5をパノラマ座標上に重ねた状態で示しているが、各隣接フレーム画像データ間のシーム基準aSM0〜aSM4としてのx座標値x0〜x4を上記(数4)により最適化する。
そして先頭の1個のシーム基準aSM0が、x座標値x0であるとして確定させる。
このときの最適位置判定処理は、フレーム画像データFM#0とFM#1間、FM#1とFM#2間、FM#2とFM#3間、FM#3とFM#4間 FM#4とFM#5間の5つのシーム基準aSM0〜aSM4を最適化する処理である。即ち、各隣接フレーム画像データについての上記(数1)のコスト関数fk (又は上記(数3)のf’k)で求められる5つのシーム基準aSM0〜aSM4について、上記(数4)により最適化されるようにする。
そして最適化された5つのシーム基準aSM0〜aSM4の内、順番が早い方からのl個、例えば1個のシーム基準aSM0を確定させる。
図19Aで模式的に示す。図19Aには、フレーム画像データFM#0〜FM#5をパノラマ座標上に重ねた状態で示しているが、各隣接フレーム画像データ間のシーム基準aSM0〜aSM4としてのx座標値x0〜x4を上記(数4)により最適化する。
そして先頭の1個のシーム基準aSM0が、x座標値x0であるとして確定させる。
ステップF209ではシーム基準が確定されたフレーム画像データの保存を行うが、この場合、図19Bに示すようにフレーム画像データFM#0の一部を保存することとなる。つまりシーム基準aSM0が確定され、次の処理であるシーム決定のための判定領域AR1が決まることで、フレーム画像データFM#0の画像領域は、パノラマ画像に使用する可能性のある領域AUと、パノラマ画像に使用しないことが確定した領域ANUに分けられることとなる。ステップF209では、領域AUのみを保存すればよい。
そしてステップF206で一時保存したフレーム画像データFM#0の全体の画像データは、この時点で消去すれば良い。
そしてステップF206で一時保存したフレーム画像データFM#0の全体の画像データは、この時点で消去すれば良い。
例えば以上のように、最初のステップF208,F209では、図18Aに示すように、フレーム画像データFM#0〜FM#5を対象として5つのシーム基準aSM0〜aSM#4の最適化を行い、1つのシーム基準、即ちフレーム画像データFM#0とFM#1間のシーム基準aSM0を決定し、必要な画像領域を保存する。
その後、さらに後続のフレーム画像データFM#6が入力され、ステップF201〜F206が行われる。
上記の最初のステップF208では、1つのシーム基準aSM0を確定させたのみであるため、フレーム画像データFM#6が入力後のステップF207では、再び未決定のシーム基準数が5となる。
その後、さらに後続のフレーム画像データFM#6が入力され、ステップF201〜F206が行われる。
上記の最初のステップF208では、1つのシーム基準aSM0を確定させたのみであるため、フレーム画像データFM#6が入力後のステップF207では、再び未決定のシーム基準数が5となる。
そこで今度は図18Bに示すように、ステップF208で、フレーム画像データFM#1〜FM#6を対象として5つのシーム基準aSM1〜aSM5の最適化を行い、1つのシーム基準、即ちフレーム画像データFM#1とFM#2間のシーム基準aSM1を決定する。そしてステップF209でフレーム画像データFM#1について必要な画像領域を保存する。
さら同様に、フレーム画像データFM#7の入力後は、図18Cに示すように、ステップF108で、フレーム画像データFM#2〜FM#7を対象として5つのシーム基準aSM2〜aSM6の最適化を行い、1つのシーム基準、即ちフレーム画像データFM#2とFM#3間のシーム基準aSM2を決定する。そしてステップF109でフレーム画像データFM#2について必要な画像領域を保存する。
さら同様に、フレーム画像データFM#7の入力後は、図18Cに示すように、ステップF108で、フレーム画像データFM#2〜FM#7を対象として5つのシーム基準aSM2〜aSM6の最適化を行い、1つのシーム基準、即ちフレーム画像データFM#2とFM#3間のシーム基準aSM2を決定する。そしてステップF109でフレーム画像データFM#2について必要な画像領域を保存する。
このように、シーム基準決定処理部24は、(m+1)個のフレーム画像データ群毎に、隣接フレーム画像データ間のm個の各シーム基準aSMを最適位置判定処理によって求め、m個以下のl個のシーム基準aSMを確定させる処理を、フレーム画像データの入力過程で順次実行していく。
なお、ここではl=1として1個のシーム基準を決定させていったが、m=5の場合、確定させるシーム基準数lは2個〜5個であってもよい。
なお、ここではl=1として1個のシーム基準を決定させていったが、m=5の場合、確定させるシーム基準数lは2個〜5個であってもよい。
図17のステップF200〜F209の処理は、その後もステップF210で撮像終了と判断されるまで継続される。
撮像終了となったら、ステップF211で、シーム基準決定処理部24が、その時点で未決定のシーム基準aSMを、上記同様に決定していく。結果として、全部でn個のフレーム画像データFM#0〜FM#(n−1)に関し、図4Bに示したような全てのシーム基準aSM0〜aSM(n−2)が決定されることになる。
撮像終了となったら、ステップF211で、シーム基準決定処理部24が、その時点で未決定のシーム基準aSMを、上記同様に決定していく。結果として、全部でn個のフレーム画像データFM#0〜FM#(n−1)に関し、図4Bに示したような全てのシーム基準aSM0〜aSM(n−2)が決定されることになる。
続いてステップF212〜F215でシーム決定処理部21が、シームSM0〜SM(n−2)を決定する処理を行う(図5のシーム決定処理205)。
まずステップF212でシーム決定処理部21は、変数M=0にセットする。そしてステップF213で、シーム決定処理部21はシーム基準aSM(M)についての判定領域AR1内で、シームSM(M)を決定する処理を行う。
まず最初は、変数M=0であるので、フレーム画像データFM#0、FM#1の重なり領域内において、シーム基準aSM0としてのx座標値x0に基づいて設定される判定領域AR1内で、(数5)又は(数6)の2次元コスト関数についてコストを最小化する経路を求める演算を行い、シームSM0を決定する。
まずステップF212でシーム決定処理部21は、変数M=0にセットする。そしてステップF213で、シーム決定処理部21はシーム基準aSM(M)についての判定領域AR1内で、シームSM(M)を決定する処理を行う。
まず最初は、変数M=0であるので、フレーム画像データFM#0、FM#1の重なり領域内において、シーム基準aSM0としてのx座標値x0に基づいて設定される判定領域AR1内で、(数5)又は(数6)の2次元コスト関数についてコストを最小化する経路を求める演算を行い、シームSM0を決定する。
そしてステップF214で変数M≧(n−2)となるまで、つまりすべてのシームSM0〜SM(n−2)の算出を終えるまで、シーム決定処理部21はステップF215で変数Mをインクリメントしながら、ステップF213の処理を行う。つまりシームSM1、SM2,SM3・・・と、順次シームSMを決定していく。
シームSM(n−2)までを決定したら、ステップF214からF216に進む。
シームSM(n−2)までを決定したら、ステップF214からF216に進む。
ステップF216では画像合成部22がスティッチ処理206を実行する。即ち各シームSM0〜SM(n−2)で、各フレーム画像データをつなぎ合わせる。つなぎ合わせる際にはブレンド処理も行う。
以上で、図4Aに示したような1つのパノラマ画像データが生成される。
以上で、図4Aに示したような1つのパノラマ画像データが生成される。
この図17のパノラマ合成処理例IIの場合も、まずスイープ方向に対して垂直な直線状のシーム基準aSM0〜SM(n−1)が求められ、各シーム基準aSM0〜aSM(n−2)に基づいた判定領域AR1内で、不定形状線のシームSM0〜SM(n−2)が決定される。この2段階の処理により、低メモリ容量、低計算コストとして処理負担を重くせずに、精度が高く自由度の高いシームを設定することが可能となる。結果として、高速な処理で高品質なパノラマ画像を実現できる。
さらにこの図17のパノラマ合成処理例IIによれば、全フレーム画像データの撮像終了を待たずに、シーム基準決定処理207が順次行われていく。
そして全画像データを保存するのはステップF206における一時保存で最大でフレーム画像データのm+1枚分のみである。n−m−1個分のフレーム画像データは、パノラマ画像に寄与する可能性のある部分の画素データのみ保存すれば良いことになり、必要なメモリ容量が大幅に削減される。
そして全画像データを保存するのはステップF206における一時保存で最大でフレーム画像データのm+1枚分のみである。n−m−1個分のフレーム画像データは、パノラマ画像に寄与する可能性のある部分の画素データのみ保存すれば良いことになり、必要なメモリ容量が大幅に削減される。
例えば通常のパノラマ合成処理の場合で、単に2枚間のシームをコスト関数で決めるだけでなく、全フレーム画像データを考慮して各シームを最適化するには、n個のフレーム画像データが全て入力された後に、各シーム(ここで言うシームは本実施の形態の場合はシーム基準aSMに相当)を確定させる必要がある。
すると、処理過程で全画像の撮像が終了するまで、n個のフレーム画像データを保存しておく必要があり、一時保存に必要なメモリ容量が大きくなる。特に高解像度化が進み、1枚のフレーム画像データのデータサイズが大きくなると、n個のフレーム画像データの保存に必要なメモリ容量は膨大となる。これはメモリの利用効率の悪化が生じ、またメモリ制約の大きい組み込み機器においては、撮像画像の解像度を下げたり、撮像画像枚数を減らすなどの対応をしなければ実現不可能な場合もある。
すると、処理過程で全画像の撮像が終了するまで、n個のフレーム画像データを保存しておく必要があり、一時保存に必要なメモリ容量が大きくなる。特に高解像度化が進み、1枚のフレーム画像データのデータサイズが大きくなると、n個のフレーム画像データの保存に必要なメモリ容量は膨大となる。これはメモリの利用効率の悪化が生じ、またメモリ制約の大きい組み込み機器においては、撮像画像の解像度を下げたり、撮像画像枚数を減らすなどの対応をしなければ実現不可能な場合もある。
これに対しパノラマ合成処理例IIの場合、上記のように必要なメモリ容量が大幅に削減されるため、メモリ制約の大きい撮像装置1等でも、解像度を下げたり、撮像画像枚数を少なくするということなく、高画質なパノラマ合成の生成が可能となる。
即ち本実施の形態としてパノラマ合成処理例IIを行うようにすれば、撮像、位置合わせ、各種検出処理などの処理が終了した少数の画像群(m+1枚:例えば数枚)から徐々にシーム基準aSMを決定していき、これを繰り返すことにより漸進的にパノラマ画像全体のシーム基準aSMを決定する。このため、すでに必要なくなった画像データを消去することが可能になり、メモリ利用効率が大幅に向上する。特に搭載メモリが限られている組み込み機器においては、従来では不可能であった高解像度、広画角でのパノラマ合成が可能になる。
即ち本実施の形態としてパノラマ合成処理例IIを行うようにすれば、撮像、位置合わせ、各種検出処理などの処理が終了した少数の画像群(m+1枚:例えば数枚)から徐々にシーム基準aSMを決定していき、これを繰り返すことにより漸進的にパノラマ画像全体のシーム基準aSMを決定する。このため、すでに必要なくなった画像データを消去することが可能になり、メモリ利用効率が大幅に向上する。特に搭載メモリが限られている組み込み機器においては、従来では不可能であった高解像度、広画角でのパノラマ合成が可能になる。
その上で、(m+1)個のフレーム画像データ群で、その複数のフレーム画像データの全体を考慮して最適なシーム基準aSMが求められていく。最終的な不定形状線のシームSM0〜SM(n−2)は、複数のフレーム画像データの全体を考慮して決められたシーム基準aSM〜aSM(n−2)の位置の近傍となる。結果、決定されるシームSM0〜SM(n−2)が適切な位置となる。
<8.パノラマ合成処理例III>
実施の形態のパノラマ合成処理例IIIを図20により説明する。
このパノラマ合成処理例IIIは、全画像の撮像終了を待たずに、シーム基準決定処理だけでなくシーム決定処理、及びシームSMが確定した画像についてのスティッチ処理まで行うものである。
実施の形態のパノラマ合成処理例IIIを図20により説明する。
このパノラマ合成処理例IIIは、全画像の撮像終了を待たずに、シーム基準決定処理だけでなくシーム決定処理、及びシームSMが確定した画像についてのスティッチ処理まで行うものである。
このパノラマ合成処理例IIIの場合、被写体情報検出部20は、パノラマ画像生成に用いる一連のn個のフレーム画像データの入力過程で、フレーム画像データについての被写体情報を検出する。
またシーム基準決定処理部24は、(m+1)個(但しm<n)のフレーム画像データ群毎にm個以下のl個(m≧l:lは少なくとも1以上)のシーム基準aSMを決定する処理を、フレーム画像データの入力過程で順次行う。
以上は上述のパノラマ合成処理例IIと同様である。
但しパノラマ合成処理例IIIでは、加えて、シーム決定処理部21は、シーム基準決定処理部24でm個以下のシーム基準aSMを決定させる処理が行われる毎に、決定されたシーム基準aSMに基づいて設定される判定領域AR1内でシームSMを決定する処理を行う。
さらに画像合成部22は、シームSMが決定されたフレーム画像データについて、順次スティッチ処理を行う。
またシーム基準決定処理部24は、(m+1)個(但しm<n)のフレーム画像データ群毎にm個以下のl個(m≧l:lは少なくとも1以上)のシーム基準aSMを決定する処理を、フレーム画像データの入力過程で順次行う。
以上は上述のパノラマ合成処理例IIと同様である。
但しパノラマ合成処理例IIIでは、加えて、シーム決定処理部21は、シーム基準決定処理部24でm個以下のシーム基準aSMを決定させる処理が行われる毎に、決定されたシーム基準aSMに基づいて設定される判定領域AR1内でシームSMを決定する処理を行う。
さらに画像合成部22は、シームSMが決定されたフレーム画像データについて、順次スティッチ処理を行う。
図20においてステップF300〜F308は、図17のステップF200〜F208と同様であるため繰り返しの説明は避ける。
この図20の場合、シーム基準決定処理部24がステップF308でl個のシーム基準aSMを決定させる毎に、ステップF309でシーム決定処理部21が、l個のシームSMを決定させる処理を行う。つまり決定されたシーム基準aSMに基づく判定領域AR1内で、(数5)又は(数6)の2次元コスト関数についてコストを最小化する経路を求める演算を行い、シームSMを決定する。
さらにステップF310では、画像合成部22がスティッチ処理を行う。
以上の処理を撮像終了まで繰り返す。
この図20の場合、シーム基準決定処理部24がステップF308でl個のシーム基準aSMを決定させる毎に、ステップF309でシーム決定処理部21が、l個のシームSMを決定させる処理を行う。つまり決定されたシーム基準aSMに基づく判定領域AR1内で、(数5)又は(数6)の2次元コスト関数についてコストを最小化する経路を求める演算を行い、シームSMを決定する。
さらにステップF310では、画像合成部22がスティッチ処理を行う。
以上の処理を撮像終了まで繰り返す。
ステップF311で撮像終了と判断された後は、ステップF312でシーム基準決定処理部24が残りのシーム基準aSMを決定する。そして決定されたシーム基準aSMに基づいて、ステップF313でシーム決定処理部21がシームSMを決定させる処理を行う。
その後ステップF314で画像合成部22が確定された残りのシームに基づくスティッチ処理を行って、パノラマ画像データを完成させる。
その後ステップF314で画像合成部22が確定された残りのシームに基づくスティッチ処理を行って、パノラマ画像データを完成させる。
この図20の処理によっても図17の処理と同様な効果が得られる。その上でこの図20の処理の場合、図17の処理では必要だったn−m−1枚分のフレーム画像データの、パノラマ画像に使用する画素部分の画像データの記憶も必要無くなり、さらなるメモリ量の削減が可能となる。
さらに画像撮像中にスティッチ処理までをも開始するため、全体のパノラマ合成処理時間をさらに短くすることもできる。
さらに画像撮像中にスティッチ処理までをも開始するため、全体のパノラマ合成処理時間をさらに短くすることもできる。
<9.プログラム及びコンピュータ装置への適用>
以上、図5又は図15の画像処理装置を搭載した撮像装置10としての実施の形態を説明してきたが、上述したパノラマ合成処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。
以上、図5又は図15の画像処理装置を搭載した撮像装置10としての実施の形態を説明してきたが、上述したパノラマ合成処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。
実施の形態のプログラムは、上述の実施の形態で示した処理を、例えばCPU(Central Processing Unit)、DSP(Digital Signal Processor)等の演算処理装置に実行させるプログラムである。
即ちこのプログラムは、パノラマ画像生成に用いる一連のn個(nは2以上の自然数)のフレーム画像データにおける、隣接する2つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する2つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理を演算処理装置に実行させる。
また上記シーム基準決定処理で決定されたシーム基準に基づいて設定される判定領域内のみで、隣接する2つのフレーム画像データについての被写体情報を用いて該隣接する2つのフレーム画像データ間のシームを決定するシーム決定処理を演算処理装置に実行させる。
なお、さらにパノラマ画像生成に用いる一連のn個のフレーム画像データについての被写体情報を検出する被写体情報検出を演算処理装置に実行させるようにしてもよい。
即ちこのプログラムは、パノラマ画像生成に用いる一連のn個(nは2以上の自然数)のフレーム画像データにおける、隣接する2つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する2つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理を演算処理装置に実行させる。
また上記シーム基準決定処理で決定されたシーム基準に基づいて設定される判定領域内のみで、隣接する2つのフレーム画像データについての被写体情報を用いて該隣接する2つのフレーム画像データ間のシームを決定するシーム決定処理を演算処理装置に実行させる。
なお、さらにパノラマ画像生成に用いる一連のn個のフレーム画像データについての被写体情報を検出する被写体情報検出を演算処理装置に実行させるようにしてもよい。
具体的には、実施の形態のプログラムは、図16、図17、図20に示したパノラマ合成処理を演算処理装置に実行させるプログラムとすればよい。
このようなプログラムにより、上述したパノラマ合成処理を実行する画像処理装置を、演算処理装置を用いて実現できる。
このようなプログラムにより、上述したパノラマ合成処理を実行する画像処理装置を、演算処理装置を用いて実現できる。
このようなプログラムはコンピュータ装置等の機器に内蔵されている記録媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROM等に予め記録しておくことができる。
あるいはまた、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、MO(Magnet optical)ディスク、DVD(Digital Versatile Disc)、ブルーレイディスク、磁気ディスク、半導体メモリ、メモリカードなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、LAN(Local Area Network)、インターネットなどのネットワークを介してダウンロードすることもできる。
あるいはまた、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、MO(Magnet optical)ディスク、DVD(Digital Versatile Disc)、ブルーレイディスク、磁気ディスク、半導体メモリ、メモリカードなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、LAN(Local Area Network)、インターネットなどのネットワークを介してダウンロードすることもできる。
またこのようなプログラムによれば、実施の形態の画像処理装置の広範な提供に適している。例えばパーソナルコンピュータ、携帯型情報処理装置、携帯電話機、ゲーム機器、ビデオ機器、PDA(Personal Digital Assistant)等にプログラムをダウンロードすることで、当該携帯型情報処理装置等を、本開示の画像処理装置とすることができる。
例えば、図21に示されるようなコンピュータ装置において、実施の形態の撮像装置1におけるパノラマ合成処理と同様の処理が実行されるようにすることもできる。
例えば、図21に示されるようなコンピュータ装置において、実施の形態の撮像装置1におけるパノラマ合成処理と同様の処理が実行されるようにすることもできる。
図21において、コンピュータ装置70のCPU71は、ROM72に記憶されているプログラム、または記憶部78からRAM73にロードされたプログラムに従って各種の処理を実行する。RAM73にはまた、CPU71が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU71、ROM72、およびRAM73は、バス74を介して相互に接続されている。このバス74にはまた、入出力インターフェース75も接続されている。
CPU71、ROM72、およびRAM73は、バス74を介して相互に接続されている。このバス74にはまた、入出力インターフェース75も接続されている。
入出力インターフェース75には、キーボード、マウスなどよりなる入力部76、CRT(Cathode Ray Tube)やLCD、或いは有機ELパネルなどよりなるディスプレイ、並びにスピーカなどよりなる出力部77、ハードディスクなどより構成される記憶部78、モデムなどより構成される通信部79が接続されている。通信部79は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インターフェース75にはまた、必要に応じてドライブ80が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア81が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部78にインストールされる。
上述したパノラマ合成処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図21に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(ブルーレイディスク(Blu-ray Disc(登録商標)、CD-ROM(Compact Disc - Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア81により構成される。或いは、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM72や、記憶部78に含まれるハードディスクなどでも構成される。
このようなコンピュータ装置70は、通信部79による受信動作や、或いはドライブ80(リムーバブルメディア81)もしくは記録部78での再生動作等により、パノラマ画像生成のためのnフレームのフレーム画像データFM#0〜FM#(n−1)を入力した際に、CPU71がプログラムに基づいて、図5や図15の機能を実現し、上述のパノラマ合成処理を実行する。
これにより入力されたnフレームのフレーム画像データFM#0〜FM#(n−1)から1枚のパノラマ画像データが生成されることになる。
これにより入力されたnフレームのフレーム画像データFM#0〜FM#(n−1)から1枚のパノラマ画像データが生成されることになる。
<10.変形例>
以上、実施の形態について説明してきたが、本開示の画像処理装置は多様な変形例が考えられる。
本開示の画像処理装置は、上述の撮像装置1、コンピュータ装置70に搭載するほか、撮像機能を有する携帯電話機、ゲーム機、ビデオ機器、撮像機能を有さないがフレーム画像データを入力する機能を有する携帯電話機、ゲーム機、ビデオ機器、情報処理装置でも、本開示の画像処理装置を搭載することは有用である。
例えば撮像機能を有さない機器の場合、入力されてくる一連のフレーム画像データに対し、図16,図17,図20のような処理を行うことで、上述した効果を奏するパノラマ合成処理を実現できる。
また被写体情報とともにフレーム画像データが入力される機器を考えれば、少なくとも被写体検出処理202を行う必要はない。
以上、実施の形態について説明してきたが、本開示の画像処理装置は多様な変形例が考えられる。
本開示の画像処理装置は、上述の撮像装置1、コンピュータ装置70に搭載するほか、撮像機能を有する携帯電話機、ゲーム機、ビデオ機器、撮像機能を有さないがフレーム画像データを入力する機能を有する携帯電話機、ゲーム機、ビデオ機器、情報処理装置でも、本開示の画像処理装置を搭載することは有用である。
例えば撮像機能を有さない機器の場合、入力されてくる一連のフレーム画像データに対し、図16,図17,図20のような処理を行うことで、上述した効果を奏するパノラマ合成処理を実現できる。
また被写体情報とともにフレーム画像データが入力される機器を考えれば、少なくとも被写体検出処理202を行う必要はない。
即ち本開示の画像処理装置が、撮像装置1に内蔵されたり、或いはコンピュータ装置70のような情報処理装置において実現されたり、さらには単体機器として実現される場合、その画像処理装置は、シーム決定処理部21、シーム基準決定処理部24を備える。また画像処理装置としては加えて画像合成部22や被写体情報検出部20を含む場合もある。
また実施の形態では、シーム基準aSMはスイープ方向に垂直な直線とし、こうすることがシーム基準決定処理を簡易化する点で好適であるが、例えばシーム基準aSMをスイープ方向に垂直ではない傾きを持った直線、或いは非直線とすることも考えられる。
また図10での説明ではシームSMは結果的に不定形状の線となるとしたが、必ず曲線となるようにしたり、もしくは必ず折れ線、或いは直線となるように設定をしてもよい。例えば2次元コスト探索のサンプル点を少なくしたうえで線分をつなげて折れ線のシームSMを設定することで、シーム決定処理を簡略化することができる。
また図10での説明ではシームSMは結果的に不定形状の線となるとしたが、必ず曲線となるようにしたり、もしくは必ず折れ線、或いは直線となるように設定をしてもよい。例えば2次元コスト探索のサンプル点を少なくしたうえで線分をつなげて折れ線のシームSMを設定することで、シーム決定処理を簡略化することができる。
なお本技術は以下のような構成も採ることができる。
(1)パノラマ画像生成に用いる一連のn個(nは2以上の自然数)のフレーム画像データにおける、隣接する2つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する2つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理部と、
上記シーム基準決定処理部で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する2つのフレーム画像データ間のシームを決定するシーム決定処理部と、
を備えた画像処理装置。
(2)上記シーム基準決定処理部で決定される上記シーム基準は、一連のフレーム画像データの撮像時のスイープ方向に対して垂直な直線状の基準線とされる上記(1)に記載の画像処理装置。
(3)上記シーム基準決定処理部は、上記被写体情報を反映した1次元のコスト関数を最適化することによって、上記シーム基準を決定する上記(1)又は(2)に記載の画像処理装置。
(4)上記シーム決定処理部は、上記被写体情報を反映した2次元のコスト関数を最適化することによって、上記シームを決定する上記(1)乃至(3)のいずれかに記載の画像処理装置。
(5)上記シームは、不定形状線である上記(4)に記載の画像処理装置。
(6)上記判定領域は、隣接する2つのフレーム画像データの重なり領域のうちで、上記シーム基準としての線から、一連のフレーム画像データの撮像時のスイープ方向、及びその逆方向に、夫々所定距離内となる領域である上記(1)乃至(5)のいずれかに記載の画像処理装置。
(7)上記判定領域を設定する上記所定距離は可変設定される上記(6)に記載の画像処理装置。
(8)上記シーム決定処理部で決定された各シームに基づいて、各フレーム画像データを合成していくことで、上記n個のフレーム画像データを用いたパノラマ画像データを生成する画像合成部をさらに備えた上記(1)乃至(7)のいずれかに記載の画像処理装置。
(9)上記画像合成部は、上記シームとしての線から、一連のフレーム画像データの撮像時のスイープ方向、及びその逆方向に、夫々所定距離内となる隣接する2つのフレーム画像データの範囲を対象として、ブレンド処理を行って2つのフレーム画像データを合成する上記(8)に記載の画像処理装置。
(10)上記被写体情報検出部は、パノラマ画像生成に用いる一連のn個のフレーム画像データの入力過程で、フレーム画像データについての被写体情報を検出し、
上記シーム基準決定処理部は、(m+1)個(但しm<n)のフレーム画像データ群毎にm個以下のシーム基準を決定する処理を、上記入力過程で順次行う上記(1)乃至(9)のいずれかに記載の画像処理装置。
(11)上記シーム決定処理部は、上記シーム基準決定処理部で上記m個以下のシーム基準を決定させる処理が行われる毎に、決定された各シーム基準に基づいて設定される判定領域内で上記各シームを決定する処理を行う上記(10)に記載の画像処理装置。
(12)パノラマ画像生成に用いる一連のn個のフレーム画像データについての被写体情報を検出する被写体情報検出部をさらに備えた上記(1)乃至(11)のいずれかに記載の画像処理装置。
(13)上記シーム基準決定処理部は、第1の解像度の画像データを用いて上記シーム基準を決定し、
上記シーム決定処理部は、上記第1の解像度の画像データより高解像度の画像データを用いて上記シームを決定する上記(1)乃至(12)のいずれかに記載の画像処理装置。
(14)上記被写体情報検出部として、低解像度の画像データについての被写体情報検出を行う低解像度被写体情報検出部と、高解像度の画像データについての被写体情報検出を行う高解像度被写体情報検出部とを備え、
上記シーム基準決定処理部は、フレーム画像データについて上記低解像度被写体情報検出部で得られた被写体情報を用いて上記シーム基準を決定し、
上記シーム決定処理部は、フレーム画像データの少なくとも上記判定領域内の画像について上記高解像度被写体情報検出部で得られた被写体情報を用いて上記シームを決定する上記(12)に記載の画像処理装置。
(1)パノラマ画像生成に用いる一連のn個(nは2以上の自然数)のフレーム画像データにおける、隣接する2つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する2つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理部と、
上記シーム基準決定処理部で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する2つのフレーム画像データ間のシームを決定するシーム決定処理部と、
を備えた画像処理装置。
(2)上記シーム基準決定処理部で決定される上記シーム基準は、一連のフレーム画像データの撮像時のスイープ方向に対して垂直な直線状の基準線とされる上記(1)に記載の画像処理装置。
(3)上記シーム基準決定処理部は、上記被写体情報を反映した1次元のコスト関数を最適化することによって、上記シーム基準を決定する上記(1)又は(2)に記載の画像処理装置。
(4)上記シーム決定処理部は、上記被写体情報を反映した2次元のコスト関数を最適化することによって、上記シームを決定する上記(1)乃至(3)のいずれかに記載の画像処理装置。
(5)上記シームは、不定形状線である上記(4)に記載の画像処理装置。
(6)上記判定領域は、隣接する2つのフレーム画像データの重なり領域のうちで、上記シーム基準としての線から、一連のフレーム画像データの撮像時のスイープ方向、及びその逆方向に、夫々所定距離内となる領域である上記(1)乃至(5)のいずれかに記載の画像処理装置。
(7)上記判定領域を設定する上記所定距離は可変設定される上記(6)に記載の画像処理装置。
(8)上記シーム決定処理部で決定された各シームに基づいて、各フレーム画像データを合成していくことで、上記n個のフレーム画像データを用いたパノラマ画像データを生成する画像合成部をさらに備えた上記(1)乃至(7)のいずれかに記載の画像処理装置。
(9)上記画像合成部は、上記シームとしての線から、一連のフレーム画像データの撮像時のスイープ方向、及びその逆方向に、夫々所定距離内となる隣接する2つのフレーム画像データの範囲を対象として、ブレンド処理を行って2つのフレーム画像データを合成する上記(8)に記載の画像処理装置。
(10)上記被写体情報検出部は、パノラマ画像生成に用いる一連のn個のフレーム画像データの入力過程で、フレーム画像データについての被写体情報を検出し、
上記シーム基準決定処理部は、(m+1)個(但しm<n)のフレーム画像データ群毎にm個以下のシーム基準を決定する処理を、上記入力過程で順次行う上記(1)乃至(9)のいずれかに記載の画像処理装置。
(11)上記シーム決定処理部は、上記シーム基準決定処理部で上記m個以下のシーム基準を決定させる処理が行われる毎に、決定された各シーム基準に基づいて設定される判定領域内で上記各シームを決定する処理を行う上記(10)に記載の画像処理装置。
(12)パノラマ画像生成に用いる一連のn個のフレーム画像データについての被写体情報を検出する被写体情報検出部をさらに備えた上記(1)乃至(11)のいずれかに記載の画像処理装置。
(13)上記シーム基準決定処理部は、第1の解像度の画像データを用いて上記シーム基準を決定し、
上記シーム決定処理部は、上記第1の解像度の画像データより高解像度の画像データを用いて上記シームを決定する上記(1)乃至(12)のいずれかに記載の画像処理装置。
(14)上記被写体情報検出部として、低解像度の画像データについての被写体情報検出を行う低解像度被写体情報検出部と、高解像度の画像データについての被写体情報検出を行う高解像度被写体情報検出部とを備え、
上記シーム基準決定処理部は、フレーム画像データについて上記低解像度被写体情報検出部で得られた被写体情報を用いて上記シーム基準を決定し、
上記シーム決定処理部は、フレーム画像データの少なくとも上記判定領域内の画像について上記高解像度被写体情報検出部で得られた被写体情報を用いて上記シームを決定する上記(12)に記載の画像処理装置。
1 撮像装置、20 被写体情報検出部、21 シーム決定処理部、22 画像合成部、23 パノラマ合成準備処理部、24 シーム基準決定処理部、100 レンズユニット、101 撮像素子、102 画像処理部、103 制御部、104 表示部、105 メモリ部、106 記録デバイス、107 操作部、108 センサー部
Claims (16)
- パノラマ画像生成に用いる一連のn個(nは2以上の自然数)のフレーム画像データにおける、隣接する2つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する2つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理部と、
上記シーム基準決定処理部で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する2つのフレーム画像データ間のシームを決定するシーム決定処理部と、
を備えた画像処理装置。 - 上記シーム基準決定処理部で決定される上記シーム基準は、一連のフレーム画像データの撮像時のスイープ方向に対して垂直な直線状の基準線とされる請求項1に記載の画像処理装置。
- 上記シーム基準決定処理部は、上記被写体情報を反映した1次元のコスト関数を最適化することによって、上記シーム基準を決定する請求項1に記載の画像処理装置。
- 上記シーム決定処理部は、上記被写体情報を反映した2次元のコスト関数を最適化することによって、上記シームを決定する請求項1に記載の画像処理装置。
- 上記シームは、不定形状線である請求項4に記載の画像処理装置。
- 上記判定領域は、隣接する2つのフレーム画像データの重なり領域のうちで、上記シーム基準としての線から、一連のフレーム画像データの撮像時のスイープ方向、及びその逆方向に、夫々所定距離内となる領域である請求項1に記載の画像処理装置。
- 上記判定領域を設定する上記所定距離は可変設定される請求項6に記載の画像処理装置。
- 上記シーム決定処理部で決定された各シームに基づいて、各フレーム画像データを合成していくことで、上記n個のフレーム画像データを用いたパノラマ画像データを生成する画像合成部をさらに備えた請求項1に記載の画像処理装置。
- 上記画像合成部は、上記シームとしての線から、一連のフレーム画像データの撮像時のスイープ方向、及びその逆方向に、夫々所定距離内となる隣接する2つのフレーム画像データの範囲を対象として、ブレンド処理を行って2つのフレーム画像データを合成する請求項8に記載の画像処理装置。
- 上記被写体情報検出部は、パノラマ画像生成に用いる一連のn個のフレーム画像データの入力過程で、フレーム画像データについての被写体情報を検出し、
上記シーム基準決定処理部は、(m+1)個(但しm<n)のフレーム画像データ群毎にm個以下のシーム基準を決定する処理を、上記入力過程で順次行う請求項1に記載の画像処理装置。 - 上記シーム決定処理部は、上記シーム基準決定処理部で上記m個以下のシーム基準を決定させる処理が行われる毎に、決定された各シーム基準に基づいて設定される判定領域内で上記各シームを決定する処理を行う請求項10に記載の画像処理装置。
- パノラマ画像生成に用いる一連のn個のフレーム画像データについての被写体情報を検出する被写体情報検出部をさらに備えた請求項1に記載の画像処理装置。
- 上記シーム基準決定処理部は、第1の解像度の画像データを用いて上記シーム基準を決定し、
上記シーム決定処理部は、上記第1の解像度の画像データより高解像度の画像データを用いて上記シームを決定する請求項1に記載の画像処理装置。 - 上記被写体情報検出部は、低解像度の画像データについての被写体情報検出を行う低解像度被写体情報検出部と、高解像度の画像データについての被写体情報検出を行う高解像度被写体情報検出部とを含み、
上記シーム基準決定処理部は、フレーム画像データについて上記低解像度被写体情報検出部で得られた被写体情報を用いて上記シーム基準を決定し、
上記シーム決定処理部は、フレーム画像データの少なくとも上記判定領域内の画像について上記高解像度被写体情報検出部で得られた被写体情報を用いて上記シームを決定する請求項12に記載の画像処理装置。 - パノラマ画像生成に用いる一連のn個(nは2以上の自然数)のフレーム画像データにおける、隣接する2つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する2つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理と、
上記シーム基準決定処理で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する2つのフレーム画像データ間のシームを決定するシーム決定処理と、
を備えた画像処理方法。 - パノラマ画像生成に用いる一連のn個(nは2以上の自然数)のフレーム画像データにおける、隣接する2つのフレーム画像データ間のシームを決定する基準線となるシーム基準を、該隣接する2つのフレーム画像データについての被写体情報を用いて求めるシーム基準決定処理と、
上記シーム基準決定処理で決定されたシーム基準に基づいて設定される判定領域内のみで、上記被写体情報を用いて該隣接する2つのフレーム画像データ間のシームを決定するシーム決定処理と、
を演算処理装置に実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012100620A JP2013228896A (ja) | 2012-04-26 | 2012-04-26 | 画像処理装置、画像処理方法、プログラム |
US13/864,451 US20130287304A1 (en) | 2012-04-26 | 2013-04-17 | Image processing device, image processing method, and program |
CN2013101367600A CN103379291A (zh) | 2012-04-26 | 2013-04-19 | 图像处理装置、图像处理方法和程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012100620A JP2013228896A (ja) | 2012-04-26 | 2012-04-26 | 画像処理装置、画像処理方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013228896A true JP2013228896A (ja) | 2013-11-07 |
Family
ID=49463795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012100620A Pending JP2013228896A (ja) | 2012-04-26 | 2012-04-26 | 画像処理装置、画像処理方法、プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130287304A1 (ja) |
JP (1) | JP2013228896A (ja) |
CN (1) | CN103379291A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015201153A (ja) * | 2014-03-31 | 2015-11-12 | 株式会社Jvcケンウッド | 画像処理装置、画像処理方法、プログラム及びカメラ |
JP2017102785A (ja) * | 2015-12-03 | 2017-06-08 | 日本電信電話株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
US9813620B2 (en) | 2014-03-31 | 2017-11-07 | JVC Kenwood Corporation | Image processing apparatus, image processing method, program, and camera |
JP2018026744A (ja) * | 2016-08-12 | 2018-02-15 | 日本電信電話株式会社 | パノラマ映像情報生成装置、これに用いるパノラマ映像情報生成方法、およびパノラマ映像情報生成用プログラム |
KR101836238B1 (ko) * | 2016-12-20 | 2018-03-09 | 인천대학교 산학협력단 | 다운 스케일링과 비용함수를 이용한 이미지 연결선 추정방법 |
JP2019036906A (ja) * | 2017-08-21 | 2019-03-07 | 日本電信電話株式会社 | 映像処理装置、映像処理方法及び映像処理プログラム |
JP2020507837A (ja) * | 2017-01-04 | 2020-03-12 | 日本テキサス・インスツルメンツ合同会社 | リアビュー可視化のためのリアスティッチされたビューパノラマ |
WO2022118434A1 (ja) * | 2020-12-03 | 2022-06-09 | 日本電信電話株式会社 | 処理装置、処理方法およびプログラム |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013023063A1 (en) | 2011-08-09 | 2013-02-14 | Path 36 Llc | Digital media editing |
CN105165000B (zh) * | 2013-03-26 | 2018-07-13 | 株式会社因特尼亚 | 一种全景摄影用数码照相机及全景摄影系统 |
US9754159B2 (en) | 2014-03-04 | 2017-09-05 | Gopro, Inc. | Automatic generation of video from spherical content using location-based metadata |
US9685194B2 (en) | 2014-07-23 | 2017-06-20 | Gopro, Inc. | Voice-based video tagging |
US9984293B2 (en) | 2014-07-23 | 2018-05-29 | Gopro, Inc. | Video scene classification by activity |
US9563953B2 (en) | 2014-08-28 | 2017-02-07 | Qualcomm Incorporated | Systems and methods for determining a seam |
JP6766045B2 (ja) * | 2014-11-20 | 2020-10-07 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | トモシンセシスデータから合成マンモグラムを生成する方法 |
US9734870B2 (en) | 2015-01-05 | 2017-08-15 | Gopro, Inc. | Media identifier generation for camera-captured media |
US9679605B2 (en) | 2015-01-29 | 2017-06-13 | Gopro, Inc. | Variable playback speed template for video editing application |
JP6687015B2 (ja) * | 2015-03-05 | 2020-04-22 | ソニー株式会社 | 画像処理装置および画像処理方法 |
WO2016187235A1 (en) | 2015-05-20 | 2016-11-24 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
US9721611B2 (en) | 2015-10-20 | 2017-08-01 | Gopro, Inc. | System and method of generating video from video clips based on moments of interest within the video clips |
US10204273B2 (en) | 2015-10-20 | 2019-02-12 | Gopro, Inc. | System and method of providing recommendations of moments of interest within video clips post capture |
US9911213B2 (en) * | 2015-12-18 | 2018-03-06 | Ricoh Co., Ltd. | Panoramic image stitching using objects |
JP6708407B2 (ja) * | 2015-12-25 | 2020-06-10 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
US10109319B2 (en) | 2016-01-08 | 2018-10-23 | Gopro, Inc. | Digital media editing |
WO2017122810A1 (ja) * | 2016-01-15 | 2017-07-20 | 株式会社モルフォ | 画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体 |
US9812175B2 (en) | 2016-02-04 | 2017-11-07 | Gopro, Inc. | Systems and methods for annotating a video |
US9838730B1 (en) | 2016-04-07 | 2017-12-05 | Gopro, Inc. | Systems and methods for audio track selection in video editing |
US9838731B1 (en) | 2016-04-07 | 2017-12-05 | Gopro, Inc. | Systems and methods for audio track selection in video editing with audio mixing option |
US9794632B1 (en) | 2016-04-07 | 2017-10-17 | Gopro, Inc. | Systems and methods for synchronization based on audio track changes in video editing |
US10185891B1 (en) | 2016-07-08 | 2019-01-22 | Gopro, Inc. | Systems and methods for compact convolutional neural networks |
US20180063426A1 (en) * | 2016-08-31 | 2018-03-01 | Nokia Technologies Oy | Method, apparatus and computer program product for indicating a seam of an image in a corresponding area of a scene |
US9836853B1 (en) | 2016-09-06 | 2017-12-05 | Gopro, Inc. | Three-dimensional convolutional neural networks for video highlight detection |
CN107945101B (zh) * | 2016-10-13 | 2021-01-29 | 华为技术有限公司 | 图像处理方法和装置 |
US10284809B1 (en) | 2016-11-07 | 2019-05-07 | Gopro, Inc. | Systems and methods for intelligently synchronizing events in visual content with musical features in audio content |
US10262639B1 (en) | 2016-11-08 | 2019-04-16 | Gopro, Inc. | Systems and methods for detecting musical features in audio content |
EP3340611B1 (en) | 2016-12-20 | 2020-07-29 | Nokia Technologies Oy | An apparatus and associated methods for virtual reality scene capture |
US10534966B1 (en) | 2017-02-02 | 2020-01-14 | Gopro, Inc. | Systems and methods for identifying activities and/or events represented in a video |
US10699375B2 (en) * | 2017-02-14 | 2020-06-30 | Nokia Technologies Oy | Method and apparatus for image adjustment for panoramic image stitching |
US10127943B1 (en) | 2017-03-02 | 2018-11-13 | Gopro, Inc. | Systems and methods for modifying videos based on music |
US10185895B1 (en) | 2017-03-23 | 2019-01-22 | Gopro, Inc. | Systems and methods for classifying activities captured within images |
US10083718B1 (en) | 2017-03-24 | 2018-09-25 | Gopro, Inc. | Systems and methods for editing videos based on motion |
KR101760639B1 (ko) * | 2017-03-31 | 2017-07-24 | 한국과학기술원 | 입력영상의 주변뷰 영상을 생성하는 몰입형 디스플레이 장치 및 방법 |
US10187690B1 (en) | 2017-04-24 | 2019-01-22 | Gopro, Inc. | Systems and methods to detect and correlate user responses to media content |
CN107833272A (zh) * | 2017-10-30 | 2018-03-23 | 南京青臣创意数字科技有限公司 | 一种全景空间构建方法 |
TWI764073B (zh) * | 2018-12-28 | 2022-05-11 | 仁寶電腦工業股份有限公司 | 影像處理方法以及影像擷取裝置 |
KR20220097656A (ko) * | 2020-12-30 | 2022-07-08 | 현대자동차주식회사 | 운전자 보조 장치, 차량 및 그 제어 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128108A (en) * | 1997-09-03 | 2000-10-03 | Mgi Software Corporation | Method and system for compositing images |
JP5218071B2 (ja) * | 2009-01-07 | 2013-06-26 | ソニー株式会社 | 画像処理装置、画像処理方法およびプログラム |
US20110141226A1 (en) * | 2009-12-11 | 2011-06-16 | Fotonation Ireland Limited | Panorama imaging based on a lo-res map |
US20120019614A1 (en) * | 2009-12-11 | 2012-01-26 | Tessera Technologies Ireland Limited | Variable Stereo Base for (3D) Panorama Creation on Handheld Device |
JP2011130327A (ja) * | 2009-12-21 | 2011-06-30 | Sony Corp | 画像処理装置および方法、並びにプログラム |
JP2012222674A (ja) * | 2011-04-12 | 2012-11-12 | Sony Corp | 画像処理装置、画像処理方法、プログラム |
-
2012
- 2012-04-26 JP JP2012100620A patent/JP2013228896A/ja active Pending
-
2013
- 2013-04-17 US US13/864,451 patent/US20130287304A1/en not_active Abandoned
- 2013-04-19 CN CN2013101367600A patent/CN103379291A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015201153A (ja) * | 2014-03-31 | 2015-11-12 | 株式会社Jvcケンウッド | 画像処理装置、画像処理方法、プログラム及びカメラ |
US9813620B2 (en) | 2014-03-31 | 2017-11-07 | JVC Kenwood Corporation | Image processing apparatus, image processing method, program, and camera |
JP2017102785A (ja) * | 2015-12-03 | 2017-06-08 | 日本電信電話株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
JP2018026744A (ja) * | 2016-08-12 | 2018-02-15 | 日本電信電話株式会社 | パノラマ映像情報生成装置、これに用いるパノラマ映像情報生成方法、およびパノラマ映像情報生成用プログラム |
KR101836238B1 (ko) * | 2016-12-20 | 2018-03-09 | 인천대학교 산학협력단 | 다운 스케일링과 비용함수를 이용한 이미지 연결선 추정방법 |
JP2020507837A (ja) * | 2017-01-04 | 2020-03-12 | 日本テキサス・インスツルメンツ合同会社 | リアビュー可視化のためのリアスティッチされたビューパノラマ |
JP7054293B2 (ja) | 2017-01-04 | 2022-04-13 | テキサス インスツルメンツ インコーポレイテッド | リアビュー可視化のためのリアスティッチされたビューパノラマ |
JP2019036906A (ja) * | 2017-08-21 | 2019-03-07 | 日本電信電話株式会社 | 映像処理装置、映像処理方法及び映像処理プログラム |
WO2022118434A1 (ja) * | 2020-12-03 | 2022-06-09 | 日本電信電話株式会社 | 処理装置、処理方法およびプログラム |
JP7469713B2 (ja) | 2020-12-03 | 2024-04-17 | 日本電信電話株式会社 | 処理装置、処理方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN103379291A (zh) | 2013-10-30 |
US20130287304A1 (en) | 2013-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013228896A (ja) | 画像処理装置、画像処理方法、プログラム | |
JP2012222674A (ja) | 画像処理装置、画像処理方法、プログラム | |
US10789676B2 (en) | Image processing device, image processing method, and program | |
JP6819801B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム。 | |
JP6337888B2 (ja) | 画像処理装置、画像処理方法、プログラム | |
JP5906028B2 (ja) | 画像処理装置、画像処理方法 | |
US8126281B2 (en) | Image processing apparatus, method, and computer-readable medium for generating motion compensation images | |
JP2003178298A (ja) | 画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラム | |
JP2009118484A (ja) | オブジェクト追跡を用いたデジタル画像の手ぶれ補正装置及び方法 | |
JP2015156523A (ja) | 画像処理装置、画像処理方法、プログラム | |
KR101140953B1 (ko) | 영상 왜곡 보정 장치 및 방법 | |
JP2013020528A (ja) | 画像処理装置および方法、並びにプログラム | |
JP2008306608A (ja) | 画像処理方法、画像処理装置、及びこの画像処理装置を備えた電子機器 | |
Kim | Panoramic image communication for mobile application using content-aware image resizing method |