本発明の実施の形態の概要を説明する。異なる撮影位置で撮影された複数のパノラマ画像が与えられたとする。ある撮影位置で撮影されたパノラマ画像を表示対象に選び、ビューアで閲覧する際、他の撮影位置で撮影されたパノラマ画像が存在することを表示対象のパノラマ画像内にマーカーで表示する。
パノラマ画像には撮影場所の緯度・経度情報の他に、パノラマ画像の撮影方位に関する情報も含まれている。パノラマ画像のある撮影方向、たとえば、南西方向に別のパノラマ画像を撮影した場所が存在するとする。そのとき、表示対象のパノラマ画像において南西方向が撮影された箇所に別のパノラマ画像が存在することを示すマーカーを表示する。パノラマ画像にはこのようなマーカーが多数関連付けられる。
ユーザが表示対象のパノラマ画像をビューアで閲覧しているとき、パノラマ画像内のマーカーを選択すると、これまで閲覧していたパノラマ画像に代えて、マーカーに対応する別のパノラマ画像が表示される。別のパノラマ画像の特定の撮影方向にさらに別のパノラマ画像の撮影場所があれば、その撮影方向に同様にマーカーが表示されており、マーカーを選択することでさらに別のパノラマ画像に切り替えることができる。
このように、ユーザはパノラマ画像内に表示されたマーカーを選択することで、あたかもある撮影場所から別の撮影場所にワープするようにして、パノラマ画像を切り替えて閲覧することができる。
図1は、実施の形態に係るパノラマ画像表示装置100の構成図である。パノラマ画像・付加データ記憶部24は、撮影場所に関する情報と撮影方位に関する情報が関連付けられたパノラマ画像を保持する。撮影場所や撮影方位に関する情報などの付加データはパノラマ画像のデータファイルに直接付加されてもよく、付加データはパノラマ画像とは別のファイルとして管理されてもよい。
撮影場所に関する情報は、たとえば、GPS(Global Positioning System)により与えられる緯度・経度情報を含む。撮影方位に関する情報は、たとえば、方位センサなどから得られるパノラマ画像の中心点の方位角の情報を含み、それ以外に撮影時のカメラの仰角やロール角の情報を含んでもよい。
撮影方位に関する情報としてパノラマ画像の中心点の方位角が与えられれば、カメラを左右方向にパンした角度にもとづいて、パノラマ画像の任意の点の方位を計算上、求めることができる。パノラマ画像の中心点の方位角とパン角にもとづいて計算された、パノラマ画像の真北、真南、真東、真西の方位にあるピクセルの座標値を撮影方位に関する情報としてパノラマ画像にもたせてもよい。
パノラマ画像取得部10は、表示対象のパノラマ画像をパノラマ画像・付加データ記憶部24から取得する。表示対象のパノラマ画像は、ユーザが地図などで撮影場所を指定することで特定される他、ユーザがパノラマ画像内のマーカーを指定することでマーカーに対応する別のパノラマ画像が新たな表示対象のパノラマ画像に指定されることもある。
マーカー設定部12は、表示対象のパノラマ画像の撮影方位に他のパノラマ画像の撮影場所が存在する場合、その撮影方位に他のパノラマ画像が存在することを示すマーカーを表示対象のパノラマ画像に関連付ける。マーカー設定部12は、表示対象のパノラマ画像の緯度・経度情報と、パノラマ画像・付加データ記憶部24に格納されている他のパノラマ画像の緯度・経度情報とにもとづいて、他のパノラマ画像の撮影場所が表示対象のパノラマ画像のどの方位にあるかを特定することができる。マーカーはパノラマ画像間を撮影位置と撮影方位にもとづいて関連づけるリンクとして機能する。マーカーは、リンク先のパノラマ画像を特定するために、リンク先のパノラマ画像の撮影場所の緯度・経度情報を含んでもよく、リンク先のパノラマ画像を一意に特定する識別情報を含んでもよい。
マーカー設定部12は、表示対象のパノラマ画像の撮影場所から他のパノラマ画像の撮影場所までの距離に応じて、マーカーの表示態様を異ならせる。たとえば、近距離にある撮影場所のマーカーほど目立つように大きさ、色、形状などを変えて強調表示したり、遠い撮影場所のマーカーは半透明にしたり、他のマーカーよりも上方に表示することで、ユーザに遠くにあると感じさせるようにする。
マッピング処理部14は、他のパノラマ画像のマーカーが関連付けられた表示対象のパノラマ画像をテクスチャとして3次元パノラマ空間にマッピングする処理を行う。全天球パノラマ画像の場合は、3次元パノラマ空間として球を想定し、球面マッピングにより、パノラマ画像を球面にテクスチャマッピングする。あるいは、3次元パノラマ空間として立方体を想定し、キューブマッピングにより、パノラマ画像を立方体表面にテクスチャマッピングしてもよい。また、パノラマ画像がチルト方向の成分をもたず、パン方向にのみ広がる画像である場合、3次元パノラマ空間として円柱を想定し、パノラマ画像を円柱面にテクスチャマッピングしてもよい。パノラマ画像がパン方向の成分をもたず、チルト方向にのみ広がる画像である場合も同様である。
マッピング処理部14は、表示対象のパノラマ画像をテクスチャとして3次元パノラマ空間にマッピングした後で、そのパノラマ画像の撮影方向に関連付けられたマーカーを3次元パノラマ空間にマッピングする。これにより、マーカーはパノラマ画像に合成される。
なお、マッピング処理部14は、表示対象のパノラマ画像に関連付けられたすべてのマーカーをマッピングするとは限らない。パノラマ画像に多数のマーカーを合成すると、見づらくなることがあるからである。そこで、表示対象のパノラマ画像の同一の撮影方向またはその近傍に多数のマーカーが集中して関連付けられている場合は、複数のマーカーをまとめた一つの代表マーカーをマッピングして表示することにし、カーソルを近づけた場合に、まとめられていた複数のマーカーが展開して表示されるようにしてもよい。また、パノラマ画像の付加情報として与えられるキーワードなどの情報でマーカーをテーマ別に分類し、ユーザの好みに合ったテーマのマーカーだけをマッピングするようにしてもよい。
3次元画像生成部16は、マッピング処理部14によりパノラマ画像がテクスチャマッピングされた3次元パノラマ空間内を指定された視線方向に見たときの3次元パノラマ画像を生成する。3次元パノラマ空間が球の場合、視点は球の中心に置かれ、立方体の場合、視点は立方体内部の中心に置かれ、円柱の場合、視点は円柱の中心軸上に置かれる。視点は表示対象のパノラマ画像を撮影した場所であり、視線方向は、その撮影場所から周囲を見る方向であり、方位角と仰角で特定される。3次元画像生成部16は、方位角と仰角で特定される視線方向で3次元パノラマ空間を見たときの3次元画像を生成する。
地図生成部20は、地図データ記憶部26に保持される地図データを参照し、撮影位置に対応する地球表面上の位置にパノラマ画像の存在を示すシンボルを設定して地球表面の地図画像を生成する。
表示制御部18は、生成された3次元パノラマ画像や地図画像をディスプレイ装置の画面に表示させる。
ユーザインタフェース部40は、ディスプレイの画面に表示されるグラフィックスに対して、ユーザが入力デバイスを用いて操作することを可能にするグラフィカルユーザインタフェースである。ユーザインタフェース部40は、画面に表示された地図や3次元パノラマ画像に対するゲーム機のコントローラ、マウス、キーボードなどの入力デバイスからユーザの指示を受け付ける。図2は、入力デバイスの一例であるコントローラ102を示し、その構成の詳細については後述する。
ユーザインタフェース部40は、表示された地図画像上のパノラマ画像のシンボルを選択する指示をユーザから受け取ると、指定されたパノラマ画像をパノラマ画像・付加データ記憶部24から取得するように、パノラマ画像取得部10に指示する。
ユーザは、たとえば、コントローラ102のアナログスティック118または方向キー群116などを操作することにより、3次元パノラマ空間を見る視線方向を変更する指示を入力することができる。ユーザインタフェース部40の視線方向設定部32は、ユーザが指示する視線方向を3次元画像生成部16に与える。3次元画像生成部16は、3次元パノラマ空間を指定された視線方向から見た場合の画像を生成する。
画角設定部31は、ユーザが表示されたパノラマ画像に対してズーム操作をしたときの画角を設定し、パノラマ画像取得部10と3次元画像生成部16に設定された画角の情報を与える。画角の異なるパノラマ画像がパノラマ画像・付加データ記憶部24に記憶されている場合、パノラマ画像取得部10は、設定された画角にもっとも近い画角のパノラマ画像を読み出し、表示対象のパノラマ画像を切り替える。3次元画像生成部16は、設定された画角に応じて3次元パノラマ画像を拡大・縮小することで、ズームイン・ズームアウトの視覚効果を実現する。
パノラマ画像には、撮影高度に関する情報も付与されており、パノラマ画像・付加データ記憶部24は、同一の撮影位置に対して異なる高度で撮影されたパノラマ画像を保持してもよい。その場合、ユーザは、たとえば、コントローラ102の筐体前面の左側にあるL1/L2ボタン161、162を操作することにより、高度を変更する指示を入力することができる。L1ボタン161を押すことにより、高度を上げる指示を、L2ボタン162を押すことにより、高度を下げる指示を与えることができる。
表示制御部18は、現在表示されているパノラマ画像について、同一撮影場所で異なる高度で撮影したパノラマ画像があることを、たとえば、画面の上部、下部に小さな矢印を示すことでユーザに知らせてもよい。画面の上部に上向きの矢印があれば、現在よりも撮影高度の高い画像があることを示し、画面の下部に下向きの矢印があれば、現在よりも撮影高度の低い画像があることを示す。
ユーザインタフェース部40の高度設定部34は、ユーザから高度を変更する指示を受け取ると、同一緯度・経度であるが、指定された高度に対応するパノラマ画像をパノラマ画像・付加データ記憶部24から取得するように、パノラマ画像取得部10に指示する。パノラマ画像取得部10は、L1ボタン161が押された場合は、現在表示されているパノラマ画像よりも撮影高度のより高いパノラマ画像を取得し、L2ボタン162が押された場合は、撮影高度のより低いパノラマ画像を取得する。
表示制御部18は、撮影高度の異なるパノラマ画像に切り替えて表示する際、たとえば、ユーザがエレベータで上下しているかのような感覚を与えるために、特別なエフェクトを画像に施してもよい。たとえば、より高度の高いパノラマ画像に切り替える場合、現在表示されているパノラマ画像を下にスクロールさせて、より高度の高いパノラマ画像が上から降りてくるように表示させることで、ユーザはあたかも階上に行ったかのような感覚をもつことができる。
パノラマ画像には、撮影日時に関する情報も付与されており、パノラマ画像・付加データ記憶部24は、同一の撮影位置に対して撮影日時の異なるパノラマ画像を保持してもよい。その場合、ユーザは、たとえば、コントローラ102の筐体前面の右側にあるR1/R2ボタン151、152を操作することにより、撮影日時を変更する指示を入力することができる。R1ボタン151を押すことにより、遅い日時にシフトする指示を、R2ボタン152を押すことにより、早い日時にシフトする指示を与えることができる。
表示制御部18は、現在表示されているパノラマ画像について、異なる日時に撮影したパノラマ画像があることを、たとえば、時計やカレンダーのアイコンを画面の隅に示すことでユーザに知らせてもよい。朝、昼、夜など時間帯の異なるパノラマ画像が存在するときは時計のアイコンを、春、夏、秋、冬など季節の異なるパノラマ画像が存在するときはカレンダーのアイコンを表示する。
ユーザインタフェース部40の日時設定部36は、ユーザから日時を変更する指示を受け取った場合、同一撮影位置であるが、指定された日時に対応するパノラマ画像をパノラマ画像・付加データ記憶部24から取得するように、パノラマ画像取得部10に指示する。パノラマ画像取得部10は、R1ボタン151が押された場合は、現在表示されているパノラマ画像よりも撮影日時のより新しいパノラマ画像を取得し、R2ボタン152が押された場合は、撮影日時のより古いパノラマ画像を取得する。
これにより、たとえば、同一撮影場所であっても、朝の時間帯に撮影されたパノラマ画像から夜の時間帯にパノラマ画像に切り替えたり、春に撮影されたパノラマ画像から秋に撮影されたパノラマ画像に切り替えるなど、時間帯や季節などが異なるパノラマ画像に切り替えることができる。表示制御部18は、パノラマ画像を切り替えるとき、フェイドイン・フェイドアウトなどのエフェクトを画像に施してもよい。
表示されたパノラマ画像に関連付けられたマーカーをユーザが選択すると、ユーザインタフェース部40のマーカー選択部38は、選択されたマーカーに対応する別のパノラマ画像の撮影場所をあらたな視点位置に設定する指示を視点位置設定部30に与える。視点位置設定部30は、新たな視点位置に対応するパノラマ画像、すなわち、マーカーで特定される別のパノラマ画像をパノラマ画像・付加データ記憶部24から取得するように、パノラマ画像取得部10に指示する。また、視点位置設定部30は、新たな視点位置を3次元画像生成部16に通知する。
さらに、マーカー選択部38は、現在表示されているパノラマ画像から、マーカーで特定される別のパノラマ画像に切り替えたとき、視線方向が一定の方向に固定されるように、視線方向を所定の方向に設定する指示を視線方向設定部32に与えることもできる。たとえば、マーカー選択部38は、現在のパノラマ画像の撮影位置からマーカーで特定される別のパノラマ画像の撮影位置を見る方向に初期視線方向を設定するように、視線方向設定部32に指示してもよい。あるいは、マーカーで特定される別のパノラマ画像の撮影位置から現在のパノラマ画像の撮影位置を振り返る方向に初期視線方向を設定するように指示してもよい。
視線方向設定部32は、指定された視線方向を3次元画像生成部16に与える。3次元画像生成部16は、パノラマ画像を切り替えるとき、視線方向設定部32により指定された視線方向から3次元パノラマ空間を見たときの画像を生成する。これにより、ユーザはマーカーが設定された方位に視線方向を設定して、新しいパノラマ画像を見ることや、マーカーを選択する前に見ていたパノラマ画像の撮影場所を振り返る方向に視線方向を設定して、新しいパノラマ画像を見ることができる。
図2は、図1のパノラマ画像表示装置100に接続される入力デバイスの一例であるコントローラ102の構成図である。パノラマ画像表示装置100は、一例としてゲーム機であってもよい。
コントローラ102は、パノラマ画像表示装置100に対する操作入力を行うための複数のボタンやキーを有する。ユーザがコントローラ102のボタンやキーを操作すると、その操作入力が無線または有線によりパノラマ画像表示装置100に送信される。
コントローラ102の筐体上面122には、方向キー群116、アナログスティック118、操作ボタン群120が設けられている。方向キー群116は、「上」、「下」、「左」、「右」方向指示キーを含む。操作ボタン群120は、○ボタン124、×ボタン126、□ボタン128、および△ボタン130を含む。
ユーザは左手で左側把持部134bを把持し、右手で右側把持部134aを把持して、筐体上面122上の方向キー群116、アナログスティック118、および操作ボタン群120を操作する。
さらに、コントローラ102の筐体前面には、右側操作部150と左側操作部160が設けられている。右側操作部150はR1ボタン151とR2ボタン152を含み、左側操作部160はL1ボタン161とL2ボタン162を含む。
ユーザは、方向キー群116を操作することにより、画面上の表示されたポインタを上下左右の各方向に移動させることができる。たとえば、パノラマ画像内に表示された複数のマーカーのいずれかを選択する際、方向キー群116を操作して画面上で複数のマーカー間を移動することができる。ユーザは所望のマーカー上にポインタが来たときに、○ボタン124を押すことでそのマーカーを選択することができる。
操作ボタン群120の各ボタンには、パノラマ画像表示アプリケーションプログラムによりそれぞれ異なる機能が割り付けられてもよい。たとえば、△ボタン130にはメニューの表示を指定する機能、×ボタン126には、選択した項目の取り消し等を指定する機能、○ボタン124には選択した項目の決定等を指定する機能、□ボタン128には、目次等の表示/非表示を指定する機能がそれぞれ割り付けられる。
アナログスティック118は、ユーザによって傾倒操作されたとき、アナログ値を出力する手段を備える。コントローラ102は、アナログスティック118を傾倒したときの方向と量に応じたアナログ出力信号をパノラマ画像表示装置100に送る。たとえば、ユーザは、アナログスティック118を所望の方向に傾倒することで、ディスプレイに表示された3次元パノラマ画像内で視点を所望の方向に移動させることができる。
筐体上面122には、さらにLED付きボタン136、セレクトボタン140、スタートボタン138が設けられる。LED付きボタン136は、たとえば、ディスプレイにメニュー画面を表示させるためのボタンとして利用される。スタートボタン138は、パノラマ画像表示アプリケーションの起動、パノラマ画像の再生開始、一時停止などをユーザが指示するためのボタンである。セレクトボタン140は、ディスプレイに表示されたメニュー表示の選択等をユーザが指示するためのボタンである。
図3(a)〜(d)は、パノラマ画像を撮影するために用いられる全方位撮影システム230の機構と撮影方向を説明する図である。
図3(d)に示すように、全方位撮影システム230において、カメラ200は操作盤210に固定されており、操作盤210をZ軸周りに回転させることでカメラのパン角を変え、X軸周りに回転させることでカメラのチルト角を変え、Y軸周りに回転させることでカメラのロール角を変えることができる。ここでZ軸は鉛直軸(重力方向軸)である。
図3(a)は、操作盤210に設置されたカメラ200の上面図であり、操作盤の初期位置(Y軸方向)をパン角0°とし、Z軸の周りに−180°〜+180°の範囲でパン角を変えることができる。
図3(b)は、操作盤210に設置されたカメラ200の正面図であり、操作盤210が水平に置かれた状態をロール角0°とし、Y軸の周りに−180°〜+180°の範囲でロール角を変えることができる。
図3(c)は、操作盤210に設置されたカメラ200の側面図であり、操作盤210が水平に置かれた状態をチルト角0°とし、X軸の周りに−90°〜+90°の範囲でチルト角を変えることができる。
図3(d)の全方位撮影システム230により撮影されるパノラマ画像に撮影方位に関する情報を付与するためには、カメラ200が撮影時にどの方位に向いていたかを記録しておく必要がある。そのために、全方位撮影システム230は、方位を測定するための方位センサや傾斜角を測定するための加速度センサなどを備える。さらに、撮影位置や撮影時間を測定するためにGPSセンサなども備える。
図4(a)はカメラ200の方位角θ、図4(b)はカメラ200の仰角φを説明する図である。図4(a)はカメラ200の上面図であり、カメラ200は撮影の初期位置において、真北から東へ方位角θだけずれた方向220を向いており、この方向がパン角0°に相当する。すなわちパン角の基準方向220の方位角はθである。パノラマ画像を撮影するとき、この方位角θの基準方向220に対して−180°〜+180°の範囲でパン角を変えながら、被写体をパノラマ撮影する。
図4(b)はカメラ200の側面図であり、仰角φは、X軸周りにカメラ200を回転させた場合に、チルト0°の方向、すなわちY軸方向に対して上方向を正と定義する角度である。通常、カメラ200を水平ポジションに設定して撮影するので仰角φ=0°であるが、全天球のパノラマ画像を撮影するには、カメラをチルトさせて仰角φを変えて被写体を撮影する必要がある。
図5(a)〜(c)は、カメラ200の初期位置が方位角θの方向にある場合に撮影されるパノラマ画像を説明する図である。
図5(a)の上面図に示すように、初期位置においてカメラ200は方位角θの方向220を向いており、図5(b)の側面図に示すように、カメラ200の仰角φ=0°である。仰角φ=0°に保ちながら、基準方向220に対してカメラ200のパン角を−180°から+180°の範囲で変化させながら、仰角φ=0°における全方位のパノラマ画像を撮影する。図5(c)は、このようにして撮影されたパノラマ画像300を示す。パノラマ画像300の中心はパン角0°であり、パノラマ画像300の左半分はパン角を0°から−180°まで変えて撮影された画像であり、右半分はパン角を0°から180°まで変えて撮影された画像である。
パノラマ画像300のパン角0°の中心位置は、真北から方位角θだけ東にずれているから、北(N)、南(S)、東(E)、西(W)の位置は点線で示す箇所になる。パノラマ画像300は、撮影方位に関する情報として、パン角0°の中心位置の方位角θをもってさえいれば、北(N)、南(S)、東(E)、西(W)のピクセル位置は、方位角θのずれを考慮して計算で求めることができる。あるいは、方位角θの代わりに、北(N)、南(S)、東(E)、西(W)のピクセル位置の座標値を撮影方位に関する情報としてもうようにしてもよい。
全天球のパノラマ画像を得るためには、カメラ200の仰角を変えて撮影する必要がある。たとえば、カメラ200の画角が60°であるとすると、原理的にはカメラ200を上下に±60°チルトさせた上で、パン角を−180°〜180°の範囲で変えながら同様の撮影を行えば、全天球のパノラマ画像を得ることができる。
図6(a)〜(c)は、カメラ200の仰角φ=60°の場合に撮影されるパノラマ画像を説明する図である。図6(a)の上面図に示すように、初期位置においてカメラ200は方位角θの方向220を向いており、図6(b)の側面図に示すように、カメラ200の仰角φ=60°である。仰角φ=60°に保ちながら、基準方向220に対してカメラ200のパン角を−180°から+180°の範囲で変化させながら、図6(c)に示すような、仰角φ=60°におけるパノラマ画像302を撮影する。
同様にして、カメラ200の仰角をφ=−60°に保ちながら、パン角を−180°から+180°の範囲で変化させながら、仰角φ=−60°におけるパノラマ画像を撮影する。仰角φ=0°、60°、−60°のパノラマ画像を組み合わせれば、全天球パノラマ画像が得られる。もっとも、実装上は、画角の境界部分で画像を貼り合わせる際にレンズの歪みから生じる不整合を補正するために、境界付近をだぶらせて撮影する方法を採ることが多い。
このようにして得られた全天球パノラマ画像には、方位角および仰角の情報が付与されており、その情報にもとづいてパノラマ画像の任意のピクセルについて方位と仰角を特定可能である。また、パノラマ画像には撮影場所の位置情報としてGPSにより測定された緯度・経度情報も付与される。パノラマ画像に付与すべき付加情報は、一例として、Exif(Exchangeable Image File Format)と呼ばれる画像ファイルの規格にしたがって記録してもよい。撮影場所の地名はファイル名の一部に記録し、撮影日時、撮影場所の緯度・経度、高度、方位角などをExif形式のデータとして記録することができる。仰角はExif形式では定義されていないが、拡張データとして記録する。
図7Aおよび図7Bは、複数の画像をつなぎ合わせてパノラマ画像を作成する方法を説明する図である。
図7Aの例では、カメラ200をチルト(またはパン)させながら撮影された7枚の画像341〜347を円筒にマッピングした後、つなぎ合わせて円筒状の画像340を作成する。画像をつなぎ合わせるとき、画像の境界付近をオーバーラップさせる。
図7Bに示すように、カメラ200をパン(またはチルト)させて撮影することで、図7Aで示した円筒状の画像がパン(またはチルト)方向に複数得られる。これらの円筒状の画像340a〜340fを画像の境界付近をオーバーラップさせて合成することで、全方位のパノラマ画像360が最終的に得られる。
図8(a)〜(e)は、複数の画像をつなぎ合わせるときの色差補正によるアライメントの方法を説明する図である。
複数の画像を境界付近でオーバーラップさせてパノラマ画像を生成するとき、オーバーラップ部分では、レンズ歪みによる不整合が生じる。たとえば、図8(a)に示す2枚の画像350、352を平行移動させてつなぎ合わせただけでは、図8(b)のようにオーバーラップ部分で画像がうまく重ならない。そこで、図8(c)〜図8(e)に示すように片方の画像352をさらに回転させることで、二つの画像350、352のオーバーラップ部分のピクセルの色差がもっとも小さくなる配置(アライメント)を探索する。この例では、図8(e)の配置において、オーバーラップ部分の色差がもっとも小さい。図7Aおよび図7Bで説明した複数の画像のつなぎ合わせの際、画像を平行移動・回転させて色差補正することにより、最適なアライメントを求めて画像を合成する。
図9(a)〜(c)は、レンズ歪みの補正を説明する図である。撮影画像には、一般に図9(a)のような樽型歪みや、図9(b)のような糸巻き型歪みが生じる。そこで、パノラマ画像を作成するときは、図9(c)のように、光学的な歪みを補正する。歪みが補正したパノラマ画像に対してマーカーを関連付けるため、マーカーが示す方向と、マーカーが関連付けられたパノラマ画像上の位置が示す撮影方向とはほぼ正確に一致するようになり、レンズ歪みによる誤差の影響をほとんど受けることがない。
図10は、2次元地図上の撮影場所にシンボルとして表示されるパノラマ画像を説明する図である。南アメリカの地点A、B、Cで撮影されたパノラマ画像が存在するとき、地図生成部20は、南アメリカの地図上の地点A、B、Cにパノラマ画像のシンボル400a、400b、400cを合成した地図画像を生成する。このシンボルは、パノラマ画像のサムネイル画像やアイコンなどである。表示された地図は、縮尺を変更することも可能である。ユーザは、地図を閲覧しながら、所望の地点で撮影されたパノラマ画像を選択する。
地図生成部20は、地球を3次元表示し、地球の表面上の地点にパノラマ画像をシンボル表示してもよい。図11は、3次元表示された地球の表面上の撮影場所にシンボルとして表示されるパノラマ画像を説明する図である。図10と同様、南アメリカの地点A、B、Cにパノラマ画像のシンボル400a、400b、400cを合成した画像が3次元表示されている。ユーザは地球を回転させながら、所望の地点で撮影されたパノラマ画像を選択する。地球のある地点を指定してズームインすると、地図が拡大表示される。拡大表示の際、自動的に図10のような2次元地図に移行することもある。
図12は、マーカーが関連付けられたパノラマ画像を説明する図である。ここでは、図10または図11の撮影地点Aのパノラマ画像300を例に説明する。撮影地点Aから見て撮影地点Bは南東方向、撮影地点Cは南西方向にある。撮影地点Aのパノラマ画像300には、南東方向に撮影地点Bのパノラマ画像があり、南西方向には撮影地点Cのパノラマ画像があることを示すためのマーカー310、312が関連付けられる。撮影地点Bに対応するマーカー310は、パノラマ画像300の南東の方位のピクセル位置に関連付けられ、撮影地点Cに対応するマーカー312は、パノラマ画像300の南西の方位のピクセル位置に関連付けられる。撮影地点Bは撮影地点Cに比べて撮影地点Aに近い位置にあるため、撮影地点Bに対応するマーカー310は、撮影地点Cに対応するマーカー312によりも強調して表示される。たとえば、マーカーのサイズを大きくしたり、マーカーの色を濃くする。
図13は、図12のマーカーが関連付けられたパノラマ画像300が3次元表示される様子を模式的に示す図である。撮影地点Aのパノラマ画像300は球面や円柱面などの3次元パノラマ空間にテクスチャマッピングされており、視点500から視線方向510に3次元パノラマ空間を見たときの3次元画像が画面に表示される。視線方向510を南東方向に向けると、パノラマ画像300上に関連付けられた撮影地点Bのマーカー310が目に入り、視線方向510を南西方向に向けると、撮影地点Cのマーカー312が目に入る。
図13において、ユーザが撮影地点Bのマーカー310を選択したとする。このとき、これまで表示していた撮影地点Aのパノラマ画像300に代えて、撮影地点Bのパノラマ画像320が表示される。
図14は、撮影地点Bのマーカー310を選択したときに3次元表示される撮影地点Bのパノラマ画像320を説明する図である。撮影地点Bのパノラマ画像320にも同様に、他の撮影地点のパノラマ画像が存在することを示すマーカーが関連付けられており、ここでは撮影地点Cのマーカー312が表示されている。
撮影地点Aのパノラマ画像300から撮影地点Bのパノラマ画像320に切り替わるとき、ユーザの視線方向510を、撮影地点Aから撮影地点Bを見る方向、すなわち南東方向に設定してもよい。これにより、ユーザは撮影地点Aから撮影地点Bに向かう方向を見ながら、撮影地点Bにワープしたような感覚をもつことができる。
図15は、撮影地点Aから撮影地点Bに視点500が移動したときの視線方向510の他の設定例を説明する図である。この例では、撮影地点Aのパノラマ画像300から撮影地点Bのパノラマ画像320に切り替わるとき、ユーザの視線方向510を、撮影地点Bから撮影地点Aを振り返る方向、すなわち北西方向に設定する。これにより、撮影地点Bに視点500が移動したとき、ユーザは正面のパノラマ画像320ではなく、背面のパノラマ画像322を見ることになる。
背面のパノラマ画像322には、北西方向の位置に撮影地点Aに対応するマーカー314が関連付けられており、ユーザは撮影地点Bに移動したとき、直前にいた撮影地点Aのマーカー314を目の前に見ることになる。ユーザは、撮影地点Aから撮影地点Bにワープしたとき、あたかも撮影地点Aを振り返って見ているような感覚をもつことができる。また、ユーザが撮影地点Aに戻って、撮影地点Aのパノラマ画像300を再度閲覧したいときは、目の前に撮影地点Aのマーカー314が表示されていることから、直ちに撮影地点Aのマーカー314を選択して、撮影地点Aのパノラマ画像300に切り替えることができる。
別の視線方向510の設定例を説明する。移動先の撮影地点のパノラマ画像が全方位画像ではなく、一部のパン角の範囲しか撮影されていないとする。移動先の視線方向510を上述のように移動先を見る方向や移動元を振り返る方向に設定すると、移動先のパノラマ画像においてその方向の撮影画像が存在しないことがあり、その場合、空白の画面が表示されてしまう。空白画面になることを回避するために、移動先のパノラマ画像における初期の視線方向510は、移動先のパノラマ画像のパン角0°の方向に設定してもよい。あるいは、移動先のパノラマ画像における視線方向510をあらかじめ所望の方向に決めておいてもよい。この所望の方向はユーザが決めてもよく、あるいは、システム側で、たとえば、そのパノラマ画像において推奨される視線方向などに自動的に設定してもよい。
以上述べたように、本実施の形態のパノラマ画像表示装置によれば、撮影場所の異なるパノラマ画像が複数与えられたとき、あるパノラマ画像の撮影方向に他のパノラマ画像の撮影場所があることが視覚的に確認できるように、パノラマ画像が関連づけられる。これにより、ある撮影場所から別の撮影場所にワープするがごとく、パノラマ画像を切り替えて表示することができる。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
図10や図11のように地図上の撮影地点にパノラマ画像のシンボルを表示する画面において、パノラマ画像のプレビューを表示可能に構成してもよい。プレビューでは、たとえば、サムネイル画像の形式でパノラマ画像の一部を表示し、サムネイル画像枠の中で、パン角やチルト角を徐々に変化させることでパノラマ画像の全体が閲覧できるようにする。また、このようにしてパノラマ画像のプレビューを表示しているとき、パン角の方向が地図上でどの方角であるかを矢印などで表示してもよい。
上記の説明では、マーカーが関連付けられたパノラマ画像を球面などの3次元パノラマ空間にマッピングし、指定された視線方向から3次元パノラマ空間を見た場合の3次元パノラマ画像を画面に表示したが、マーカーが関連付けられたパノラマ画像を単に2次元表示するだけでもよい。この場合、マッピング処理部14および3次元画像生成部16の構成は不要であり、パノラマ画像表示装置100を簡素化できる。この場合でも2次元表示されたパノラマ画像のマーカーをユーザが選択すると、マーカーに対応するパノラマ画像に切り替えて表示される。
パノラマ画像は図3のような全方位撮影システムで撮影されたものに限らず、魚眼レンズを用いて撮影された画像や、撮影方向を変えながら通常のデジタルカメラで撮影された複数の画像を合成した画像であってもよい。
上記の説明では、マーカー設定部12が、マーカーを合成する前のパノラマ画像を3次元パノラマ空間にマッピングした後、マーカーを3次元パノラマ空間にマッピングすることで、3次元パノラマ画像にマーカーを重ねて表示させた。パノラマ画像にマーカーを合成する別の方法として、マッピング処理部14は、表示対象のパノラマ画像にマーカーを合成した上で、マッピング処理部14がマーカーの合成されたパノラマ画像を3次元パノラマ空間にテクスチャマッピングするようにしてもよい。いずれにしても、表示対象のパノラマ画像に対してマーカーを表示すべき位置が関連付けられてさえいれば、任意の段階で表示対象のパノラマ画像にマーカーを合成することが可能であり、また、すべてのマーカーを合成せずに、合成すべきマーカーを適宜選択してから合成することも可能である。また、新たに撮影されたパノラマ画像がパノラマ画像・付加データ記憶部24に登録された場合、新たに登録されたパノラマ画像のマーカーを既に表示されているパノラマ画像に追加して表示してもよい。
パノラマ画像内にマーカーを表示する際、撮影地点Aと撮影地点Bの緯度が同じで、撮影地点Bが撮影地点Aの東側にある場合であっても、撮影地点Bが別の国にある場合には、撮影地点Bのマーカーの表示態様を変えてもよい。たとえば、表示されているパノラマ画像の撮影国とは異なる国で撮影されたパノラマ画像をマーカーで表示するときは、マーカーの形状を撮影地点の国の国旗で表すようにする。また、撮影地点Bが撮影地点Aから見て地球の裏側にあるような場合には、撮影地点Aの全天球パノラマ画像の底部に撮影地点Bのマーカーを表示してもよい。