(57)【特許請求の範囲】
【請求項１】
撮像部の移動を伴い連続的に撮像された複数の画像を取得する取得手段と、
前記複数の画像の夫々の、所定の情報に基づいて決定されるサイズであって、前記複数の画像の夫々の中央部分に設定される領域群における特徴点を検出する特徴点検出手段と、
前記特徴点に基づいて、前記領域群から特定の領域を選択する領域選択手段と、
前記特定の領域に基づいて、隣接する前記画像同士を合成することで合成画像を生成する生成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記所定の情報とは、レンズ性能に関する情報であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記所定の情報とは、前記複数の画像の移動距離に関する情報であることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記複数の画像の移動距離が増加するにつれて前記サイズが大きくなることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記領域群は、前記複数の画像の端部を除いた領域から成ることを特徴とする請求項１乃至４の何れかに記載の画像処理装置。
【請求項６】
前記特徴点に基づいて、前記複数の画像の隣接する画像間における前記複数の領域に対応するベクトルを算出するベクトル算出手段を更に有し、
前記領域選択手段は、前記ベクトルに基づいて、前記領域群から特定の領域を選択することを特徴とする請求項１乃至５の何れかに記載の画像処理装置。
【請求項７】
前記領域群のうち、前記移動の方向に略直交する方向に隣接して配置された一群の領域の夫々について、前記特徴点の類似度を算出する類似度算出手段と、
を更に備え、
前記領域選択手段は、前記類似度算出手段により算出された類似度に基づいて、前記一群の領域を、前記特定の領域として選択する
ことを特徴とする請求項１乃至６の何れかに記載の画像処理装置。
【請求項８】
前記類似度算出手段は、前記画像の中心部分における前記一群の領域の夫々について、前記類似度を算出する、
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記領域選択手段は、前記一群の領域の夫々の前記類似度が最も類似する位置を、前記隣接する画像同士を位置合わせする領域として選択する、
ことを特徴とする請求項７又は８に記載の画像処理装置。
【請求項１０】
撮像部の移動を伴い連続的に撮像された複数の画像を取得する取得ステップと、
前記複数の画像の夫々の、所定の情報に基づいて決定されるサイズであって、前記複数の画像の夫々の中央部分に設定される領域群における特徴点を検出する特徴点検出ステップと、
前記特徴点に基づいて、前記領域群から特定の領域を選択する領域選択ステップと、
前記特定の領域に基づいて、隣接する前記画像同士を合成することで合成画像を生成する生成ステップと、
を含むことを特徴とする画像処理方法。
【請求項１１】
コンピュータを、
撮像部の移動を伴い連続的に撮像された複数の画像を取得する取得手段、
前記複数の画像の夫々の、所定の情報に基づいて決定されるサイズであって、前記複数の画像の夫々の中央部分に設定される領域群における特徴点を検出する特徴点検出手段、
前記特徴点に基づいて、前記領域群から特定の領域を選択する領域選択手段、
前記特定の領域に基づいて、隣接する前記画像同士を合成することで合成画像を生成する生成手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
デジタルカメラや、撮像機能を有する携帯電話等においては、撮像画角の限界はレンズの焦点距離、撮像素子のサイズ等、装置本体が備えるハードスペックに依存している。そこで、ハードスペックを超えるような広角画像を得るためのパノラマ撮像といった技術が従来から知られている。
【０００３】
パノラマ撮像を実現するためには、ユーザは、例えば、シャッタスイッチを押下操作した状態を維持しながら、自身の体を軸にして、デジタルカメラを垂直方向にほぼ固定したまま水平方向に回転させるように移動させる。すると、デジタルカメラは、その間に複数回の撮像処理を実行し、当該複数回の撮像処理の各々の結果得られた複数の画像（以下、「撮像画像」と呼ぶ）のデータを横方向（水平方向）に合成することによって、パノラマ画像等の広角画像のデータを生成する。
【０００４】
パノラマ撮像に関する工夫は、例えば、特許文献１には、複数回の撮像処理のたびに撮像画像における特徴点を検出し、隣接する２枚の撮像画像の特徴点が一致するように当該２枚の撮像画像のデータを合成することによって、パノラマ画像のデータを生成する手法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２８２１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、パノラマ画像を代表とする広角画像の撮像において、撮像対象にデジタルカメラの移動とは関係なく移動する動体が含まれる場合、単に特徴点の一致をみて隣接する撮像画像を合成する特許文献１の手法では、違和感のあるパノラマ画像のデータが生成されてしまうおそれがある。
この点について、図６を参照して具体的に説明する。図６は、パノラマ撮像の結果得られるパノラマ画像Ｐ１の一例を示す図である。図６（Ｂ）に示すパノラマ画像Ｐ１のデータは、図６（Ａ）に示す複数の撮像画像Ｆ１，Ｆ２，Ｆ３，Ｆ４，Ｆ５の各データを合成することにより得られるパノラマ画像のデータである。図６（Ａ）を参照すると、複数の撮像画像Ｆ１〜Ｆ５の中には、動体Ｍ１，Ｍ２，Ｍ３，Ｍ４が含まれている。このような動体Ｍ１〜Ｍ４を含む撮像画像Ｆ１〜Ｆ５の各データを従来の手法により合成した場合には、動体Ｍ１〜Ｍ４の一部が切り取られてしまうおそれがあり、結果として図６（Ｂ）に示すように違和感の有るパノラマ画像Ｐ１のデータが生成されてしまうおそれがある。
【０００７】
本発明は、このような問題に鑑みてなされたものであり、違和感のない合成画像を生成することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一態様の画像処理装置は、撮像部の移動を伴い連続的に撮像された複数の画像を取得する取得手段と、前記複数の画像の夫々の、所定の情報に基づいて決定されるサイズであって、前記複数の画像の夫々の中央部分に設定される領域群における特徴点を検出する特徴点検出手段と、前記特徴点に基づいて、前記領域群から特定の領域を選択する領域選択手段と、前記特定の領域に基づいて、隣接する前記画像同士を合成することで合成画像を生成する生成手段と、を備えることを特徴とする
【発明の効果】
【０００９】
本発明によれば、違和感のない合成画像を生成することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る画像処理装置のハードウェアの構成を示すブロック図である。
【図２】図１の画像処理装置の機能的構成のうち、パノラマ画像生成処理を実行するための機能的構成を示す機能ブロック図である。
【図３】画像処理部の位置合わせ部の機能を説明するための図である。
【図４】画像処理部の位置合わせ部及びパノラマ画像生成部の機能を説明するための図である。
【図５】図２の機能的構成を有する図１の画像処理装置が実行するパノラマ画像生成処理の流れを説明するフローチャートである。
【図６】パノラマ撮像の結果得られるパノラマ画像を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を用いて説明する。
【００１２】
図１は、本発明の一実施形態に係る画像処理装置１のハードウェアの構成を示すブロック図である。
画像処理装置１は、例えばデジタルカメラとして構成される。
【００１３】
画像処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、画像処理部１４と、バス１５と、入出力インターフェース１６と、撮像部１７と、入力部１８と、出力部１９と、記憶部２０と、通信部２１と、ドライブ２２と、を備えている。
【００１４】
ＣＰＵ１１は、ＲＯＭ１２に記録されているプログラム、又は、記憶部２０からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。
【００１５】
ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００１６】
画像処理部１４は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）や、ＶＲＡＭ（Ｖｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成されており、ＣＰＵ１１と協働して、画像のデータに対して各種画像処理を施す。
【００１７】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は、バス１５を介して相互に接続されている。このバス１５にはまた、入出力インターフェース１６も接続されている。入出力インターフェース１６には、撮像部１７、入力部１８、出力部１９、記憶部２０、通信部２１及びドライブ２２が接続されている。
【００１８】
撮像部１７は、図示はしないが、光学レンズ部と、イメージセンサと、を備えている。
【００１９】
光学レンズ部は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。フォーカスレンズは、イメージセンサの受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。光学レンズ部にはまた、必要に応じて、焦点、露出、ホワイトバランス等の設定パラメータを調整する周辺回路が設けられる。
【００２０】
イメージセンサは、光電変換素子や、ＡＦＥ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）等から構成される。光電変換素子は、例えばＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）型の光電変換素子等から構成される。光電変換素子には、光学レンズ部から被写体像が入射される。そこで、光電変換素子は、被写体像を光電変換（撮像）して画像信号を一定時間蓄積し、蓄積した画像信号をアナログ信号としてＡＦＥに順次供給する。
ＡＦＥは、このアナログの画像信号に対して、Ａ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換処理等の各種信号処理を実行する。各種信号処理によって、ディジタル信号が生成され、撮像部１７の出力信号として出力される。
このような撮像部１７の出力信号を、以下、「撮像画像のデータ」と呼ぶ。撮像画像のデータは、ＣＰＵ１１や画像処理部１４等に適宜供給される。
【００２１】
入力部１８は、シャッタスイッチ等の各種ボタンで構成され、ユーザの指示操作に応じて各種情報や命令を入力する。
出力部１９は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
記憶部２０は、ハードディスク或いはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、各種画像のデータを記憶する。
通信部２１は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【００２２】
ドライブ２２には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア３１が適宜装着される。ドライブ２２によってリムーバブルメディア３１から読み出されたプログラムは、必要に応じて記憶部２０にインストールされる。また、リムーバブルメディア３１は、記憶部２０に記憶されている画像のデータ等の各種データも、記憶部２０と同様に記憶することができる。
【００２３】
図２は、このような画像処理装置１の機能的構成のうち、パノラマ画像生成処理を実行するための機能的構成を示す機能ブロック図である。ここで、「パノラマ画像生成処理」とは、連続して取得した複数の撮像画像のデータを用いてパノラマ画像のデータを生成する処理をいう。なお、「パノラマ画像」とは、３５ミリ銀塩フィルムにより撮像された２：３の縦横比の画像や、デジタルカメラにより撮像された３：４の縦横比の画像と比較して、横長又は縦長の広角画像の一例である。
【００２４】
画像処理装置１がパノラマ画像生成処理を実行する場合には、ＣＰＵ１１は、撮像制御部５１及び記憶制御部５２として機能する。この場合、記憶部２０には、撮像画像のデータやパノラマ画像のデータ等の各種画像のデータを記憶する領域として画像記憶部５３が設けられる。
【００２５】
撮像制御部５１は、撮像部１７による各種撮像動作を制御する。
詳細には、ユーザが、デジタルカメラとしての画像処理装置１を保持したまま、入力部１８のシャッタスイッチを押下操作すると、画像処理装置１は、パノラマ画像生成処理を開始する。パノラマ画像生成処理が開始すると、撮像制御部５１は、撮像部１７の連続撮像の動作を開始させ、一定時間経過するたびに、又は画像処理装置１が所定量移動するたびに画像を撮像させる。
この間、ユーザがシャッタスイッチの押下操作の状態を維持したままの状態が所定時間経過した場合やデジタルカメラが所定量移動した場合等の所定条件が満たされると、撮像制御部５１は、撮像部１７における連続撮像の動作を終了させ、パノラマ画像生成処理を終了する。
【００２６】
記憶制御部５２は、パノラマ画像生成処理の結果生成されたパノラマ画像のデータ等の各種画像のデータを画像記憶部５３に記憶させる制御を実行する。
【００２７】
また、画像処理装置１がパノラマ画像生成処理を実行する場合には、画像処理部１４は、画像取得部５４、位置合わせ部５５及びパノラマ画像生成部５６として機能する。
【００２８】
画像取得部５４は、撮像部１７の連続撮像の動作により出力されてくる複数の撮像画像のデータ、即ち連続的に撮像された複数の画像のデータを逐次取得する。
【００２９】
位置合わせ部５５は、画像取得部５４により取得された複数の撮像画像のデータの夫々を処理対象として、当該複数の撮像画像のうち隣接する撮像画像同士の位置合わせを行う。なお、隣接する撮像画像とは、連続的に撮像された複数の撮像画像のうちのｎ枚目（ｎは１以上の整数値）の撮像画像とｎ＋１枚目の撮像画像とをいう。
ここで、人物等の動体がデジタルカメラの移動とは関係なく移動することを原因として違和感の有るパノラマ画像のデータが生成されることを防止するため、本実施形態の位置合わせ部５５は、特徴点検出部５５１と、特徴点追跡部５５２と、類似度算出部５５３と、画像位置合わせ部５５４と、を含んで構成される。このとき、特徴点検出部５５１が特徴点検出手段として機能し、特徴点追跡部４４２がベクトル算出手段として機能し、類似度算出部５５３及び画像位置合わせ部５５４が領域選択手段として機能する。
【００３０】
特徴点検出部５５１は、画像取得部５４により取得された複数の撮像画像のデータの夫々を処理対象として、撮像画像の中から複数の特徴点を検出する。即ち、特徴点検出部５５１は、画像取得部５４が撮像画像のデータを取得するたびに、取得した撮像画像の中から複数の特徴点を検出する。なお、特徴点検出部５５１は、検出した特徴点を画像取得部５４が取得した撮像画像のデータと対応付けて画像記憶部５３に記憶する。
このとき、特徴点検出部５５１は、撮像画像を複数の連続した領域（エリア）に分割した上で、当該複数の領域の各々の中から特徴点を検出する。なお、撮像画像を分割する領域は、任意の形状とすることができ、例えば、矩形状の領域を採用することができる。また、複数の領域は、後述するように、デジタルカメラの移動方向（以下、「パノラマ撮像方向」と呼ぶ）及び当該方向と略直交する方向に連続して配置されているものとする。なお、略直交とは、手振れ等によりパノラマ撮像方向が直線状にならないことがあるためであり、説明を簡易にするのであれば、水平方向のパノラマ撮像方向に対して垂直方向が略直交する方向となる。
ここで、撮像画像の中から特徴点を検出する方法は、これまで公知の方法を採用することができ、例えば、ＳＩＦＴ（Ｓｃａｌｅ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）を用いることとしてもよく、また、ハリスのコーナー検出を用いることとしてもよく、また、その他の方法を用いることとしてもよい。
【００３１】
特徴点追跡部５５２は、隣接する撮像画像の夫々における複数の特徴点を処理対象として、複数の特徴点毎に、隣接する撮像画像において当該特徴点がどの様に移動したかを示すベクトル、いわゆる移動ベクトルを算出する。即ち、特徴点追跡部５５２は、特徴点検出部５５１がｎ＋１枚目の撮像画像の中から複数の特徴点を検出すると、検出したｎ＋１枚目の撮像画像の特徴点の中から画像記憶部５３に記憶されたｎ枚目の撮像画像の特徴点と対応する対応点を特定し、ｎ枚目の撮像画像の特徴点からｎ＋１枚目の撮像画像の対応点までのベクトルを、当該特徴点のベクトルとして算出する。このとき、特徴点追跡部５５２は、算出したベクトルをｎ枚目の撮像画像のデータと対応付けて画像記憶部５３に記憶する。なお、本実施形態においてベクトルとは、特徴点の移動した方向及び移動の大きさ（距離）を示す。
【００３２】
類似度算出部５５３は、特徴点追跡部５５２が算出したベクトルを処理対象として、画像中の領域毎のベクトルの類似度を算出する。動体は、デジタルカメラの移動と関係なく移動するため、類似度算出部５５３は、ベクトルの類似度を算出することで、ｎ枚目の撮像画像の中の動体の位置を特定する。このようにして特定した動体の位置を避けて隣接する撮像画像同士を位置合わせすることで、違和感の有るパノラマ画像のデータが生成されることを防止することができる。
ここで、パノラマ画像生成処理では、パノラマ撮像方向と略直交する方向の直線状に沿って、隣接する撮像画像のデータの位置合わせを行うことが一般的である。そこで、類似度算出部５５３は、複数の領域のうちパノラマ撮像方向に略直交する方向に隣接して配置された一群の領域の夫々で、ベクトルの類似度を算出する。なお、デジタルカメラでは、レンズの歪曲等の関係から撮像画像の端（上端、下端、左端、右端）に若干の補正が加えられていることがあるため、類似度算出部５５３は、撮像画像の端部を除いた中心付近の領域のみを対象としてベクトルの類似度を算出することが好ましい。このとき、中心付近の領域のサイズについては、例えば、レンズ性能に基づいて設定することとしてもよく、また、デジタルカメラの移動速度や撮像タイミングのように隣接する撮像画像間の移動距離に基づいて設定することとしてもよく（移動が大きい場合は中心付近も大きく、移動が小さい場合は中心付近も小さい）、任意に設定することができる。このような中心付近の領域を用いることは、ベクトルの類似度を算出する際にのみ適用することとしてもよく、また、特徴点を検出する際の領域分割の際から適用することとしてもよい。
なお、ベクトルの類似度とは、特徴点の移動した方向及び移動の大きさが類似していることを意味し、本実施形態では、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）計算により算出することとしている。即ち、類似度算出部５５３は、一群の領域内で隣り合うベクトルの差分を計算し足し合わせることで、ベクトルの類似度を算出する。このようなＳＡＤ計算では、演算結果が小さいほど一群の領域内のベクトルが類似していることを意味し、演算結果が大きいほど一群の領域内のベクトルが類似していないことを意味する。このとき、一群の領域に含まれる複数の領域の特徴点に対応点を特定することのできない特徴点が含まれる場合には、類似度算出部５５３は、当該一群の領域内のベクトルが類似していないと判断することが好ましい。動体の移動に伴い（例えば、動体がｎ＋１枚目の特徴点の前面に移動したことにより）対応点を特定できない可能性が高いためである。なお、類似度の算出は、ＳＡＤ計算に限らず任意の方法により行うこととしてもよく、例えば、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  ｉｎｔｅｎｓｉｔｙ  Ｄｉｆｆｅｒｅｎｃｅ）計算や標準偏差等の公知の方法により算出することとしてもよい。
【００３３】
画像位置合わせ部５５４は、特徴点追跡部５５２が算出した特徴点のベクトルに基づいて、隣接する撮像画像同士の位置合わせを行う。即ち、画像位置合わせ部５５４は、他の特徴点に比べて異常なベクトルを示す特徴点の位置を避けて、隣接する撮像画像同士の位置合わせを行う。
より具体的には、画像位置合わせ部５５４は、類似度算出部５５３が算出した一群の領域内のベクトルの類似度に基づいて隣接する撮像画像同士の位置合わせを行う。ここで、画像位置合わせ部５５４は、ベクトルの夫々が所定値以上類似している一群の領域の位置で位置合わせを行うこととしてもよく、ベクトルの夫々が最も類似している一群の領域の位置で位置合わせを行うこととしてもよい。これにより、デジタルカメラの移動と関係なく移動する動体を避けた位置で隣接する撮像画像同士の位置合わせを行うことができる。
【００３４】
パノラマ画像生成部５６は、位置合わせ部５５が位置合わせした撮像画像同士の各データを合成し、パノラマ画像のデータを生成する。また、パノラマ画像生成部５６は、生成したパノラマ画像のデータを画像記憶部５３に記憶する。
【００３５】
続いて、パノラマ画像生成処理の実行機能について、図３及び図４を参照して具体的に説明する。
図３は、画像処理部１４の位置合わせ部５５の機能を説明するための図であり、図４は、画像処理部１４の位置合わせ部５５及びパノラマ画像生成部５６の機能を説明するための図である。ここで、図３及び図４では、図中左から右方向をパノラマ撮像方向としている。
【００３６】
図３（Ａ）を参照して、画像取得部５４は、連続的に撮像される撮像画像のデータを順次取得する。図３（Ａ）では、撮像画像７０のデータ及び撮像画像８０のデータが取得されている。ここで、撮像画像７０は、ｎ枚目の撮像画像であり、図中左から右方向に走る人物を示す動体７１及び背景を示す静体７３を撮像対象とする撮像画像である。また、撮像画像８０は、ｎ＋１枚目の撮像画像であり、動体８１及び静体８３を撮像対象とする撮像画像である。
【００３７】
図３（Ｂ）を参照して、画像取得部５４が撮像画像のデータを取得すると、特徴点検出部５５１が順次取得された撮像画像の中から領域毎の特徴点を検出するとともに、特徴点追跡部５５２が隣接する撮像画像における対応点を特定する。図３（Ｂ）では、ｎ枚目の撮像画像７０から特徴点Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈ，Ｉを含む複数の特徴点が検出され、ｎ＋１枚目の撮像画像８０から当該特徴点Ａ乃至Ｉに対応する対応点Ａ’，Ｂ’，Ｃ’，Ｄ’，Ｅ’，Ｆ’，Ｇ’，Ｈ’，Ｉ’が検出されている。なお、特徴点Ａ乃至Ｃ、特徴点Ｄ乃至Ｆ、特徴点Ｇ乃至Ｉの夫々は、パノラマ撮像方向に略直交する方向に隣接する一群の領域の特徴点である。また、特徴点Ａ乃至Ｇ及び対応点Ａ’乃至Ｇ’は、静体７３，８３から検出された特徴点及び対応点であり、特徴点Ｈ，Ｉ及び対応点Ｈ’，Ｉ’は、動体７１，８２から検出された特徴点及び対応点である。
【００３８】
図３（Ｃ）を参照して、特徴点追跡部５５２は、隣接する撮像画像における特徴点及び対応点を検出すると、ｎ枚目の撮像画像７０の特徴点からｎ＋１枚目の撮像画像８０の対応点までのベクトルを算出する。即ち、特徴点追跡部５５２は、図３（Ｃ）に示すように例えば、特徴点Ａから対応点Ａ’までのベクトルを算出する。
このように特徴点追跡部５５２が特徴点から対応点までのベクトルを算出すると、類似度算出部５５３は、パノラマ撮像方向に略直交する方向に隣接して配置された一群の領域の夫々で、ベクトルの類似度を算出する。ここで、図３（Ｃ）では、特徴点Ａ乃至Ｇから対応点Ａ’乃至Ｇ’については、概ねパノラマ撮像方向へのデジタルカメラの移動に伴うベクトルが算出されている一方で、特徴点Ｈ，Ｉから対応点Ｈ’，Ｉ’については、デジタルカメラの移動とは関係のないベクトルが算出されている。
そのため、画像位置合わせ部５５４は、類似度算出部５５３により算出された類似度から、特徴点Ａ乃至Ｃを含む一群の領域及び特徴点Ｄ乃至Ｆを含む一群の領域についてベクトルが類似すると判定でき、特徴点Ｇ乃至Ｉを含む一群の領域についてはベクトルが類似しないと判定できる。
【００３９】
図４（Ａ）を参照して、画像位置合わせ部５５４は、ベクトルの類似度判定の結果に基づいて、隣接する撮像画像同士の位置合わせを行う。
ここで、図４（Ｂ）に示すように、画像位置合わせ部５５４は、特徴点Ａ乃至Ｃから対応点Ａ’乃至Ｃ’までのベクトルが最も類似していると判定されるため、特徴点Ａ乃至Ｃの位置で位置合わせを行うこととしている。
【００４０】
つまり、画像位置合わせ部５５４は、図４（Ｂ）に示すように、特徴点Ａ及び対応点Ａ’、特徴点Ｂ及び対応点Ｂ’、特徴点Ｃ及び対応点Ｃ’が一致するように、撮像画像７０，８０の位置合わせを行う。これにより、撮像画像７０に含まれていた動体７１を含まない位置で撮像画像７０，８０の位置合わせが行われることになる。
【００４１】
図４（Ｃ）を参照して、画像位置合わせ部５５４が撮像画像７０，８０の位置合わせを行うと、パノラマ画像生成部５６は、この位置合わせ結果に基づいて撮像画像７０，８０のデータを合成し、合成画像９０のデータを生成する。
このように、本実施形態の画像処理装置１では、動体７１，８１を避けて撮像画像７０，８０の位置合わせを行うため、動体７１，８１の一部が切り取られてしまうといった違和感のある合成画像のデータが生成されることを防止できる。即ち、図４（Ｃ）に示すように、撮像画像８０に含まれていた動体８１をそのまま含む合成画像９０のデータを生成することができる。
【００４２】
また、本実施形態の画像処理装置１は、動体を避けて隣接する撮像画像の位置合わせを行うため、夫々の撮像画像に含まれる動体を様々な態様で表示することができる。即ち、動体を一切含むことのないパノラマ画像のデータを生成することもでき、また、動体を１つのみ含むパノラマ画像のデータを生成することもでき、また、動体が連続的に移動する様子を表わすパノラマ画像のデータを生成することもできる。
このような動体の表示態様については、特徴点のベクトルの類似度に加え、パノラマ撮像方向及び撮像画像中の動体の位置を考慮することで実現することができる。例えば、ｎ枚目の撮像画像中の動体の位置よりもパノラマ撮像方向に後側の位置で位置合わせを行うことでｎ枚目の撮像画像に含まれている動体を除くことができ、ｎ枚目の撮像画像中の動体の位置よりもパノラマ撮像方向に前側の位置で位置合わせを行うことでｎ枚目の撮像画像に含まれている動体を表示することができる。
【００４３】
続いて、図５を参照してパノラマ画像生成処理について説明する。図５は、図２の機能的構成を有する画像処理装置１が実行するパノラマ画像生成処理の流れを示すフローチャートである。
なお、パノラマ画像生成処理は、ユーザの入力部１８へのパノラマ画像生成処理を開始する操作、即ち、シャッタボタンの押下操作等を契機に開始される。
【００４４】
ステップＳ１において、撮像制御部５１は、撮像部１７が連続撮像をするように制御する。
【００４５】
ステップＳ２において、画像取得部５４は、撮像部１７が撮像するたびに撮像画像のデータを取得する。このとき、画像取得部５４は、取得した撮像画像のデータを画像記憶部５３に一時的に記憶する。
【００４６】
ステップＳ３において、特徴点検出部５５１は、ステップＳ２の処理で取得された撮像画像のデータから複数の特徴点を検出し、画像記憶部５３に一時的に記憶する。
【００４７】
ステップＳ４において、特徴点追跡部５５２は、ステップＳ３の処理を行った撮像画像が２枚目以降のものであるか否かを判断する。２枚目以降の撮像画像である場合には、ステップＳ４においてＹＥＳと判断されて、処理はステップＳ５に進み、２枚目以降でない、即ち、１枚目の撮像画像である場合には、ステップＳ４においてＮＯと判断されて、処理はステップＳ１に戻る。
【００４８】
ステップＳ５において、特徴点追跡部５５２は、画像記憶部５３から隣接する撮像画像（前回に撮像された撮像画像）における特徴点を抽出した後、隣接する撮像画像間で対応する特徴点を比較することで、隣接する撮像画像間での複数の特徴点のベクトルを算出する。
【００４９】
ステップＳ６において、類似度算出部５５３は、ステップＳ５の処理で算出した複数の特徴点のベクトルの類似度を算出する。具体的には、類似度算出部５５３は、パノラマ撮像方向と直交する方向に隣接する一群の領域の夫々で、ベクトルの類似度を算出する。
【００５０】
ステップＳ７において、画像位置合わせ部５５４は、ステップＳ６の処理で算出したベクトルの類似度に基づいて隣接する撮像画像の位置合わせを行う。例えば、画像位置合わせ部５５４は、ベクトルの夫々が最も類似している一群の領域を選択して、当該領域の位置で位置合わせを行う。
【００５１】
ステップＳ８において、パノラマ画像生成部５６は、ステップＳ７の処理で位置合わせした撮像画像同士の各データを合成し、パノラマ画像のデータを生成する。
【００５２】
ステップＳ９において、ＣＰＵ１１は、パノラマ画像生成処理を終了すべきか判断する。例えば、デジタルカメラが所定以上移動した場合や、ユーザによる所定の終了操作を受け付けた場合等に、ＣＰＵ１１は、パノラマ画像生成処理を終了すべきと判断する。ステップＳ９においてＹＥＳと判断されると、記憶制御部５２は、これまで生成したパノラマ画像のデータを画像記憶部５３に記憶してパノラマ画像生成処理を終了する。また、ステップＳ９においてＮＯと判断されると、処理はステップＳ１０に移る。
【００５３】
ステップＳ１０において、ＣＰＵ１１又は画像処理部１４は、エラーが発生したか否かを判断する。例えば、デジタルカメラがパノラマ撮像方向と直交する方向に所定以上移動した場合（即ち、手振れが大きい場合）や、撮像画像から十分な数の特徴点を検出できない場合等に、ＣＰＵ１１又は画像処理部１４は、エラーが発生したと判断する。ステップＳ１０においてＹＥＳと判断されると、パノラマ画像生成処理は終了し、ステップＳ１１においてＮＯと判断されると、処理はステップＳ１に移る。
【００５４】
以上のように構成される画像処理装置１は、撮像部１７から供給される撮像画像のデータを処理対象として、隣接する撮像画像同士の位置合わせを行う位置合わせ部５５と、位置合わせ部５５の位置合わせ結果に基づいて隣接する撮像画像のデータを合成することでパノラマ画像のデータを生成するパノラマ画像生成部５６と、を備える。このとき、位置合わせ部５５は、隣接する撮像画像間における複数の特徴点のベクトルを算出する特徴点追跡部５５２と、算出した複数の特徴点のベクトルに基づいて、隣接する撮像画像同士を位置合わせする画像位置合わせ部５５４と、を備える。
これにより、ベクトルが異常な特徴点の位置を避けて、即ちデジタルカメラの移動とは関係なく移動する動体の位置を避けて、隣接する撮像画像同士の位置合わせを行うことができる。その結果、合成の結果得られるパノラマ画像において、動体の一部が切り取られてしまうことを防止することができ、違和感のないパノラマ画像のデータを生成することができる。
また、画像処理装置１では、特徴点のベクトルに加え、パノラマ撮像方向と撮像画像中の動体の位置を考慮することで、合成の結果得られるパノラマ画像において動体を様々な態様で表示することができる。即ち、動体を一切含むことのないパノラマ画像のデータを生成することもでき、また、動体を１つのみ含むパノラマ画像のデータを生成することもでき、また、動体が連続的に移動する様子を表わすパノラマ画像のデータを生成することもできる。
【００５５】
このとき、パノラマ画像生成処理では、パノラマ撮像方向と略直交する方向で隣接する撮像画像のデータの位置合わせを行うことが一般的であるため、動体を避ける位置を特定するために、パノラマ撮像方向と略直交する方向に隣接するベクトルの類似度を用いることが好ましい。これにより、隣接する撮像画像同士をパノラマ撮像方向と略直交する方向の直線状で位置合わせすることができ、波形状で位置合わせを行う場合のような複雑な演算を必要とすることがない。
【００５６】
なお、類似度に基づいてとは、ベクトルの夫々が所定以上類似している一群の領域の位置で位置合わせを行うこととしてもよく、ベクトルの夫々が最も類似している一群の領域の位置で位置合わせを行うこととしてもよい。所定の類似度で位置合わせを行った場合には、撮像画像中の動体の位置に応じて任意に位置合わせを行うことができ、動体の表示態様を任意に設定することができる。また、最も類似する一群の位置で位置合わせを行った場合には、隣接する撮像画像のデータを最も自然に合成することができる。
【００５７】
また、デジタルカメラでは、レンズの歪曲等の関係から撮像画像の端部に若干の補正が加えられていることが一般的であるため、撮像画像の端部を除いた中心付近の領域を対象として一群の領域を特定することが好ましい。これにより、レンズの歪曲に関わらず特徴点のベクトルを正確に算出することができ、隣接する撮像画像のデータを適切に合成することができる。
【００５８】
以上、本実施形態の画像処理装置１について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００５９】
上述の実施形態では、パノラマ画像生成処理において、隣接する撮像画像の位置合わせや合成を、撮像画像のデータを取得するたびに行うこととしているが、パノラマ画像のデータを生成するための全ての撮像画像のデータを取得した後に、位置合わせや合成をまとめて行うこととしてもよい。
【００６０】
また、上述の実施形態では、本発明が適用される画像処理装置１は、デジタルカメラを例として説明したが、特にこれに限定されない。
例えば、本発明は、パノラマ画像生成機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、ノート型のパーソナルコンピュータ、プリンタ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等に適用可能である。
【００６１】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図２の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が画像処理装置１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図２の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００６２】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００６３】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図１のリムーバブルメディア３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア３１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図１のＲＯＭ１２や、図１の記憶部２０に含まれるハードディスク等で構成される。
【００６４】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【００６５】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、更に、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００６６】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
撮像部の移動を伴い連続的に撮像された複数の画像を取得する取得手段と、
前記取得手段により取得された画像を複数の領域に分割する分割手段と、
前記分割手段により分割された複数の領域における特徴点を夫々検出する特徴点検出手段と、
前記特徴点検出手段により夫々検出された特徴点に基づいて、前記複数の画像の隣接する画像間における前記複数の領域に対応するベクトルを複数算出するベクトル算出手段と、
前記ベクトル算出手段により算出された複数のベクトルに基づいて、前記分割された複数の領域から特定の領域を選択する領域選択手段と、
前記領域選択手段により選択された特定の領域に基づいて、前記隣接する画像同士を合成することで合成画像を生成する生成手段と、
を備えることを特徴とする画像処理装置。
［付記２］
前記分割手段は、前記取得された画像を複数の連続した領域に分割し、
前記分割手段により分割された複数の領域のうち、前記移動の方向に略直交する方向に隣接して配置された一群の領域の夫々について、前記算出されたベクトル同士の類似度を算出する類似度算出手段と、
を更に備え、
前記領域選択手段は、類似度算出手段により算出された類似度に基づいて、前記一群の領域を、前記特定の領域として選択する
ことを特徴とする付記１に記載の画像処理装置。
［付記３］
前記類似度算出手段は、前記画像の中心部分における前記一群の領域の夫々について、前記ベクトルの類似度を算出する、
ことを特徴とする付記２に記載の画像処理装置。
［付記４］
前記領域選択手段は、前記一群の領域の夫々の前記ベクトルが最も類似する位置を、前記隣接する画像同士を位置合わせする領域として選択する、
ことを特徴とする付記２又は３に記載の画像処理装置。
［付記５］
撮像部の移動を伴い連続的に撮像された複数の画像を取得する取得ステップと、
前記取得ステップにより取得された画像を複数の領域に分割する分割ステップと、
前記分割ステップにより分割された複数の領域における特徴点を夫々検出する特徴点検出ステップと、
前記特徴点検出ステップにより夫々検出された特徴点に基づいて、前記複数の画像の隣接する画像間における前記複数の領域に対応するベクトルを複数算出するベクトル算出ステップと、
前記ベクトル算出ステップにより算出された複数のベクトルに基づいて、前記分割された複数の領域から特定の領域を選択する領域選択ステップと、
前記領域選択ステップにより選択された特定の領域に基づいて、前記隣接する画像同士を合成することで前記合成画像を生成する生成ステップと、
を含むことを特徴とする画像処理方法。
［付記６］
コンピュータを、
撮像部の移動を伴い連続的に撮像された複数の画像を取得する取得手段、
前記取得手段により取得された画像を複数の領域に分割する分割手段、
前記分割手段により分割された複数の領域における特徴点を夫々検出する特徴点検出手段、
前記特徴点検出手段により夫々検出された特徴点に基づいて、前記複数の画像の隣接する画像間における前記複数の領域に対応するベクトルを複数算出するベクトル算出手段、
前記ベクトル算出手段により算出された複数のベクトルに基づいて、前記分割された複数の領域から特定の領域を選択する領域選択手段、
前記領域選択手段により選択された特定の領域に基づいて、前記隣接する画像同士を合成することで前記合成画像を生成する生成手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【００６７】
１・・・画像処理装置、１１・・・ＣＰＵ、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１４・・・画像処理部、１５・・・バス、１６・・・入出力インターフェース、１７・・・撮像部、１８・・・入力部、１９・・・出力部、２０・・・記憶部、２１・・・通信部、２２・・・ドライブ、３１・・・リムーバブルメディア、５１・・・撮像制御部、５２・・・記憶制御部、５３・・・画像記憶部、５４・・・画像取得部、５５・・・位置合わせ部、５５１・・・特徴点検出部、５５２・・・特徴点追跡部、５５３・・・類似度算出部、５５４・・・画像位置合わせ部、５６・・・パノラマ画像生成部
【図１】
0006036934.tif 000002
【図２】
0006036934.tif 000003
【図３】
0006036934.tif 000004
【図４】
0006036934.tif 000005
【図５】
0006036934.tif 000006
【図６】
0006036934.tif 000007