(57)【特許請求の範囲】
【請求項１】
携帯機器の３軸の姿勢情報を検出する姿勢検出部と、
前記姿勢検出部により検出された姿勢情報にもとづいて、前記携帯機器に内蔵されたカメラのパン角および仰角を算出するパン角・仰角算出部と、
前記携帯機器に内蔵されたカメラを用いて撮影された画像に、前記パン角・仰角算出部により算出されたパン角および仰角を関連づけた分割画像を生成する分割画像生成部と、
パン角または仰角の異なる複数の分割画像を合成することにより、合成画像を生成する合成画像生成部と、
前記カメラにより撮影される画像のフレーム間差分による動体検出の検出結果にもとづいて、前記カメラによる撮影タイミングを判定する撮影タイミング判定部と、
前記姿勢検出部により検出された姿勢情報にもとづいて、合成画像の未撮影領域を判定する未撮影領域判定部と、
前記未撮影領域判定部により判定された未撮影領域を撮影するようにユーザに案内する撮影ガイド部とを含み、
前記撮影ガイド部は、前記カメラのパン角を一定にして、仰角を変えて分割画像を撮影するようにユーザに案内し、仰角を変えた分割画像の撮影が完了した後、前記カメラのパン角を変えるようにユーザに案内することを特徴とする画像生成装置。
【請求項２】
地磁気ベクトルの水平成分である方位ベクトルを検出する方位検出部をさらに含み、
前記パン角・仰角算出部は、前記方位検出部により検出された方位情報にもとづいて、前記カメラのパン角を絶対方位に対応づけて方位角を算出し、
前記分割画像生成部は、前記携帯機器に内蔵されたカメラを用いて撮影された画像に前記方位角を関連づけることを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記姿勢検出部は、前記携帯機器に内蔵された３軸ジャイロセンサ、３軸加速度センサ、および３軸地磁気センサの少なくとも一つを用いて前記携帯機器の３軸の姿勢情報を検出することを特徴とする請求項１または２に記載の画像生成装置。
【請求項４】
前記姿勢検出部は、前記携帯機器に内蔵された３軸ジャイロセンサおよび３軸加速度センサの少なくとも一つを用いて前記携帯機器の３軸の姿勢情報を検出し、
前記方位検出部は、前記３軸ジャイロセンサおよび前記３軸加速度センサの少なくとも一つにより検出される重力ベクトルと、前記携帯機器に内蔵された３軸地磁気センサにより検出される地磁気ベクトルとにもとづいて、地磁気ベクトルの水平成分である方位ベクトルを検出する請求項２に記載の画像生成装置。
【請求項５】
前記撮影タイミング判定部はさらに、前記姿勢検出部により検出された前記姿勢情報によるカメラの動き検出の検出結果にもとづいて、前記カメラによる撮影タイミングを判定することを特徴とする請求項１から４のいずれかに記載の画像生成装置。
【請求項６】
携帯機器の３軸の姿勢情報を検出する姿勢検出ステップと、
前記姿勢検出ステップにより検出された姿勢情報にもとづいて、前記携帯機器に内蔵されたカメラのパン角および仰角を算出するパン角・仰角算出ステップと、
前記携帯機器に内蔵されたカメラを用いて撮影された画像に、前記パン角・仰角算出ステップにより算出されたパン角および仰角を関連づけた分割画像を生成する分割画像生成ステップと、
パン角または仰角の異なる複数の分割画像を合成することにより、合成画像を生成する合成画像生成ステップと、
前記カメラにより撮影される画像のフレーム間差分による動体検出の検出結果にもとづいて、前記カメラによる撮影タイミングを判定する撮影タイミング判定ステップと、
前記姿勢検出ステップにより検出された姿勢情報にもとづいて、合成画像の未撮影領域を判定する未撮影領域判定ステップと、
前記未撮影領域判定ステップにより判定された未撮影領域を撮影するようにユーザに案内する撮影ガイドステップとを含み、
前記撮影ガイドステップは、前記カメラのパン角を一定にして、仰角を変えて分割画像を撮影するようにユーザに案内し、仰角を変えた分割画像の撮影が完了した後、前記カメラのパン角を変えるようにユーザに案内することを特徴とする画像生成方法。
【請求項７】
携帯機器の３軸の姿勢情報を検出する姿勢検出機能と、
前記姿勢検出機能により検出された姿勢情報にもとづいて、前記携帯機器に内蔵されたカメラのパン角および仰角を算出するパン角・仰角算出機能と、
前記携帯機器に内蔵されたカメラを用いて撮影された画像に、前記パン角・仰角算出機能により算出されたパン角および仰角を関連づけた分割画像を生成する分割画像生成機能と、
パン角または仰角の異なる複数の分割画像を合成することにより、合成画像を生成する合成画像生成機能と、
前記カメラにより撮影される画像のフレーム間差分による動体検出の検出結果にもとづいて、前記カメラによる撮影タイミングを判定する撮影タイミング判定機能と、
前記姿勢検出機能により検出された姿勢情報にもとづいて、合成画像の未撮影領域を判定する未撮影領域判定機能と、
前記未撮影領域判定機能により判定された未撮影領域を撮影するようにユーザに案内する撮影ガイド機能とをコンピュータに実現させ、
前記撮影ガイド機能は、前記カメラのパン角を一定にして、仰角を変えて分割画像を撮影するようにユーザに案内し、仰角を変えた分割画像の撮影が完了した後、前記カメラのパン角を変えるようにユーザに案内するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像生成装置および方法に関する。特に、合成画像を生成する装置および方法に関する。
【背景技術】
【０００２】
デジタルスチルカメラやデジタルビデオカメラが普及しており、撮影した静止画や動画をコンピュータに保存して閲覧、加工したり、ゲーム機やテレビジョン（ＴＶ）システムの画面に表示する機会が多くなっている。また、撮影した動画をインターネットの投稿サイトにアップロードし、他のユーザと動画を共有することも盛んである。【０００３】
デジタルカメラの中には、パノラマ画像の撮影が可能なものもあり、手軽に視野角の広いパノラマ画像を撮影することができるようになってきた。また、撮影方向を変えながら、デジタルカメラの撮影した複数の画像を貼り合わせることでパノラマ画像を生成するソフトウエアツールもよく利用されている。【０００４】
また、カメラ付きの携帯電話などの携帯機器にもパノラマ撮影モードやパノラマ画像を合成するアプリケーションが設けられ、携帯機器の傾きを変えながらカメラで撮影し、自動的にパノラマ画像に合成することができるものがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−７６２４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、デジタルカメラやカメラ付き携帯機器などでパノラマ撮影を行うと、手振れや回転軸のずれなどにより、正確なパノラマ画像を撮影できなかったり、画像マッチングがうまく行かず、合成されたパノラマ画像に不具合が生じることがある。【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、合成画像を正確に生成ことのできる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様の画像生成装置は、携帯機器の３軸の姿勢情報を検出する姿勢検出部と、前記姿勢検出部により検出された姿勢情報にもとづいて、前記携帯機器に内蔵されたカメラのパン角および仰角を算出するパン角・仰角算出部と、前記携帯機器に内蔵されたカメラを用いて撮影された画像に、前記パン角・仰角算出部により算出されたパン角および仰角を関連づけた分割画像を生成する分割画像生成部と、パン角または仰角の異なる複数の分割画像を合成することにより、合成画像を生成する合成画像生成部とを含む。【０００９】
本発明の別の態様は、画像生成方法である。この方法は、携帯機器の３軸の姿勢情報を検出する姿勢検出ステップと、前記姿勢検出ステップにより検出された姿勢情報にもとづいて、前記携帯機器に内蔵されたカメラのパン角および仰角を算出するパン角・仰角算出ステップと、前記携帯機器に内蔵されたカメラを用いて撮影された画像に、前記パン角・仰角算出ステップにより算出されたパン角および仰角を関連づけた分割画像を生成する分割画像生成ステップと、パン角または仰角の異なる複数の分割画像を合成することにより、合成画像を生成する合成画像生成ステップとを含む。【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、合成画像を正確に生成することができる。
【図面の簡単な説明】
【００１２】
【図１】図１（ａ）および図１（ｂ）は、パノラマ撮影に用いられる携帯端末の外観図である。
【図２】携帯端末の傾きを説明する図である。
【図３】図３（ａ）および図３（ｂ）は、携帯端末の方位を説明する図である。
【図４】図４（ａ）〜（ｄ）は、携帯端末の背面カメラを用いてパノラマ画像を撮影する場合の撮影方向を説明する図である。
【図５】図５（ａ）はカメラの方位角θ、図５（ｂ）はカメラの仰角φを説明する図である。
【図６】図６（ａ）〜（ｃ）は、携帯端末の背面カメラの初期位置が方位角θの方向にある場合に撮影されるパノラマ画像を説明する図である。
【図７】図７（ａ）〜（ｃ）は、背面カメラの仰角φ＝６０°の場合に撮影されるパノラマ画像を説明する図である。
【図８Ａ】複数の画像をつなぎ合わせてパノラマ画像を作成する方法を説明する図である。
【図８Ｂ】複数の画像をつなぎ合わせてパノラマ画像を作成する方法を説明する図である。
【図９】パノラマ画像生成装置の機能構成図である。
【図１０】パノラマ画像の撮影の手順を説明するフローチャートである。
【図１１】図１０の撮影タイミング判定処理の詳細な手順を説明するフローチャートである。
【図１２】図１２（ａ）〜図１２（ｃ）は、撮影ガイド部によるパノラマ撮影ガイドを説明する図である。
【図１３】図１３（ａ）および図１３（ｂ）は、分割画像とパノラマ画像の例を説明する図である。
【図１４】撮影途中のパノラマ画像を説明する図である。
【図１５】パノラマ撮影の撮影順序のガイド例を説明する図である。
【図１６】シースルー型ヘッドマウントディスプレイの概略図である。
【図１７】図１７（ａ）および図１７（ｂ）は、シースルー型ＨＭＤのディスプレイの画面例を説明する図である。
【図１８】別の実施の形態に係るパノラマ画像生成装置の機能構成図である。
【図１９】別の実施の形態に係るパノラマ画像の撮影の手順を説明するフローチャートである。
【図２０】図１９の自己位置推定処理の詳細な手順を説明するフローチャートである。
【図２１】図２１（ａ）、（ｂ）は、２つの隣接する分割画像間で検出されたコントロールポイントを示す図である。
【図２２】２つの隣接する分割画像をコントロールポイントにもとづいてアライメントして合成する様子を示す図である。
【図２３】カメラ位置のずれの調整を促すガイド例を説明する図である。
【図２４】さらに別の実施の形態に係るパノラマ画像生成装置の機能構成図である。
【図２５】さらに別の実施の形態に係るパノラマ画像の撮影の手順を説明するフローチャートである。
【図２６】図２６（ａ）〜図２６（ｃ）は、注目領域が設定される撮影画像のフォーマットの例を説明する図である。
【図２７】図２７（ａ）〜（ｆ）は、ユーザがタッチパネル上で注目領域を設定する方法を説明する図である。
【図２８】パノラマ画像に重ね合わせるαプレーンまたは専用レイヤーに設定される注目領域を説明する図である。
【図２９】さらに別の実施の形態に係るパノラマ画像生成装置の機能構成図である。
【図３０】図３０（ａ）〜（ｃ）は、携帯端末の前面カメラと背面カメラの配置と視差を説明する図である。
【図３１】図３１（ａ）は、背面カメラにより撮影された円筒状の画像を説明する図であり、図３１（ｂ）は、前面カメラにより撮影された円筒状の画像を説明する図である。
【図３２】図３２（ａ）は、背面カメラで撮影される背面パノラマ画像を説明する図であり、図３２（ｂ）は、前面カメラで撮影される前面パノラマ画像を説明する図である。
【図３３】背面カメラで撮影される背面パノラマ画像と前面カメラで撮影される前面パノラマ画像をつなぎ合わせた状態を示す図である。
【図３４】前面カメラにより撮影された前面パノラマ画像と背面カメラにより撮影された背面パノラマ画像の例を説明する図である。
【図３５】前面パノラマ画像と背面パノラマ画像の整合性が低い場合のガイド例を説明する図である。
【図３６】さらに別の実施の形態に係るパノラマ画像の撮影の手順を説明するフローチャートである。
【図３７】図３６の両面カメラによるパノラマ撮影処理の詳細な手順を説明するフローチャートである。
【図３８】光軸の位置および向きが異なる２つのカメラが搭載された携帯端末を説明する図である。
【図３９】光軸の位置が異なる３つのカメラが搭載された携帯端末を説明する図である。
【図４０】光軸の向きが異なる３つのカメラが搭載された携帯端末を説明する図である。
【図４１】図４１（ａ）、（ｂ）は、性能の異なる２つのカメラが搭載された携帯端末を説明する図である。
【図４２】図４２（ａ）〜（ｃ）は、携帯端末に搭載されるカメラの個数と向きのバリエーションを説明する図である。
【図４３】図４３は、４つのカメラが搭載された携帯端末を説明する図である。
【図４４】図４４（ａ）、（ｂ）は、向きを調整できる可動カメラが搭載された携帯端末を説明する図である。
【発明を実施するための形態】
【００１３】
（実施の形態１）
図１（ａ）および図１（ｂ）は、パノラマ撮影に用いられる携帯端末２００の外観図である。携帯端末２００は、カメラ２１０、２１２とディスプレイ２４０を有し、各種のアプリケーションを実行することができる。携帯端末２００は、通信機能を有してもよい。
【００１４】
図１（ａ）は、携帯端末２００の前面を示す。携帯端末２００の前面には前面（フロント）カメラ２１０とディスプレイ２４０が設けられている。ユーザは、たとえば前面カメラ２１０を用いて自分の顔を撮影し、ディスプレイ２４０に表示したり、通信相手に動画または静止画として送信することができる。ディスプレイ２４０はタッチパネルを備えてもよい。ユーザはディスプレイ２４０の画面を見ながら、タッチパネルに指で直接触れることで画面に対する操作を入力することができる。
【００１５】
図１（ｂ）は、携帯端末２００の背面を示す。携帯端末２００の背面には背面（リア）カメラ２１２が設けられている。ユーザは、たとえば背面カメラ２１２を用いて景色や友人などを撮影し、ディスプレイ２４０に表示したり、通信相手に動画または静止画として送信することができる。携帯端末２００の背面にもタッチパネルが設けられてもよい。これにより、ユーザは、携帯端末２００を保持して前面のディスプレイ２４０を見ながら、背面のタッチパネルに指で触れることで所定の操作を入力することもできる。
【００１６】
なお、携帯端末２００の前面カメラ２１０はオプションであり、背面カメラ２１２だけが設けられてもよい。
【００１７】
携帯端末２００は、３軸ジャイロ（角速度）センサ、３軸加速度センサ、および３軸地磁気センサの少なくとも一つを有し、携帯端末２００の傾きを３軸で検出して、姿勢情報を取得することができる。また、３軸地磁気センサにより、地磁気ベクトルを３軸で検出して、方位情報を取得することができる。さらに、携帯端末２００は、オプションとしてＧＰＳ（Global Positioning System）受信器を有してもよく、ＧＰＳから位置情報を取得することができる。また、携帯端末２００は、無線通信の送受信機を有し、無線基地局から位置情報を取得してもよい。
【００１８】
ここでは、パノラマ撮影に用いられる携帯機器の一例として、携帯端末２００を説明するが、パノラマ撮影に用いられる携帯機器は、３軸ジャイロセンサ、３軸加速度センサ、および３軸地磁気センサの少なくとも一つを備えた、静止画または動画を撮影可能なデジタルカメラであってもよい。あるいは、パノラマ撮影に用いられる携帯機器は、ゲーム機や携帯電話であってもよい。
【００１９】
図２は、携帯端末２００の傾きを説明する図である。携帯端末２００のディスプレイ面をＸＺ平面に置き、ディスプレイ面に垂直な方向をＹ軸としたとき、Ｘ軸周りの回転がチルト、Ｙ軸周りの回転がロール、Ｚ軸周りの回転がパンである。携帯端末２００には３軸ジャイロセンサ、３軸加速度センサ、および３軸地磁気センサの少なくとも一つが搭載されており、携帯端末２００のチルト、ロール、パンを検出して、携帯端末２００の傾きを３軸で求めることができる。これにより、ユーザが携帯端末２００を持っているときの携帯端末２００の姿勢情報を取得することができる。また、ジャイロセンサおよび／または加速度センサにより、携帯端末２００の移動方向や移動速度を検出することもできる。
【００２０】
図３（ａ）および図３（ｂ）は、携帯端末２００の方位を説明する図である。携帯端末２００には３軸地磁気センサが搭載されており、図３（ａ）に示すように、３軸成分をもつ地磁気ベクトルＦを検出することができる。携帯端末２００には既に述べた通り、３軸ジャイロセンサおよび／または３軸加速度センサが搭載されているから、重力ベクトルＶを検出することもできる。
【００２１】
図３（ｂ）は、地磁気ベクトルＦと重力ベクトルＶから方位ベクトルＨを求める方法を説明する図である。重力ベクトルＶを垂線とする水平面２６０に地磁気ベクトルＦを射影すると、方位ベクトルＨが得られる。方位ベクトルＨは地磁気の水平成分であり、絶対方位を与える。このように、携帯端末２００がどのような傾きにあっても、３軸ジャイロセンサおよび／または３軸加速度センサにより検出される重力ベクトルＶと、３軸地磁気センサにより検出される地磁気ベクトルＦとを用いて、東西南北の絶対方位を検出することができる。
【００２２】
さらに、携帯端末２００がＧＰＳセンサを搭載する場合は、緯度・経度といった位置情報を取得することもできる。
【００２３】
携帯端末２００の姿勢情報と方位情報を用いれば、携帯端末２００の傾きを変えながら携帯端末２００のカメラで撮影した画像をステッチ（縫い合わせ）して全天球パノラマ画像を生成することができる。ステッチ方法は、パンチルトカメラによる全天球パノラマ画像の生成方法と同様である。３軸ジャイロセンサおよび／または３軸加速度センサによる姿勢情報を用いれば、カメラのパン角、チルト角を得ることができる。さらに、３軸地磁気センサによる方位情報を用いれば、カメラのパン角を絶対的な方位角に対応づけることができる。これにより、パンチルトカメラのような高価な機器がなくても、携帯端末２００のカメラによってパノラマ撮影が可能になる。
【００２４】
図４（ａ）〜（ｄ）は、携帯端末２００の背面カメラ２１２を用いてパノラマ画像を撮影する場合の撮影方向を説明する図である。携帯端末２００の前面カメラ２１０を用いてパノラマ画像を撮影することもでき、場合によっては、前面カメラ２１０と背面カメラ２１２の両方を用いてパノラマ画像を撮影することもできるが、ここでは説明を簡単にするため、背面カメラ２１２を用いてパノラマ画像を撮影する場合を説明する。
【００２５】
図４（ｄ）に示すように、ユーザは携帯端末２００を自由に傾けて背面カメラ２１２で撮影する。携帯端末２００をＺ軸周りに回転させるとカメラのパン角が変わり、Ｘ軸周りに回転させるとカメラのチルト角が変わり、Ｙ軸周りに回転させるとカメラのロール角が変わる。ここでＺ軸は鉛直軸（重力方向軸）である。
【００２６】
図４（ａ）は、携帯端末２００の上面図であり、携帯端末２００の背面カメラ２１２の初期方向（Ｙ軸方向）をパン角０°とし、Ｚ軸の周りに任意に（一例として、−１８０°〜＋１８０°の範囲で）背面カメラ２１２のパン角を変えることができる。
【００２７】
図４（ｂ）は、携帯端末２００の正面図であり、ユーザが携帯端末２００の横長側面を水平に保持した状態をロール角０°とし、Ｙ軸の周りに任意に（一例として、−１８０°〜＋１８０°の範囲で）背面カメラ２１２のロール角を変えることができる。
【００２８】
図４（ｃ）は、携帯端末２００の側面図であり、携帯端末２００の背面を地面と垂直に保持した状態をチルト角０°とし、Ｘ軸の周りに任意に（一例として、−９０°〜＋９０°の範囲で）背面カメラ２１２のチルト角を変えることができる。
【００２９】
図４（ｄ）の携帯端末２００の背面カメラ２１２により撮影されるパノラマ画像に撮影方位に関する情報を付与するためには、携帯端末２００の背面カメラ２１２が撮影時にどの方位に向いていたかを記録しておく必要がある。そのために、携帯端末２００に搭載された３軸ジャイロセンサおよび／または３軸加速度センサと、３軸地磁気センサとが用いられる。
【００３０】
図５（ａ）は携帯端末２００の背面カメラ２１２の方位角θ、図５（ｂ）は携帯端末２００の背面カメラ２１２の仰角φを説明する図である。図５（ａ）は携帯端末２００の上面図であり、背面カメラ２１２は撮影の初期位置において、真北から東へ方位角θだけずれた方向２２０を向いており、この方向がパン角０°に相当する。すなわちパン角の基準方向２２０の方位角はθである。パノラマ画像を撮影するとき、この方位角θの基準方向２２０に対して一例として−１８０°〜＋１８０°の範囲でパン角を変えながら、被写体をパノラマ撮影する。
【００３１】
図５（ｂ）は携帯端末２００の側面図であり、仰角φは、Ｘ軸周りに背面カメラ２１２を回転させた場合に、チルト０°の方向、すなわちＹ軸方向に対して上方向を正と定義する角度である。通常、背面カメラ２１２を水平ポジションに設定して撮影するので仰角φ＝０°であるが、全天球のパノラマ画像を撮影するには、カメラをチルトさせて仰角φを変えて被写体を撮影する必要がある。
【００３２】
図６（ａ）〜（ｃ）は、携帯端末２００の背面カメラ２１２の初期位置が方位角θの方向にある場合に撮影されるパノラマ画像を説明する図である。
【００３３】
図６（ａ）の上面図に示すように、初期位置において背面カメラ２１２は方位角θの方向２２０を向いており、図６（ｂ）の側面図に示すように、背面カメラ２１２の仰角φ＝０°である。仰角φ＝０°に保ちながら、基準方向２２０に対して背面カメラ２１２のパン角を−１８０°から＋１８０°の範囲で変化させながら、仰角φ＝０°における全方位のパノラマ画像を撮影する。図６（ｃ）は、このようにして撮影されたパノラマ画像３００を示す。パノラマ画像３００の中心はパン角０°であり、パノラマ画像３００の左半分はパン角を０°から−１８０°まで変えて撮影された画像であり、右半分はパン角を０°から１８０°まで変えて撮影された画像である。
【００３４】
パノラマ画像３００のパン角０°の中心位置は、真北から方位角θだけ東にずれているから、北（Ｎ）、南（Ｓ）、東（Ｅ）、西（Ｗ）の位置は点線で示す箇所になる。パノラマ画像３００は、撮影方位に関する情報として、パン角０°の中心位置の方位角θをもってさえいれば、北（Ｎ）、南（Ｓ）、東（Ｅ）、西（Ｗ）のピクセル位置は、方位角θのずれを考慮して計算で求めることができる。あるいは、方位角θの代わりに、北（Ｎ）、南（Ｓ）、東（Ｅ）、西（Ｗ）のピクセル位置の座標値を撮影方位に関する情報としてもうようにしてもよい。
【００３５】
全天球のパノラマ画像を得るためには、背面カメラ２１２の仰角を変えて撮影する必要がある。たとえば、背面カメラ２１２の画角が６０°であるとすると、原理的には背面カメラ２１２を上下に±６０°チルトさせた上で、パン角を−１８０°〜１８０°の範囲で変えながら同様の撮影を行えば、全天球のパノラマ画像を得ることができる。
【００３６】
図７（ａ）〜（ｃ）は、背面カメラ２１２の仰角φ＝６０°の場合に撮影されるパノラマ画像を説明する図である。図７（ａ）の上面図に示すように、初期位置において背面カメラ２１２は方位角θの方向２２０を向いており、図７（ｂ）の側面図に示すように、背面カメラ２１２の仰角φ＝６０°である。仰角φ＝６０°に保ちながら、基準方向２２０に対して背面カメラ２１２のパン角を−１８０°から＋１８０°の範囲で変化させながら、図７（ｃ）に示すような、仰角φ＝６０°におけるパノラマ画像３０２を撮影する。
【００３７】
同様にして、背面カメラ２１２の仰角をφ＝−６０°に保ちながら、パン角を−１８０°から＋１８０°の範囲で変化させながら、仰角φ＝−６０°におけるパノラマ画像を撮影する。仰角φ＝０°、６０°、−６０°のパノラマ画像を組み合わせれば、全天球パノラマ画像が得られる。もっとも、実装上は、画角の境界部分で画像を貼り合わせる際にレンズの歪みから生じる不整合を補正するために、境界付近をだぶらせて撮影する方法を採ることが多い。
【００３８】
このようにして得られた全天球パノラマ画像には、方位角および仰角の情報が付与されており、その情報にもとづいてパノラマ画像の任意のピクセルについて方位と仰角を特定可能である。また、パノラマ画像には撮影場所の位置情報としてＧＰＳにより測定された緯度・経度情報を付与してもよい。パノラマ画像に付与すべき付加情報は、一例として、Ｅｘｉｆ（Exchangeable Image File Format）と呼ばれる画像ファイルの規格にしたがって記録してもよい。撮影場所の地名はファイル名の一部に記録し、撮影日時、撮影場所の緯度・経度、高度、方位角などをＥｘｉｆ形式のデータとして記録することができる。なお、仰角は現時点でのＥｘｉｆ形式では定義されていないため、拡張データとして記録している。
【００３９】
図８Ａおよび図８Ｂは、複数の画像をつなぎ合わせてパノラマ画像を作成する方法を説明する図である。
【００４０】
図８Ａの例では、背面カメラ２１２をチルト（またはパン）させながら撮影された７枚の画像３４１〜３４７を円筒にマッピングした後、つなぎ合わせて円筒状の画像３４０を作成する。画像をつなぎ合わせるとき、画像の境界付近をオーバーラップさせる。
【００４１】
図８Ｂに示すように、背面カメラ２１２をパン（またはチルト）させて撮影することで、図８Ａで示した円筒状の画像がパン（またはチルト）方向に複数得られる。これらの円筒状の画像３４０ａ〜３４０ｆを画像の境界付近をオーバーラップさせて合成することで、全方位のパノラマ画像３６０が最終的に得られる。
【００４２】
図９は、パノラマ画像生成装置１００の機能構成図である。パノラマ画像生成装置１００機能構成の一部または全部は、携帯端末２００のハードウェア、ソフトウェアまたはその組み合わせによって実装することができる。これらの機能構成の一部がサーバに実装され、一部がクライアントに実装され、ネットワークを介したサーバ−クライアントシステムとして実装されてもよい。
【００４３】
３軸ジャイロセンサ６２は、携帯端末２００のＸ軸、Ｙ軸、Ｚ軸の３方向の角速度を検出し、姿勢検出部６０に与える。３軸加速度センサ６４は、携帯端末２００のＸ軸、Ｙ軸、Ｚ軸の３方向の加速度を検出し、姿勢検出部６０に与える。姿勢検出部６０は、３軸ジャイロセンサ６２および／または３軸加速度センサ６４の検出結果を用いて、携帯端末２００の傾きの３軸成分、すなわち、チルト角、ロール角、およびパン角を検出する。姿勢検出部６０は、検出された携帯端末２００のチルト角、ロール角、およびパン角を姿勢情報としてパン角・仰角算出部７０に与える。
【００４４】
携帯端末２００には３軸ジャイロセンサ６２と３軸加速度センサ６４はいずれか一方だけを搭載してもよいが、両方を搭載すれば、それぞれの短所を違いに補うことで姿勢情報の検出精度を高めることができる。３軸ジャイロセンサ６２は、運動中でも計測できるが、ドリフト誤差が溜まっていくという短所がある。３軸加速度センサ６４は、静止時には重力加速度から姿勢角を検出できるが、運動中は誤差が生じる。
【００４５】
そこで、姿勢検出部６０は、たとえば、３軸ジャイロセンサ６２と３軸加速度センサ６４の出力の重み付き平均を取ることで検出精度を向上させる。重み付け平均を取るとき、運動中は、３軸加速度センサ６４の検出成分よりも３軸ジャイロセンサ６２の検出成分に対する重みを増やす。一方、ほぼ静止していると見なせるときは３軸ジャイロセンサ６２の検出成分よりも３軸加速度センサ６４の検出成分に対する重みを増やす。これによって、静止時には３軸ジャイロセンサ６２によるヨー・ドリフトが３軸加速度センサ６４により出力により補正され、運動中は、３軸加速度センサ６４による出力よりも３軸ジャイロセンサ６２による出力をより信頼することでより正確な姿勢情報を検出することができる。
【００４６】
別の方法として、姿勢検出部６０は、３軸地磁気センサ６８の検出結果を用いて、携帯端末２００の傾きの３軸成分を検出することもできる。３軸地磁気センサ６８によって地磁気ベクトルを追尾し、携帯端末２００のＸ軸、Ｙ軸、Ｚ軸の各軸周りの回転を検出すれば、携帯端末２００の傾きの３軸成分、すなわち、チルト角、ロール角、およびパン角を検出することができる。携帯端末２００に搭載された３軸地磁気センサ６８が傾くと、検出される地磁気ベクトルの向きが変化する。観測地点が大きく変化しなければ、地磁気ベクトルは一定方向を指すから、携帯端末２００の姿勢の初期位置からの変化を検出することができる。３軸加速度センサ６４を併用すれば、鉛直方向を検出することができるから初期姿勢も検知することができる。
【００４７】
３軸地磁気センサ６８により検出される３次元地磁気ベクトルの単位時間当たりの回転角を測定すれば、角速度が求まるので、３軸地磁気センサ６８はジャイロセンサの代わりにもなる。これは磁気ジャイロ機能と呼ばれる。また初期位置からの変化角を求めれば、傾きを検出できるから、３軸地磁気センサ６８は３軸姿勢センサとして用いることができる。もっとも、地磁気ベクトルがパン軸またはチルト軸と一致する場合は、その軸周りの回転角は求めることができない。
【００４８】
３軸地磁気センサ６８に３軸ジャイロセンサ６２または３軸加速度センサ６４を組み合わせて併用すれば、方位と姿勢の両方を高い精度で測定することができる。
【００４９】
以上、述べたように、姿勢検出部６０は、３軸ジャイロセンサ６２のみ、３軸加速度センサ６４のみ、３軸地磁気センサ６８のみ、３軸ジャイロセンサ６２と３軸加速度センサ６４の組み合わせ、３軸地磁気センサ６８と３軸ジャイロセンサ６２の組み合わせ、３軸地磁気センサ６８と３軸加速度センサ６４の組み合わせ、あるいは、３軸ジャイロセンサ６２と３軸加速度センサ６４と３軸地磁気センサ６８の組み合わせのいずれによってでも携帯端末２００の傾きの３軸成分を求めることができる。
【００５０】
３軸地磁気センサ６８は、地磁気ベクトルのＸ軸、Ｙ軸、Ｚ軸方向の成分を検出し、方位検出部６６に与える。方位検出部６６は、３軸ジャイロセンサ６２または３軸加速度センサ６４が検出する重力ベクトルと、３軸地磁気センサ６８が検出する地磁気ベクトルにもとづいて、地磁気ベクトルの水平成分である方位ベクトルを求め、方位ベクトルの各成分を方位情報としてパン角・仰角算出部７０に与える。
【００５１】
パン角・仰角算出部７０は、姿勢検出部６０から与えられた携帯端末２００の姿勢情報にもとづいて、携帯端末２００のカメラの撮影方向を示すパン角と仰角とを求め、分割画像生成部２０に与える。パン角・仰角算出部７０は、方位検出部６６から方位情報が与えられる場合は、カメラのパン角を絶対方位に対応づけることができる。
【００５２】
ＧＰＳ受信器７４はＧＰＳから緯度・経度、高度、時刻情報を受信し、位置検出部７２に与える。位置検出部７２は緯度・経度情報を分割画像生成部２０に与える。ＧＰＳ受信器７４の搭載はオプションである。
【００５３】
撮影部１０は、前面カメラ２１０および／または背面カメラ２１２を制御して被写体を撮影し、フレームメモリ１２に撮影画像を記録する。
【００５４】
撮影タイミング判定部１４は、撮影部１０による適切な撮影タイミングを判定し、撮影部１０にシャッターを切るタイミングを指示する。撮影タイミング判定部１４は、３軸ジャイロセンサ６２および／または３軸加速度センサ６４のセンサ出力にもとづいてカメラの動きの有無を判定する。また、撮影タイミング判定部１４は、撮影部１０により撮影された動画のフレーム間差分を検出し、動いている被写体が存在するかどうかを判定する。
【００５５】
撮影タイミング判定部１４は、自動撮影モードの場合、カメラの動きがなく、かつ動いている被写体が存在しないと判定されたタイミングで撮影部１０に撮影を指示する。撮影タイミング判定部１４は、半自動撮影モードの場合、動体検出は省略し、カメラの動きがないと判定されたタイミングで撮影部１０に撮影を指示する。撮影タイミング判定部１４は、手動撮影モードの場合、撮影部１０に撮影タイミングを指示しないでユーザにシャッターを切らせる。
【００５６】
分割画像生成部２０は、フレームメモリ１２に格納された撮影画像に対してパン角・仰角算出部７０から供給されるカメラのパン角（または絶対方位角）と仰角を関連づけて分割画像記憶部２２に分割画像として格納する。位置検出部７２から位置情報が供給される場合は、分割画像生成部２０は、さらに位置情報を撮影画像に関連づける。
【００５７】
パノラマ画像生成部３０は、分割画像記憶部２２に格納された複数の分割画像をステッチしてパノラマ画像を合成し、パノラマ画像記憶部３２に格納する。
【００５８】
表示部４０は、パノラマ撮影の際、分割画像記憶部２２からパノラマ画像に合成される前の撮影済みの複数の分割画像を読み出して、ディスプレイ２４０に表示する。これにより、ユーザはパノラマ画像として完成させるためにまだ撮影されていない領域があることをディスプレイ２４０で確認することがえきる。
【００５９】
表示部４０は、また、パノラマ画像記憶部３２から合成されたパノラマ画像を読み出して、ディスプレイ２４０に表示する。通信部８０は、完成したパノラマ画像を通信相手に送信したり、サーバにアップロードする。
【００６０】
未撮影領域判定部２４は、分割画像記憶部２２に格納された撮影済みの分割画像のパン角・仰角の情報にもとづいて、パノラマ画像を完成するにはまだ足りない分割画像の領域を判定する。未撮影領域判定部２４は、直前に撮影された分割画像に隣接する未撮影の分割画像の領域を特定する情報をユーザインタフェース部５０の撮影ガイド部５２に供給する。
【００６１】
ユーザインタフェース部５０の撮影ガイド部５２は、未撮影領域判定部２４により指定された未撮影の分割画像の領域を次に撮影するようにユーザに案内するガイドを生成し、表示部４０にガイドを表示させる。
【００６２】
図１０は、パノラマ画像の撮影の手順を説明するフローチャートである。
【００６３】
撮影タイミング判定部１４は、撮影タイミング判定処理を実行する（Ｓ１０）。撮影部１０は、撮影タイミング判定部１４により指示された撮影タイミングまたはユーザが指示する撮影タイミングで撮影し、撮影された画像をフレームメモリ１２に記録する（Ｓ１２）。
【００６４】
姿勢検出部６０は、携帯端末２００の姿勢情報、すなわち、チルト角、ロール角、およびパン角を取得する（Ｓ１４）。
【００６５】
分割画像生成部２０は、携帯端末２００の姿勢情報を撮影画像に関連づけて分割画像として分割画像記憶部２２に保存する（Ｓ１６）。携帯端末２００の姿勢情報を背面カメラ２１２のパン角および仰角に変換して撮影画像に関連づけてもよい。いずれの場合でも、複数の分割画像をステッチすればパノラマ画像を合成することができる。携帯端末２００の姿勢情報または背面カメラ２１２のパン角・仰角の情報にもとづいて、分割画像をつなぎ合わせればよい。
【００６６】
未撮影領域判定部２４は、分割画像記憶部２２に記憶された撮影済みの複数の分割画像の姿勢情報またはパン角・仰角の情報から、最終的なパノラマ画像にするには足りない未撮影の領域があるかどうかを判定する（Ｓ１８）。未撮影領域がなければ、撮影を終了する（Ｓ１８のＮ）。
【００６７】
未撮影領域がある場合（Ｓ１８のＹ）、撮影ガイド部５２は、直近に撮影された分割画像に隣接する未撮影の分割画像を次に撮影するようにユーザを導くために画面に矢印を表示したり、音声ガイドを出したりする（Ｓ２０）。
【００６８】
図１１は、撮影タイミング判定部１４によるステップＳ１０の撮影タイミング判定処理の詳細な手順を説明するフローチャートである。
【００６９】
撮影モードが、自動、半自動、手動のいずれであるかを判定する（Ｓ３０）。手動撮影モードの場合は、ユーザがシャッターを切って撮影タイミングを撮影部１０に指示する（Ｓ４０）。
【００７０】
自動撮影モードの場合、３軸ジャイロセンサ６２および３軸加速度センサ６４のセンサ出力にもとづいてカメラの動きを検出する（Ｓ３２）。ここで、「カメラの動き」とは、撮影アングル変更時のカメラの振動や手振れを含む。３軸ジャイロセンサ６２により検出された傾きデータの時間変動が閾値ＴＡ未満であり、かつ、３軸加速度センサ６４により検出された傾きデータの時間変動が閾値ＴＢ未満である場合、カメラの動きがないと判定し（Ｓ３２のＮ）、ステップＳ３４に進む。それ以外の場合、カメラの動きがあると判定し（Ｓ３２のＹ）、カメラの動きがなくなるまで待つ。
【００７１】
次に、動体検出を行う（Ｓ３４）。フレーム間の絶対差分が閾値ＴＣ未満である場合、画像には動いている被写体が写っていないと判定し（Ｓ３４のＮ）、撮影タイミング判定部１４は、この時点を撮影タイミングとして撮影部１０に指示する（Ｓ３８）。フレーム間の絶対差分が閾値ＴＣを超える場合（Ｓ３４のＹ）、ステップＳ３２のカメラの動き検出、ステップＳ３４の動体検出を繰り返す。
【００７２】
ステップＳ３４の動体検出処理では、遠景で歩いている人物などの動体は許容するが、近景の動体は許容しないようにすることが好ましい。近景に動体が写っていると、パノラマ画像の合成に不都合が生じるからである。そこで、フレーム間差分により動きが検出される領域が所定のサイズよりも大きい場合に、動体が写っていると判定し、そうでない場合は動体は写っていないと判定してもよい。
【００７３】
動体が検出された場合、ユーザに撮影許可を求めてもよい。たとえば、「何かが動いています。このまま撮影を続ける場合は、決定ボタンを押してください。」などというメッセージを表示するか音声で出力し、ユーザが撮影指示をした場合は、動体が検出された場合でも撮影を行ってもよい。ユーザが撮影を許可しない場合は、動体が検出されなくなるのを待ってから撮影を行う。
【００７４】
半自動撮影モードの場合、撮影タイミング判定部１４は、ステップＳ３２のカメラの動き検出を行うが、ステップＳ３４の動体検出はスキップする。撮影タイミング判定部１４は、カメラの動きがないと判定された時点を撮影タイミングとして撮影部１０に指示する（Ｓ３８）。
【００７５】
図１２（ａ）〜図１２（ｃ）は、撮影ガイド部５２によるパノラマ撮影ガイドを説明する図である。
【００７６】
パノラマ画像３６０は、図８Ａおよび図８Ｂで示したように扇形状の分割画像を重ね合わせたものであるが、ここでは、説明の簡単のため、全天球をカメラの画角に合わせて簡易的に格子状のマス目に分割し、分割画像をマス目で表す。
【００７７】
図１２（ａ）は、矢印で示すように、カメラの仰角を一定に保ったまま、パン角を約−１８０°から約＋１８０°の範囲で変化させて分割画像を撮影することを、仰角を変えながら繰り返すことで全天球の画像を撮影する方法を示す。この撮影方法では、３軸ジャイロセンサ６２のヨー・ドリフトが累積していくため、撮影方向に誤差が溜まる。
【００７８】
これに対して、図１２（ｂ）は、パン角を一定に保ったまま、仰角を約−９０°から約＋９０°の範囲で変化させて分割画像を撮影することを、パン角を変えながら繰り返すことで全天球の画像を撮影する方法を示す。矢印で示すように、あるパン角のもとで、仰角を約−９０°から約＋９０°に変化させて分割画像を撮影すると、次のパン角では、仰角を約＋９０°から約−９０°に変化させて分割画像を撮影する。これにより、パン角の変わり目で撮影領域の連続性をもたせることができる。図１２（ｂ）の矢印の順序で撮影すれば、パン角は一回転するだけであるから、３軸ジャイロセンサ６２のドリフト誤差が溜まることがなく、正確な撮影方向を検出することができる。
【００７９】
前面カメラ２１０と背面カメラ２１２の両方のカメラを利用する場合は、図１２（ｃ）に矢印で示すように、前面カメラ２１０が仰角を約−９０°から約＋９０°に変化させながら分割画像を撮影する間、背面カメラ２１２は仰角を約＋９０°から約−９０°に変化させながらパン角が１８０°反対の分割画像を撮影することができ、半分の時間でパノラマ撮影を終えることができる。
【００８０】
図１３（ａ）および図１３（ｂ）は、分割画像とパノラマ画像の例を説明する図である。ここでも簡単のため、分割画像は格子状であるとして説明する。図１３（ａ）は格子状の分割画像の例であり、図１３（ｂ）は分割画像をステッチして合成されたパノラマ画像の例である。
【００８１】
図１４は、撮影途中のパノラマ画像を説明する図である。撮影済みの分割画像が表示されており、白色の格子は未撮影の分割画像の領域である。次に撮影する分割画像として、未撮影の領域の中から、直近に撮影された分割画像２７０に隣接する分割画像の領域２７１が選択される。図１２（ｂ）で説明したように、撮影する分割画像の順序は、パン角を一定に保ちながら、仰角を変えて撮影するのが望ましいから、分割画像の撮影順序のガイドは矢印で示すようになる。
【００８２】
図１５は、パノラマ撮影の撮影順序のガイド例を説明する図である。ディスプレイ２４０の画面の右下には、図１４の撮影途中のパノラマ画像を表示し、矢印により次に撮影されるべき分割画像の領域を示す。これにより、ユーザは現在どこまでパノラマ画像が撮影されているかを知ることができる。
【００８３】
ディスプレイ２４０の画面の左には、現在カメラで撮影されている画像２７２が表示され、ファインダーとしての役割を果たす。次に撮影すべき領域を大きな矢印２７３で示す。撮影タイミングは自動または手動で指定される。撮影が終わると、ユーザは矢印の方向にカメラをパンまたはチルトさせて、次の分割画像の撮影に入る。
【００８４】
３軸ジャイロセンサ６２および／または３軸加速度センサ６４による移動方向と移動速度の検出結果にもとづき、画面には、「カメラを矢印の方向にゆっくり動かしてください」などのように、メッセージが表示される。メッセージは音声で出力してもよい。カメラの移動速度が速すぎると、メッセージや矢印の色を変えて警告してもよい。また、カメラの位置が動いてしまうと、カメラの回転中心がずれて誤差が発生する。後述の実施の形態２で説明するように自己位置推定によってカメラの位置の変動が検出される場合は、「カメラの回転中心がずれました！」などの警告メッセージが表示される。
【００８５】
図１６は、シースルー型ヘッドマウントディスプレイ（ＨＭＤ）２５０の概略図である。これは、図９で示した機能構成をシースルー型ＨＭＤ２５０に実装した適用例である。シースルー型ＨＭＤ２５０は、カメラ、３軸ジャイロセンサおよび／または３軸加速度センサ、３軸地磁気センサ、およびディスプレイ２５２を有し、ユーザはシースルー型ＨＭＤ２５０を眼鏡のようにかけて、ディスプレイ２５２を透過して見える外界と、ディスプレイ２５２に表示される画像とを見ながら、パノラマ撮影を行う。
【００８６】
図１７（ａ）および図１７（ｂ）は、シースルー型ＨＭＤ２５０のディスプレイ２５２の画面例を説明する図である。図１７（ａ）に示すように、ディスプレイ２５２の中央には実線で表示される撮影領域２５４があり、撮影領域２５４が撮影され、カメラのパン角と仰角が対応づけられた分割画像として保存される。破線で表示されるガイド領域２５６は、次に撮影すべき領域である。ユーザが頭を左に回転させてガイド領域２５６の方向を向くように、左向きの矢印２５８が画面に表示される。
【００８７】
図１７（ｂ）は、ユーザが頭を左に回転させたときのディスプレイ２５２の画面例である。実線で表示される撮影領域２５４と破線で示されるガイド領域２５６とが画面の中央に来ている。ユーザはディスプレイ２５２に表示された実線の四角形（撮影領域２５４）と破線の四角形（ガイド領域２５６）が一致するように頭を動かす。ガイド領域２５６と撮影領域２５４がほぼ重なったとき、自動的に撮影が行われ、分割画像が取得される。ディスプレイ２５２の片隅に、撮影済みの複数の分割画像を並べて表示して、パノラマ画像の撮影がどこまで進んだかをユーザが把握できるようにしてもよい。
【００８８】
以上述べたように、本実施の形態のパノラマ画像生成装置によれば、３軸ジャイロセンサおよび／または３軸加速度センサを用いて、撮影画像をステッチすることにより、パノラマ画像を簡単に合成することができる。さらに３軸地磁気センサを用いれば、パノラマ画像に絶対方位を関連づけることができる。これにより、雲台付きの高価なパンチルトカメラを用いなくても、カメラ付きの携帯端末２００により安価で簡単にパノラマ撮影ができる。
【００８９】
従来のパノラマ画像の合成手法は、画像マッチングを用いているため、ステッチの際に画像の特徴点を対応づけることができない場合は、パノラマ画像の合成は難しかった。特に、空や白い壁など画像に特徴点がなく、対応付けができない被写体の場合、画像マッチングによるステッチは不可能であった。その点、本実施の形態のパノラマ画像生成装置によれば、画像に特徴点がなくても、３軸ジャイロセンサおよび／または３軸加速度センサからカメラのパン角と仰角を撮影画像に対応づけることができるため、全天球のパノラマ画像を正確に合成することができる。
【００９０】
もっとも、３軸ジャイロセンサおよび／または３軸加速度センサによる姿勢検出には誤差が伴うため、最終的にパノラマ画像を合成するときは、画像マッチングも併用するとさらに画質の高いパノラマ画像を生成することができる。
【００９１】
また、従来の画像マッチングによるパノラマ合成では画像処理に時間がかかるため、撮影しながらリアルタイムでパノラマ画像の未撮影領域を判定することは難しい。その点、本実施の形態のパノラマ画像生成装置によれば、画像マッチングを利用しなくても、３軸ジャイロセンサおよび／または３軸加速度センサから得られる姿勢情報をもとに撮影画像のステッチが可能であるから、リアルタイムで未撮影領域を検出して、次の撮影領域をガイドすることができる。また、３軸ジャイロセンサおよび／または３軸加速度センサにより検出される移動速度にもとづいて、携帯端末２００をゆっくり動かすようにユーザにガイドすることもできる。
【００９２】
従来は、携帯端末等のカメラをパン、チルトさせながらパノラマ画像を撮影しようとすると、カメラの動きや回転軸のずれから正確なパノラマ画像を生成するのは困難であった。しかし、本実施の形態のパノラマ画像生成装置によれば、３軸ジャイロセンサおよび／または３軸加速度センサによってカメラの動きを検出し、カメラの動きがないときに自動的にシャッターを切って撮影するため、携帯端末２００によるパノラマ撮影であってもカメラの動きによる悪影響を抑えることができる。また、動体検出も合わせて行い、動体が検出されないタイミングで撮影を行うことで、動いている人物や物体が写っていない撮影画像を取得してパノラマ画像を生成することができる。
【００９３】
（実施の形態２）
図１８は、実施の形態２に係るパノラマ画像生成装置１００の機能構成図である。実施の形態２のパノラマ画像生成装置１００は、上述の実施の形態１のパノラマ画像生成装置１００の各構成の他、特徴点抽出部８２、自己位置推定部８４およびカメラ位置ずれ判定部８６の構成をさらに含み、携帯端末２００のカメラ位置を推定して、カメラ位置のずれをユーザに調整させる機能を有する。それ以外の構成と機能は、実施の形態１のパノラマ画像生成装置１００と同じであるから、説明を省略する。
【００９４】
特徴点抽出部８２は、分割画像記憶部２２に格納されたパン角またはチルト角の異なる複数の分割画像の内、隣接する分割画像の間で特徴点を抽出することにより、隣接する分割画像を対応付けるためのコントロールポイントを検出する。特徴点抽出部８２は、隣接する分割画像の間で対応づけられた特徴点の情報を自己位置推定部８４に供給する。また、特徴点抽出部８２は、検出したコントロールポイントをパノラマ画像生成部３０に供給する。コントロールポイントは、隣接する分割画像の間で対応づけられた特徴点のすべてもしくはその一部である。
【００９５】
図２１（ａ），（ｂ）は、２つの隣接する分割画像４０１、４０２間で検出されたコントロールポイントを示す図である。ここでは、９個のコントロールポイントが検出されている。
【００９６】
図２２は、２つの隣接する分割画像４０１、４０２をコントロールポイントにもとづいてアライメントして合成する様子を示す図である。パノラマ画像生成部３０は、隣接する分割画像４０１、４０２の重複領域において、両画像のコントロールポイント（同図で丸印で示した）ができるだけ合うように、一方の分割画像４０１に対して他方の分割画像４０２を回転させて合成する。
【００９７】
自己位置推定部８４は、隣接する２枚の分割画像の特徴点の画像上の２次元座標の情報をもとに、特徴点の３次元座標とそれぞれの分割画像を撮影したカメラ位置の座標を同時に推定する。２枚の分割画像を撮影したときのカメラ位置はずれているため、２枚の分割画像は視点位置の異なる視差画像となっている。そのため、２枚の分割画像には視差という形で奥行き情報が含まれており、各特徴点についての満足すべき方程式を連立させて解くことにより、特徴点の３次元座標と各分割画像の視点の３次元座標（カメラ位置）とを同時に求めることができる。このように視点位置の異なる複数の視差画像をもとに被写体の３次元位置情報と視点位置とを同時に求める方法の一つに、ＳＬＡＭ（Simultaneous Localization and Mapping）と呼ばれる技術がある。
【００９８】
ＳＬＡＭは、センサから取得した情報をもとに、自己位置推定と環境地図作成を同時に行う技術であり、自律移動ロボットなどに応用されている。自己位置推定部８４は、一例として、公知のＳＬＡＭ技術を用いて被写体の特徴点の３次元位置とカメラの３次元位置とを推定するが、他の自己位置推定の技術を用いてもかまわない。ＳＬＡＭは、たとえば次の論文に紹介されている。Andrew J. Davison, "Real-Time Simultaneous Localisation and Mapping with a Single Camera", ICCV 2003.
【００９９】
自己位置推定部８４は、推定された被写体の特徴点の３次元座標値とカメラ位置の３次元座標値の情報を分割画像生成部２０に供給する。分割画像生成部２０は、携帯端末２００の姿勢情報、被写体の特徴点の３次元位置情報、およびカメラ位置の３次元位置情報を分割画像に関連づけて分割画像記憶部２２に保存する。
【０１００】
分割画像は被写体の３次元位置情報を備えているため、パノラマ画像生成部３０が複数の分割画像を合成してパノラマ画像を合成すると、被写体の３次元位置情報を有する３次元パノラマ画像が得られる。３次元パノラマ画像を３次元座標上に展開すれば、被写体の簡易的な３次元モデルを生成することも可能である。また、被写体の奥行き情報が得られるため、ステレオパノラマ画像を生成することも可能になる。
【０１０１】
カメラ位置ずれ判定部８６は、自己位置推定部８４により推定されたカメラ位置が最初の位置（原点）からずれているかどうかを判定する。カメラ位置がずれていくと、合成されるパノラマ画像は正確なものにはならない。撮影ガイド部５２は、自己位置推定部８４により推定されたカメラ位置の３次元座標値をもとに、カメラ位置の移動軌跡をディスプレイに表示させることでユーザがパノラマ撮影時のカメラ位置を視認できるようにする。また、カメラ位置ずれ判定部８６により、カメラ位置がずれていると判定された場合、撮影ガイド部５２は、ユーザにカメラ位置を調整するようにガイドしたり、撮影をやり直すように指示する。
【０１０２】
もっとも、カメラ位置が多少ずれていても、カメラ位置を原点に戻すように分割画像を補正すれば、パノラマ画像を合成することができる。そこで、パノラマ画像生成部３０は、分割画像を合成する際、分割画像に関連づけられた特徴点の３次元位置情報とカメラ位置の３次元位置情報を用いて、カメラ位置の原点からのずれがゼロに近づくように、分割画像の特徴点の３次元座標値を調整することで、分割画像を補正した上で、分割画像を合成してパノラマ画像を生成する。
【０１０３】
図１９は、実施の形態２に係るパノラマ画像生成装置１００によるパノラマ画像の撮影の手順を説明するフローチャートである。図１９のステップＳ１０、Ｓ１２、Ｓ１４、Ｓ１８、およびＳ２０の各処理は、それぞれ図１０に示した実施の形態１に係るパノラマ画像生成装置１００によるステップＳ１０、Ｓ１２、Ｓ１４、Ｓ１８、およびＳ２０の各処理と同じであるから説明を省略する。
【０１０４】
ステップＳ１４において、携帯端末２００の姿勢情報、すなわち、チルト角、ロール角、およびパン角を取得した後、その情報を用いて、ステップＳ１５において自己位置推定処理を行う。自己位置推定処理によって携帯端末２００のカメラの位置情報が得られ、必要に応じてカメラ位置の調整が行われる。また、自己位置推定処理によって被写体の特徴点の３次元位置情報が得られる。
【０１０５】
ステップＳ１７において、分割画像生成部２０は、携帯端末２００の姿勢情報と被写体の特徴点の３次元位置情報とカメラ位置の３次元位置情報を撮影画像に関連づけて分割画像として分割画像記憶部２２に保存する。
【０１０６】
図２０は、図１９のステップＳ１５の自己位置推定処理の詳細な手順を説明するフローチャートである。
【０１０７】
特徴点抽出部８２は、隣り合う２枚の分割画像の重複領域において、撮影されたオブジェクトの特徴点を抽出し、マッチングを取る（Ｓ５０）。自己位置推定部８４は、ＳＬＡＭを用いて、各分割画像を撮影したカメラの位置の３次元座標値と、オブジェクトの特徴点の３次元座標値とを推定する（Ｓ５２)。
【０１０８】
カメラ位置ずれ判定部８６は、撮影時のカメラ位置が最初の位置から所定の閾値を超えてずれているかどうかを判定する（Ｓ５４）。カメラ位置のずれが閾値以内であれば（Ｓ５４のＮ）、自己位置推定処理を終了する。ここで、遠景、近景のどちらを撮影しているかをユーザに入力させ、遠景であるか近景であるかによって、カメラ位置のずれを判定するための閾値を切り替えるようにしてもよい。遠景撮影の場合、近景撮影に比べると、カメラ位置のずれに対する許容範囲は大きい。そこで遠景撮影の場合の閾値は近景撮影の場合の閾値よりも大きく設定する。
【０１０９】
所定の閾値を超えるカメラ位置のずれが検出された場合（Ｓ５４のＹ）、撮影ガイド部５２にカメラ位置の調整を指示する。撮影ガイド部５２は、ユーザにカメラ位置を修正するようにユーザに指示するか、すでに撮影された分割画像の一部または全部を無効にし、撮り直すようにユーザに指示し（Ｓ５６)、ステップＳ１０に戻る。
【０１１０】
図２３は、カメラ位置のずれの調整を促すガイド例を説明する図である。撮影ガイド部５２は、ディスプレイの画面の一部にパノラマ撮影時のカメラ位置を３次元表示する。最初のカメラ位置４１０ａを原点にとり、カメラ位置の履歴４１０ｂ、４１０ｃ、４１０ｄを３次元座標系で表示する。
【０１１１】
ユーザは、ディスプレイに表示された現在のカメラ位置やカメラ位置の移動軌跡を見ることにより、カメラ位置が最初の位置からずれているかどうかを確認することができる。ディスプレイにカメラの３次元位置、携帯端末２００の姿勢情報をグラフィカルに表示する以外に、音声やテキストでカメラ位置の移動方向を提示するようにしてもよい。また、携帯端末２００を振動させることでカメラ位置がずれていることや、許容範囲を超えてずれたことをユーザに知らせるようにしてもよい。
【０１１２】
この３次元座標系において、原点を中心とする内側の球４００は、カメラ位置のずれの第１閾値Ｔｈ１に対応し、原点を中心とする外側の球４０２は、カメラ位置のずれの第２閾値Ｔｈ２（＞Ｔｈ１）に対応する。第１閾値Ｔｈ１は、補正しなくても分割画像をステッチしてパノラマ画像を生成することができる許容ずれ量の上限である。第２閾値Ｔｈ２は、分割画像を補正すれば、補正後の分割画像をステッチしてパノラマ画像を生成することができる許容ずれ量の上限である。
【０１１３】
撮影開始時のカメラ位置をＸ０、ｎ枚目の分割画像の撮影時のカメラ位置をＸｎとすると、｜Ｘｎ−Ｘ０｜＜Ｔｈ１のとき、そのカメラ位置で分割画像を撮影する。ここで、｜Ｘｎ−Ｘ０｜は、撮影開始時のカメラ位置Ｘ０からｎ枚目の分割画像撮影時のカメラ位置Ｘｎまでの距離を示す。図２３で言えば、現在のカメラ位置が内側の球４００内にある場合は、そのカメラ位置で分割画像を撮影し、カメラ位置の修正指示は行わない。
【０１１４】
｜Ｘｎ−Ｘ０｜≧Ｔｈ１であり、かつ、｜Ｘｎ−Ｘ０｜＜Ｔｈ２のとき、補正によりパノラマ画像の合成が可能であるから、そのカメラ位置で分割画像を撮影するが、ユーザには、カメラ位置がずれていることを通知し、カメラ位置の修正を促す。図２３で言えば、現在のカメラ位置が内側の球４００と外側の球４０２の間にある場合は、そのカメラ位置で分割画像を撮影するが、カメラ位置の修正指示を行う。このとき、パノラマ画像生成部３０は、カメラ位置のずれにもとづいて分割画像を補正した上で合成することにより、パノラマ画像を生成する。
【０１１５】
｜Ｘｎ−Ｘ０｜≧Ｔｈ２のとき、もはや補正してもパノラマ画像の合成が不可能であるため、そのカメラ位置では撮影は行わず、ユーザにカメラ位置の移動を促し、カメラ位置が撮影可能な範囲に戻れば、撮影を開始する。一定の時間を経過しても、カメラ位置が撮影可能な範囲に戻らなければ、それまでのパノラマ撮影はキャンセルし、ユーザにはパノラマ撮影のやり直しを指示する。
【０１１６】
撮影可能範囲を定める閾値Ｔｈ１、Ｔｈ２は、視点から被写体までの距離に応じて可変にすることがより好ましい。視点から被写体までの距離は、自己位置推定部８４により推定された被写体の特徴点の３次元座標値とカメラ位置の３次元座標値から求めることができる。被写体が遠景であれば、カメラ位置のずれが大きくても被写体の画像上の位置ずれは大きくはないため、パノラマ画像を合成するときの誤差は小さい。しかし、近景であれば、少しのカメラ位置のずれによって被写体の画像上の位置ずれが大きくなるため、パノラマ画像を合成するときの誤差が大きい。そこで、遠景の場合の閾値Ｔｈ１、Ｔｈ２は、近景の場合の閾値Ｔｈ１、Ｔｈ２よりも大きく設定することができる。カメラ位置ずれ判定部８６は、カメラ位置から被写体までの距離に応じて、閾値Ｔｈ１、Ｔｈ２を調整すればよい。
【０１１７】
上記の説明では、ＳＬＡＭによってカメラ位置を推定したが、ＧＰＳ受信器７４により検出される位置情報を用いてカメラ位置を取得するようにしてもよい。
【０１１８】
以上述べたように、本実施の形態のパノラマ画像生成装置によれば、ＳＬＡＭなどの技術を用いてカメラ位置と撮影された被写体の３次元位置を推定し、カメラ位置のずれをユーザに通知することができる。被写体までの距離に応じて、カメラ位置のずれが許容範囲内であるかどうかを判定し、カメラ位置のずれが許容範囲を超える場合、カメラ位置の移動をユーザに促すことができる。
【０１１９】
３軸ジャイロセンサ６２や３軸加速度センサ６４は携帯端末２００の姿勢を検出できても、カメラ位置のずれを検出することは難しい。その点、本実施の形態では、カメラ位置がずれると、撮影された分割画像が視差が生じることを用いて、カメラ位置と被写体の３次元位置とを同時に推定することができるため、カメラ位置のずれを検出して、カメラ位置の調整をユーザに促したり、カメラ位置のずれにもとづいて画像を補正することができる。
【０１２０】
（実施の形態３）
図２４は、実施の形態３に係るパノラマ画像生成装置１００の機能構成図である。本実施の形態のパノラマ画像生成装置１００は、パノラマ撮影中に注目領域を設定する機能を有する。実施の形態１のパノラマ画像生成装置１００と共通する構成については同じ符号を付して説明を省略する。
【０１２１】
ＰＯＩ／ＲＯＩ設定部４２は、注目領域設定部４４、注目度設定部４６、およびタグ設定部４８を含み、撮影部１０により撮影された画像に注目点ＰＯＩ（point of interest）または注目領域ＲＯＩ（region of interest）を設定し、注目領域に注目度とタグを付与し、注目領域の座標情報、注目度、およびタグ情報を含む注目領域情報を分割画像生成部２０に供給する。分割画像生成部２０は、撮影画像に注目領域情報を関連づけて分割画像記憶部２２に保存する。
【０１２２】
注目領域設定部４４は、撮影部１０の撮影者検出部９０により指定される領域またはユーザインタフェース部５０のタッチパネル入力部５６により指定される領域を注目領域として設定する。注目度設定部４６は、撮影部１０の表情判定部９２により指定される注目度を注目領域設定部４４により設定された注目領域に対する注目度として設定する。タグ設定部４８は、ユーザインタフェース部５０の音声認識部５４により指定されるテキストを注目領域設定部４４により設定された注目領域に対するタグとして設定する。
【０１２３】
ＰＯＩ／ＲＯＩ処理部５８は、分割画像記憶部２２から分割画像を、パノラマ画像記憶部３２から合成されたパノラマ画像を読み出し、分割画像またはパノラマ画像に設定された注目領域に対して強調したり、ぼかしたり、ズームしたり、画質を異ならせるなどの画像処理を施す。注目領域に注目度が設定されている場合は、注目度に応じた画像処理を行う。たとえば注目度に応じて強調する度合いを変えたり、画質を変えるなどする。
【０１２４】
また、ＰＯＩ／ＲＯＩ処理部５８は、パノラマ画像を加工する際に注目領域を保護してもよい。たとえば、飛行船や人物などの人工オブジェクトをパノラマ画像に合成する場合、ＰＯＩ／ＲＯＩ処理部５８は、注目領域がそのような人工オブジェクトで隠れないように注目領域の背後に人工オブジェクトを配置したり、注目領域には人工オブジェクトを配置しないようにすることで、注目領域を保護する。
【０１２５】
表示部４０は、ＰＯＩ／ＲＯＩ処理部５８により注目領域に対して画像処理が施された分割画像またはパノラマ画像を表示する。また、表示部４０は、パノラマ画像を表示するとき、注目領域がディスプレイ２４０の画面の中央に来るようにパノラマ画像をスクロールさせて表示してもよい。
【０１２６】
また、表示部４０は、一つのパノラマ画像から別のパノラマ画像に表示を切り替えるとき、切り替え後のパノラマ画像の注目領域がディスプレイ２４０の画面の中央に来るように、切り替え後のパノラマ画像をスクロールさせて表示してもよい。
【０１２７】
特に、第１のパノラマ画像の特定の方位に特定の建物などの対象物を示すマーカーが設定されており、そのマーカーを選択すると、その特定の対象物を写した第２のパノラマ画像に切り替えられるようにパノラマビューアーが構成されているとする。第２のパノラマ画像でもその特定の対象物が注目領域に設定されていることが多い。したがって、パノラマ画像を切り替える際、注目領域が常に画面の中央に来るように制御すれば、切り替え先のパノラマ画像においてもマーカーで指定された対象物を最初から見ることができる。たとえば、第１のパノラマ画像に大阪城が写っており、大阪城にマーカーが設定されている場合、マーカーを選択して第２のパノラマ画像に切り替えても、第２のパノラマ画像で大阪城を見ることができる。パノラマ画像は広範囲の景色を撮影したものであるから、パノラマ画像を切り替えると、方角を見失うことがあるが、切り替え後のパノラマ画像で注目領域を優先的に表示すればこのような問題を避けることができる。
【０１２８】
パノラマ画像に複数の注目領域／注目点が設定されている場合は、パノラマ画像をスクロールして表示する際、たとえば、自由領域、矩形領域の順に優先して注目領域を表示してもよい。また、注目領域の面積が大きい順に優先して表示したり、注目度の順に優先して表示してもよい。また、注目領域を注目点よりも優先して表示してもよい。また、第１のパノラマ画像のマーカーを指定してマーカーに関連づけられた第２のパノラマ画像に切り替える際、第１のパノラマ画像のマーカーの方角に近いものから順に注目領域／注目点を優先して表示してもよい。
【０１２９】
撮影部１０は、撮影者検出部９０と表情判定部９２を含む。
【０１３０】
撮影者検出部９０は、撮影部１０により撮影された画像に撮影者が写り込んでいるかどうかを検出し、撮影者が写り込んでいる場合は、撮影者が写り込んだ領域を指定する情報をＰＯＩ／ＲＯＩ設定部４２の注目領域設定部４４に供給する。撮影者検出部９０は、撮影画像に大きく写っている人物を撮影者とみなすことで撮影者を検出することができる。注目領域設定部４４は、撮影者が写り込んだ領域を注目領域に設定する。ＰＯＩ／ＲＯＩ処理部５８は、撮影者が写り込んだ領域をぼかす処理をしたり、周辺のテクスチャで埋め合わせて、撮影者が写り込んだ領域を消去する。
【０１３１】
パノラマ撮影では、携帯端末２００をパンさせて撮影するとき、撮影者が写り込むことが多い。また、携帯端末２００の背面カメラ２１２で正面を撮影しながら、前面カメラ２１０を用いて、１８０度反対側も同時に撮影する場合、前面カメラ２１０には撮影者が写り込むことが多い。このような場合、撮影者が写り込んだ領域を検出して、注目領域に設定することで意図しない撮影者の画像をパノラマ画像から消去することができる。また、意図的に撮影者を写している場合は、撮影者が写り込んだ領域を注目領域に設定しておき、ＰＯＩ／ＲＯＩ処理部５８がその注目領域を強調する画像処理を施したり、表示部４０がパノラマ画像を表示する際、その注目領域がディスプレイの中心に表示されるようにパノラマ画像の表示位置を調整してもよい。
【０１３２】
表情判定部９２は、背面カメラ２１２でパノラマ撮影中に前面カメラ２１０で撮影された撮影者の顔の表情を判定する。表情の判定には公知の表情認識技術を用いる。撮影者が微笑んでいたり、被写体を注視しているなど、パノラマ撮影時に肯定的な表情をしていると判定される場合、表情判定部９２は、表情に応じて、たとえば、０〜１００の値の注目度を決め、注目度をＰＯＩ／ＲＯＩ設定部４２の注目度設定部４６に供給する。注目度設定部４６は、注目領域設定部４４により既に注目領域が設定されている場合は、その注目領域に表情判定部９２から与えられた注目度を設定し、注目領域が設定されていない場合は、撮影画像全体もしくは撮影画像の中央付近のオブジェクトを注目領域として扱い、注目度を設定する。ＰＯＩ／ＲＯＩ処理部５８は、撮影画像の注目領域に対して注目度に応じた処理を実行する。たとえば、注目度が高いほど画質を高くする。
【０１３３】
ユーザインタフェース部５０は、音声認識部５４とタッチパネル入力部５６を含み、撮影画像に対してユーザが注目領域を設定したり、タグを設定することを支援する。
【０１３４】
音声認識部５４は、携帯端末２００に内蔵されたマイクからパノラマ撮影中のユーザの音声を取得して、音声認識処理により音声をテキストに変換し、テキストをタグ設定部４８に与える。タグ設定部４８は、テキストをタグとして注目領域に設定する。テキストに変換しないで音声のまま、タグを注目領域に設定してもよい。音量の大きさに応じて注目度を設定してもよい。注目領域が設定されていない場合は、撮影画像全体もしくは撮影画像の中央付近のオブジェクトを注目領域として扱い、タグを設定する。これにより、パノラマ撮影中にユーザは注目している被写体に名称などのタグ情報を付与することができる。
【０１３５】
タッチパネル入力部５６は、ディスプレイ２４０に設けられたタッチパネル上でユーザから撮影画像の注目領域を指定する情報を受け取り、注目領域を指定する情報を注目領域設定部４４に与える。
【０１３６】
図２５は、実施の形態３に係るパノラマ画像生成装置１００によるパノラマ画像の撮影の手順を説明するフローチャートである。
【０１３７】
撮影タイミング判定部１４は、撮影タイミング判定処理を実行する（Ｓ６０）。撮影部１０は、撮影タイミング判定部１４により指示された撮影タイミングまたはユーザが指示する撮影タイミングで撮影し、撮影された画像をフレームメモリ１２に記録する（Ｓ６２）。ステップＳ６０、Ｓ６２の処理は、図１０に示した第１の実施の形態のパノラマ画像生成装置１００によるステップＳ１０、Ｓ１２の処理と同じである。
【０１３８】
タッチパネル入力部５６は、撮影画像が表示されたディスプレイ２４０のタッチパネルに対してユーザから注目領域を指定する入力があるかどうかを検出する（Ｓ６４）。注目領域を指定するタッチパネル入力がある場合（Ｓ６４のＹ）、注目領域設定部４４は、撮影画像に注目領域を設定する（Ｓ６６）。注目領域を指定するタッチパネル入力がない場合（Ｓ６４のＮ）、ステップＳ６８に進む。
【０１３９】
表情判定部９２は、前面カメラ２１０の撮影画像に写った撮影者の表情を判定する（Ｓ６８）。表情が笑顔など肯定的なものである場合（Ｓ６８のＹ）、注目度設定部４６は、表情の肯定的な度合いに応じて注目領域に注目度を設定する（Ｓ７０）。注目領域が未設定の場合は、たとえば、撮影画像の中央にあるオブジェクトや撮影画像内で他のオブジェクトよりも大きな面積を占めるオブジェクトを注目領域に設定し、その注目領域に注目度を設定する。表情が笑顔など肯定的なものではない場合（Ｓ６８のＮ）、ステップＳ７２に進む。
【０１４０】
音声認識部５４は、撮影中にユーザから音声入力があるかどうかを判定する（Ｓ７２）。音声入力があった場合（Ｓ７２のＹ）、音声認識部５４は入力された音声を音声認識処理によってテキストに変換し、タグ設定部４８はそのテキストをタグとして注目領域に設定する（Ｓ７４）。注目領域が未設定の場合は、たとえば、撮影画像の中央にあるオブジェクトや撮影画像内で他のオブジェクトよりも大きな面積を占めるオブジェクトを注目領域に設定し、その注目領域にタグを設定する。音声入力がない場合（Ｓ７２のＮ）、ステップＳ７６に進む。
【０１４１】
姿勢検出部６０は、携帯端末２００の姿勢情報、すなわち、チルト角、ロール角、およびパン角を取得する（Ｓ７６）。分割画像生成部２０は、携帯端末２００の姿勢情報とＰＯＩ／ＲＯＩ設定部４２により設定された注目領域情報を撮影画像に関連づけて分割画像として分割画像記憶部２２に保存する（Ｓ７８）。
【０１４２】
図２６（ａ）〜図２６（ｃ）は、注目領域が設定される撮影画像のフォーマットの例を説明する図である。
【０１４３】
注目点または矩形の注目領域の情報は、一例として、図２６（ａ）に示すＫＭＬ（Keyhole Markup Language）ファイルと呼ばれる地理情報タグデータファイルに記録される。符号４５０は、カメラのパン角、チルト角、ロール角の情報を記述する。符号４５２は、画像サイズを記述する。符号４５４は、画像の向きが横長書式か縦長書式かを記述する。
【０１４４】
符号４５６は、矩形の注目領域を指定する情報を記述するものであり、注目領域の中心点の座標と画像サイズを指定する。ここでは、注目領域の中心の座標（２００，２５０）、画像の幅２１、高さ１５が指定されている。図２６（ｂ）は、符号４５６で記述される注目領域を示す。
【０１４５】
注目点を指定する場合は、符号４５８に示すように、注目点の座標を指定し、画像サイズをゼロに指定する。ここでは、注目点の座標（１００，１５０）、画像の幅０、高さ０が指定されている。図２６（ｃ）は、符号４５８で記述される注目点を示す。
【０１４６】
符号４６０は、ＧＰＳ受信器７４から得られる緯度・経度情報を記述する。符号４６２は、撮影日時を記述する。
【０１４７】
注目領域が矩形ではなく、自由領域である場合、注目領域を座標で指定することはできないため、パノラマ画像に重ね合わせるαプレーンまたは専用レイヤーにマスク画像を設定する。
【０１４８】
図２７（ａ）〜（ｆ）は、ユーザがタッチパネル上で注目領域を設定する方法を説明する図である。
【０１４９】
パノラマ撮影では図２７（ａ）のように、広範囲の景色を撮影するため、ユーザが注目している被写体がどれであるか、合成されたパノラマ画像からは容易にはわからない。そこで、図２７（ｂ）に示す、パノラマ撮影中にディスプレイ２４０に表示される撮影画像において、ユーザにタッチパネルで注目領域を指定させる。
【０１５０】
図２７（ｃ）は、タッチパネル上で撮影画像内の対象物をタップまたはダブルタップする（符号４３０）ことで対象物を注目領域に設定する例である。このとき、対象物を含む領域が撮影画像から自動抽出され、注目領域に設定される。
【０１５１】
図２７（ｄ）は、対象物を符号４３２のように囲むことで注目領域を設定する例である。符号４３２で示す自由曲線を近似する多角形４３４が注目領域に設定されるか、多角形４３４に外接する矩形領域４３６が注目領域に設定される。
【０１５２】
図２７（ｅ）は、符号４３８で示すように対象物に斜線を入れることで注目領域を設定する例である。斜線を対角線とする矩形領域４４０が注目領域に設定される。
【０１５３】
図２７（ｆ）は、符号４４２ａ、４４２ｂで示すように、対象物を２本の指でピンチすることで注目領域を設定する例である。２本の指のピンチの始点を結ぶ線分を対角線とする矩形領域４４４が注目領域に設定される。
【０１５４】
図２８は、パノラマ画像に重ね合わせるαプレーンまたは専用レイヤーに設定される注目領域を説明する図である。撮影画像において注目領域が符号４７０で示す自由曲線で指定された場合、注目領域は、符号４７４で示すαプレーンまたは専用レイヤーにおいてマスク領域４７２として設定される。マスクされた領域を１、マスクされていない領域を０とする２値で注目度を記録することができる。また、αプレーンの場合、マスク領域のα値によって注目度を多値で記録することもできる。
【０１５５】
本実施の形態のパノラマ画像生成装置によれば、パノラマ撮影中に注目領域を設定することができる。興味のある被写体にフォーカスを当ててシャッターを切る通常の撮影とは違って、パノラマ撮影では、広範囲の被写体を撮影するため、ユーザがどの被写体に興味をもって撮影しているかがわからないことが多い。この点、本実施の形態では、パノラマ撮影中に注目領域を指定するため、合成されたパノラマ画像においてユーザが注目している領域を把握することができる。また、合成後のパノラマ画像において注目領域を設定する手間を省くことができる。合成後のパノラマ画像では、画面上でスクロールしなければ注目したい領域を表示することができないが、撮影中であれば、現在の撮影画像に対して簡単に注目領域を指定することができる。また、撮影中のユーザの表情に応じてユーザが興味をもった対象物を自動的に注目領域に設定し、注目度や音声によるタグ情報を関連づけることができる。
【０１５６】
（実施の形態４）
図２９は、実施の形態４に係るパノラマ画像生成装置１００の機能構成図である。本実施の形態のパノラマ画像生成装置１００は、携帯端末２００の前面カメラ２１０および背面カメラ２１２の両方を用いてパノラマ画像を撮影する機能を有する。図２４で説明した実施の形態３の注目領域設定機能をもつパノラマ画像生成装置１００と共通する構成については同じ符号を付して説明を省略する。
【０１５７】
本実施の形態ではパノラマ撮影のモードとして、以下の３つのモードがある。
【０１５８】
（１）前面カメラ２１０により撮影された半周のパノラマ画像と背面カメラ２１２により撮影された半周のパノラマ画像とをつなぎ合わせて全周のパノラマ画像を撮影する「両面パノラマ撮影モード」。
【０１５９】
（２）パノラマ画像は背面カメラ２１２で撮影し、前面カメラ２１０は撮影者の顔を撮影して注目点または注目領域を設定するために用いる「ＰＯＩ／ＲＯＩ付きパノラマ撮影モード」。
【０１６０】
（３）前面カメラ２１０および背面カメラ２１２のそれぞれで全周のパノラマ画像を撮影する「片面パノラマ撮影モード」。この場合、２枚の全周パノラマ画像が得られるが、どちらか一方のカメラ、特に撮影者が写り込む可能性の高い前面カメラ２１０により撮影された全周パノラマ画像を破棄するか、２枚の全周パノラマ画像をステレオパノラマ画像もしくは、近景／遠景のパノラマ画像として利用するかを撮影後にユーザが決める。
【０１６１】
撮影モード切替部９４はこれらのパノラマ撮影モードのいずれかに切り替える。ユーザが設定画面などでパノラマ撮影モードを手動で設定し、撮影モード切替部９４は、ユーザが設定した撮影モードに切り替えてもよい。また、撮影モード切替部９４は、パノラマ画像の撮影状況に応じて、適切なパノラマ撮影モードに自動的に切り替えてもよい。
【０１６２】
また、撮影開始時点では、（１）の両面パノラマ撮影モードと（３）の片面パノラマ撮影モードを区別せずに、前面カメラ２１０と背面カメラ２１２のそれぞれでパノラマ画像を撮影し、半周分だけ撮影が終わった時点で、前面カメラ２１０により撮影された半周の前面パノラマ画像と背面カメラ２１２により撮影された半周の背面パノラマ画像の画像境界の整合性が良好であれば、（１）の両面パノラマ撮影モードに決定し、整合性が良好でなければ、（３）の片面パノラマ撮影モードに決定してもよい。整合性が良好でない場合とは、前面パノラマ画像に意図せず（すなわち注目領域を設定する目的ではなく）撮影者が写り込んだ場合や、前面カメラ２１０と背面カメラ２１２の水平パララックスが原因で前面パノラマ画像と背面パノラマ画像の間に視差が生じている場合などである。
【０１６３】
撮影モード切替部９４は、設定したパノラマ撮影モードを撮影部１０およびパノラマ画像生成部３０に通知する。撮影部１０は、指定されたパノラマ撮影モードにしたがって前面カメラ２１０および背面カメラ２１２を用いて被写体を撮影する。パノラマ画像生成部３０は、指定されたパノラマ撮影モードにしたがって撮影部１０により撮影された分割画像を合成してパノラマ画像を生成する。
【０１６４】
両面パノラマ撮影モードの場合、パノラマ画像生成部３０は、背面カメラ２１２により撮影された背面分割画像を合成して得られる半周の背面パノラマ画像と、前面カメラ２１０により撮影された前面分割画像を合成して得られる１８０度だけ反対方向の半周の前面パノラマ画像とをつなぎ合わせることで、全周パノラマ画像を生成する。
【０１６５】
片面パノラマ撮影モードの場合、パノラマ画像生成部３０は、前面カメラ２１０により撮影された全周の前面分割画像を破棄し、背面カメラ２１２により撮影された全周の背面分割画像を合成して全周パノラマ画像を生成する。前面カメラ２１０による撮影画像には、撮影者が意図せず写り込んでいることが多いためであるが、撮影状況によっては、背面カメラ２１２により撮影された背面分割画像を破棄し、前面カメラ２１０により撮影された前面分割画像を合成して全周パノラマ画像を生成してもよい。また、パノラマ画像生成部３０は、いずれか一方のカメラで撮影された分割画像を破棄せず、両方のカメラで撮影された分割画像からそれぞれの全周パノラマ画像を合成し、ステレオパノラマ画像として利用したり、近景／遠景のパノラマ画像として利用してもよい。
【０１６６】
画像相関判定部９６は、携帯端末２００を半周パンさせて前面カメラ２１０と背面カメラ２１２のそれぞれで半周分のパノラマ画像が撮影されたとき、前面カメラ２１０により撮影された前面パノラマ画像と、背面カメラ２１２により撮影された背面パノラマ画像とをつなぎ合わせて全周のパノラマ画像を生成する際、つなぎ合わせの境界付近の領域で前面パノラマ画像と背面パノラマ画像の相関を計算し、両画像の間に一定の整合性があるかどうかを判定する。
【０１６７】
画像相関判定部９６は、前面パノラマ画像と背面パノラマ画像の間で相関が所定の閾値以上であった場合、前面パノラマ画像と背面パノラマ画像の間に整合性があることを撮影モード切替部９４と撮影ガイド部５２に通知し、前面パノラマ画像と背面パノラマ画像の間で相関が所定の閾値未満であった場合、前面パノラマ画像と背面パノラマ画像の間に整合性がないことを撮影モード切替部９４と撮影ガイド部５２に通知する。
【０１６８】
撮影モード切替部９４は、前面パノラマ画像と背面パノラマ画像の間に整合性がある場合は、両面パノラマ撮影モードに設定するが、前面パノラマ画像と背面パノラマ画像の間に整合性がない場合は、片面パノラマ撮影モードに設定する。
【０１６９】
ユーザインタフェース部５０の撮影ガイド部５２は、前面パノラマ画像と背面パノラマ画像の間に整合性がある場合は、携帯端末２００の半周のパンでパノラマ撮影が完了したことをユーザに通知するが、前面パノラマ画像と背面パノラマ画像の間に整合性がある場合は、さらにもう半周パンさせて、全周パノラマ撮影を行うようにユーザにダイアログなどで案内する。
【０１７０】
撮影部１０の撮影者検出部９０は、前面カメラ２１０により撮影された画像に撮影者が写り込んでいるかどうかを検出し、撮影者が写り込んでいる場合は、ユーザインタフェース部５０の撮影者撮影許可部５７にその旨、通知する。撮影者撮影許可部５７は、「顔が写っていますが、よいですか？」のようなダイアログを表示し、ユーザが自分の顔が前面カメラ２１０により撮影されるのを許可するかどうかをユーザに指示させる。ユーザが自分の顔の撮影を許可した場合は、撮影モード切替部９４は、ＰＯＩ／ＲＯＩ付きパノラマ撮影モードに設定し、そのまま前面カメラ２１０による撮影が実行される。ユーザが自分の顔の撮影を許可しない場合は、撮影者が写り込んだ画像は破棄し、撮影者が写り込まなくなった時点で前面カメラ２１０による撮影を再開する。前面カメラ２１０により撮影者が写り込んだ画像は、実施の形態３で説明したように、ＰＯＩ／ＲＯＩ設定部４２が注目領域を設定したり、注目度を設定するときに用いられる。
【０１７１】
図３０（ａ）〜（ｃ）は、携帯端末２００の前面カメラ２１０と背面カメラ２１２の配置と視差を説明する図である。
【０１７２】
図３０（ａ）に示すように、前面カメラ２１０と背面カメラ２１２が水平方向に異なる位置に配置されている場合、両カメラの間には水平パララックス（視差）ＨＰがある。また、垂直方向にも異なる位置に配置されている場合は、両カメラの間に垂直パララックスＶＰがある。ここでは説明の便宜上、垂直パララックスＶＰはゼロであるか、無視できる程度に小さいものとして、水平パララックスＨＰに着目する。
【０１７３】
図３０（ｂ）に示すように、たとえば前面カメラ２１０と背面カメラ２１２はそれぞれ７５°の水平画角をもつとする。前面カメラ２１０と背面カメラ２１２の間には水平パララックスＨＰがあるため、前面カメラ２１０により撮影される前面パノラマ画像と背面カメラ２１２により撮影される背面パノラマ画像との間には視差によるずれが生じる。特に近景を撮影する場合は、前面パノラマ画像と背面パノラマ画像の間に生じる視差によるずれは無視できない。
【０１７４】
しかし、遠景を撮影する場合、前面カメラ２１０により撮影される前面パノラマ画像と背面カメラ２１２により撮影される背面パノラマ画像との間に生じる視差によるずれを無視することができる。図３０（ｃ）は、視差によるずれを無視できる場合の、前面カメラ２１０と背面カメラ２１２の配置と画角を示す。視差によるずれが無視できる場合は、前面カメラ２１０と背面カメラ２１２は、図３０（ｃ）のように水平方向に同じ位置に配置されているものとして扱うことができる。両カメラの水平画角が７５°であるとすると、９０°−（７５°／２）＝５２．５°の計算結果から、図３０（ｃ）の点線に示すように、携帯端末２００をそれぞれ左右に５２．５°回転させれば、前面カメラ２１０は半周１８０°分の前面パノラマ画像を撮影し、背面カメラ２１２は半周１８０°分の平面パノラマ画像を撮影することができ、半周の前面パノラマ画像と半周の背面パノラマ画像とをつなぎあわせれば全周パノラマ画像を得ることができる。５２．５°程度の回転角であれば、ユーザはディスプレイ２４０をファインダとして見ながら、パノラマ撮影をすることができる。
【０１７５】
近景を撮影する場合は、前面カメラ２１０による前面パノラマ画像と、背面カメラ２１２による背面パノラマ画像の間で視差によるずれがあるため、半周の前面パノラマ画像と半周の背面パノラマ画像とをつなぎあわせても十分な整合性が取れず、正確な全周パノラマ画像を生成できないことがある。そこで、近景を撮影する場合は、さらに半周回転させることで、前面カメラ２１０と背面カメラ２１２のそれぞれで全周のパノラマ画像を撮影してもよい。その場合、視差のある２枚の全周パノラマ画像が得られるから、これをステレオパノラマ画像として用いて、３次元パノラマ画像を表示させてもよい。また、奥行き情報が得られることから、被写体の３次元モデルを生成することもできる。
【０１７６】
撮影ガイド部５２は、近景撮影の場合、前面カメラ２１０、背面カメラ２１２のそれぞれが全周パノラマ画像を撮影できるように全周撮影をユーザに促し、遠景撮影の場合、前面カメラ２１０、背面カメラ２１２のそれぞれが半周分のパノラマ画像を撮影した時点で全周パノラマ撮影を完了した旨をユーザに通知するようにしてもよい。近景を撮影するか、遠景を撮影するかをユーザが指定してもよく、たとえば、カメラを広角にした場合は近景撮影、望遠にした場合は遠景撮影に自動設定してもよい。
【０１７７】
図３１（ａ）は、背面カメラ２１２により撮影された円筒状の画像３４０ａ〜３４０ｆを説明する図である。図８Ｂで説明したものと同様であるが、ここでは、これらを合成すると、図３２（ａ）に示すように、半周分の背面パノラマ画像が得られるとする。図３１（ｂ）は、前面カメラ２１０により撮影された円筒状の画像３５０ａ〜３５０ｆを説明する図である。これらを合成すると、図３２（ｂ）に示すように、半周分の前面パノラマ画像が得られるとする。
【０１７８】
図３２（ａ）は、背面カメラ２１２で撮影される背面パノラマ画像を説明する図であり、図３２（ｂ）は、前面カメラ２１０で撮影される前面パノラマ画像を説明する図である。図３３は、背面カメラ２１２で撮影される背面パノラマ画像と前面カメラ２１０で撮影される前面パノラマ画像をつなぎ合わせた状態を示す図である。背面パノラマ画像と前面パノラマ画像が重なる、つなぎ合わせの境界付近の領域３７０ａ〜３７０ｄにおいて、画像相関判定部９６は、背面パノラマ画像と前面パノラマ画像の相関を計算する。両画像が重なる領域で相関が高い、すなわち画素値が一致または近接する画素の数が多い場合、画像相関判定部９６は、両画像に一定の整合性があると判断し、両画像が重なる領域で相関が低い、すなわち画素値が一致または近接する画素の数が少ない場合、両画像に一定の整合性がないと判断する。
【０１７９】
図３４は、前面カメラ２１０により撮影された前面パノラマ画像３８２と背面カメラ２１２により撮影された背面パノラマ画像３８０の例を説明する図である。前面パノラマ画像３８２には撮影者が大きく写り込んでおり、前面パノラマ画像３８２と背面パノラマ画像３８０がつなぎ合わされる境界付近の領域３７０ｄには、撮影者の手が写っていることから、両画像間の相関が低い。この場合、画像相関判定部９６は、前面パノラマ画像３８２と背面パノラマ画像３８０の整合性が低いと判断し、撮影モード切替部９４は、背面カメラ２１２のみでパノラマ撮影する片面パノラマ撮影モードに切り替え、撮影ガイド部５２は、さらに半周、カメラをパンさせて全周の背面パノラマ画像を撮影するようにユーザを案内する。
【０１８０】
図３５は、前面パノラマ画像３８２と背面パノラマ画像３８０の整合性が低い場合のガイド例を説明する図である。前面パノラマ画像３８２と背面パノラマ画像３８０をそれぞれ半周分撮影した時点で、画像相関判定部９６が、前面パノラマ画像３８２と背面パノラマ画像３８０の間で一定の整合性がないと判定した場合、撮影ガイド部５２は、「さらに半周回してください」というダイアログ３８６を画面に表示させ、撮影方向を矢印３８４で示す。これにより、ユーザは背面パノラマ画像３８０を半周分で撮影したところでやめずに、背面カメラ２１２をさらに半周分パンさせて全周の背面パノラマ画像を撮影することができる。
【０１８１】
図３６は、実施の形態４に係るパノラマ画像生成装置１００によるパノラマ画像の撮影の手順を説明するフローチャートである。
【０１８２】
撮影者検出部９０は、前面カメラ２１０により撮影された画像に撮影者自身が写り込んでいるかどうかを検出する（Ｓ８０）。撮影者が写り込んでいる場合は（Ｓ８０のＹ）、撮影者撮影許可部５７は、ユーザに自分自身を撮影するのかどうかをダイアログを表示したり、音声出力して尋ねる（Ｓ８２)。ユーザが自分自身の撮影を許可した場合（Ｓ８２のＹ）、撮影モード切替部９４は、ＰＯＩ／ＲＯＩ付きパノラマ撮影モードに設定し（Ｓ８４）、ＰＯＩ／ＲＯＩ付きパノラマ撮影を行う（Ｓ８６)。ステップＳ８６のＰＯＩ／ＲＯＩ付きパノラマ撮影処理は、図２５で説明した実施の形態３のパノラマ画像の撮影手順と同様であり、前面カメラ２１０によりユーザの表情を撮影して、表情にもとづいて注目領域や注目度を設定するとともに、背面カメラ２１２によりパノラマ撮影を行うことで、ＰＯＩ／ＲＯＩ付きのパノラマ画像を生成する。
【０１８３】
ステップＳ８２において、ユーザが自分自身の撮影を許可しない場合（Ｓ８２のＮ）、前面カメラ２１０による撮影画像に撮影者が写っている間はパノラマ撮影を中断し（Ｓ８８のＮ）、撮影者が写らなくなるのを待って（Ｓ８８のＹ）、両面カメラによるパノラマ撮影処理を実行する（Ｓ９０）。
【０１８４】
ステップＳ８０において、前面カメラ２１０により撮影された画像に撮影者が検出されない場合も（Ｓ８０のＮ）、両面カメラによるパノラマ撮影処理が開始される（Ｓ９０）。
【０１８５】
図３７は、図３６のステップＳ９０の両面カメラによるパノラマ撮影処理の詳細な手順を説明するフローチャートである。
【０１８６】
両面カメラによるパノラマ撮影処理では、撮影開始時点では、手動でパノラマ撮影モードを設定する場合を除き、両面パノラマ撮影モードか片面パノラマ撮影モードであるかは決まっていない。両面パノラマ撮影モードと片面パノラマ撮影モードのいずれかに決定されるかは、半周分のパノラマ撮影が完了して半周の前面パノラマ画像と半周の背面パノラマ画像の間で整合性を判断しなければわからない。
【０１８７】
分割画像撮影処理（Ｓ１１０）は、図１０で説明した実施の形態１の撮影タイミング判定処理（Ｓ１０）、撮影（Ｓ１２）、姿勢情報取得処理（Ｓ１４）、姿勢情報を撮影画像に関連づける処理（Ｓ１６)を実行する。
【０１８８】
前面カメラ２１０および背面カメラ２１２による半周分のパノラマ撮影が完了していないなら（Ｓ１１２のＮ）、ステップＳ１１０に戻り、分割画像撮影処理を繰り返す。
【０１８９】
前面カメラ２１０および背面カメラ２１２による半周分のパノラマ撮影が完了すると（Ｓ１１２のＹ）、画像相関判定部９６は、前面カメラ２１０によって撮影された半周分の前面分割画像と、背面カメラ２１２によって撮影された半周分の背面分割画像とをつなぎあわせるときの境界付近の重複領域で両画像間の相関度を判定する（Ｓ１１４)。重複領域の相関度が所定の閾値以上であれば（Ｓ１１４のＹ）、撮影モード切替部９４は、パノラマ撮影モードを両面パノラマ撮影モードに設定し（Ｓ１１７)、パノラマ画像生成部３０は、半周分の前面分割画像と半周分の背面分割画像を合成して全周パノラマ画像を生成する（Ｓ１１８)。重複領域の相関度が所定の閾値未満であれば（Ｓ１１４のＮ）、撮影モード切替部９４は、パノラマ撮影モードを片面パノラマ撮影モードに設定し（Ｓ１１５)、撮影ガイド部５２は、さらに半周撮影するようにユーザをガイドし（Ｓ１１６）、ステップＳ１２０の分割画像撮影処理に進む。
【０１９０】
ステップＳ１２０の分割画像撮影処理は、ステップＳ１１０の分割画像撮影処理と同じである。前面カメラ２１０、背面カメラ２１２による全周分のパノラマ撮影が完了していないなら（Ｓ１２２のＮ）、ステップＳ１１０に戻り、分割画像撮影処理を繰り返す。
【０１９１】
前面カメラ２１０および背面カメラ２１２による全周分のパノラマ撮影が完了すると（Ｓ１２２のＹ）、全周の前面分割画像を破棄するかどうかをユーザに問い合わせる（Ｓ１２４）。たとえば、前面分割画像にユーザが写り込んでいる場合には、前面分割画像は破棄する。全周の前面分割画像を破棄する場合（Ｓ１２４のＹ）、パノラマ画像生成部３０は、全周の背面分割画像から全周パノラマ画像を合成する（Ｓ１２６）。
【０１９２】
全周の前面分割画像を破棄しない場合（Ｓ１２４のＮ）、パノラマ画像生成部３０は、全周前面分割画像から全周前面パノラマ画像を合成し（Ｓ１２８）、全周背面分割画像から全周背面パノラマ画像を合成する（Ｓ１３０）。この場合、全周前面パノラマ画像と全周背面パノラマ画像を合わせてステレオパノラマ画像が得られる。また、全周前面パノラマ画像を近景のパノラマ画像として、全周背面パノラマ画像を遠景のパノラマ画像として利用してもよい。また、前面カメラ２１０と背面カメラ２１２のズーム率を異ならせれば、ズーム率の異なる２つのパノラマ画像を得ることもできる。
【０１９３】
本実施の形態のパノラマ画像生成装置によれば、携帯端末２００の前面カメラ２１０と背面カメラ２１２の両方を用いてパノラマ撮影を行うことができる。２つのカメラの取り付け位置にずれがある場合、それぞれのカメラで撮影されるパノラマ画像に視差が生じるため、ステレオパノラマ画像を取得することができる。また、前面カメラ２１０で近景パノラマ画像を撮影し、背面カメラ２１２で遠景パノラマ画像を撮影することもできる。
【０１９４】
また、両面カメラを利用すると、携帯端末２００を３６０°回転させなくても、カメラの水平画角θに対して、９０°−θ／２だけ回転させるだけで全周のパノラマ画像を撮影できるから、携帯端末２００のディスプレイをファインダとして見ながら簡易に全周パノラマ撮影を行うことが容易になる。
【０１９５】
上記の例では、携帯端末２００に前面カメラ２１０と背面カメラ２１２が搭載された場合のパノラマ撮影を説明したが、携帯端末２００に３以上のカメラが搭載されてもよい。また、複数のカメラの光軸の位置が水平または垂直方向に異なってもよく、複数のカメラの光軸の向きが異なってもよい。光軸の向きの違いは１８０度反対方向に限られない。以下、携帯端末２００に内蔵されるカメラのバリエーションを例示する。
【０１９６】
図３８は、光軸の位置および向きが異なる２つのカメラが搭載された携帯端末２００を説明する図である。図３０（ｂ）では、前面カメラ２１０と背面カメラ２１２は光軸の位置が水平方向に異なっていたが、図３８では、前面カメラ２１０と背面カメラ２１２は光軸の位置が異なるだけでなく、光軸の向きも異なり、前面カメラ２１０は斜めに向いている。
【０１９７】
図３９は、光軸の位置が異なる３つのカメラが搭載された携帯端末２００を説明する図である。２つの背面カメラ２１２ａ、２１２ｂと１つの前面カメラ２１０が携帯端末２００に搭載される。これらの３つのカメラ２１２ａ、２１２ｂ、２１０の光軸の位置は異なる。２つの背面カメラ２１２ａ、２１２ｂにより、ステレオパノラマ画像を撮影することができる。
【０１９８】
図４０は、光軸の向きが異なる３つのカメラが搭載された携帯端末２００を説明する図である。携帯端末２００は、たとえば円柱のような形状をしており、前面にはディスプレイ２４０があり、上から見た場合、３つのカメラ２１１ａ、２１１ｂ、２１１ｃが円周上にほぼ均等に配置されている。これら３つのカメラの２１１ａ、２１１ｂ、２１１ｃの光軸の向きは互いに異なる。携帯端末２００を回転させることで全周のパノラマ画像を撮影することができる。
【０１９９】
図４１（ａ）、（ｂ）は、性能の異なる２つのカメラが搭載された携帯端末２００を説明する図である。図４１（ａ）では、前面カメラ２１０の水平画角は５０°であるのに対して、背面カメラ２１２の水平画角は１２０°である。このように画角の異なる複数のカメラを携帯端末２００に搭載してもよい。
【０２００】
図４１（ｂ）では、前面カメラ２１０は解像度はＶＧＡであり、フレームレートは６０ｆｐｓ（frames per second）であるのに対して、背面カメラ２１２は解像度は１２メガピクセルであり、フレームレートは１５ｆｐｓである。前面カメラ２１０は低解像度であるがフレームレートが高く、動体の撮影に有利である。背面カメラ２１２は高解像度であるがフレームレートが低く、動体の撮影には不向きであるが、静止物体の撮影には有利である。このように解像度やフレームレートなどの性能の異なる複数のカメラを携帯端末２００に搭載してもよい。
【０２０１】
図４２（ａ）〜（ｃ）は、携帯端末２００に搭載されるカメラの個数と向きのバリエーションを説明する図である。図４２（ａ）は、携帯端末２００の前面にカメラ２１１ｃ、背面にカメラ２１１ａ、左側面にカメラ２１１ｄ、右側面にカメラ２１１ｂを搭載した例である。図４２（ｂ）は、携帯端末２００の背面にカメラ２１１ａ、左側面にカメラ２１１ｃ、右側面にカメラ２１１ｂを搭載した例である。図４２（ｃ）は、携帯端末２００の背面にカメラ２１１ａ、右側面にカメラ２１１ｂを搭載した例である。ここでは、携帯端末２００の例で説明したが、これは車載カメラであってもよい。特に、車載カメラの場合、カメラの向きを前方、後方以外に左右側方にすることが考えられる。
【０２０２】
図４３は、４つのカメラが搭載された携帯端末２００を説明する図である。携帯端末２００の前面にカメラ２１１ｃ、背面にカメラ２１１ａ、左側面にカメラ２１１ｄ、右側面にカメラ２１１ｂが搭載されており、各カメラの水平画角は十分に広いため、携帯端末２００をパン方向に回転させなくても全方位のパノラマ画像をこれら４つのカメラ２１１ａ〜２１１ｄにより撮影することができる。ただし、チルト方向には全方位を撮影することができない場合、チルト方向に携帯端末２００を回転させることで全天のパノラマ画像を撮影することができる。
【０２０３】
図４４（ａ）、（ｂ）は、向きを調整できる可動カメラが搭載された携帯端末２００を説明する図である。図４４（ａ）では、携帯端末２００の背面に搭載されたカメラ２１１ａは固定カメラであるが、右側面に搭載されたカメラ２１１ｂは可動カメラであり、向きを手動または自動で調整することができる。図４４（ｂ）では、携帯端末２００の背面に搭載された第１のカメラ２１１ａは固定カメラであるが、第２のカメラ２１１ｂは前後に向きを反転可能な可動カメラであり、向きを反転させれば背面カメラにも前面カメラにもなる。可動カメラの向きは、携帯端末２００が自動的に検出することができる。
【０２０４】
以上述べた携帯端末２００に搭載されるカメラのバリエーションはあくまでも例示であって、これ以外にもいろいろなカメラの組み合わせがありうる。
【０２０５】
このように携帯端末２００に光軸の位置および向きの少なくとも一方が異なるカメラを複数搭載することで、複数のカメラを用いて撮影された画像を合成して全方位のパノラマ画像を合成することができる。
【０２０６】
撮影モード切替部９４は、携帯端末２００に搭載された複数のカメラの各々により撮影されたパノラマ画像をつなぎ合わせた一つの「複眼パノラマ画像」を撮影する複眼パノラマ画像撮影モードと、複数のカメラの各々で「単眼パノラマ画像」を撮影する単眼パノラマ画像撮影モードとを切り替える。
【０２０７】
パノラマ画像生成部３０は、複眼パノラマ画像撮影モードの場合、各カメラにより撮影された複数の分割画像を合成して単眼パノラマ画像を生成し、各カメラによる単眼パノラマ画像を互いにつなぎ合わせて複眼パノラマ画像を生成する。パノラマ画像生成部３０は、単眼パノラマ画像撮影モードの場合、各カメラにより撮影された複数の分割画像を合成して単眼パノラマ画像を生成し、各カメラによる単眼パノラマ画像を組み合わせて、ステレオパノラマ画像、もしくは近景、遠景など距離感の異なる複数のパノラマ画像として出力する。
【０２０８】
画像相関判定部９６は、各カメラによる単眼パノラマ画像を互いにつなぎ合わせる境界領域において、つなぎ合わされる単眼パノラマ画像間の相関度を判定し、パノラマ画像生成部３０は、相関度が所定の閾値以上である場合、各カメラによる単眼パノラマ画像を互いにつなぎ合わせて複眼パノラマ画像を生成する。携帯端末２００に搭載された複数のカメラはそのままの固定された位置では全方位のパノラマ撮影をすることはできないが、パン方向またはチルト方向に回転させることで各カメラの撮影可能な視界がオーバーラップするようになる。そのオーバーラップする領域において、つなぎ合わされる単眼パノラマ画像間の相関を評価することで、各カメラによる単眼パノラマ画像をステッチ処理でつなぎ合わせてよいか、別々の画像として出力すべきか、あるいは片方の画像を破棄するべきかを判断することができる。
【０２０９】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０２１０】
本実施の形態では、パノラマ画像として全天球パノラマ画像を例に挙げて説明したが、パノラマ画像は、全天球パノラマ画像である必要はなく、撮影方向を変えながらカメラで撮影された複数の画像を合成した画像であってもよい。
【０２１１】
なお、本明細書でいう「パノラマ画像」とは、狭義の意味での「パノラマ」画像、すなわち横長または縦長の画像や３６０度の全景画像などに限られるものではなく、単に広い範囲を対象とする画像である。また、実施の形態では、合成画像としてパノラマ画像を生成する例を説明したが、出力される合成画像はいわゆるパノラマ画像である必要はなく、任意のサイズの通常の画像を合成画像としても本発明を適用することができる。あるいは、出力される合成画像は、複数の異なる解像度の画像が階層化された画像であってもよい。そのような階層化された画像は、画像の一部の領域を拡大すると拡大された領域がより解像度の高い画像に置き換わるように構成されてもよい。
【符号の説明】
【０２１２】
１０  撮影部、  １２  フレームメモリ、  １４  撮影タイミング判定部、  ２０  分割画像生成部、  ２２  分割画像記憶部、  ２４  未撮影領域判定部、  ３０  パノラマ画像生成部、  ３２  パノラマ画像記憶部、  ４０  表示部、  ４２  ＰＯＩ／ＲＯＩ設定部、  ４４  注目領域設定部４４、  ４６  注目度設定部４６、  ４８  タグ設定部４８、  ５０  ユーザインタフェース部、  ５２  撮影ガイド部、  ５４  音声認識部、  ５６  タッチパネル入力部、  ５７  撮影者撮影許可部５７、  ５８  ＰＯＩ／ＲＯＩ処理部、  ６０  姿勢検出部、  ６２  ３軸ジャイロセンサ、  ６４  ３軸加速度センサ、  ６６  方位検出部、  ６８  ３軸地磁気センサ、  ７０  パン角・仰角算出部、  ７２  位置検出部、  ７４  ＧＰＳ受信器、  ８０  通信部、  ８２  特徴点抽出部、  ８４  自己位置推定部、  ８６  カメラ位置ずれ判定部、  ９０  撮影者検出部、  ９２  表情判定部、  ９４  撮影モード切替部、  ９６  画像相関判定部、  １００  パノラマ画像生成装置、  ２００  携帯端末、  ２１０  前面カメラ、  ２１２  背面カメラ、  ２４０  ディスプレイ。
【産業上の利用可能性】
【０２１３】
合成画像を生成する技術に利用できる。
【図１】
0005865388.tif 000002
【図２】
0005865388.tif 000003
【図３】
0005865388.tif 000004
【図４】
0005865388.tif 000005
【図５】
0005865388.tif 000006
【図６】
0005865388.tif 000007
【図７】
0005865388.tif 000008
【図８Ａ】
0005865388.tif 000009
【図８Ｂ】
0005865388.tif 000010
【図９】
0005865388.tif 000011
【図１０】
0005865388.tif 000012
【図１１】
0005865388.tif 000013
【図１２】
0005865388.tif 000014
【図１３】
0005865388.tif 000015
【図１４】
0005865388.tif 000016
【図１５】
0005865388.tif 000017
【図１６】
0005865388.tif 000018
【図１７】
0005865388.tif 000019
【図１８】
0005865388.tif 000020
【図１９】
0005865388.tif 000021
【図２０】
0005865388.tif 000022
【図２３】
0005865388.tif 000023
【図２４】
0005865388.tif 000024
【図２５】
0005865388.tif 000025
【図２６】
0005865388.tif 000026
【図２７】
0005865388.tif 000027
【図２８】
0005865388.tif 000028
【図２９】
0005865388.tif 000029
【図３０】
0005865388.tif 000030
【図３１】
0005865388.tif 000031
【図３２】
0005865388.tif 000032
【図３３】
0005865388.tif 000033
【図３４】
0005865388.tif 000034
【図３５】
0005865388.tif 000035
【図３６】
0005865388.tif 000036
【図３７】
0005865388.tif 000037
【図３８】
0005865388.tif 000038
【図３９】
0005865388.tif 000039
【図４０】
0005865388.tif 000040
【図４１】
0005865388.tif 000041
【図４２】
0005865388.tif 000042
【図４３】
0005865388.tif 000043
【図４４】
0005865388.tif 000044
【図２１】
0005865388.tif 000045
【図２２】
0005865388.tif 000046