(57)【特許請求の範囲】
【請求項１】
静止画像を連続して取得する画像取得部と、
撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、
連続して取得された前記静止画像に基づいて、画像スリットを生成する画像スリット生成部と、
連続して取得された前記静止画像に基づいて、前記画像スリットとは別に、前記画像スリット同士の位置合わせを行うために使用される位置合わせスリットを生成する位置合わせスリット生成部と、
前記画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部と、
を含み、
前記カメラ移動方向として所定の移動方向を第１のカメラ移動方向とし、前記第１のカメラ移動方向と逆方向であるカメラ移動方向を第２のカメラ移動方向とし、前記第１のカメラ移動方向及び前記第２のカメラ移動方向のいずれとも異なるカメラ移動方向を第３のカメラ移動方向とする場合に、
前記方向判定部は、
前記第１のカメラ移動方向に前記撮像部を移動させながら撮影が行われた後に、前記第３のカメラ移動方向に前記撮像部を移動させ、前記第３のカメラ移動方向に前記撮像部を移動させた後に、前記第２のカメラ移動方向に前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第２のカメラ移動方向であるか、若しくは前記第３のカメラ移動方向であるかを判定し、
前記パノラマ画像生成部は、
前記カメラ移動方向と、前記位置合わせスリットとに基づいて、前記撮像部を前記第１のカメラ移動方向に移動している時の前記画像スリットと、前記撮像部を前記第２のカメラ移動方向に移動している時の前記画像スリットとの合成位置を決定し、前記画像スリットの前記合成処理を行い、前記パノラマ画像を生成することを特徴とする画像処理システム。
【請求項２】
静止画像を連続して取得する画像取得部と、
撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、
連続して取得された前記静止画像に基づいて、画像スリットを生成する画像スリット生成部と、
前記画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部と、
を含み、
前記カメラ移動方向として所定の移動方向を第１のカメラ移動方向とし、前記第１のカメラ移動方向と逆方向であるカメラ移動方向を第２のカメラ移動方向とし、前記第１のカメラ移動方向及び前記第２のカメラ移動方向のいずれとも異なるカメラ移動方向を第３のカメラ移動方向とする場合に、
前記方向判定部は、
前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第２のカメラ移動方向であるかを判定し、
前記パノラマ画像生成部は、
前記カメラ移動方向と、第１の誤差許容度に基づいて、前記画像スリットの合成位置を決定し、前記画像スリットの前記合成処理を行った後に、前記第１の誤差許容度よりも低い誤差許容度である第２の誤差許容度に基づいて、前記画像スリットの前記合成処理を行って、前記パノラマ画像を生成することを特徴とする画像処理システム。
【請求項３】
静止画像を連続して取得する画像取得部と、
撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、
連続して取得された前記静止画像に基づいて、画像スリットを生成する画像スリット生成部と、
前記画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部と、
を含み、
前記カメラ移動方向として所定の移動方向を第１のカメラ移動方向とし、前記第１のカメラ移動方向と逆方向であるカメラ移動方向を第２のカメラ移動方向とし、前記第１のカメラ移動方向及び前記第２のカメラ移動方向のいずれとも異なるカメラ移動方向を第３のカメラ移動方向とする場合に、
前記方向判定部は、
前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第２のカメラ移動方向であるかを判定し、
前記パノラマ画像生成部は、
前記カメラ移動方向に基づいて、前記画像スリットの合成位置を決定し、前記画像スリットの前記合成処理を行い、前記パノラマ画像を生成し、
前記画像取得部は、
動き情報取得部から取得される前記撮像部の動き情報に基づいて、前記撮像部が移動される速度であるカメラ移動速度が大きくなったと判断した場合に、前記画像スリットの前記合成処理において、連続する前記画像スリットの重複領域の面積が所定の閾値よりも大きくなるように、画像取得速度を大きくすることを特徴とする画像処理システム。
【請求項４】
請求項１において、
前記位置合わせスリット生成部は、
前記画像スリットの長辺と前記位置合わせスリットの長辺とが直交するように、前記位置合わせスリットを生成することを特徴とする画像処理システム。
【請求項５】
請求項１又は４において、
前記位置合わせスリット生成部は、
前記静止画像の中心を通る直線により第１の領域と第２の領域を設定し、前記第１の領域から第１の位置合わせスリットを生成し、前記第２の領域から第２の位置合わせスリットを生成することを特徴とする画像処理システム。
【請求項６】
請求項１、４又は５のいずれかにおいて、
前記位置合わせスリット生成部は、
動き情報取得部から取得される前記撮像部の動き情報に基づいて、前記静止画像中の前記位置合わせスリットを抽出する位置を変更し、前記位置合わせスリットを生成することを特徴とする画像処理システム。
【請求項７】
請求項１、４乃至６のいずれかにおいて、
前記パノラマ画像生成部は、
前記カメラ移動方向が前記第２のカメラ移動方向であると判定された場合には、前記第１のカメラ移動方向と垂直な方向に前記合成位置をずらし、前記位置合わせスリットの一部と今回の前記画像スリットの一部が重複するように、前記合成処理を行って、前記パノラマ画像を生成することを特徴とする画像処理システム。
【請求項８】
請求項７において、
前記パノラマ画像生成部は、
前記静止画像の中心を基準にして、前記第３のカメラ移動方向にある領域から前記位置合わせスリットを生成した場合には、
前記カメラ移動方向が前記第１のカメラ移動方向である時に連続して取得された前記静止画像に基づき生成された前記位置合わせスリットを、前記合成処理に用い、
前記静止画像の中心を基準にして、前記第３のカメラ移動方向とは逆方向にある領域から前記位置合わせスリットを生成した場合には、
前記カメラ移動方向が前記第２のカメラ移動方向である時に連続して取得された前記静止画像に基づき生成された前記位置合わせスリットを、前記合成処理に用いることを特徴とする画像処理システム。
【請求項９】
請求項７又は８において、
前記パノラマ画像生成部は、
動き情報取得部から取得される前記撮像部の動き情報に基づいて、前記位置合わせスリットと前記画像スリットの重複領域の位置を探索する範囲を限定して、前記合成処理を行うことを特徴とする画像処理システム。
【請求項１０】
請求項９において、
前記パノラマ画像生成部は、
前記動き情報取得部から取得される前記撮像部の前記動き情報の水平成分と垂直成分のうちのいずれか一方に基づいて、前記位置合わせスリットと前記画像スリットの前記重複領域の位置を探索する範囲を限定して、前記合成処理を行うことを特徴とする画像処理システム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記画像スリット生成部は、
前記カメラ移動方向を表すベクトルの水平成分と垂直成分のうち、絶対値の小さい成分に対応する方向に長辺を持つ前記画像スリットを生成することを特徴とする画像処理システム。
【請求項１２】
請求項１１において、
前記画像スリット生成部は、
前記カメラ移動方向を表す前記ベクトルの水平成分と垂直成分のうち、絶対値の小さい成分に対応する方向に長辺を持つ前記画像スリットであり、連続して取得された前記静止画像の中心を含む前記画像スリットを生成することを特徴とする画像処理システム。
【請求項１３】
請求項１乃至１２のいずれかにおいて、
前記パノラマ画像生成部は、
前回の前記合成処理に用いた前記画像スリットに対して、前回の前記画像スリットを撮影した時の前記カメラ移動方向に重複領域を持つように、今回の前記画像スリットの前記合成処理を行って、前記パノラマ画像を生成することを特徴とする画像処理システム。
【請求項１４】
請求項１乃至１３のいずれかにおいて、
前記パノラマ画像生成部は、
前記第１のカメラ移動方向へ前記画像スリットを合成する処理と前記第２のカメラ移動方向へ前記画像スリットを合成する処理とを並列に行うことを特徴とする画像処理システム。
【請求項１５】
請求項１、３乃至１４のいずれかにおいて、
前記パノラマ画像生成部は、
第１の誤差許容度に基づいて、前記画像スリットの前記合成処理を行った後に、前記第１の誤差許容度よりも低い誤差許容度である第２の誤差許容度に基づいて、前記画像スリットの前記合成処理を行うことを特徴とする画像処理システム。
【請求項１６】
請求項１乃至１５のいずれかにおいて、
前記画像取得部は、
動き情報取得部から前記撮像部の動き情報を取得され、前記画像スリットの前記合成処理において、連続する前記画像スリットの重複領域を確保できないと、前記動き情報に基づき判断した場合には、前記静止画像の取得処理を停止することを特徴とする画像処理システム。
【請求項１７】
請求項１、２、４乃至１６のいずれかにおいて、
前記画像取得部は、
動き情報取得部から取得される前記撮像部の動き情報に基づいて、前記撮像部が移動される速度であるカメラ移動速度が大きくなったと判断した場合に、前記画像スリットの前記合成処理において、連続する前記画像スリットの重複領域の面積が所定の閾値よりも大きくなるように、画像取得速度を大きくすることを特徴とする画像処理システム。
【請求項１８】
請求項１乃至１７のいずれかにおいて、
前記画像スリット生成部は、
動き情報取得部から取得される前記撮像部の動き情報に基づいて、前記撮像部が移動される速度であるカメラ移動速度が大きくなったと判断した場合に、前記画像スリットの前記合成処理において、連続する前記画像スリットの重複領域の面積が所定の閾値よりも大きくなるように、前記画像スリットのスリット幅を大きくすることを特徴とする画像処理システム。
【請求項１９】
撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、
画像取得部により取得された静止画像に基づいて生成された画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部と、
連続して取得された前記静止画像に基づいて、前記画像スリットとは別に、前記画像スリット同士の位置合わせを行うために使用される位置合わせスリットを生成する位置合わせスリット生成部と、
前記画像スリットと生成した前記パノラマ画像とを記憶する記憶部と、
を含み、
前記カメラ移動方向として所定の移動方向を第１のカメラ移動方向とし、前記第１のカメラ移動方向と逆方向であるカメラ移動方向を第２のカメラ移動方向とし、前記第１のカメラ移動方向及び前記第２のカメラ移動方向のいずれとも異なるカメラ移動方向を第３のカメラ移動方向とする場合に、
前記方向判定部は、
前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第２のカメラ移動方向であるかを判定し、
前記パノラマ画像生成部は、
前記カメラ移動方向と、前記位置合わせスリットとに基づいて、前記撮像部を前記第１のカメラ移動方向に移動している時の前記画像スリットと、前記撮像部を前記第２のカメラ移動方向に移動している時の前記画像スリットとの合成位置を決定し、前記画像スリットの前記合成処理を行い、前記パノラマ画像を生成することを特徴とする情報処理装置。
【請求項２０】
撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、
画像取得部により取得された静止画像に基づいて生成された画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部と、
前記画像スリットと生成した前記パノラマ画像とを記憶する記憶部と、
を含み、
前記カメラ移動方向として所定の移動方向を第１のカメラ移動方向とし、前記第１のカメラ移動方向と逆方向であるカメラ移動方向を第２のカメラ移動方向とし、前記第１のカメラ移動方向及び前記第２のカメラ移動方向のいずれとも異なるカメラ移動方向を第３のカメラ移動方向とする場合に、
前記方向判定部は、
前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第２のカメラ移動方向であるかを判定し、
前記パノラマ画像生成部は、
前記カメラ移動方向と、第１の誤差許容度に基づいて、前記画像スリットの合成位置を決定し、前記画像スリットの前記合成処理を行った後に、前記第１の誤差許容度よりも低い誤差許容度である第２の誤差許容度に基づいて、前記画像スリットの前記合成処理を行って、前記パノラマ画像を生成することを特徴とする情報処理装置。
【請求項２１】
撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、
画像取得部により取得された静止画像に基づいて生成された画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部と、
前記画像スリットと生成した前記パノラマ画像とを記憶する記憶部と、
を含み、
前記カメラ移動方向として所定の移動方向を第１のカメラ移動方向とし、前記第１のカメラ移動方向と逆方向であるカメラ移動方向を第２のカメラ移動方向とし、前記第１のカメラ移動方向及び前記第２のカメラ移動方向のいずれとも異なるカメラ移動方向を第３のカメラ移動方向とする場合に、
前記方向判定部は、
前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第２のカメラ移動方向であるかを判定し、
前記パノラマ画像生成部は、
前記カメラ移動方向に基づいて、前記画像スリットの合成位置を決定し、前記画像スリットの前記合成処理を行い、前記パノラマ画像を生成し、
前記画像取得部は、
動き情報取得部から取得される前記撮像部の動き情報に基づいて、前記撮像部が移動される速度であるカメラ移動速度が大きくなったと判断した場合に、前記画像スリットの前記合成処理において、連続する前記画像スリットの重複領域の面積が所定の閾値よりも大きくなるように、画像取得速度を大きくすることを特徴とする情報処理装置。
【請求項２２】
請求項１９において、
前記パノラマ画像生成部は、
前記カメラ移動方向が前記第２のカメラ移動方向であると判定された場合には、前記第１のカメラ移動方向と垂直な方向に前記合成位置をずらし、前記位置合わせスリットの一部と今回の前記画像スリットの一部が重複するように、前記合成処理を行って、前記パノラマ画像を生成することを特徴とする情報処理装置。
【請求項２３】
請求項２０又は２１において、
前記パノラマ画像生成部は、
前記カメラ移動方向が前記第２のカメラ移動方向であると判定された場合には、前記第１のカメラ移動方向と垂直な方向に前記合成位置をずらし、前記画像スリット同士の位置合わせを行うために使用される位置合わせスリットの一部と今回の前記画像スリットの一部が重複するように、前記合成処理を行って、前記パノラマ画像を生成することを特徴とする情報処理装置。
【請求項２４】
請求項１９乃至２３のいずれかにおいて、
前記画像スリットは、
前記カメラ移動方向を表すベクトルの水平成分と垂直成分のうち、絶対値の大きい成分に対応する方向に長辺を持ち、連続して取得された前記静止画像の中心を含むことを特徴とする情報処理装置。
【請求項２５】
請求項１９乃至２４のいずれかにおいて、
前記パノラマ画像生成部は、
前回の前記合成処理に用いた前記画像スリットに対して、前回の前記画像スリットを撮影した時の前記カメラ移動方向に重複領域を持つように、今回の前記画像スリットの前記合成処理を行って、前記パノラマ画像を生成することを特徴とする情報処理装置。
【請求項２６】
撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、
画像取得部により画像取得された静止画像に基づいて生成された画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部と、
連続して取得された前記静止画像に基づいて、前記画像スリットとは別に、前記画像スリット同士の位置合わせを行うために使用される位置合わせスリットを生成する位置合わせスリット生成部として、
コンピュータを機能させ、
前記カメラ移動方向として所定の移動方向を第１のカメラ移動方向とし、前記第１のカメラ移動方向と逆方向であるカメラ移動方向を第２のカメラ移動方向とし、前記第１のカメラ移動方向及び前記第２のカメラ移動方向のいずれとも異なるカメラ移動方向を第３のカメラ移動方向とする場合に、
前記方向判定部は、
前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第２のカメラ移動方向であるかを判定し、
前記パノラマ画像生成部は、
前記カメラ移動方向と、前記位置合わせスリットとに基づいて、前記撮像部を前記第１のカメラ移動方向に移動している時の前記画像スリットと、前記撮像部を前記第２のカメラ移動方向に移動している時の前記画像スリットとの合成位置を決定し、前記画像スリットの前記合成処理を行い、前記パノラマ画像を生成することを特徴とするプログラム。
【請求項２７】
撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、
画像取得部により画像取得された静止画像に基づいて生成された画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部として、
コンピュータを機能させ、
前記カメラ移動方向として所定の移動方向を第１のカメラ移動方向とし、前記第１のカメラ移動方向と逆方向であるカメラ移動方向を第２のカメラ移動方向とし、前記第１のカメラ移動方向及び前記第２のカメラ移動方向のいずれとも異なるカメラ移動方向を第３のカメラ移動方向とする場合に、
前記方向判定部は、
前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第２のカメラ移動方向であるかを判定し、
前記パノラマ画像生成部は、
前記カメラ移動方向と、第１の誤差許容度に基づいて、前記画像スリットの合成位置を決定し、前記画像スリットの前記合成処理を行った後に、前記第１の誤差許容度よりも低い誤差許容度である第２の誤差許容度に基づいて、前記画像スリットの前記合成処理を行って、前記パノラマ画像を生成することを特徴とするプログラム。
【請求項２８】
撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、
画像取得部により取得された静止画像に基づいて生成された画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部として、
コンピュータを機能させ、
前記カメラ移動方向として所定の移動方向を第１のカメラ移動方向とし、前記第１のカメラ移動方向と逆方向であるカメラ移動方向を第２のカメラ移動方向とし、前記第１のカメラ移動方向及び前記第２のカメラ移動方向のいずれとも異なるカメラ移動方向を第３のカメラ移動方向とする場合に、
前記方向判定部は、
前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第２のカメラ移動方向であるかを判定し、
前記パノラマ画像生成部は、
前記カメラ移動方向に基づいて、前記画像スリットの合成位置を決定し、前記画像スリットの前記合成処理を行い、前記パノラマ画像を生成し、
前記画像取得部は、
動き情報取得部から取得される前記撮像部の動き情報に基づいて、前記撮像部が移動される速度であるカメラ移動速度が大きくなったと判断した場合に、前記画像スリットの前記合成処理において、連続する前記画像スリットの重複領域の面積が所定の閾値よりも大きくなるように、画像取得速度を大きくすることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、情報処理装置及びプログラム等に関係する。
【背景技術】
【０００２】
近年、デジタルカメラを用いて、パノラマ画像を生成する手法が考案されている。パノラマ画像を生成する場合には、撮像部を一方向に移動させて撮影した複数の静止画像を繋ぎ合わせて、一枚のパノラマ画像を生成する。
【０００３】
特許文献１に記載される手法では、連続撮影された画像から切り出されたスリットに基づいて、パノラマ画像を生成することにより、高速連射及びスリットの合成の高速化、さらには画像合成時の不連続性の解消を図っている。
【０００４】
また、特許文献２には、主にナビゲーション用途のパノラマ映像の作成方法が記載されている。特許文献２に記載される手法では、車載固定カメラで撮影された連続映像からスリットを切り出し、パノラマ合成を行う。スリット化により、処理負荷の高い特徴点による画像合成を回避し、より高速なパノラマ映像の生成を可能にしている。
【０００５】
これら特許文献１及び特許文献２に記載されるパノラマ合成を行うことにより、矩形にトリミングした領域（スリット）を繋ぎ合わせて、運動視差を考慮したパノラマ合成を行うことが可能である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−０２８７６４号公報
【特許文献２】特許０３４６６４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１及び特許文献２には、撮像部を一方向に移動させて、パノラマ画像を生成する手法についてのみ記載されており、複数の方向に撮像部を移動させてパノラマ画像を生成する手法については記載されていない。
【０００８】
本発明の幾つかの態様によれば、撮像部が複数の方向に移動させられ、撮影が行われる場合に、画像スリットに基づいてパノラマ画像を生成できる画像処理システム、情報処理装置及びプログラム等を提供することができる。
【０００９】
また、本発明の幾つかの態様によれば、撮像部が複数の方向に移動させられ、撮影が行われる場合に、画像スリットと位置合わせスリットとに基づいて、パノラマ画像を生成することができる画像処理システム、情報処理装置及びプログラム等を提供することができる。
【課題を解決するための手段】
【００１０】
本発明の一態様は、静止画像を連続して取得する画像取得部と、撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、連続して取得された前記静止画像に基づいて、画像スリットを生成する画像スリット生成部と、前記画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部と、を含み、前記方向判定部は、前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第１のカメラ移動方向と異なる方向である第２のカメラ移動方向であるかを判定し、前記パノラマ画像生成部は、連続して取得された前記静止画像の撮影時における前記カメラ移動方向に基づいて、前記画像スリットの合成位置を決定し、前記画像スリットの前記合成処理を行い、前記パノラマ画像を生成することを特徴とする画像処理システムに関係する。
【００１１】
本発明の一態様では、撮像部が複数のカメラ移動方向に移動させられ、撮影が行われる場合に、画像スリットを生成するために用いる静止画像を連続して取得することができ、現在のカメラ移動方向を判定する。さらに、連続して取得された静止画像に基づき、画像スリットを生成する。そして、カメラ移動方向に基づいて、画像スリットの合成位置を決定し、合成処理を行う。以上のようにして、画像スリットを用いることにより運動視差によるパースのゆがみを緩和しつつ、撮像部を一つのカメラ移動方向に動かして生成したパノラマ画像よりも、複数の方向に対して画角の広いパノラマ画像を生成することが可能となる。
【００１２】
また、本発明の一態様では、連続して取得された前記静止画像に基づいて、位置合わせスリットを生成する位置合わせスリット生成部を含み、前記パノラマ画像生成部は、連続して取得された前記静止画像の撮影時における前記カメラ移動方向と、前記位置合わせスリットとに基づいて、前記画像スリットの前記合成位置を決定し、前記画像スリットの前記合成処理を行い、前記パノラマ画像を生成してもよい。
【００１３】
これにより、複数の画像スリットに重複領域がまたがっている場合等が問題とならなくなり、重複領域の特定処理を比較的容易にすること等が可能となる。
【００１４】
また、本発明の一態様では、前記位置合わせスリット生成部は、前記画像スリットの長辺と前記位置合わせスリットの長辺とが直交するように、前記位置合わせスリットを生成してもよい。
【００１５】
これにより、位置合わせスリットの長辺に画像スリットの短辺を重ねるようにして、重複領域の特定処理を行うこと等が可能になる。
【００１６】
また、本発明の一態様では、前記位置合わせスリット生成部は、前記静止画像の中心を通る直線により第１の領域と第２の領域を設定し、前記第１の領域から第１の位置合わせスリットを生成し、前記第２の領域から第２の位置合わせスリットを生成してもよい。
【００１７】
これにより、画像スリットの重複領域を特定する処理において、第１の位置合わせスリットを用いるか、第２の位置合わせスリットを用いるか選択すること等が可能になり、撮像部がどのような方向に動かされた場合でも、カメラ移動方向に応じて、使用する位置合わせスリットを選択して、重複領域を求めること等が可能となる。
【００１８】
また、本発明の一態様では、前記位置合わせスリット生成部は、動き情報取得部から取得される前記撮像部の動き情報に基づいて、前記静止画像中の前記位置合わせスリットを抽出する位置を変更し、前記位置合わせスリットを生成してもよい。
【００１９】
これにより、撮像部の位置が大きく変動した場合に、前回までと同じ位置から位置合わせスリットを抽出して、合成先の画像中において、位置合わせスリットとの重複領域の探索処理を効率的に行うこと等が可能となる。
【００２０】
また、本発明の一態様では、前記パノラマ画像生成部は、前記カメラ移動方向が前記第２のカメラ移動方向であると判定された場合には、前記第１のカメラ移動方向と垂直な方向に前記合成位置をずらし、前記位置合わせスリットの一部と今回の前記画像スリットの一部が重複するように、前記合成処理を行って、前記パノラマ画像を生成してもよい。
【００２１】
これにより、撮像部がジグザグな軌跡を描くように移動された場合に、縦横に広範な撮影領域をカバーしたパノラマ画像を生成すること等が可能となる。
【００２２】
また、本発明の一態様では、前記方向判定部は、前記第１のカメラ移動方向に前記撮像部を移動させながら撮影が行われた後に、前記第１のカメラ移動方向及び前記第２のカメラ移動方向と異なる方向である第３のカメラ移動方向に前記撮像部を移動させ、前記第３のカメラ移動方向に前記撮像部を移動させた後に、前記第２のカメラ移動方向に前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向の判定を行い、前記パノラマ画像生成部は、前記静止画像の中心を基準にして、前記第３のカメラ移動方向にある領域から前記位置合わせスリットを生成した場合には、前記カメラ移動方向が前記第１のカメラ移動方向である時に連続して取得された前記静止画像に基づき生成された前記位置合わせスリットを、前記合成処理に用い、前記静止画像の中心を基準にして、前記第３のカメラ移動方向とは逆方向にある領域から前記位置合わせスリットを生成した場合には、前記カメラ移動方向が前記第２のカメラ移動方向である時に連続して取得された前記静止画像に基づき生成された前記位置合わせスリットを、前記合成処理に用いてもよい。
【００２３】
これにより、元の画像スリットの画角に対して、合成後の画像の画角が十分に大きくなるように、画像スリットを合成できる位置合わせスリットを特定すること等が可能となる。
【００２４】
また、本発明の一態様では、前記パノラマ画像生成部は、動き情報取得部から取得される前記撮像部の動き情報に基づいて、前記位置合わせスリットと前記画像スリットの重複領域の位置を探索する範囲を限定して、前記合成処理を行ってもよい。
【００２５】
これにより、動き情報により推定される撮像部の移動後の位置周辺に、重複領域の探索範囲を限定することが可能となり、重複領域の特定処理の負担を減らし、高速化を図ること等が可能になる。
【００２６】
また、本発明の一態様では、前記パノラマ画像生成部は、前記動き情報取得部から取得される前記撮像部の前記動き情報の水平成分と垂直成分のうちのいずれか一方に基づいて、前記位置合わせスリットと前記画像スリットの前記重複領域の位置を探索する範囲を限定して、前記合成処理を行ってもよい。
【００２７】
これにより、水平方向の動き情報を用いることで、多数存在する位置合わせスリットの中から探索範囲を限定すること等が可能となる。
【００２８】
また、本発明の一態様では、前記画像スリット生成部は、前記カメラ移動方向を表すベクトルの水平成分と垂直成分のうち、絶対値の小さい成分に対応する方向に長辺を持つ前記画像スリットを生成してもよい。
【００２９】
これにより、静止画像のカメラ動き方向側の領域とその逆方向側の領域を含まない画像スリットを生成することが可能となり、運動視差によるパースのゆがみの影響を抑えること等が可能になる。
【００３０】
また、本発明の一態様では、前記画像スリット生成部は、前記カメラ移動方向を表す前記ベクトルの水平成分と垂直成分のうち、絶対値の小さい成分に対応する方向に長辺を持つ前記画像スリットであり、連続して取得された前記静止画像の中心を含む前記画像スリットを生成してもよい。
【００３１】
これにより、静止画像のカメラ動き方向側の領域とその逆方向側の領域を含まず、静止画像の中心を含む画像スリットを生成することが可能となり、より運動視差によるパースのゆがみの影響を抑えること等が可能になる。
【００３２】
また、本発明の一態様では、前記パノラマ画像生成部は、前回の前記合成処理に用いた前記画像スリットに対して、前回の前記画像スリットを撮影した時の前記カメラ移動方向に重複領域を持つように、今回の前記画像スリットの前記合成処理を行って、前記パノラマ画像を生成してもよい。
【００３３】
これにより、生成された画像スリットをカメラ動き方向側に次々に重畳して、合成処理を行うこと等が可能になる。
【００３４】
また、本発明の一態様では、前記方向判定部は、前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が前記第１のカメラ移動方向であるか、前記第２のカメラ移動方向であるか、若しくは前記第１のカメラ移動方向及び前記第２のカメラ移動方向と異なる方向である第３のカメラ移動方向であるかを判定してもよい。
【００３５】
これにより、ジグザグな軌道を描くように撮像部を移動させて、パノラマ画像を生成すること等が可能になる。
【００３６】
また、本発明の一態様では、前記パノラマ画像生成部は、前記第１のカメラ移動方向へ前記画像スリットを合成する処理と前記第２のカメラ移動方向へ前記画像スリットを合成する処理とを並列に行ってもよい。
【００３７】
これにより、第１のカメラ移動方向への画像スリットの合成が完了していない場合にも、第２のカメラ移動方向への画像スリットの合成が開始できるため、第１のカメラ移動方向への画像スリットの合成処理がボトルネックとなることを防ぎ、パノラマ画像の生成処理を高速に行うこと等が可能となる。
【００３８】
また、本発明の一態様では、前記パノラマ画像生成部は、第１の誤差許容度に基づいて、前記画像スリットの前記合成処理を行った後に、前記第１の誤差許容度よりも低い誤差許容度である第２の誤差許容度に基づいて、前記画像スリットの前記合成処理を行ってもよい。
【００３９】
これにより、第１の誤差許容度に基づいて、画像スリットの重複領域の特定を行った後、第２の誤差許容度に基づいて、画像スリットの合成位置の高精度化を行うこと等が可能となる。
【００４０】
また、本発明の一態様では、前記画像取得部は、動き情報取得部から前記撮像部の動き情報を取得され、前記画像スリットの前記合成処理において、連続する前記画像スリットの重複領域を確保できないと、前記動き情報に基づき判断した場合には、前記静止画像の取得処理を停止してもよい。
【００４１】
これにより、連続する画像スリットの重複領域を確保できず、パノラマ画像を生成することができないにも関わらず、静止画像を連続して取得するような無駄な処理を行うことを事前に防ぐこと等が可能になる。
【００４２】
また、本発明の一態様では、前記画像取得部は、動き情報取得部から取得される前記撮像部の動き情報に基づいて、前記撮像部が移動される速度であるカメラ移動速度が大きくなったと判断した場合に、前記画像スリットの前記合成処理において、連続する前記画像スリットの重複領域の面積が所定の閾値よりも大きくなるように、画像取得速度を大きくしてもよい。
【００４３】
これにより、パノラマ画像を生成するために、必要な重複領域を持った画像スリットを取得すること等が可能になる。
【００４４】
また、本発明の一態様では、前記画像スリット生成部は、動き情報取得部から取得される前記撮像部の動き情報に基づいて、前記撮像部が移動される速度であるカメラ移動速度が大きくなったと判断した場合に、前記画像スリットの前記合成処理において、連続する前記画像スリットの重複領域の面積が所定の閾値よりも大きくなるように、前記画像スリットのスリット幅を大きくしてもよい。
【００４５】
これにより、例えば、画像取得速度（サンプリングレート）がハードウェアやネットワークの限界により増加させられない場合等においても、パノラマ画像を生成するために、必要な重複領域を持った画像スリットを取得すること等が可能になる。
【００４６】
また、本発明の一態様では、前記画像取得部は、前記撮像部のシャッタータイミングを制御して、前記静止画像を連続して取得してもよい。
【００４７】
これにより、例えば、撮像部が撮像する静止画像の枚数と、画像取得部が取得する静止画像の枚数を一致させることが可能となり、無駄な静止画像を撮像させることを防止しつつ、必要な静止画像を取得すること等が可能になる。
【００４８】
また、本発明の他の態様では、撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、画像取得部により画像取得された静止画像に基づいて生成された画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部と、前記画像スリットと生成した前記パノラマ画像とを記憶する記憶部と、を含み、前記方向判定部は、前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第１のカメラ移動方向と異なる方向である第２のカメラ移動方向であるかを判定し、前記パノラマ画像生成部は、連続して取得された前記静止画像に基づいて生成された前記画像スリットの合成位置を、連続して取得された前記静止画像の撮影時における前記カメラ移動方向に基づいて決定し、前記画像スリットの前記合成処理を行い、前記パノラマ画像を生成することを特徴とする情報処理装置に関係する。
【００４９】
また、本発明の他の態様では、前記記憶部は、連続して取得された前記静止画像に基づいて、位置合わせスリット生成部により生成された位置合わせスリットを記憶し、前記パノラマ画像生成部は、連続して取得された前記静止画像の撮影時における前記カメラ移動方向と、前記位置合わせスリットとに基づいて、前記画像スリットの前記合成位置を決定し、前記画像スリットの前記合成処理を行い、前記パノラマ画像を生成してもよい。
【００５０】
また、本発明の他の態様では、前記パノラマ画像生成部は、前記カメラ移動方向が前記第２のカメラ移動方向であると判定された場合には、前記第１のカメラ移動方向と垂直な方向に前記合成位置をずらし、前記位置合わせスリットの一部と今回の前記画像スリットの一部が重複するように、前記合成処理を行って、前記パノラマ画像を生成してもよい。
【００５１】
また、本発明の他の態様では、前記画像スリットは、前記カメラ移動方向を表すベクトルの水平成分と垂直成分のうち、絶対値の大きい成分に対応する方向に長辺を持ち、連続して取得された前記静止画像の中心を含んでもよい。
【００５２】
また、本発明の他の態様では、前記パノラマ画像生成部は、前回の前記合成処理に用いた前記画像スリットに対して、前回の前記画像スリットを撮影した時の前記カメラ移動方向に重複領域を持つように、今回の前記画像スリットの前記合成処理を行って、前記パノラマ画像を生成してもよい。
【００５３】
また、本発明の他の態様では、撮影中の撮像部が移動される方向であるカメラ移動方向を判定する方向判定部と、画像取得により画像取得された静止画像に基づいて生成された画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部として、コンピュータを機能させ、前記方向判定部は、前記撮像部を移動させながら撮影が行われる場合に、前記カメラ移動方向が第１のカメラ移動方向であるか、前記第１のカメラ移動方向と異なる方向である第２のカメラ移動方向であるかを判定し、前記パノラマ画像生成部は、連続して取得された前記静止画像に基づいて生成された前記画像スリットの合成位置を、連続して取得された前記静止画像の撮影時における前記カメラ移動方向に基づいて決定し、前記画像スリットの前記合成処理を行い、前記パノラマ画像を生成することを特徴とするプログラムに関係する。
【図面の簡単な説明】
【００５４】
【図１】本実施形態のシステム構成例。
【図２】本実施形態の詳細なシステム構成例。
【図３】図３（Ａ）〜図３（Ｃ）は、運動視差によるパースのずれの説明図。
【図４】図４（Ａ）、図４（Ｂ）は、画像スリットの説明図。
【図５】撮像部を複数の方向に移動させてパノラマ画像を生成する手法の説明図。
【図６】重複領域の説明図。
【図７】図７（Ａ）〜図７（Ｃ）は、位置合わせスリットの説明図。
【図８】位置合わせスリットを用いて画像スリットを合成する手法の説明図。
【図９】図９（Ａ）、図９（Ｂ）は、１枚の静止画像から複数の位置合わせスリットを抽出する手法の説明図。
【図１０】位置合わせスリットを抽出する位置を変更する手法の説明図。
【図１１】図１１（Ａ）、図１１（Ｂ）は、位置合わせスリットを選択する手法の一例。
【図１２】図１２（Ａ）、図１２（Ｂ）は、位置合わせスリットを選択する手法の他の例。
【図１３】図１３（Ａ）〜図１３（Ｃ）は、重複領域を探索する範囲を限定する手法の説明図。
【図１４】撮影速度が上がった場合に画像取得速度を大きくする手法の説明図。
【図１５】撮影速度が上がった場合に画像スリット幅を大きくする手法の説明図。
【図１６】本実施形態の処理の流れを説明するフローチャート。
【図１７】本実施形態のパノラマ合成の流れを説明するフローチャート。
【図１８】本実施形態の他の詳細なシステム構成例。
【発明を実施するための形態】
【００５５】
以下、本実施形態について説明する。まず、概要を説明し、次に本実施形態のシステム構成例を説明する。次に、具体的な実施例を提示した後に、本実施形態の手法について説明する。そして最後に、フローチャートを用いて本実施形態の処理の流れについて説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００５６】
１．概要
近年、デジタルカメラを用いて、パノラマ画像を生成する手法が考案されている。パノラマ画像を生成する場合には、撮像部を一方向に移動させて撮影した複数の静止画像を繋ぎ合わせて、一枚のパノラマ画像を生成する。
【００５７】
また、撮像部を移動させながら撮影を行った場合、後述する図３に示すように運動視差により、撮影した静止画像のパースにずれが生じてしまう。この場合には、パースのずれが原因で静止画像の合成が破綻し、パノラマ画像が生成できないことがある。そこで、パースのずれによる影響を緩和するため、静止画像から画像スリットを抽出して、画像スリットを用いてパノラマ画像を生成する手法が考案されている。その手法の一例として、前述の特許文献１及び特許文献２がある。
【００５８】
特許文献１に記載される手法では、連続撮影された画像から切り出されたスリットに基づいて、パノラマ画像を生成することにより、高速連射及びスリットの合成の高速化、さらには画像合成時の不連続性の解消を図っている。
【００５９】
また、特許文献２には、主にナビゲーション用途のパノラマ映像の作成方法が記載されている。特許文献２に記載される手法では、車載固定カメラで撮影された連続映像からスリットを切り出し、パノラマ合成を行う。スリット化により、処理負荷の高い特徴点による画像合成を回避し、より高速なパノラマ映像の生成を可能にしている。
【００６０】
これら特許文献１及び特許文献２に記載されるパノラマ合成を行うことにより、矩形にトリミングした領域（スリット）を繋ぎ合わせて、運動視差を考慮したパノラマ合成を行うことが可能である。
【００６１】
しかし、特許文献１及び特許文献２には、撮像部を一方向に移動させて、パノラマ画像を生成する手法についてのみ記載されており、複数の方向に撮像部を移動させてパノラマ画像を生成する手法については記載されていない。
【００６２】
撮像部を一方向に移動させてパノラマ画像を生成する手法では、撮像部を動かす方向にしかパノラマ画像の画角を調整することができず、例えば、撮像部を動かす方向と垂直な方向に対しては、画角を大きくすることができない。
【００６３】
ここで、撮像部を複数の方向に移動させながら撮影を行えば、一方向だけでなく、他の方向に撮像部を移動させて撮影した静止画像を準備することができ、複数方向の画角を広げたパノラマ画像を生成することが期待できる。
【００６４】
そこで、本実施形態では、撮像部を複数の方向に移動させながら撮影が行われる場合に、静止画像を連続して取得し、さらに、連続して取得した静止画像から画像スリットを抽出し、抽出した画像スリットに基づいて、パノラマ画像を生成する。
【００６５】
また、画像スリット同士の重複領域は、静止画像同士の重複領域よりも面積が小さいため、重複領域を特定することが困難である。そこで、本実施形態では、画像スリットの他に、静止画像から位置合わせスリットを抽出し、画像スリットと位置合わせスリットとに基づいて、パノラマ画像を生成する。
【００６６】
２．システム構成例
まず、図１に本実施形態の画像処理システムの構成例を示す。本実施形態では、画像処理システムは、画像処理クラウドネットワーク上のサーバであることを想定している。また、画像処理システムは、画像処理クラウドネットワークの他にも、ＨＭＤ（Head Mounted Display）や、撮像装置（カメラ）などを含んでもよい。さらに、画像処理システムは、ＨＭＤ等に設けられた情報処理装置であってもよい。
【００６７】
本実施形態では、ＨＭＤに設けられた撮像装置により、ユーザが首を振りながら被写体を撮影して、静止画像（または画像スリットや動画像）を生成し、生成された静止画像（または画像スリットや動画像）を画像処理クラウドネットワーク上のサーバに、基地局を介して無線通信で送信して、サーバでパノラマ画像を生成し、ＨＭＤでパノラマ画像を鑑賞することを想定している。
【００６８】
ただし、本実施形態はあくまでも一例であり、画像処理システムは図１の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。なお、静止画像等を画像処理システムへ送信する方法は、無線通信に限られず、有線通信でもよい。そして、画像処理システムが、ＨＭＤに設けられた情報処理装置である場合などには、必ずしもネットワークを介して、静止画像等を受信する必要はなく、内部バス等を通じて静止画像等を取得してもよい。また、撮像装置は必ずしもＨＭＤと一体になっている必要はなく、手持ちのカメラ等であってもよい。さらに、出力デバイス（ＨＭＤ等）はなくてもよい。
【００６９】
次に、図２に本実施形態の画像処理システムの詳細な構成例を示す。画像処理システム２００は、方向判定部２１０と、パノラマ画像生成部２２０と、記憶部２３０と、Ｉ／Ｆ部２４０と、画像スリット生成部２５０と、位置合わせスリット生成部２６０と、画像取得部（サンプリング部）２７０と、を含む。ただし、画像処理システム２００は、図２の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。例えば、画像処理システム２００は、複数の情報処理装置によって構成されていてもよい。
【００７０】
そして、画像処理システム２００は、撮像装置１００と、提示部３００とに接続される。撮像装置１００の一例としては、ＨＭＤ等に設けられたカメラ等がある。そして、画像処理システム２００の一例としては、画像処理クラウドネットワーク上のサーバ等がある。さらに、提示部３００の一例としては、ＨＭＤ等がある。
【００７１】
撮像装置１００は、撮像部１２と、エンコーダ１４と、動き情報取得部１６と、Ｉ／Ｆ部１８と、を含む。ただし、撮像装置１００は、図２の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。
【００７２】
次に各部の接続について説明する。撮像装置１００では、撮像部１２と、エンコーダ１４と、動き情報取得部１６と、Ｉ／Ｆ部１８とが内部バスにより接続される。また、画像処理システム２００では、方向判定部２１０と、パノラマ画像生成部２２０と、記憶部２３０と、Ｉ／Ｆ部２４０と、画像スリット生成部２５０と、位置合わせスリット生成部２６０と、画像取得部（サンプリング部）２７０とが内部バスにより接続される。
【００７３】
次に、撮像装置１００の各部で行われる処理について説明する。
【００７４】
撮像部（カメラ）１２は、被写体を撮影する。この撮像部１２は、例えばＣＣＤ等の撮像素子と光学系を含む。また画像処理等に用いられるデバイス（プロセッサ）を含むことができる。
【００７５】
エンコーダ１４は、撮像部１２から得られた動画像をＭＰＥＧ等の動画コーデックにより、エンコードを行う。このエンコーダ１４の機能は、各種プロセッサ（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。
【００７６】
動き情報取得部１６は、撮像部１２の動き情報を取得する。動き情報取得部１６は、地磁気センサ等の方位センサや、加速度センサ、ジャイロセンサ等のセンサであってもよく、センサから得られるセンサ情報を、撮像部１２の動き情報として取得してもよい。方位センサは、例えば地磁気センサ等であり、センサの向いている方位を角度（０°〜３６０°）で計測する。地磁気センサは、例えば磁場の強さによって抵抗値やインピーダンス値が増減する素子等で構成され、三軸の地磁気情報を検知する。加速度センサは、例えば外力によって抵抗値が増減する素子等で構成され、三軸の加速度情報を検知する。ジャイロセンサは、三軸の角速度情報を検知する。また、地磁気センサや加速度センサ、ジャイロセンサの機能を併せ持つセンサを用いてもよい。さらに、動き情報取得部１６は、ＧＰＳにより得られる位置情報を、撮像部１２の動き情報として用いてもよい。
【００７７】
また、動き情報取得部１６は、内部カメラパラメータから特定できる撮像範囲などの変動量を、撮像部１２の動き情報として取得してもよい。さらに、動き情報取得部１６は、撮像部１２により撮影された動画像をエンコーダ１４がエンコードする過程で得られる動きベクトルを、動き情報としてエンコーダ１４から取得してもよい。また、動き情報取得部１６は、オプティカルフロー解析などのトラッキングアルゴリズムにより動き情報を求めても良い。
【００７８】
Ｉ／Ｆ部１８は、撮像部１２、エンコーダ１４、動き情報取得部１６から得られる情報を画像処理システム２００に通知する。
【００７９】
次に、画像処理システム２００の各部で行われる処理について説明する。
【００８０】
方向判定部２１０は、後述するカメラ移動方向の判定を行う。
【００８１】
パノラマ画像生成部２２０は、後述する画像スリット生成部２５０から得られる画像スリットに基づいて、パノラマ画像を生成する。
【００８２】
記憶部２３０は、データベースを記憶したり、パノラマ画像生成部２２０等のワーク領域となるもので、その機能はＲＡＭ等のメモリやＨＤＤ（ハードディスクドライブ）などにより実現できる。記憶部２３０は、後述するＩ／Ｆ部２４０又は画像取得部（サンプリング部）２７０から得られる静止画像や、画像スリット生成部２５０から得られる画像スリット、位置合わせスリット生成部２６０から得られる位置合わせスリット、パノラマ画像生成部２２０により生成されたパノラマ画像等を記憶してもよい。
【００８３】
Ｉ／Ｆ部２４０は、画像処理システム２００と撮像装置１００間、及び画像処理システム２００と提示部３００間で、情報の送受信を行う。なお、Ｉ／Ｆ部２４０は、有線により通信を行うものであってもよく、無線により通信を行うものであってもよい。
【００８４】
画像スリット生成部２５０は、後述する画像取得部２７０から得られる静止画像に基づき、画像スリットを生成する。
【００８５】
位置合わせスリット生成部２６０は、後述する画像取得部２７０から得られる静止画像に基づき、位置合わせスリットを生成する。
【００８６】
画像取得部（サンプリング部）２７０は、Ｉ／Ｆ部２４０から取得した情報から静止画像を取得し、他の各機能部へ一連の静止画像を出力する。また、画像取得部（サンプリング部）２７０は、サンプリング制御部２７２を含んでも良い。
【００８７】
画像取得部（サンプリング部）２７０は、Ｉ／Ｆ部２４０が撮像装置１００によって撮影された動画像を含む情報を取得した場合には、サンプリング制御部２７２により設定された画像取得速度（サンプリングレート）で、撮影された動画像から静止画像をサンプリングし、他の各機能部へ一連の静止画像を出力する。
【００８８】
一方、画像取得部２７０は、Ｉ／Ｆ部２４０が一連の静止画像を含む情報を取得した場合には、一連の静止画像を取得して、他の各機能部へこれを出力する。この際、一連の静止画像が生成された方法は問わない。例えば、撮像装置１００が連写により静止画像を撮像して、一連の静止画像を生成したものであってもよいし、撮像装置１００が動画像を撮影して、撮像装置１００内で動画像から静止画像をサンプリングし、一連の静止画像を生成したものであってもよい。
【００８９】
サンプリング制御部２７２は、画像取得速度（サンプリングレート）を設定する。さらに、サンプリング制御部２７２は、撮像装置１００が連写をすることにより静止画像を撮像する場合には、設定したサンプリングレートをシャッター速度や撮影間隔として用いるために、サンプリングレート等を撮像装置１００のＩ／Ｆ部１８に出力してもよい。
【００９０】
方向判定部２１０及びパノラマ画像生成部２２０、画像スリット生成部２５０、位置合わせスリット生成部２６０、画像取得部（サンプリング部）２７０の機能は、各種プロセッサ（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。
【００９１】
最後に、提示部３００は、画像処理システム２００のＩ／Ｆ部２４０から得られるパノラマ画像等をユーザに提示する。提示部３００は、表示部の他に、音出力部や振動部を含んでもよい。
【００９２】
また、撮像装置１００が、画像処理機能を有するスマートカメラ等である場合には、図１８に示すような構成例も可能である。
【００９３】
本実施形態では、撮像装置１００は、撮像部１２と、エンコーダ１４と、動き情報取得部１６と、Ｉ／Ｆ部１８と、画像スリット生成部２５０と、位置合わせスリット生成部２６０と、画像取得部（サンプリング部）２７０と、を含む。また、情報処理装置４００は、方向判定部２１０と、パノラマ画像生成部２２０と、記憶部２３０と、Ｉ／Ｆ部２４０と、を含む。ただし、撮像装置１００及び情報処理装置４００は、図１８の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。
【００９４】
撮像装置１００及び情報処理装置４００に含まれる各部の機能は、上述したものと同様である。
【００９５】
本実施形態では、撮像装置１００は、画像スリットや位置合わせスリットのみを、情報処理装置４００に通知すればよいため、データ転送量を抑えることが可能となる。
【００９６】
３．具体的な実施例
まず、図３（Ａ）は、撮像部を移動させながら、被写体ＯＢを撮影する様子を示している。移動前の撮像部ＣＡＭ１から被写体ＯＢを撮影した時の画像は、図３（Ｂ）に示す画像ＩＭ１のようになり、移動後の撮像部ＣＡＭ２から被写体ＯＢを撮影した時の画像は、図３（Ｃ）に示す画像ＩＭ２のようになる。
【００９７】
この場合、画像ＩＭ１と画像ＩＭ２を合成して、パノラマ画像の生成を行う場合には、画像ＩＭ１の右端の位置が画像ＩＭ２の左端の位置に対応する場合であっても、被写体ＯＢが映っている部分を滑らかに繋げることができないことがある。これは、運動視差によって、画像ＩＭ１と画像ＩＭ２の間でパースがずれてしまったためである。一般的に、画像の両端部の方が画像の中心部よりも、運動視差の影響を受けやすい。
【００９８】
そこで、本実施形態では、図４（Ａ）に示すように、サンプリングされた静止画像ＳＩＭ１から、ＳＬ１のような画像スリットを抽出し、画像スリットを合成して、パノラマ画像を生成する。また、運動視差の問題を緩和するため、図４（Ｂ）に示すように、画像スリットは静止画像ＳＩＭ２の中心点ＣＰを含むＳＬ２のようなものであることが望ましい。なお、図４（Ａ）及び図４（Ｂ）では、静止画像の縦方向に長辺を持つように画像スリットを生成しているが、横方向に長辺を持つように画像スリットを生成してもよい。
【００９９】
さらに、本実施形態では、複数方向に対して広い画角を有するパノラマ画像を生成するため、撮像部を複数の方向に移動させながら、撮影が行われる。また、撮影方向を完全にランダムとすると、位置合わせが難しく破綻する可能性が大きくなる。そこで、図５に示すように、撮像部ＣＡＭの軌跡が自然になるように、ジグザグな軌跡を描くように撮像部ＣＡＭを移動させて、撮影を行うことにより、２次元的な広がりを持つパノラマ画像ＰＩＭを１本の動画から生成する。図５では、後述する第１のカメラ移動方向ＤＲ１に撮像部ＣＡＭを動かして撮影を行った後、後述する第３のカメラ移動方向ＤＲ３に撮像部を動かし、最後に後述する第２のカメラ移動方向ＤＲ２に撮像部ＣＡＭを動かして撮影を行っている。また、第２のカメラ移動方向ＤＲ２に撮像部ＣＡＭを移動させた後に、連続して他のカメラ移動方向に撮像部ＣＡＭを移動させて撮影を行っても良い。
【０１００】
なお、パノラマ画像の合成に用いる静止画像の抽出（サンプリング）及び画像スリットの抽出、パノラマ画像の生成は、撮像装置の内部で行ってもよいし、さらに通信部を設けて有線又は無線で接続されたコンピュータなどの画像処理システム上で行ってもよい。
【０１０１】
なお、本実施形態では、図５に示すような頭部装着型の撮像部ＣＡＭにより、視野に近い範囲で被写体を撮影する。
【０１０２】
頭部装着型の撮像部ＣＡＭを用いれば、風景を見回す時の首の動きに連動した動画像を簡単に撮影でき、見たままの風景に近いパノラマ画像を生成することができる。
【０１０３】
また、前述した画像スリットを用いてパノラマ画像を生成する手法では、図５の第１のカメラ移動方向に撮像部を移動させた時の動画像に基づき取得される画像スリットと、第２のカメラ移動方向に撮像部を移動させた時の動画像に基づき取得される画像スリットとを合成する際に、画像スリットの短辺方向における重複領域を特定する処理が必要となる。その一例として、図６において、画像スリットＳＬ１と画像スリットＳＬ２の短辺方向において重複領域ＲＥＡを特定する様子を示す。
【０１０４】
通常は、図６に示したように画像スリットＳＬ１とＳＬ２を比較することによって、被写体の同一範囲が映されている部分を画像スリット同士の重複領域ＲＥＡとして求める。しかし、画像スリットの短辺は長辺に比べて極めて短いため、図６のように、画像スリットＳＬ１とＳＬ２の位置が水平方向にずれている場合などには、重複領域ＲＥＡの面積が極めて小さくなり、重複領域の特定が困難になる場合がある。この場合には、重複領域が複数の画像スリットにまたがってしまっていることになり、１枚の画像スリットの重複領域を求める際には、２枚の画像スリットと比較しなければならなくなる。
【０１０５】
この問題を回避する手法として、第１のカメラ移動方向への画像スリットの合成を行い、画像スリットの短辺が他の画像スリットの短辺と繋がって、合成後の画像の幅が十分な長さを持つようになった後に、第２のカメラ移動方向へ画像スリットを合成する手法が考えられる。つまり、図５で言えば、パノラマ画像ＰＩＭの上半分（第１のカメラ移動方向ＤＲ１に対応する部分）を先に合成してから、下半分（第２のカメラ移動方向ＤＲ２に対応する部分）を合成するという手法である。この場合には、図６の場合と異なり、複数の画像スリットに重複領域がまたがっていること等が問題とならないため、重複領域の特定が比較的容易となる。
【０１０６】
しかし、この手法では、第１のカメラ移動方向への画像スリットの合成が完了しないと、第２のカメラ移動方向への画像スリットの合成が開始できない。例えば、図５で言えば、パノラマ画像ＰＩＭの上半分と下半分を平行に合成することができない。そのため、第１のカメラ移動方向への画像スリットの合成処理がボトルネックとなることがある。
【０１０７】
そこで、本実施形態では、図７（Ａ）〜図７（Ｃ）に示すような位置合わせスリットＰＦＳＬ１〜ＰＦＳＬ３を用いて、画像スリットの合成を行う。ここでは、位置合わせスリットＰＦＳＬ１〜ＰＦＳＬ３は、画像スリットと直交するように静止画像ＳＩＭ１〜ＳＩＭ３から抽出される。また、位置合わせスリットの抽出位置は任意であり、例えば図７（Ａ）〜図７（Ｃ）に示すような抽出位置が考えられる。さらに、位置合わせスリットは、画像スリットが生成される度に、生成されてもよいし、所定の回数だけ画像スリットを生成したら、位置合わせスリットを生成するものであってもよい。以下では、所定の回数だけ画像スリットを生成した場合に、位置合わせスリットを生成する場合の例について記載する。
【０１０８】
本実施形態では、画像スリット同士を直接比較して、重複領域を求めるのではなく、図８に示すように、まず、画像スリットＳＬ１と位置合わせスリットＰＦＳＬの重複領域を求め、その後に画像スリットＳＬ２と位置合わせスリットＰＦＳＬの重複領域を求める。その結果、画像スリットＳＬ１とＳＬ２の重複領域ＲＥＡ３を間接的に求めることが可能となる。
【０１０９】
図８に示した例を詳細に説明する。図８の画像スリットＳＬ１及びＳＬ２、位置合わせスリットＰＦＳＬは、それぞれ別の静止画像に基づいて生成されたものである。まず、図８では、第１のカメラ移動方向ＤＲ１に撮像部を移動させた時の静止画像に基づいて、位置合わせスリットＰＦＳＬを取得する。次に、第１のカメラ移動方向ＤＲ１に撮像部を引き続き移動させて撮影された他の静止画像に基づいて、画像スリットＳＬ１を生成する。
【０１１０】
ここで、位置合わせスリットＰＦＳＬと画像スリットＳＬ１の画像を比較して、重複領域ＲＥＡ１を求める。例えば、まず初期位置として、位置合わせスリットの左端に画像スリットＳＬ１を配置設定する。そして、初期位置から画像スリットＳＬ１を右方向にずらしつつ、位置合わせスリットＰＦＳＬと画像比較を行い、画像が一致していると判断した場合には、その一致部分を画像スリットＳＬ１と位置合わせスリットＰＦＳＬの重複部分とする。一方、位置合わせスリットＰＦＳＬの右端まで画像スリットＳＬ１を移動させても、画像が一致しないと判断した場合には、画像スリットＳＬ１を下方向にずらし、左方向に画像スリットＳＬ１をずらして、画像比較を行う。これらの処理を、画像スリットＳＬ１を下方向及び水平方向に移動させることができなくなるまで繰り返す。画像スリットＳＬ１を下方向及び水平方向に移動させることができなくなるまでに、重複領域を特定することができない場合には、画像スリットを合成することはできない。なお、画像スリットＳＬ１と、位置合わせスリットＰＦＳＬが同一の静止画像から求められた場合には、重複領域ＲＥＡ１は既知であるため、上記の処理を行う必要はない。
【０１１１】
次に、第２のカメラ移動方向ＤＲ２に撮像部を移動させて撮影された静止画像に基づき、画像スリットＳＬ２が生成されたとする。ここで、画像スリットＳＬ２を合成する際には、画像スリットＳＬ１と画像を直接比較するのではなく、上記と同様に、位置合わせスリットＰＦＳＬと画像スリットＳＬ２を比較し、重複領域ＲＥＡ２を求める。なお、図８では、図示する際の都合でＲＥＡ２の外枠をＳＬ２の外枠から離して描画しているが、実際にはＲＥＡ２の外枠はＳＬ２の外枠と重なっている。
【０１１２】
そして、重複領域ＲＥＡ１とＲＥＡ２とが重なる部分を求めることにより、画像スリットＳＬ１とＳＬ２との重複領域ＲＥＡ３を求めることができる。
【０１１３】
この手法は、前述した画像スリットＳＬ１とＳＬ２の重複領域を直接求める手法と異なり、画像スリットと位置合わせスリットとの重複領域を求めるため、画像スリットＳＬ１とＳＬ２が水平方向にずれている場合でも、重複領域の面積が小さくならず、重複領域の特定が困難にならないという利点を持っている。
【０１１４】
さらに、第１のカメラ移動方向への画像スリットの合成が完了していない場合にも、第２のカメラ移動方向への画像スリットの合成が開始できるため、第１のカメラ移動方向への画像スリットの合成処理がボトルネックとなることを防ぎ、パノラマ画像の生成処理を高速に行うこと等が可能となる。
【０１１５】
また、より精度の高い画像合成を行うためには、合成処理を２段階に分けることが望ましい。すなわち、１回目の合成処理として、位置合わせスリットにより、画像スリット間の重複領域を求め、求められた画像スリットの合成位置を仮位置としておく。そして、１回目の合成処理が完了した後に、２回目の合成処理として合成位置の高精度化を行い、高精度化後の画像スリットの位置を真の合成位置とする。なお、２回目の合成処理では、具体的には特徴点を用いたマッチングや、バンドルアジャストメントなどを用いた３次元再構成処理を行う。
【０１１６】
また、例えば、図５において、第３のカメラ移動方向ＤＲ３が、上方向か下方向かあらかじめ決められていないが、第１のカメラ移動方向ＤＲ１に撮像部が移動された時に取得された位置合わせスリットを用いて、重複領域の特定処理を行うことが決まっている場合などには、位置合わせスリットの抽出位置によっては、位置合わせスリットを用いて、上述したように重複領域を求めることができない場合がある。
【０１１７】
そこで、位置合わせスリットは、図９（Ａ）及び図９（Ｂ）に示すように、１枚の静止画像から複数の位置合わせスリットを抽出してもよい。図９（Ａ）では、静止画像ＳＩＭ１の後述する第１の領域ＳＵＢ１から第１の位置合わせスリットＰＦＳＬ１を、後述する第２の領域ＳＵＢ２から第２の位置合わせスリットＰＦＳＬ２を抽出している。同様に、図９（Ｂ）では、静止画像ＳＩＭ２の後述する第１の領域ＳＵＢ３から第１の位置合わせスリットＰＦＳＬ３を、後述する第２の領域ＳＵＢ４から第２の位置合わせスリットＰＦＳＬ４を抽出している。
【０１１８】
これにより、画像スリットの重複領域を特定する処理において、第１の位置合わせスリットを用いるか、第２の位置合わせスリットを用いるか選択すること等が可能になり、撮像部がどのような方向に動かされた場合でも、カメラ移動方向に応じて、使用する位置合わせスリットを選択して、重複領域を求めること等が可能となる。
【０１１９】
例えば、図５において、第１のカメラ移動方向に撮像部を移動させた時に取得された位置合わせスリットを用いる場合で、第３のカメラ移動方向が上方向の場合においては、図９（Ａ）の第１の位置合わせスリットＰＦＳＬ１を用い、第３のカメラ移動方向が下方向の場合においては、図９（Ａ）の第２の位置合わせスリットＰＦＳＬ２を用いることが可能となる。
【０１２０】
さらに、第１のカメラ移動方向に撮像部を移動させた時に取得された位置合わせスリットを用いる場合等には、第２のカメラ移動方向に撮像部を動かす前に、第１のカメラ移動方向に撮像部を移動させた時に取得された画像スリットと、位置合わせスリットとの位置関係を確定することができ、第２のカメラ移動方向に撮像部が移動され、画像スリットが取得され次第、重複領域の特定処理を行うことができるため、処理時間を短縮すること等が可能となる。
【０１２１】
次に、図１０に示すように、第１のカメラ移動方向ＤＲ１へ撮像部が移動されて、画像ＰＩＭ１が生成された場合において、第２のカメラ移動方向ＤＲ２へ撮像部を移動される場合について考える。また、位置合わせスリットは、第２のカメラ移動方向ＤＲ２へ移動された時に撮像された静止画像に基づいて生成されたものを用いるとする。さらに、画像ＰＩＭ１では、画像スリットとの重複領域を上から下に探索することとする。
【０１２２】
この時、撮像部が動きベクトルＤＲＶに表されるように移動され、ＣＰ１からＣＰ２へと撮像部の位置が大きく変動したような場合には、前回までと同じ位置ＰＦＰから位置合わせスリットを抽出すると、画像ＰＩＭ１の縦方向において重複領域を探索する範囲が大きく変わってしまい、ＰＩＭ１において、動きベクトルＤＲＶの垂直成分の大きさに比例して、重複領域の探索に時間を要することとなる。
【０１２３】
そこで、本実施形態では、動き情報取得部により得られる動き情報に基づいて、位置合わせスリットを抽出する位置を動的に変更する。図１０では、静止画像ＳＩＭ２において、位置合わせスリットを抽出する位置を変更し、ＰＦＳＬ２を抽出して、ＰＦＳＬ１との連続性を保っている。これにより、画像ＰＩＭ１の縦方向において重複領域を探索する範囲を大きく変えることがなくなる。その結果、合成先の画像ＰＩＭ１中において、位置合わせスリットＰＦＳＬ２との重複領域の探索処理を効率的に行なうことができる。
【０１２４】
また、位置合わせスリットは、撮像部が第１のカメラ移動方向に移動された時の静止画像と、第２のカメラ移動方向に移動された時の静止画像の両方から、それぞれ抽出されるが、どちらの位置合わせスリットを重複領域の特定処理に用いるかは、次のように判定することができる。
【０１２５】
まず、図１１（Ａ）の例は、位置合わせスリットが、静止画像の第３のカメラ移動方向側、すなわち静止画像の上側から生成される場合を示している。この場合には、カメラ移動方向が第１のカメラ移動方向ＤＲ１である時にサンプリングされた静止画像に基づいて、位置合わせスリットＰＦＳＬ１及びＰＦＳＬ２が生成され、カメラ移動方向が第２のカメラ移動方向ＤＲ２である時にサンプリングされた静止画像に基づいて、位置合わせスリットＰＦＳＬ３が生成される。
【０１２６】
この時、パノラマ画像の上部分（例えば、画像スリットＳＬ３）と下部分（例えば、画像スリットＳＬ２）を合成する際に、どの位置合わせスリットを用いるか選択する必要がある。図１１（Ａ）では、第３のカメラ移動方向ＤＲ３が上向きであるため、位置合わせスリットＰＦＳＬ１及びＰＦＳＬ２が、パノラマ画像の上半分と下半分の境界部分に位置することになる。
【０１２７】
したがって、図１１（Ａ）の場合には、第１のカメラ移動方向ＤＲ１である時にサンプリングされた静止画像に基づいて生成された位置合わせスリットＰＦＳＬ１及びＰＦＳＬ２を用いて画像スリットの合成が行われる。
【０１２８】
同様にして、図１１（Ｂ）の例は、位置合わせスリットが、静止画像の第３のカメラ移動方向側、すなわち静止画像の下側から生成される場合を示している。この場合には、カメラ移動方向が第１のカメラ移動方向ＤＲ１である時にサンプリングされた静止画像に基づいて、位置合わせスリットＰＦＳＬ４及びＰＦＳＬ５が生成され、カメラ移動方向が第２のカメラ移動方向ＤＲ２である時にサンプリングされた静止画像に基づいて、位置合わせスリットＰＦＳＬ６が生成される。
【０１２９】
この時、パノラマ画像の上部分（例えば、画像スリットＳＬ５）と下部分（例えば、画像スリットＳＬ６）を合成する際に、どの位置合わせスリットを用いるか選択する必要がある。図１１（Ｂ）では、第３のカメラ移動方向ＤＲ３が下向きであるため、位置合わせスリットＰＦＳＬ４及びＰＦＳＬ５が、パノラマ画像の上半分と下半分の境界部分に位置することになる。
【０１３０】
したがって、図１１（Ｂ）の場合には、図１１（Ａ）の場合と同様に、第１のカメラ移動方向ＤＲ１である時にサンプリングされた静止画像に基づいて生成された位置合わせスリットＰＦＳＬ４及びＰＦＳＬ５を用いて画像スリットの合成が行われる。
【０１３１】
一方、図１２（Ａ）の例は、位置合わせスリットが、静止画像の第３のカメラ移動方向と逆側、すなわち静止画像の下側から生成される場合を示している。この場合には、カメラ移動方向が第１のカメラ移動方向ＤＲ１である時にサンプリングされた静止画像に基づいて、位置合わせスリットＰＦＳＬ１及びＰＦＳＬ２が生成され、カメラ移動方向が第２のカメラ移動方向ＤＲ２である時にサンプリングされた静止画像に基づいて、位置合わせスリットＰＦＳＬ３が生成される。
【０１３２】
この時、パノラマ画像の上部分（例えば、画像スリットＳＬ３）と下部分（例えば、画像スリットＳＬ２）を合成する際に、どの位置合わせスリットを用いるか選択する必要がある。図１２（Ａ）では、第３のカメラ移動方向ＤＲ３が上向きであるため、位置合わせスリットＰＦＳＬ３が、パノラマ画像の上半分と下半分の境界部分に位置することになる。
【０１３３】
したがって、図１２（Ａ）の場合には、第２のカメラ移動方向ＤＲ２である時にサンプリングされた静止画像に基づいて生成された位置合わせスリットＰＦＳＬ３を用いて画像スリットの合成が行われる。
【０１３４】
同様にして、図１２（Ｂ）の例は、位置合わせスリットが、静止画像の第３のカメラ移動方向と逆側、すなわち静止画像の上側から生成される場合を示している。この場合には、カメラ移動方向が第１のカメラ移動方向ＤＲ１である時にサンプリングされた静止画像に基づいて、位置合わせスリットＰＦＳＬ４及びＰＦＳＬ５が生成され、カメラ移動方向が第２のカメラ移動方向ＤＲ２である時にサンプリングされた静止画像に基づいて、位置合わせスリットＰＦＳＬ６が生成される。
【０１３５】
この時、パノラマ画像の上部分（例えば、画像スリットＳＬ５）と下部分（例えば、画像スリットＳＬ６）を合成する際に、どの位置合わせスリットを用いるか選択する必要がある。図１２（Ｂ）では、第３のカメラ移動方向ＤＲ３が下向きであるため、位置合わせスリットＰＦＳＬ６が、パノラマ画像の上半分と下半分の境界部分に位置することになる。
【０１３６】
したがって、図１２（Ｂ）の場合には、第２のカメラ移動方向ＤＲ２である時にサンプリングされた静止画像に基づいて生成された位置合わせスリットＰＦＳＬ６を用いて画像スリットの合成が行われる。
【０１３７】
ここで、図８を用いて説明したように、位置合わせスリットを用いて、画像スリットの重複領域を特定する場合には、画像スリットを位置合わせスリットに沿って、移動させながら画像比較を行う必要がある。
【０１３８】
この手法の問題点について、図１３（Ａ）を用いて説明する。図１３（Ａ）では、同一の静止画像から、位置合わせスリットＰＦＳＬ１と画像スリットＳＬ１とが生成されている。ここで、異なる静止画像から画像スリットＳＬ２が生成され、ＳＬ２の重複領域を特定する場合を考える。この場合には、図８を用いて説明したように、例えば、画像スリットＳＬ２を位置合わせスリットの右端に配置設定し、左に移動させながら画像比較を行い、画像が一致したと判断した部分を重複領域として特定する。画像が一致しない場合には、画像スリットＳＬ２をさらに左へ移動させ、位置合わせスリットの左端に到達した場合には画像スリットを下方向にずらし、再度水平方向へ移動させながら、画像比較を繰り返す。
しかし、この手法では、図１３（Ａ）に示すように、画像スリットＳＬ２と位置合わせスリットＰＦＳＬ１の全組み合わせ領域ＳＡ１を探索しなければならない。そのため、重複領域の特定処理の負担が大きいという問題がある。重複領域の探索範囲を限定することができれば、重複領域の特定処理を高速化することが可能となる。
【０１３９】
そこで、本実施例では、図１３（Ｂ）に示すように、動き情報により表される動きベクトルＤＶ１のように撮像部が移動された場合には、動きベクトルＤＶ１の垂直成分ＤＶＰ１と水平成分ＤＶＨ１とに基づいて、画像スリットＳＬ４の重複領域の位置を推定し、探索範囲をＳＡ２に限定する。言い換えれば、撮像部の移動前の画像スリットＳＬ３の位置と動きベクトルＤＶ１とに基づいて、撮像部の移動後の画像スリットＳＬ４の位置を推定する。なお、探索範囲ＳＡ２は、動きベクトルの算出誤差などを勘案して、上下左右に所定のピクセル分だけ広く設定する等してもよい。
【０１４０】
ただし、カメラ移動方向と垂直な方向の推定は、手振れや頭振れ等を考慮すると必ずしもよいとは限らない。一時的に手振れ等がひどくなった場合には、重複領域すら確保できないことがある。
【０１４１】
そのため、図１３（Ｃ）に示すように、撮像部の移動後の画像スリットＳＬ６の位置の推定に、動きベクトルＤＶ２の水平成分ＤＶＨ２のみを用いて、垂直方向に対しては、画像スリットの全領域を探索範囲ＳＡ３としてもよい。すなわち、画像スリットＳＬ６の水平方向の位置を固定して、画像スリットＳＬ６を垂直方向にずらしながら、位置合わせスリットＰＦＳＬ３と画像比較を行う。なお、探索範囲ＳＡ２と同様に、探索範囲ＳＡ３も、動きベクトルの算出誤差などを勘案して、上下左右に所定のピクセル分だけ広く設定する等してもよい。
【０１４２】
また、動き情報から重複領域を確保できないと判断される場合は、静止画像をサンプリングしなくてもよい。
【０１４３】
次に、重複領域を確保することができるようにサンプリング処理を制御する手法について述べる。
【０１４４】
撮影速度が増加した場合に、画像取得速度（サンプリングレート）が一定だと、画像スリット間の重複領域は狭くなる。もしくは、画像スリット間の重複領域がなくなる。その結果、パノラマ画像の生成が不可能となる。逆に、撮影速度が減少した場合に、サンプリングレートが一定だと、不要なフレームを取り込むことになり、画像情報が必要以上となり、うまく合成できない可能性がある。他にも、不要なフレームを取り込んだ場合には、合成する画像スリットが増加するため、処理負荷が高くなるという問題点もある。
【０１４５】
そこで、本実施形態では、撮影速度が上がった場合にサンプリングレートを大きくする。
【０１４６】
例えば、図１４に示すように、画像スリット幅が７０ｐｘ（pixel）で、隣接スリットとの最小重複領域幅が１０ｐｘであるとすると、隣接する画像スリットとの中心間隔は６０ｐｘ以内に収める必要がある。
【０１４７】
ここで、撮像部が３０ｆｐｓ（Frame Per Second）で撮影しており、動き情報から得られた撮影速度が１０ｐｘ／ｆｒａｍｅであった場合を考える。なお、ｐｘ／ｆｒａｍｅとは、被写体の同一範囲を映す画素が１ｆｒａｍｅで移動するピクセル値のことをいう。例えば、１０ｐｘ／ｆｒａｍｅとは、１ｆｒａｍｅの間に被写体の同一範囲を映す画素が１０ｐｘ分移動することを示す。
【０１４８】
この場合には、３０ｆｐｓ×（１０ｐｘ／６０ｐｘ）＝５ｆｐｓ以上でサンプリングすれば、最低限の重複領域を確保できることになる。ここで、撮影速度が１５ｐｘ／ｆｒａｍｅに上がった場合は、３０ｆｐｓ×（１５ｐｘ／６０ｐｘ）＝７．５ｆｐｓとなり、８ｆｐｓ以上でサンプリングするように変更すれば、重複領域の幅を保ったまま画像スリットを取得することができる。
【０１４９】
これにより、パノラマ画像を合成するのに必要十分な重複領域を持った画像スリットを得ることができる。また、撮影速度に合わせて、シャッタースピード（フレームレート）を増減させると、フレームレートが十分でない場合、被写体振れが生じる可能性があるが、フレームレートを一定に保ち、サンプリングレートを増減させる場合は、被写体振れを抑えつつ、不要なフレームを除去して、データ量を削減することが可能となる。
【０１５０】
撮影速度が上がった場合に重複領域を確保する他の手法として、画像スリット幅を大きくする手法が考えられる。
【０１５１】
図１４にその一例を示す。例えば、画像スリット幅が７０ｐｘで、隣接スリットとの最小重複領域幅が１０ｐｘであるが、サンプリングレートが５ｆｐｓまでしか上げられない場合を考える。あるいは、撮像部のスペックが５ｆｐｓであるとする。今、サンプリングレートが最大の５ｆｐｓに設定されているとする。中心間距離は最大で７０ｐｘ−１０ｐｘ＝６０ｐｘであることから、６０ｐｘ／ｆｒａｍｅまでの撮影速度には対応できる。しかしながら、撮影速度が例えば７０ｐｘ／ｆｒａｍｅとなった場合には、フレームレートをこれ以上増加できないことから、スリットの重複領域を確保できなくなる。このような場合にも、画像スリットの両端を１０ｐｘ以上確保するためには、図１５に示すように、画像スリットの幅を７０ｐｘ＋１０ｐｘ＝８０ｐｘ以上とすればよい。
【０１５２】
これにより、サンプリングレートがハードウェアやネットワークの限界により増加させられない場合でも、重複領域を持たせることが可能となる。
【０１５３】
４．本実施形態の手法
以上の本実施形態では、静止画像を連続して取得する画像取得部２７０と、撮影中の撮像部１２が移動される方向であるカメラ移動方向を判定する方向判定部２１０と、連続して取得された静止画像に基づいて、画像スリットを生成する画像スリット生成部２５０と、画像スリットの合成処理を行い、パノラマ画像を生成するパノラマ画像生成部２２０と、を含む。そして、方向判定部２１０は、撮像部１２を移動させながら撮影が行われる場合に、カメラ移動方向が第１のカメラ移動方向であるか、第１のカメラ移動方向と異なる方向である第２のカメラ移動方向であるかを判定する。さらに、パノラマ画像生成部２２０は、連続して取得された静止画像の撮影時におけるカメラ移動方向に基づいて、画像スリットの合成位置を決定し、画像スリットの合成処理を行い、パノラマ画像を生成することを特徴とする。
【０１５４】
本実施形態では、撮像部が複数のカメラ移動方向に移動させられ、撮影が行われる場合に、画像スリットを生成するために用いる静止画像を連続して取得することができ、現在のカメラ移動方向を判定することができる。さらに、連続して取得された静止画像に基づき、画像スリットを生成することができる。
【０１５５】
ここで、静止画像を連続して取得するとは、撮像部が静止画像を撮像する場合には、撮像部を連続的に移動させながら、連写して撮像された静止画像を取得することをいう。また、静止画像を連続して取得するとは、撮像部が動画像を撮影する場合には、撮像部を連続的に移動させながら、撮影した動画像から静止画像を、画像取得部２７０がサンプリングして取得すること、または撮影した動画像から撮像部等の他機能部によってサンプリングされた静止画像を取得することをいう。
【０１５６】
また、ここで、画像スリットとは、連続して取得された静止画像の所定の面積を有する一部分または全ての部分であり、パノラマ画像の生成に用いられる画像のこという。例えば、画像スリットは、図４（Ａ）のＳＬ１、図４（Ｂ）のＳＬ２である。
【０１５７】
また、カメラ移動方向とは、撮像部を移動させる際に描く軌跡における任意の異なる二点間を結ぶベクトルの方向である。例えば、カメラ移動方向は、図５のＤＲ１やＤＲ２、ＤＲ３である。カメラ移動方向は、あらかじめ設定されたものであってもよい。また、後述する動き情報取得部により取得される撮像部の動き情報により表される動きベクトルの水平成分と垂直成分のいずれか一方の成分が、一定期間連続して大きい場合に、他方の成分よりも大きい一方の成分に対応する方向をカメラ移動方向として求めても良い。
【０１５８】
また、ここでは、カメラ移動方向の一方向を第１のカメラ移動方向と呼び、第１のカメラ移動方向と異なる方向を第２のカメラ移動方向と呼ぶ。なお、カメラ移動方向は、第１のカメラ移動方向と第２のカメラ移動方向だけに限定されず、さらに複数のカメラ移動方向を考慮してもよい。
【０１５９】
また本実施形態では、カメラ移動方向に基づいて、画像スリットの合成位置を決定し、合成処理を行うことが可能となる。
【０１６０】
ここで、合成処理とは、現時点までに合成処理を行った結果取得される画像と、新たに生成された画像スリットとを重ね合わせて、１つの画像を生成する処理のことをいう。
【０１６１】
また、合成位置とは、合成処理において、現時点までに合成処理を行った結果取得される画像に対する画像スリットの相対的な位置のこという。
【０１６２】
よって、撮像部を一つのカメラ移動方向に動かして生成したパノラマ画像よりも、複数の方向に対して画角の広いパノラマ画像を生成することが可能となる。さらに、パノラマ画像を生成する材料として、画像スリットを用いることにより、運動視差によるパースのゆがみを緩和しつつ、撮像部の撮影領域に対して、縦横に広範な撮影領域をカバーしたパノラマ画像を生成することが可能となる。
【０１６３】
また、本実施形態では、連続して取得された静止画像に基づいて、位置合わせスリットを生成する位置合わせスリット生成部２６０を含んでもよい。そして、パノラマ画像生成部２２０は、連続して取得された静止画像の撮影時におけるカメラ移動方向と、位置合わせスリットとに基づいて、画像スリットの合成位置を決定し、画像スリットの合成処理を行い、パノラマ画像を生成してもよい。
【０１６４】
ここで、位置合わせスリットとは、連続して取得された静止画像の一部分または全ての部分であり、画像スリットと一部の領域が一致するが、完全には一致しない画像のことをいう。例えば、位置合わせスリットは、図７（Ａ）のＰＦＳＬ１や図７（Ｂ）のＰＦＳＬ２、図７（Ｃ）のＰＦＳＬ３、である。
【０１６５】
これにより、複数の画像スリットに重複領域がまたがっている場合等が問題とならなくなり、重複領域の特定処理を比較的容易にすること等が可能となる。さらに、第１のカメラ移動方向への画像スリットの合成が完了していない場合にも、第２のカメラ移動方向への画像スリットの合成が開始できるため、第１のカメラ移動方向への画像スリットの合成処理がボトルネックとなることを防ぎ、パノラマ画像の生成処理を高速に行うこと等が可能となる。
【０１６６】
また、位置合わせスリット生成部２６０は、画像スリットの長辺と位置合わせスリットの長辺とが直交するように、位置合わせスリットを生成してもよい。
【０１６７】
例えば、画像スリットの長辺と位置合わせスリットの長辺とが直交している場合とは、図８の画像スリットＳＬ１（またはＳＬ２）と位置合わせスリットＰＦＳＬのような状態のことを指している。なお、画像スリットの長辺と位置合わせスリットの長辺は、略直交していてもよい。
【０１６８】
また、位置合わせスリットの生成とは、静止画像の所定領域を位置合わせスリットとして、抽出（コピー等）することである。また、位置合わせスリットの生成には、静止画像に基づいて、位置合わせスリットの画像を新たに生成することも含む。
【０１６９】
これにより、位置合わせスリットの長辺に画像スリットの短辺を重ねるようにして、重複領域の特定処理を行うこと等が可能になる。その結果、位置合わせスリット間の境界部分で重複領域の特定処理を行う頻度が低下するため、位置合わせスリット間の境界部分が不連続であり、画像スリットの重複領域の特定ができないといった場合を減らすこと等が可能となる。
【０１７０】
また、位置合わせスリット生成部２６０は、静止画像の中心を通る直線により第１の領域と第２の領域を設定し、第１の領域から第１の位置合わせスリットを生成し、第２の領域から第２の位置合わせスリットを生成してもよい。
【０１７１】
ここで、第１の領域とは、静止画像の中心を通る直線により分割された静止画像の一方の領域のこという。また、もう一方の領域を第２の領域と呼ぶ。例えば、図９（Ａ）では静止画像ＳＩＭ１の中心ＣＰ１を通る直線により、ＳＩＭ１が分割されており、第１の領域としてＳＵＢ１が設定されており、第２の領域としてＳＵＢ２が設定されている。また、同様にして、図９（Ｂ）では第１の領域がＳＵＢ３であり、第２の領域がＳＵＢ４である。
【０１７２】
これにより、画像スリットの重複領域を特定する処理において、第１の位置合わせスリットを用いるか、第２の位置合わせスリットを用いるか選択すること等が可能になり、撮像部がどのような方向に動かされた場合でも、カメラ移動方向に応じて、使用する位置合わせスリットを選択して、重複領域を求めること等が可能となる。
【０１７３】
また、位置合わせスリット生成部２６０は、動き情報取得部１６から取得される撮像部１２の動き情報に基づいて、静止画像中の位置合わせスリットを抽出する位置を変更し、位置合わせスリットを生成してもよい。
【０１７４】
ここで、動き情報とは、動き情報取得部により得られるセンサ情報又は動きベクトルのことをいう。
【０１７５】
これにより、図１０の場合のように、撮像部の位置が大きく変動した場合に、前回までと同じ位置から位置合わせスリットを抽出して、合成先の画像中において、位置合わせスリットとの重複領域の探索処理を効率的に行うこと等が可能となる。
【０１７６】
また、パノラマ画像生成部２２０は、カメラ移動方向が第２のカメラ移動方向であると判定された場合には、第１のカメラ移動方向と垂直な方向に合成位置をずらし、位置合わせスリットの一部と今回の画像スリットの一部が重複するように、合成処理を行って、パノラマ画像を生成してもよい。
【０１７７】
具体的には、図１１（Ａ）に示すように、第２のカメラ移動方向ＤＲ２に撮像部が移動されている時の画像スリットＳＬ３を、第１のカメラ移動方向ＤＲ１に撮像部が移動されている時の画像スリットＳＬ２の合成位置から、ＤＲ１と垂直な方向ＤＲ３にずらした位置において合成する。なお、パノラマ画像生成部２２０は、第２のカメラ移動方向に撮像部が移動されている時の画像スリットの合成位置を、第１のカメラ移動方向と略垂直な方向にずらしてもよい。
【０１７８】
これにより、撮像部がジグザグな軌跡を描くように移動された場合に、縦横に広範な撮影領域をカバーしたパノラマ画像を生成すること等が可能となる。
【０１７９】
また、重複領域は、画像スリットの端の一部の領域であることが望ましく（例えば画像スリットの全体の２０％程度）、画像スリットの半分以上が重複している場合などにおいては、元の画像スリットの画角に対して、合成後の画像の画角があまり大きくならないため、画像スリットを合成した効果が少ないと言える。
【０１８０】
すなわち、画像スリットの合成の効果を高めるためには、画像スリットの端の一部の領域だけを合成させることが望ましい。従って、画像スリットの合成処理に用いる位置合わせスリットも、画像スリット間の境界部分に対応する画像であることが望ましいと言える。
【０１８１】
さらに、画像スリットと位置合わせスリットの位置関係によっては、位置合わせスリットを用いて画像スリット同士の重複領域を特定することができない場合がある。
【０１８２】
以上のように、どの位置合わせスリットを用いるかは、画像スリットの合成の効果を高めるために重要である。
【０１８３】
そこで、方向判定部２１０は、第１のカメラ移動方向に撮像部１２を移動させながら撮影が行われた後に、第１のカメラ移動方向及び第２のカメラ移動方向と異なる方向である第３のカメラ移動方向に撮像部１２を移動させ、第３のカメラ移動方向に撮像部１２を移動させた後に、第２のカメラ移動方向に撮像部１２を移動させながら撮影が行われる場合に、カメラ移動方向の判定を行ってもよい。そして、パノラマ画像生成部２２０は、静止画像の中心を基準にして、第３のカメラ移動方向にある領域から位置合わせスリットを生成した場合には、カメラ移動方向が第１のカメラ移動方向である時に連続して取得された静止画像に基づき生成された位置合わせスリットを、合成処理に用いてもよい。一方、パノラマ画像生成部２２０は、静止画像の中心を基準にして、第３のカメラ移動方向とは逆方向にある領域から位置合わせスリットを生成した場合には、カメラ移動方向が第２のカメラ移動方向である時に連続して取得された静止画像に基づき生成された位置合わせスリットを、合成処理に用いてもよい。
【０１８４】
ここで、第３のカメラ移動方向とは、第１のカメラ移動方向及び第２のカメラ移動方向と異なる方向である。例えば、図５ではＤＲ３である。
【０１８５】
上述した手法を用いれば、第１のカメラ移動方向に撮像部を移動させた時の画像スリットと、第２のカメラ移動方向に撮像部を移動させた時の画像スリットとの境界側に位置する位置合わせスリットを特定すること等が可能となる。
【０１８６】
これにより、元の画像スリットの画角に対して、合成後の画像の画角が十分に大きくなるように、画像スリットを合成できる位置合わせスリットを特定すること等が可能となる。
【０１８７】
また、パノラマ画像生成部２２０は、動き情報取得部１６から取得される撮像部１２の動き情報に基づいて、位置合わせスリットと画像スリットの重複領域の位置を探索する範囲を限定して、合成処理を行ってもよい。
【０１８８】
ここで、重複領域とは、合成処理において、２つの画像が重畳される領域のことをいう。例えば、図６で言えば、ＲＥＡのような部分である。
【０１８９】
これにより、動き情報により推定される撮像部の移動後の位置周辺に、重複領域の探索範囲を限定することが可能となり、重複領域の特定処理の負担を減らし、高速化を図ること等が可能になる。
【０１９０】
ただし、カメラ移動方向と垂直な方向の推定は、手振れや頭振れ等を考慮するとずしもよいとは限らない。一時的に手振れ等がひどくなった場合には、重複領域すら確保できないことがある
そこで、パノラマ画像生成部２２０は、動き情報取得部１６から取得される撮像部１２の動き情報の水平成分と垂直成分のうちのいずれか一方に基づいて、位置合わせスリットと画像スリットの重複領域の位置を探索する範囲を限定して、合成処理を行ってもよい。
【０１９１】
これにより、水平方向の動き情報を用いることで、多数存在する位置合わせスリットの中から探索範囲を限定すること等が可能となる。
【０１９２】
また、一般的に、静止画像のカメラ動き方向側の領域とその逆方向側の領域（すなわち、静止画像の左右両端又は上下両端）では、運動視差によるパースのゆがみが大きくなる。パノラマ画像の生成の材料となる画像は、パースによるゆがみが生じていないことが望ましい。
【０１９３】
そこで、画像スリット生成部２５０は、カメラ移動方向を表すベクトルの水平成分と垂直成分のうち、絶対値の小さい成分に対応する方向に長辺を持つ画像スリットを生成してもよい。
【０１９４】
例えば、図４（Ａ）において、カメラ移動方向がＤＲ１である場合には、ＤＲ１の水平成分と垂直成分のうち、絶対値の小さい成分に対応する方向ＤＲＰ１に長辺ＬＬ１を持つ画像スリットＳＬ１を生成する。
【０１９５】
これにより、静止画像のカメラ動き方向側の領域とその逆方向側の領域を含まない画像スリットを生成することが可能となり、運動視差によるパースのゆがみの影響を抑えること等が可能になる。
【０１９６】
また、画像スリット生成部２５０は、カメラ移動方向を表すベクトルの水平成分と垂直成分のうち、絶対値の小さい成分に対応する方向に長辺を持つ画像スリットであり、連続して取得された静止画像の中心を含む画像スリットを生成してもよい。
【０１９７】
例えば、図４（Ｂ）において、カメラ移動方向がＤＲ２である場合には、ＤＲ２の水平成分と垂直成分のうち、絶対値の小さい成分に対応する方向ＤＲＰ２に長辺ＬＬ２を持ち、静止画像ＳＩＭ２の中心ＣＰを含む画像スリットＳＬ２を生成する。
【０１９８】
これにより、静止画像のカメラ動き方向側の領域とその逆方向側の領域を含まず、静止画像の中心を含む画像スリットを生成することが可能となり、より運動視差によるパースのゆがみの影響を抑えること等が可能になる。
【０１９９】
また、パノラマ画像生成部２２０は、前回の合成処理に用いた画像スリットに対して、前回の画像スリットを撮影した時のカメラ移動方向に重複領域を持つように、今回の画像スリットの合成処理を行って、パノラマ画像を生成してもよい。
【０２００】
これにより、生成された画像スリットをカメラ動き方向側に次々に重畳して、合成処理を行うこと等が可能になる。
【０２０１】
また、方向判定部２１０は、撮像部１２を移動させながら撮影が行われる場合に、カメラ移動方向が第１のカメラ移動方向であるか、第２のカメラ移動方向であるか、若しくは第１のカメラ移動方向及び第２のカメラ移動方向と異なる方向である第３のカメラ移動方向であるかを判定してもよい。
【０２０２】
これにより、ジグザグな軌道を描くように撮像部を移動させる場合に、パノラマ画像を生成すること等が可能になる。ジグザグな軌跡を描くように撮像部が移動され撮影が行われることで、複数の方向において、撮像部の画角よりも広い範囲を映したパノラマ画像を生成すること等が可能になる。また、第１のカメラ移動方向への撮影開始位置と第２のカメラ移動方向への撮影開始位置を合わせるような位置合わせ等のために、撮像部を移動させることがなく、ユーザの手間を省くこと等が可能となる。また、一度の動画撮影でパノラマ画像を生成するための素材を用意することができるため、さらにユーザの手間を省くこと等が可能となる。
【０２０３】
また、パノラマ画像生成部２２０は、第１のカメラ移動方向へ画像スリットを合成する処理と第２のカメラ移動方向へ画像スリットを合成する処理とを並列に行ってもよい。
【０２０４】
これにより、第１のカメラ移動方向への画像スリットの合成が完了していない場合にも、第２のカメラ移動方向への画像スリットの合成が開始できるため、第１のカメラ移動方向への画像スリットの合成処理がボトルネックとなることを防ぎ、パノラマ画像の生成処理を高速に行うこと等が可能となる。
【０２０５】
また、パノラマ画像生成部２２０は、第１の誤差許容度に基づいて、画像スリットの合成処理を行った後に、第１の誤差許容度よりも低い誤差許容度である第２の誤差許容度に基づいて、画像スリットの合成処理を行ってもよい。
【０２０６】
ここで、誤差許容度とは、撮像部の目標位置からのずれを許容する度合いのことをいう。また、目標位置とは、現在の撮像部の位置から、第１のカメラ移動方向に撮像部が移動された時に取得されたカメラ動き方向情報により表されるベクトルとは逆方向に、同じ距離だけ撮像部を動かした位置のことをいう。
【０２０７】
また言い換えると、誤差許容度は、２つの画像スリットの重複部分の不一致率の許容量ということもできる。具体的には、誤差許容度は、被写体の同一範囲を映す画素の位置の差の許容量などである。
【０２０８】
なお、第１の誤差許容度とは、第２の誤差許容度よりも高い所定の誤差許容度のことをいう。一方、第２の誤差許容度とは、第１の誤差許容度よりも低い所定の誤差許容度のことをいう。
【０２０９】
これにより、第１の誤差許容度に基づいて、画像スリットの重複領域の特定を行った後、第２の誤差許容度に基づいて、画像スリットの合成位置の高精度化を行うこと等が可能となる。その結果として、例えば、合成される２つの画像スリット間で、被写体の同一範囲を映す画素の位置の差がより小さくなるように重複されたパノラマ画像を生成すること等が可能になる。
【０２１０】
また、画像取得部２７０は、動き情報取得部１６から撮像部１２の動き情報を取得され、画像スリットの合成処理において、連続する画像スリットの重複領域を確保できないと、動き情報に基づき判断した場合には、静止画像の取得処理を停止してもよい。
【０２１１】
これにより、連続する画像スリットの重複領域を確保できず、パノラマ画像を生成することができないにも関わらず、静止画像を連続して取得するような無駄な処理を行うことを事前に防ぐこと等が可能になる。
【０２１２】
また、画像取得部２７０は、動き情報取得部１６から取得される撮像部１２の動き情報に基づいて、撮像部１２が移動される速度であるカメラ移動速度が大きくなったと判断した場合に、画像スリットの合成処理において、連続する画像スリットの重複領域の面積が所定の閾値よりも大きくなるように、画像取得速度を大きくしてもよい。
【０２１３】
ここで、カメラ移動速度とは、ユーザが撮像部を移動させる速度のことをいう。
【０２１４】
また、画像取得速度とは、単位時間当たりの静止画像を取得する枚数のことをいう。具体的に、画像取得速度は、Ｉ／Ｆ部が連続する静止画像を含む情報を取得する場合には、撮像部のシャッタースピードと同じ速度又はシャッタースピードよりも遅い所定の速度等であり、Ｉ／Ｆ部が動画像を含む情報を取得する場合には、動画像から静止画像をサンプリングする速度（サンプリングレート）等のことをいう。
【０２１５】
これにより、パノラマ画像を生成するために、必要な重複領域を持った画像スリットを取得すること等が可能になる。
【０２１６】
また、他の実施形態として、画像取得部２７０は、動き情報取得部１６から取得される撮像部１２の動き情報に基づいて、撮像部１２が移動される速度であるカメラ移動速度が大きくなったと判断した場合に、画像スリットの合成処理において、画像取得速度を大きくしてもよい。
【０２１７】
例えば、カメラ移動速度が大きくなったと判断した場合に、通常の画像取得速度（サンプリングレート）よりも大きい値を有するあらかじめ設定された画像取得速度（サンプンリングレート）に設定を変更してもよい。
【０２１８】
また、画像スリット生成部２５０は、動き情報取得部１６から取得される撮像部１２の動き情報に基づいて、撮像部１２が移動される速度であるカメラ移動速度が大きくなったと判断した場合に、画像スリットの合成処理において、連続する画像スリットの重複領域の面積が所定の閾値よりも大きくなるように、画像スリットのスリット幅を大きくしてもよい。
【０２１９】
これにより、例えば、画像取得速度（サンプリングレート）がハードウェアやネットワークの限界により増加させられない場合等においても、パノラマ画像を生成するために、必要な重複領域を持った画像スリットを取得すること等が可能になる。
【０２２０】
また、他の実施形態として、画像スリット生成部２５０は、動き情報取得部１６から取得される撮像部１２の動き情報に基づいて、撮像部１２が移動される速度であるカメラ移動速度が大きくなったと判断した場合に、画像スリットの合成処理において、画像スリットのスリット幅を大きくしてもよい。
【０２２１】
例えば、カメラ移動速度が大きくなったと判断した場合に、通常のスリット幅よりも大きい値を有するあらかじめ設定されたスリット幅に設定を変更してもよい。
【０２２２】
また、撮像装置１００が静止画像を撮像する速度（または撮像装置１００が静止画像を動画像からサンプリングする速度、以下同じ）が、画像取得部２７０が静止画像を取得する速度よりも速い場合には、撮像装置１００が取得した静止画像の一部が使用されず、無駄となる。一方、撮像装置１００が静止画像を撮像する速度が、画像取得部２７０が静止画像を取得する速度よりも遅い場合には、画像取得部２７０は、パノラマ画像を生成するために必要十分な画像を取得することができない。
【０２２３】
そこで、画像取得部２７０は、撮像部のシャッタータイミングを制御して、静止画像を連続して取得してもよい。
【０２２４】
シャッタータイミングの制御は、サンプリング制御部２７２により設定されたサンプリングレート等の情報を撮像装置１００に出力することにより行う。また、サンプリングレートの他にも、サンプリングレートに基づいて求めたシャッター速度や撮影間隔などの情報を撮像装置１００に出力してもよい。
【０２２５】
これにより、例えば、撮像部が撮像する静止画像の枚数と、画像取得部が取得する静止画像の枚数を一致させることが可能となり、無駄な静止画像を撮像させることを防止しつつ、必要な静止画像を取得すること等が可能になる。
【０２２６】
なお本実施形態の情報処理装置等は、プログラム又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体により実現してもよい。この場合には、ＣＰＵ等のプロセッサがプログラムを実行することで、本実施形態の情報処理装置等が実現される。具体的には情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをＣＰＵ等のプロセッサが実行する。ここで、情報記憶媒体（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（カード型メモリー、ＲＯＭ等）などにより実現できる。そしてＣＰＵ等のプロセッサは、情報記憶媒体に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【０２２７】
５．処理の流れ
以下では、図１６及び図１７のフローチャートを用いて、本実施形態の処理の流れについて説明する。なお、ここではパノラマ画像の生成元が動画像である場合の流れについて説明するが、本発明のパノラマ画像の生成元は動画像に限定されない。パノラマ画像の生成元が連写された静止画像である場合も、下記と同様の流れで、パノラマ画像を生成することが可能である。
【０２２８】
５．１  パノラマ画像生成処理の流れ
まず、ユーザにより撮影が開始される（Ｓ１）。次に、動き情報取得部が動き情報を取得する（Ｓ２）。そして、取得した動き情報に基づいて、一定方向へ撮像部が移動されているか否かを判定する（Ｓ３）。一定方向へ撮像部が移動されていないと判定した場合には、再度Ｓ２の処理を行う。一方、一定方向へ撮像部が移動されていると判定した場合には、動き情報に基づいて、撮影速度を求め、撮影速度に基づいて、サンプリングレートを設定する（Ｓ４）。そして、設定されたサンプリングレートに基づいて、撮影された動画像から静止画像のサンプリングを開始する（Ｓ５）。
【０２２９】
次に、重複領域が確保されるように、動き情報に基づいて、最適な画像スリット幅を設定する（Ｓ６）。そして、設定された画像スリット幅を持つ画像スリットを、サンプリングされた静止画像から抽出する（Ｓ７）。さらに、静止画像から位置合わせスリットを生成する（Ｓ８）。
【０２３０】
そして、動き情報に基づいて、撮像部が移動されているか否かを判定する（Ｓ９）。撮像部が移動されていると判定した場合には、再度Ｓ７の処理を行う。一方、撮像部が移動されていないと判定した場合には、静止画像のサンプリングを終了する（Ｓ１０）。最後に、パノラマ合成を行い、パノラマ画像を生成する（Ｓ１１）。パノラマ合成の詳細については、後述する。
【０２３１】
５．１．１  パノラマ合成処理の流れ
まず、第１の誤差許容範囲を設定する（Ｓ２０）。次に、動き情報により重複領域の探索範囲を限定する（Ｓ２１）。
【０２３２】
そして、第１のカメラ移動方向へ撮像部を移動させた時の画像スリットと、位置合わせスリットの重複範囲を求める（Ｓ２２）。また、Ｓ２２の処理と並行して、第２のカメラ移動方向へ撮像部を移動させた時の画像スリットと、位置合わせスリットの重複範囲を求める（Ｓ２３）。そして、設定した第１の誤差許容範囲に基づいて、画像スリットの合成を行う（Ｓ２４）。
【０２３３】
次に、全ての画像スリットの合成が終了したか判定する（Ｓ２５）。全ての画像スリットの合成が終了していないと判定した場合には、再度Ｓ２１の処理を行う。一方、全ての画像スリットの合成が終了したと判定した場合には、第２の誤差許容範囲を設定する（Ｓ２６）。最後に、設定した第２の誤差許容範囲に基づいて、画像スリットの合成位置の高精度化を行う（Ｓ２７）。
【０２３４】
以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また画像処理システム、情報処理装置及びプログラムの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０２３５】
１２  撮像部、１４  エンコーダ、１６  動き情報取得部、１８  Ｉ／Ｆ部、
１００  撮像装置、２００  画像処理システム、２１０  方向判定部、
２２０  パノラマ画像生成部、２３０  記憶部、２４０  Ｉ／Ｆ部、
２５０  画像スリット生成部、２６０  位置合わせスリット生成部、
２７０  画像取得部（サンプリング部）、２７２  サンプリング制御部
３００  提示部、４００  情報処理装置
【図１】
0005996169.tif 000002
【図２】
0005996169.tif 000003
【図３】
0005996169.tif 000004
【図４】
0005996169.tif 000005
【図５】
0005996169.tif 000006
【図６】
0005996169.tif 000007
【図７】
0005996169.tif 000008
【図８】
0005996169.tif 000009
【図９】
0005996169.tif 000010
【図１０】
0005996169.tif 000011
【図１１】
0005996169.tif 000012
【図１２】
0005996169.tif 000013
【図１３】
0005996169.tif 000014
【図１４】
0005996169.tif 000015
【図１５】
0005996169.tif 000016
【図１６】
0005996169.tif 000017
【図１７】
0005996169.tif 000018
【図１８】
0005996169.tif 000019