【新規性喪失の例外の表示】特許法第30条第2項適用 平成24年12月5日掲載、http://www.nintendo.co.jp/corporate/direct_links/index.htmlのページ内の“Nintendo Direct 2012.12.5”の動画(ただし、現在は公開されておらず、上記アドレスのページにおいても公開されていない。)
【新規性喪失の例外の表示】特許法第30条第2項適用 平成25年2月7日掲載、http://www.nintendo.co.jp/wiiu/whxj/index.html http://www.nintendo.co.jp/wiiu/interview/hardware/vol12/index.html http://www.nintendo.co.jp/wiiu/movie/index.html のページ内の“Wii Street U powered by Google 紹介映像”の動画
【新規性喪失の例外の表示】特許法第30条第2項適用 平成25年2月7日配布、任天堂株式会社が、任天堂株式会社が製造するゲーム機(Wii U)によってアクセス可能なサーバにおいて、鈴木利明およびローリー ジョンソンが発明した発明に関連する事項として、パノラマ画像の閲覧ソフト(Wii Street U powered by Google)の日本版を、日本における当該ゲーム機によってダウンロードを行うことが可能な状態とした。また、配布開始日(2月7日)の後、鈴木利明が発明した発明と無関係な部分について当該閲覧ソフトに修正/変更を加えるアップデートを随時行っている。例えば、2月14日には、世界のいくつかの地域(北米、欧州、豪州)において当該地域用(英語版)の上記閲覧ソフトをダウンロード可能な状態とした。
【新規性喪失の例外の表示】特許法第30条第2項適用 平成25年2月14日公開、任天堂株式会社が、家電量販店等に設置され、任天堂株式会社が製造するゲーム機(Wii U)上で実行可能なゲームソフト等のテレビコマーシャルやその紹介映像を再生する広告用映像機器において、鈴木利明およびローリー ジョンソンが発明した発明に関連する事項として、パノラマ画像の閲覧ソフト(Wii Street U powered by Google)の映像を公開した。
【新規性喪失の例外の表示】特許法第30条第2項適用 平成25年2月21日公開、任天堂株式会社が、JR東日本の山手線・中央線の駅構内の看板において、鈴木利明およびローリー ジョンソンが発明した発明に関連する事項として、パノラマ画像の閲覧ソフト(Wii Street U powered by Google)のポスター広告(6種類)を公開した。なお、ポスター広告公開のための実際の作業は、任天堂株式会社による依頼によって広告代理店によって行われた。
(58)【調査した分野】(Int.Cl.,DB名)
前記オブジェクト配置部は、前記第1制御モードにおいて、前記基準面上からの基準距離を保って前記オブジェクトを配置し、前記第2制御モードにおいて、前記基準面から前記基準距離よりも離れてオブジェクトを配置する、請求項1に記載の表示制御システム。
前記オブジェクト配置部は、前記第1制御モードにおいて、前記視線方向の変化に関わらず前記基準面上からの基準距離を保って前記オブジェクトを配置する、請求項1または請求項2に記載の表示制御システム。
前記オブジェクト配置部は、前記第1制御モードにおいて前記視線方向が変化したことによって前記オブジェクトが前記視野範囲から外れないように、前記第1制御モードから前記第2制御モードへと制御モードを切り替える、請求項1から請求項3のいずれか1項に記載の表示制御システム。
前記オブジェクト配置部は、前記第2制御モードにおいて、前記視線方向により決められる視野範囲に含まれる位置に前記オブジェクトを配置する、請求項1から請求項6のいずれか1項に記載の表示制御システム。
前記オブジェクト配置部は、前記第2制御モードにおいて、前記視線方向と前記オブジェクトとの位置関係が、前記第2制御モードへ移行する直前の前記第1制御モードにおける位置関係を維持するように、前記オブジェクトを配置する、請求項1から請求項7のいずれか1項に記載の表示制御システム。
前記オブジェクト配置部は、前記第1制御モードにおいて、前記オブジェクトの姿勢が前記基準面に対応するように前記オブジェクトを配置し、前記第2制御モードにおいて、前記オブジェクトの姿勢が前記視線方向に対応するように前記オブジェクトを配置する、請求項1から請求項8のいずれか1項に記載の表示制御システム。
前記オブジェクト配置部は、前記第1制御モードにおいて、前記視線方向に応じて前記オブジェクトを前記基準面に沿って移動させる、請求項1から請求項9のいずれか1項に記載の表示制御システム。
前記オブジェクト配置部は、前記第1制御モードにおいて、前記視線方向により決められる視野範囲に含まれる位置に前記オブジェクトを配置する、請求項10に記載の表示制御システム。
前記オブジェクト配置部は、前記視線方向が前記基準面上の所定範囲内を向く場合に制御モードを前記第1制御モードに設定し、前記視線方向が当該所定範囲内から外れたことに応じて制御モードを前記第2制御モードに切り替える、請求項1から請求項11のいずれか1項に記載の表示制御システム。
前記オブジェクト配置部は、前記視線方向が前記基準面を向く度合いに応じて前記第1制御モードと前記第2制御モードとを切り替える、請求項1から請求項12のいずれか1項に記載の表示制御システム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来においては、パノラマ画像に重ねて表示されるオブジェクトが見えなくなったり見づらくなったりして、オブジェクトの視認性が悪くなる場合があった。
【0005】
それ故、本発明の目的の一つは、パノラマ画像等、3次元空間を表す画像に重ねて表示されるオブジェクトの視認性を向上することが可能な表示制御システム、表示制御装置、表示制御プログラム、および表示制御方法を提供することである。
【課題を解決するための手段】
【0006】
上記の課題を解決すべく、本発明は、以下の(1)〜(17)の構成を採用した。
【0007】
(1)
本発明の一例は、現実世界または仮想世界を表す3次元空間の画像を表示装置に表示させる表示制御システムである。表示制御システムは、オブジェクト配置部と、表示制御部とを備える。オブジェクト配置部は、3次元空間において決定される視線方向に基づいて3次元空間にオブジェクトを配置する。表示制御部は、3次元空間のうち、視線方向によって決められる視野範囲の画像を表示装置に表示させる。オブジェクト配置部は、3次元空間に設定される基準面上または当該基準面の近傍の領域にオブジェクトを配置する第1制御モードと、当該領域から離れてオブジェクトを配置する第2制御モードとを含む複数の制御モードのいずれかでオブジェクトを配置し、視線方向に応じて第1制御モードと第2制御モードとを切り替える。
【0008】
上記(1)の構成によれば、基準面上または基準面の近傍の領域にオブジェクトが配置される第1制御モードと、当該領域から離れてオブジェクトを配置する第2制御モードとが、視線方向に応じて切り替えられる。これによれば、第1制御モードではオブジェクトを表示できない場合であっても、必要に応じて第2制御モードに切り替えることによって、オブジェクトを表示することができるので、オブジェクトの視認性を向上することができる。
【0009】
(2)
オブジェクト配置部は、第1制御モードにおいて、基準面上からの基準距離を保ってオブジェクトを配置し、第2制御モードにおいて、基準面から基準距離よりも離れてオブジェクトを配置してもよい。
【0010】
上記「基準距離」は、必ずしも固定値である必要はなく、基準面に沿ってオブジェクトが移動する範囲で、あるいは、基準面の近傍にオブジェクトが配置される範囲で、可変であってもよい。つまり、上記「基準距離を保ってオブジェクトを配置する」とは、基準面からの距離を一定としてオブジェクトを配置する態様、基準面からの距離が変化しつつ基準面に沿ってオブジェクトが移動するようにオブジェクトを配置する態様、および、基準面の近傍にオブジェクトを配置する態様を含む意味である。また、「基準距離」は0であってもよい。つまり、つまり、上記「基準距離を保ってオブジェクトを配置する」とは、基準面上にオブジェクトを配置する態様を含む意味である。
【0011】
上記(2)の構成によれば、第1制御モードにおいては、基準面上または基準面から基準距離を保ってオブジェクトが配置され、第2制御モードにおいては、基準距離よりも離れてオブジェクトが配置される。したがって、上記(1)の構成と同様、第1制御モードではオブジェクトを表示できない場合であっても、第2制御モードにおいてオブジェクトを表示することができるので、オブジェクトの視認性を向上することができる。
【0012】
(3)
オブジェクト配置部は、第1制御モードにおいて、視線方向の変化に関わらず基準面上からの基準距離を保ってオブジェクトを配置してもよい。
【0013】
上記(3)の構成によれば、第1制御モードにおいては、視線方向が変化しても基準面に沿ってオブジェクトが配置される。これによって、オブジェクトと基準面との対応をわかりやすく提示することができる。例えば、オブジェクトが、基準面上における方向および/または位置を示す場合には、これらの方向および/または位置をユーザにわかりやすく提示することができる。
【0014】
(4)
オブジェクト配置部は、第1制御モードにおいて視線方向が変化したことによってオブジェクトが視野範囲から外れないように、第1制御モードから第2制御モードへと制御モードを切り替えてもよい。
【0015】
なお、上記(4)の構成は、第1制御モードから第2制御モードへの移行時にオブジェクトが表示されることを特定するが、オブジェクトが常に表示されることを特定するものではない。例えば、第2制御モードに移行した後で(例えば第1制御モードおよび第2制御モードとは異なる他の制御モードに切り替わることによって)オブジェクトが表示されなくなってもよい。また例えば、視線方向の変化以外の理由で(例えば、オブジェクトの表示/非表示がユーザの指示に応じて又はユーザからの指示無く自動的に切り替えられることによって)オブジェクトが表示されなくなってもよい。
【0016】
上記(4)の構成によれば、第1制御モードにおいてオブジェクトが視野範囲から外れそうになる場合には、制御モードが第2制御モードに切り替えられ、その結果、オブジェクトは視野範囲内の位置を維持する。これによって、第1制御モードのみではオブジェクトを表示できない場合でも第2制御モードによってオブジェクトを表示することができる。すなわち、上記(2)の構成によれば、より多くの機会にオブジェクトを表示させることができ、オブジェクトの視認性を向上することができる。なお、「オブジェクトが視野範囲から外れる」とは、視野範囲からオブジェクトが完全に外れる場合を指すのであって、視野範囲にオブジェクトの一部だけでも含まれている場合は「オブジェクトが視野範囲から外れる」には該当しない。
【0017】
(5)
オブジェクトは、3次元空間が表す現実世界または仮想世界における方向を示してもよい。
【0018】
上記(5)の構成によれば、3次元空間が表す現実世界または仮想世界における方向を、オブジェクトによってユーザにわかりやすく提示することができる。
【0019】
(6)
表示制御システムは、表示装置に表示されたオブジェクトを指定する入力を受け付ける入力受付部をさらに備えてもよい。このとき、表示制御部は、オブジェクトを指定する入力が受け付けられたことに応じて、指定されたオブジェクトに関連づけられる方向へ現実世界または仮想世界における視点の位置が移動するように3次元空間の画像を変化させて表示装置に表示させてもよい。
【0020】
上記(6)の構成によれば、オブジェクトを指定する入力に応じて、視点の位置が移動するように3次元空間の画像が変化する。したがって、ユーザは、オブジェクトを指定することで、表示されている現実世界の視点を移動させることができるので、わかりやすい操作で視点の移動を行うことができる。また、上記(1)の構成によってオブジェクトは視認性良く表示されるので、オブジェクトを指定する操作が容易になる。
【0021】
(7)
オブジェクト配置部は、第2制御モードにおいて、視線方向により決められる視野範囲に含まれる位置にオブジェクトを配置してもよい。
【0022】
上記(7)の構成によれば、第2制御モードにおいてオブジェクト(の少なくとも一部)をより確実に表示させることができる。
【0023】
(8)
オブジェクト配置部は、第2制御モードにおいて、視線方向とオブジェクトとの位置関係が、第2制御モードへ移行する直前の第1制御モードにおける位置関係を維持するように、オブジェクトを配置してもよい。
【0024】
上記(8)の構成によれば、第1制御モードから第2制御モードへ制御モードが切り替わる際、視線方向(視点から視線方向へ延びる直線)とオブジェクトとの位置関係は切り替えの前後において維持される。したがって、第1制御モードから第2制御モードへ制御モードが切り替わる際にオブジェクトの表示位置が維持されるので、切り替わり時にユーザがオブジェクトを見失うおそれを低減することができる。これによって、オブジェクトの視認性を向上することができる。
【0025】
(9)
オブジェクト配置部は、第1制御モードにおいて、オブジェクトの姿勢が基準面に対応するようにオブジェクトを配置し、第2制御モードにおいて、オブジェクトの姿勢が視線方向に対応するようにオブジェクトを配置してもよい。
【0026】
上記(9)の構成によれば、第1制御モードと第2制御モードとでオブジェクトの姿勢の制御方法を変化させることによって、各制御モードにおいてオブジェクトを見やすく表示することができる。
【0027】
(10)
オブジェクト配置部は、第1制御モードにおいて、視線方向に応じてオブジェクトを基準面に沿って移動させてもよい。
【0028】
上記(10)の構成によれば、オブジェクトは視線方向に応じて基準面に沿って移動するので、オブジェクトと基準面との対応がわかりやすく提示される。例えば、オブジェクトが、基準面上における方向および/または位置を示す場合には、これらの方向および/または位置をユーザにわかりやすく提示することができる。
【0029】
(11)
オブジェクト配置部は、第1制御モードにおいて、視線方向により決められる視野範囲に含まれる位置にオブジェクトを配置してもよい。
【0030】
上記(11)の構成によれば、第1制御モードにおいてオブジェクト(の少なくとも一部)をより確実に表示させることができる。
【0031】
(12)
オブジェクト配置部は、視線方向が基準面上の所定範囲内を向く場合に制御モードを第1制御モードに設定し、視線方向が当該所定範囲内から外れたことに応じて制御モードを第2制御モードに切り替えてもよい。
【0032】
なお、上記(12)の構成においては、視線方向が所定範囲内を向くか否かで制御モードが切り替えられるが、視線方向が所定範囲内を向くか否かの判定方法は任意である。この判定は、視点から視線方向に延びる直線を用いて行われてもよいし、視線方向に応じて決まる他の情報(例えば、画面上におけるオブジェクトの表示位置)を用いて行われてもよい。
【0033】
上記(12)の構成によれば、視線方向が基準面上の所定範囲内を向く状態では制御モードが第1制御モードに設定され、オブジェクトは、基準面上に、または、基準面から基準距離を保って配置される。また、視線方向が上記所定範囲内から外れた状態へと変化することに応じて、制御モードが第2制御モードに切り替えられ、オブジェクトは、基準面から離れて配置される。これによれば、視線方向が基準面上の所定範囲の方を向く場合には、基準面との対応がわかりやすい態様でオブジェクトを配置することができるとともに、視線方向が基準面から外れる場合であっても、オブジェクトを表示させることができる。
【0034】
(13)
オブジェクト配置部は、視線方向が基準面を向く度合いに応じて第1制御モードと第2制御モードとを切り替えてもよい。
【0035】
上記(13)の構成によれば、視線方向が基準面を向く度合いに応じて制御モードを切り替えることができる。これによれば、例えば、視線方向が基準面を向く状態では制御モードが第1制御モードに設定され、オブジェクトは、基準面上に、または、基準面の近傍に配置される。また、視線方向が基準面を向かない状態へと変化することに応じて、制御モードが第2制御モードに切り替えられ、オブジェクトは、基準面から離れて配置される。これによれば、視線方向が基準面の方を向く場合には、基準面との対応がわかりやすい態様でオブジェクトを配置することができるとともに、視線方向が基準面から外れる場合であっても、オブジェクトを表示させることができる。
【0036】
(14)
表示制御部は、基準面上にオブジェクトの影を表す画像をさらに表示させてもよい。
【0037】
上記(14)の構成によれば、影を表す画像によって、オブジェクトの基準面上での位置をユーザに直感的に認識させることができ、オブジェクトの位置をわかりやすく提示することができる。また、影を表す画像によって、3次元空間が表す現実世界または仮想世界にオブジェクトが存在するように見せることができ、オブジェクトをユーザに違和感なく提示することができる。
【0038】
(15)
基準面は、3次元空間が表す現実世界または仮想世界の地面に対応するように設定さてもよい。
【0039】
上記(15)の構成によれば、第1制御モードにおいて、現実世界または仮想世界の地面に応じた位置にオブジェクトを表示することができる。
【0040】
(16)
表示制御システムは、可搬型の入力装置を備えていてもよい。また、表示制御システムは、入力装置の姿勢に応じて視線方向を制御する視線制御部をさらに備えていてもよい。
【0041】
上記(16)の構成によれば、ユーザは、入力装置の姿勢を変化させるという直感的な操作で視線方向を変化させることができる。
【0042】
(17)
本発明の他の一例は、パノラマ画像を表示装置に表示させる表示制御システムである。表示制御システムは、表示制御部と、オブジェクト表示部とを備える。表示制御部は、仮想カメラの視線方向によって決められる視野範囲のパノラマ画像を表示装置に表示させる。オブジェクト表示部は、仮想カメラの視線方向に基づいてパノラマ画像上にオブジェクトを表示する。オブジェクト表示部は、仮想カメラの視線方向の変化に関わらずオブジェクトがパノラマ画像における地面の近傍を保って配置されるように表示する第1制御モードと、オブジェクトがパノラマ画像における地面から離れて配置されるように表示する第2制御モードとを含む複数の制御モードのいずれかでオブジェクトを表示し、仮想カメラの視線方向がパノラマ画像における地面を向く度合に応じて第1制御モードと第2制御モードとを切り替える。
【0043】
上記(17)の構成によれば、パノラマ画像における地面の近傍にオブジェクトが配置されるように表示される第1制御モードと、当該地面から離れてオブジェクトが配置されるように表示される第2制御モードとが、視線方向が地面を向く度合に応じて切り替えられる。これによれば、第1制御モードではオブジェクトを表示できない場合であっても、必要に応じて第2制御モードに切り替えることによって、オブジェクトを表示することができるので、パノラマ画像とともに表示するオブジェクトの視認性を向上することができる。
【0044】
なお、本発明の別の一例は、上記(1)〜(17)の表示制御システムと同等の機能(上記(16)における入力装置を備えていなくてもよい)を備える表示制御装置であってもよい。また、本発明の別の一例は、上記表示制御システムにおける各部と同等の手段として情報処理装置のコンピュータを機能させる表示制御プログラムであってもよい。さらに、本発明の別の一例は、上記(1)〜(17)の表示制御システムにおいて行われる表示制御方法の形態であってもよい。
【発明の効果】
【0045】
本発明によれば、オブジェクトの配置に関する制御方法を視線方向に応じて切り替えることによって、オブジェクトを表示する機会を増やすことができ、オブジェクトの視認性を向上することができる。
【発明を実施するための形態】
【0047】
[1.情報処理システムの構成]
以下、本実施形態の一例に係る表示制御システム、表示制御装置、表示制御プログラム、および表示制御方法について説明する。
図1は、本実施形態に係る表示制御システムの一例を示すブロック図である。
図1において、表示制御システムの一例である情報処理システム1は、情報処理装置2、および、端末装置3を備える。本実施形態における情報処理システム1は、現実世界を表すパノラマ画像を表示装置(端末装置3)に表示するものである。
【0048】
情報処理システム1は、表示制御装置の一例である情報処理装置2を含む。情報処理装置2は、パノラマ画像を表示装置に表示させる表示制御処理等、情報処理システム1において実行される情報処理を実行する。情報処理装置2は、パーソナルコンピュータ、ゲーム装置、携帯端末、スマートフォン等、どのような形態の情報処理装置であってもよい。情報処理装置2は、端末装置3と通信可能である。情報処理装置2と端末装置3との通信は、有線であってもよいし無線であってもよい。
【0049】
図1に示すように、情報処理装置2は、CPU11、メモリ12、および、プログラム記憶部13を備える。CPU11は、所定の表示制御プログラムをメモリ12を用いて実行することによって、上記表示制御処理を実行する。なお、情報処理装置2は、情報処理を実行することができればどのような構成であってもよく、例えば情報処理の一部または全部が専用回路によって実行されてもよい。本実施形態においては、上記表示制御処理によって情報処理装置2が画像を生成し、生成された画像が情報処理装置2から端末装置3へ出力される。
【0050】
プログラム記憶部13は、上記表示制御プログラムを記憶する。プログラム記憶部13は、CPU11がアクセス可能な任意の記憶装置である。プログラム記憶部13は、例えばハードディスク等の、情報処理装置2に内蔵される記憶部であってもよいし、例えば光ディスク等の、情報処理装置2に着脱可能な記憶部であってもよい。
【0051】
情報処理システム1は端末装置3を含む。
図2は、端末装置3の外観構成の一例を示す図である。端末装置3は、表示部の一例であるLCD(液晶表示装置)14を有する。つまり、端末装置3は表示装置と言うことができる。本実施形態においては、端末装置3は、可搬型(携帯型とも言う)の表示装置である。端末装置3は、情報処理装置2から送信されてくる画像を受信し、画像をLCD14に表示する。
【0052】
また、端末装置3は入力部を有する。入力部は、ユーザの操作を受け付け、ユーザの操作を表す操作データを生成する任意の装置である。本実施形態においては、端末装置3は、入力部として、操作ボタン15、スティック16、タッチパネル17、および、ジャイロセンサ18を備える。操作ボタン15は、例えば
図2に示される十字ボタン15aおよび丸ボタン15bであるが、任意の種類のボタンであってよい。タッチパネル17は、LCD14上に設けられる。スティック16は、ユーザによって傾倒可能な可動部材を有し、可動部材の傾き量および傾き方向を検知して出力する。また、ジャイロセンサ18は、端末装置3の姿勢を算出するための姿勢センサの一例である。例えば他の実施形態においては、端末装置3は、ジャイロセンサ18に加えて(またはジャイロセンサ18に代えて)加速度センサおよび/または磁気センサを備えていてもよい。また、端末装置3の姿勢を算出する方法は任意であり、例えば他の実施形態においては、情報処理装置2は、端末装置3を撮像装置によって撮像し、撮影された画像を用いて端末装置3の姿勢を算出してもよい。
【0053】
端末装置3は、上記入力部によって生成された操作データを情報処理装置2へ送信する。操作データは、例えば一定時間に1回の割合で繰り返し、端末装置3から情報処理装置2へ送信される。情報処理装置2は、操作データを入力として用いて上記表示制御処理を実行する。
【0054】
上記情報処理システム1においては、端末装置3に対する入力に応じて情報処理装置2が情報処理(表示制御処理)を実行し、実行の結果得られた画像が端末装置3に表示される。このように、本実施形態においては、情報処理システム1は、入力機能、情報処理機能、および表示機能が複数の装置によって実現される構成である。なお、他の実施形態においては、情報処理システム1は、これらの機能を有する単一の情報処理装置(例えば、携帯ゲーム機や携帯電話機、スマートフォン、タブレット型端末、ノート型パーソナルコンピュータ等といった携帯型あるいは可搬型の情報処理装置、または、デスクトップ型パーソナルコンピュータ等といった据え置き型の情報処理装置)で構成されてもよい。また、他の実施形態においては、情報処理装置2の機能が複数の装置によって実現されてもよい。例えば、他の実施形態においては、情報処理装置2において実行される情報処理の少なくとも一部が、ネットワーク(広域ネットワークおよび/またはローカルネットワーク)によって通信可能な複数の装置によって分散して実行されてもよい。
【0055】
また、本実施形態においては、表示装置と入力装置とが一体の端末装置3として構成される。ただし、他の実施形態においては、表示装置と入力装置とが別体として設けられてもよい。例えば、情報処理装置2は、端末装置3とは別の表示装置(例えばテレビ)に画像を表示させてもよい。
【0056】
[2.パノラマ画像の表示]
次に、本実施形態における画像を表示する処理の概要について説明する。本実施形態において、情報処理システム1は、パノラマ画像のうち、ユーザによって操作される視線方向に応じた視野範囲の画像を表示する。
【0057】
(パノラマ画像)
本実施形態において、パノラマ画像とは、表示装置に表示される範囲よりも広い範囲の画像である。つまり、パノラマ画像については、基本的にはその一部の範囲の画像が表示装置に表示される。本実施形態においては、パノラマ画像は、パノラマ画像のうちで、上記視線方向に応じて決まる視野範囲に含まれる範囲が、表示装置に表示される範囲(表示範囲)となる。パノラマ画像は、(表示装置に表示される際に)3次元空間における視線方向に応じて表示範囲を決定する処理が行われる画像と言うこともできる。表示範囲は、例えばユーザの操作に従って変化(移動)してもよい。表示範囲が移動する場合、パノラマ画像は、表示範囲が変化することによって視線の方向が変化する画像であるとも言える。上記のように、パノラマ画像は通常はその一部の範囲が表示されるものであるが、情報処理システム1は、パノラマ画像の全体を表示装置に表示する機能を有していてもよい。例えば情報処理システム1において複数の表示装置が用いられる場合には、一部の表示装置においてパノラマ画像の全体が表示されてもよい。
【0058】
なお、本実施形態においては、上下左右方向に関して全方向(360°)の視野角を有するパノラマ画像が用いられる。ただし、パノラマ画像には死角があってもよく、例えば視野角が180°程度であってもよく、表示装置に表示される範囲(視野範囲)よりも広い範囲の画像は、パノラマ画像である。
【0059】
本実施形態においては、現実世界における複数の地点についてのパノラマ画像が用意される。そして、情報処理システム1は、ユーザによる操作に応じて地点が移動するように、パノラマ画像を変更する。例えば、現実世界におけるある道路(通り)に沿った複数の地点(
図16参照)についてのパノラマ画像が用意されてもよい。このとき、ユーザは、視線方向を操作しつつ地点を移動することで、その通りを実際に歩いている時の景色を表示装置で見ることができ、その通りを実際に歩いているかのような体験を得ることができる。
【0060】
(視線方向の操作)
図3は、端末装置3とそれに表示される画像との一例を示す図である。
図3に示すように、本実施形態においては、現実世界を表すパノラマ画像(の一部の範囲)が端末装置3のLCD14に表示される。
【0061】
本実施形態においては、
図3に示すように、視線方向は、ユーザが端末装置3の姿勢を変化させる操作によって制御される。例えば、
図3に示すように、端末装置3が上下左右に回転すると、LCD14に表示される画像の視線方向は上下左右に変化する。すなわち、LCD14に表示される画像が上下左右にスクロールされ、パノラマ画像中の異なる範囲が表示される。具体的には、情報処理システム1は、ジャイロセンサ18によって検出される角速度に基づいて端末装置3の姿勢を算出し、算出された姿勢に基づいて視線方向を算出する。
【0062】
このように、情報処理システム1は、端末装置3の姿勢に応じて視線方向を制御する。これによれば、ユーザは、周囲を見渡すように端末装置3の姿勢を変化させる操作によってパノラマ画像を見渡すことができ、パノラマ画像の場所に実際にいるかのような体験を得ることができる。なお、本実施形態においては、情報処理システム1は、端末装置3の姿勢の変化量とパノラマ画像の視線方向の変化量とを一致させる。これによって、端末装置3の姿勢を変化させる操作のリアリティが増す。
【0063】
なお、他の実施形態においては、視線方向の制御はどのように行われてもよい。視線方向がユーザの入力によって制御される場合、入力方法は任意である。情報処理システム1は、例えば十字ボタン15aあるいはスティック16に対する入力に応じて視線方向を制御してもよい。また、視線方向は、ユーザの入力によって制御される他、所定のアルゴリズムに従って自動的に制御されてもよい。
【0064】
(パノラマ画像を表示する方法)
本実施形態においては、情報処理システム1は、パノラマ画像を表示するために仮想の3次元空間を設定し、3次元空間において立体モデルを配置する。そして、情報処理システム1は、立体モデルにパノラマ画像をテクスチャとして描画する方法によってパノラマ画像を表示する。以下、詳細を説明する。
【0065】
図4は、3次元空間に配置される立体モデルの一例を示す図である。
図4に示すように、本実施形態においては、パノラマ画像を描画するための立体モデルとして、8つのオブジェクト21a〜21hが3次元空間に配置される。各オブジェクト21a〜21hはそれぞれ、球面の一部である曲面状の形状であり、組み合わせると球を形成する。
図4に示すように、上記8つのオブジェクト21a〜21hは球状に配置される。
【0066】
上記オブジェクト21a〜21hにはそれぞれ、パノラマ画像の一部が描画される。ここで、パノラマ画像は上記オブジェクト21a〜21hの数に応じて分割される。本実施形態においては、
図4に示すように、パノラマ画像は部分A〜Hの8つに分割される。分割されたパノラマ画像は、それに対応するオブジェクトの内側面に描画される。本実施形態においては、
図4に示すように、分割された各パノラマ画像の部分A〜Hは、対応するオブジェクト(オブジェクト21a〜21hのいずれか)の内側面に描画される。
【0067】
図5は、パノラマ画像を表示するために設定される3次元空間の一例を示す図である。なお、以下においては、8つのオブジェクト21a〜21hが球状に配置されることによって形成されるモデルを「立体モデル21」と表記する。また、
図5および
図9〜
図15においては、図面を見やすくする目的で、実際に配置される各オブジェクト21a〜21hの形状を示さず、各オブジェクト21a〜21hによって形成される立体モデル21の外観形状を点線によって示すこととする。
【0068】
上述したように、情報処理システム1は、パノラマ画像を表示するために、立体モデル21を含む仮想の3次元空間を設定する。なお、本実施形態においては、立体モデル21を含む3次元空間には基準面23が設定される(
図5参照)。基準面23の詳細については後述する。
【0069】
情報処理システム1は、立体モデル21の内側に仮想カメラを配置する。ここでは、一例として、立体モデル21の中心位置Pに仮想カメラが配置される。また、上述のように、仮想カメラの視線方向Vは、端末装置3の姿勢に応じて決定される。本実施形態においては、仮想カメラの位置は固定であるとするが、他の実施形態においては、視線方向に応じて仮想カメラの位置が変化してもよい。
【0070】
情報処理システム1は、仮想カメラの位置Pから視線方向Vの方を見た立体モデル21(立体モデル21の内側面)の画像を生成する。すなわち、情報処理システム1は、上記3次元空間(立体モデル21)のうち、視線方向Vによって決められる視野範囲(
図5に示す斜線領域22)の画像を生成し、表示装置に表示する。ここで、画像を生成する際、上述したように、情報処理システム1は、パノラマ画像をテクスチャとして立体モデル21の内側面に描画する。つまり、視野範囲に含まれる立体モデル21(各オブジェクト21a〜21hのいくつか)の内側面に、パノラマ画像の一部が描画され、この視野範囲の画像が表示される。これによって、パノラマ画像のうち、仮想カメラの視野範囲に対応する範囲の画像が生成されて表示されることになる。
【0071】
上述のように、本実施形態においては仮想カメラの視線方向Vはユーザの操作に応じて変化する。したがって、ユーザの操作に応じて仮想カメラの視野範囲が変化することによって、視野範囲に対応する表示範囲が変化する。すなわち、LCD14に表示されるパノラマ画像はユーザの操作に応じてスクロールする(
図3参照)。
【0072】
なお、仮想カメラの視野範囲は、視線方向Vに基づく任意の方法で決められる。例えば、視野範囲は、視線方向Vを中心とする所定の範囲となるように決められる。情報処理システム1は、視野範囲の大きさを変更するようにしてもよい。つまり、情報処理システム1は、LCD14に表示されるパノラマ画像について、ズームインまたはズームアウトを行うようにしてもよい。視野範囲の大きさは、例えばユーザの操作に応じて変更されてもよい。
【0073】
[3.方向オブジェクトの配置]
次に、
図6〜
図15を参照して、パノラマ画像とともに表示されるために、3次元空間に配置される方向オブジェクトについて説明する。
図6〜
図8は、本実施形態において表示装置に表示される画像の一例を示す図である。
図6〜
図8に示すように、端末装置3のLCD14には、現実世界を表すパノラマ画像に重ねて方向オブジェクト31(4つの方向オブジェクト31a〜31d)が表示される。
【0074】
(3−1:オブジェクト配置制御の概要)
図6〜
図8に示すように、本実施形態においては、方向オブジェクト31は、パノラマ画像が表す現実世界における道路の方向を示す。つまり、方向オブジェクト31は、パノラマ画像が表す現実世界の方向を表すように、上述の3次元空間に配置される。なお、
図6〜
図8では、現実世界において交差点から周囲を見た様子を表すパノラマ画像が表示され、交差点から延びる4本の道路に対応する4つの方向オブジェクト31a〜31dが表示される。ただし、配置される方向オブジェクト31の数は任意であり、例えば、パノラマ画像の内容(例えばパノラマ画像に含まれる道路の数)に応じて適宜設定されてよい。また、本実施形態においては、方向オブジェクト31は鏃状の形状であるが、方向オブジェクト31の形状および色はどのようなものであってもよい。
【0075】
なお、本実施形態においては、
図6〜
図8に示すように、方向オブジェクト31とともに、方向オブジェクト31の影を表す影オブジェクト32と、道路に対応する線状のオブジェクト33とが表示される。
【0076】
また、本実施形態においては、方向オブジェクト31は、視点を移動させる指示を行うための指示画像としての機能を有する。すなわち、方向オブジェクト31を指定する入力が行われると、情報処理システム1は、指定された方向オブジェクト31が示す方向に視点を移動させる処理を行う。なお、この視点移動処理の詳細については後述する。
【0077】
本実施形態においては、方向オブジェクト31は、上述の視線方向に基づいて配置される。詳細は後述するが、情報処理システム1は、仮想カメラの視野範囲に含まれるように、視線方向に基づいて方向オブジェクト31を配置する。
【0078】
また、本実施形態においては、第1制御モードおよび第2制御モードという2種類の制御モードで方向オブジェクト31の配置を制御する。第1制御モードは、上記基準面23から所定の基準距離を保って方向オブジェクト31を配置する(他の実施形態においては、基準面23上に配置してもよい)制御モードである(
図6、
図7参照)。ここで、本実施形態においては、基準面23は、現実世界の地面に対応するように設定される。すなわち、基準面23は、3次元空間において略水平に配置され、現実世界の地面に概ね一致する位置に配置される。なお、「現実世界の地面に概ね一致する位置に配置される」とは、基準面23は実際には表示されないが、基準面23が仮に表示された場合には、現実世界の地面と略同じ位置に見えるような位置に配置されることを意味する。したがって、第1制御モードにおいて、方向オブジェクト31は、現実世界の地面に沿って移動するように配置される。一方で、基準面23は必ずしも現実世界の地面に概ね一致する位置に配置されることを要せず、現実世界の地面から離れた位置に配置されていてもよい。また、基準面はある程度の凹凸や歪みを有していてもよく、必ずしも正確な平面であることを要しない。
【0079】
第2制御モードは、上記基準面23から離れて方向オブジェクト31を配置する制御モードである。第2制御モードにおいて、方向オブジェクト31は、第1制御モードの場合よりも地面から離れて配置される(
図8参照)。
【0080】
また、情報処理システム1は、視線方向に応じて制御モードを切り替える。以下、
図6〜
図8を参照して、制御モードの切り替えの具体例について説明する。
【0081】
図6は、視線方向が地面(基準面23)の方を向く場合に表示される画像の一例を示す図である。
図6においては、視線方向が地面の方を向いており、視野範囲の全体に地面が含まれている。このとき、制御モードは第1制御モードに設定され、方向オブジェクト31は基準面23の近傍に配置される。具体的には、方向オブジェクト31は、基準面23から所定の基準距離だけ上方の位置に配置される。このように、第1制御モードにおいては、基準面23(地面)の近傍に方向オブジェクト31が配置されるので、方向オブジェクト31と地面との対応がわかりやすい。そのため、方向オブジェクト31が示す、基準面23上における方向をユーザにわかりやすく提示することができる。すなわち、本実施形態においては、道路の方向をユーザにわかりやすく提示することができる。また、
図6に示す状態においては、方向オブジェクト31は、視点の位置から視線方向の先となる位置、すなわち、画面の略中央に配置される。
【0082】
図7は、視線方向が水平方向に近くなる場合に表示される画像の一例を示す図である。
図7においては、
図6に示す状態から視線方向が水平方向に近づき、視野範囲のうち概ね下半分に地面が含まれている。このとき、制御モードは第1制御モードに設定され、方向オブジェクト31は地面の近傍に配置される。したがって
図7に示す状態においても
図6に示す状態と同様、方向オブジェクト31は、基準面23から上記基準距離だけ上方の位置に配置される。
【0083】
図7において、方向オブジェクト31は、LCD14の画面の中央よりも下方となる位置に表示される。
図7に示す状態において、仮に(基準面23から基準距離だけ上方の位置に配置する条件下で)方向オブジェクト31が画面の中央に表示されるように配置しようとすれば、視点から方向オブジェクト31までの距離が遠くなってしまう結果、方向オブジェクト31が見にくくなるからである。つまり、本実施形態においては、情報処理システム1は、視点から所定距離以内の範囲(後述する、
図11に示す配置範囲34)で方向オブジェクト31を第1制御モードにて(つまり、基準面23の近傍となるように)配置する。
【0084】
なお、
図6および
図7に示すように、第1制御モードにおいては、情報処理システム1は、方向オブジェクト31の影を表す影オブジェクト32を基準面23上に表示する。これによって、方向オブジェクト31の基準面23上での位置をユーザに直感的に認識させることができ、方向オブジェクト31の位置をわかりやすく提示することができる。また、方向オブジェクト31が現実世界に存在するように見せることができ、方向オブジェクト31をユーザに違和感なく提示することができる。なお、影は、光源を用いた計算によって影を描画する方法によって表示されてもよい。また、他の実施形態においては、方向オブジェクト31が基準面23上に配置される場合も影は表示されなくてよい。
【0085】
ここで、
図7に示す状態から視線方向がさらに上を向くと(ユーザが端末装置3をさらに上に向けると)、画面がさらに上方にスクロールされる結果、地面が画面から見切れてしまう。したがって、視線方向にかかわらず常に地面の近傍に方向オブジェクト31を配置すると、視線方向が上向きとなる場合に、地面とともに方向オブジェクト31が画面から見切れてしまい、方向オブジェクト31が表示されなくなる。例えば、ユーザが高い建物や空を見るために視線方向を上に向けていると、方向オブジェクト31が示す道路の向きがわからなくなってしまう。
【0086】
そこで、本実施形態においては、情報処理システム1は、第1制御モードのままでは方向オブジェクト31が表示されなくなる場合、制御モードを第2制御モードに切り替える。
図8は、視線方向が水平よりも上向きとなる場合に表示される画像の一例を示す図である。
図8においては、視線方向が上向きとなり、視野範囲に地面が含まれていない。このとき、制御モードは第2制御モードに設定され、方向オブジェクト31は地面から離れて配置される。なお、本実施形態においては、第2制御モードにおける方向オブジェクト31の画面上の位置は、制御モードが切り替わる直前の第1制御モードにおける位置、すなわち、画面の下側の位置となる。
【0087】
なお、
図8に示すように、第2制御モードにおいて地面(基準面23)が表示されない場合には、影(影オブジェクト32)は表示されなくなる。したがって、ユーザは、影が表示されているか否かによって、方向オブジェクト31が基準面23の近傍に配置されているのか基準面23から離れて配置されているのかを容易に判別することができる。
【0088】
以上のように、本実施形態においては、情報処理システム1は、方向オブジェクト31の配置を制御する制御モードについて、第1制御モードと第2制御モードとを含む複数の制御モードを視線方向に応じて切り替える。これによれば、第1制御モードでは方向オブジェクト31を表示できない場合であっても、必要に応じて第2制御モードに切り替えることによって、方向オブジェクト31を表示することができる。つまり、方向オブジェクト31の表示機会を増やすことができ、方向オブジェクト31の視認性を向上することができる。また、上記によれば、第1制御モードにおいて基準面23との対応がわかりやすくなるように方向オブジェクト31を提示できるとともに、第2制御モードにおいて、基準面23が視野範囲に含まれない場合等であっても方向オブジェクト31が示す方向をユーザに提示することができる。例えば、
図8に示すように、ユーザが高いビルを見上げるように視線方向を上向きにしている場合でも、方向オブジェクト31が表示されることによってユーザは道路の向きを認識することができる。また、本実施形態においては、方向オブジェクト31を指定することで方向オブジェクト31が示す方向に視点を移動することができる(詳細は後述する)ので、ユーザは、視線方向を上向きにしたまま、所望の方向へ視点を移動させることができる。
【0089】
(3−2:オブジェクト配置制御の具体例)
次に、
図9〜
図15を参照して、方向オブジェクト31を配置する具体的な方法の一例について説明する。なお、本実施形態においては、パノラマ画像に含まれる道路の数に応じた数の方向オブジェクト31が配置されるが、
図9〜
図15を用いた説明では、1つの方向オブジェクト31が配置される場合を例として説明する。
【0090】
(第1制御モード)
図9は、視線方向Vが地面(基準面23)の方を向く場合(
図6参照)における3次元空間の一例を示す図である。また、
図10は、
図9に示す3次元空間を基準面23に対して平行な向きから見たときの図である。
図9および
図10に示す状態においては、視線方向Vが地面の方を向いており、視点の位置Pが基準面23よりも上に位置するのに対して、立体モデル21の内側面上における視野範囲の領域22は基準面23よりも下に位置する。このとき、上述のように制御モードは第1制御モードに設定される。第1制御モードにおいて、情報処理システム1は、視線方向Vに応じて方向オブジェクト31を基準面23に沿って移動させる。より具体的には、情報処理システム1は、視線直線Lと基準面23との交点Rの位置に影オブジェクト32を配置し、交点Rから基準距離だけ上方に方向オブジェクト31を配置する(
図9および
図10参照)。なお、視線直線Lは、視点の位置Pから視線方向Vの方へ延ばした直線である。上記によって、方向オブジェクト31は、画面の中央付近において、視線方向Vに応じて地面に沿って移動するように表示される(
図6参照)。なお、基準面23は表示されないので、方向オブジェクト31(および影オブジェクト32)と、立体モデル21の内側面のうちの視野範囲内の領域22との画像が表示される。
【0091】
また、方向オブジェクト31には、3次元空間における方向が関連づけられており、方向オブジェクト31は、その方向を示すように配置される。本実施形態においては、上記方向は、基準面23(地面)上における方向(基準面に平行な方向)であり、より具体的には、現実世界における道路の向きに対応する方向である(詳細は、後述する“(3−3:視点移動処理)”で説明する。)。本実施形態においては情報処理システム1は、鏃形状である方向オブジェクト31の先端が上記方向を向くように方向オブジェクト31を配置する。また、第1制御モードにおいては、平面形状(板状)である方向オブジェクト31は、基準面23に対して略平行となる姿勢で配置される(
図9および
図10参照)。なお、第1制御モードにおいて、影オブジェクト32の姿勢は方向オブジェクト31と同様に設定される。
【0092】
なお、
図9〜
図15では図示しないが、本実施形態においては、道路に対応するように線状オブジェクト33が基準面23上に配置される。したがって、線状オブジェクト33の向きは、方向オブジェクト31が示す方向と同じ方向である。線状オブジェクト33の配置方法は、第1制御モードと第2制御モードとで同じである。
【0093】
本実施形態においては、第1制御モードにおいて方向オブジェクト31は、視点からの距離が所定距離以内となる範囲で配置される。
図11は、方向オブジェクト31の配置範囲の一例を示す図である。本実施形態の第1制御モードにおいては、方向オブジェクト31は、基準面23上での位置(基準面23に投影した位置)が、
図11に示す配置範囲34内となるように配置される。
図11において、配置範囲34は、視点位置Pを基準面23に対して投影した位置(投影位置)Qを中心とする、半径dの円形形状である。なお、投影位置Qは、視点位置Pから基準面23に向かって下ろした垂線と基準面23との交点の位置である。また、配置範囲34の形状および大きさは任意である。例えば、他の実施形態においては、立体モデル21内の基準面23全体が配置範囲34に設定されてもよい。
【0094】
本実施形態において、視線方向Vが配置範囲34の方を向く場合(上記視線直線Lと配置範囲34とが交わる場合)には、
図9および
図10に示すように、上記交点Rの上方に方向オブジェクト31が配置される。一方、第1制御モードにおいて、視線方向Vが配置範囲34の方を向かない場合(視線直線Lと配置範囲34とが交わらない場合)には、方向オブジェクト31は、上記交点Rの上方の位置とはならず、配置範囲34の上方となるように配置される(
図11〜
図13参照)。具体的には、方向オブジェクト31は、以下のように配置される。
【0095】
図12は、視線方向Vが水平に近くなる場合(
図7参照)における3次元空間の一例を示す図である。また、
図13は、
図12に示す3次元空間を基準面23に対して平行な向きから見たときの図である。
図12および
図13に示す状態においては、
図9および
図10に示す状態よりも視線方向Vが上を向き、水平方向に近づいている。その結果、
図12および
図13においては、視線方向Vが配置範囲34の方を向かなくなっている。このとき、情報処理システム1は、上記投影位置Qと上記交点Rとを結ぶ直線上であって、投影位置Qから距離dとなる位置の上方に方向オブジェクト31を第1制御モードにて配置する(
図12および
図13)。これによって、方向オブジェクト31は、画面の中央よりも下方において、視線方向Vに応じて地面に沿って移動するように表示される(
図7参照)。
【0096】
以上より、第1制御モードにおいて方向オブジェクト31が画面中央に表示される状態から視線方向が上方に変化していく場合、方向オブジェクト31の画面上での表示位置は、初めは画面中央の位置を維持し(
図6)、方向オブジェクト31が配置範囲34の外周まで達すると、画面の下方に向かって移動する(
図7)。その後、方向オブジェクト31は画面の下端付近に表示されることとなる。本実施形態においては、方向オブジェクト31の表示位置が画面下端から所定距離以内になると、情報処理システム1は、制御モードを第2制御モードに切り替える。
【0097】
(第1制御モードと第2制御モードとの切り替え)
ここで、方向オブジェクト31の表示位置が画面下端から所定距離以内になる場合とは、視線方向が基準面23上の所定の判別範囲内を向く場合でもある。
図11には、判別範囲の一例が示されている。判別範囲35は、方向オブジェクト31が配置範囲34内に配置され、かつ、表示位置が画面下端から所定距離以内となるときの、視線方向V(視線直線L)と基準面23との交点Rの範囲である。具体的には、
図11に示すように、配置範囲34が円形領域である場合、判別範囲35は、配置範囲34より大きい円形領域となる。なお、配置範囲34が比較的大きく設定される場合には、判別範囲35は、立体モデル21と基準面23との交線の円形領域よりも大きくなる(当該交線の円形領域よりも大きい円形領域となる)場合もある。
【0098】
第1制御モードと第2制御モードとの切り替えの判断は、例えば、視線方向Vが上記判別範囲35を向くか否かによって行うことができる。具体的には、本実施形態においては、情報処理システム1は視線直線Lが上記判別範囲35と交わる場合、制御モードを第1制御モードに設定し、視線直線Lが上記判別範囲35と交わらない場合、制御モードを第2制御モードに設定する。つまり、情報処理システム1は、視線方向Vが基準面23上の判別範囲35内を向く場合に制御モードを第1制御モードに設定し、視線方向Vが判別範囲35内から外れたことに応じて制御モードを第2制御モードに切り替える。したがって、視線方向Vが次第に上方向に変化する場合、視線方向Vが判別範囲35を向かなくなったことに応じて制御モードが第1制御モードから第2制御モードへ切り替えられる。
【0099】
なお、視線方向Vが上記判別範囲35を向くか否か(視線直線Lと判別範囲35とが交わるか否か)の具体的な処理は、視線方向Vの角度を用いて行うことができる。例えば視線方向Vが基準面23の方を向き、かつ、基準面23と垂直となる場合の向きを基準(0°)とする場合、情報処理システム1は、当該基準に対する視線方向Vの角度が所定値以下であるか否かによって、第1制御モードに設定するか否かを判断してもよい。このように、第1制御モードと第2制御モードとの切り替えの判断は、視線方向Vが基準面23を向く度合い(上記角度)に応じて行われると言うこともできる。
【0100】
なお、視線方向Vが上記判別範囲35を向くか否かの判断の具体的な方法は任意である。本実施形態では、視線直線Lと判別範囲35とが交わるか否かによって上記判断が行われるが、他の方法で上記判断が行われてもよい。例えば他の実施形態においては、画面上における方向オブジェクト31の表示位置を用いて上記判断が行われてもよい。より具体的には、情報処理システム1は、方向オブジェクト31の表示位置が画面の周から所定距離以上離れているか否かによって、視線方向Vが上記判別範囲35を向くか否かを判断してもよい。
【0101】
(第2制御モード)
次に、第2制御モードにおける方向オブジェクト31の配置方法について説明する。
図14は、視線方向Vが水平よりも上向きとなる場合(
図8参照)における3次元空間の一例を示す図である。また、
図15は、
図14に示す3次元空間を基準面23に対して平行な向きから見たときの図である。なお、ここでは、
図12に示す状態の直後に制御モードが第1制御モードから第2制御モードへ切り替わったものとし、
図14においては、方向オブジェクト31および視野範囲の領域22について変化前後の位置を示している。
【0102】
第2制御モードにおいては、情報処理システム1は、視線方向V(視線直線L)と方向オブジェクト31との位置関係が変化しないように(位置関係を保って)、視線方向Vに応じて方向オブジェクト31を配置する(
図14および
図15参照)。したがって、第2制御モード中において、画面上における方向オブジェクト31の表示位置は変化しない。また、本実施形態においては、制御モードの切り替え直前における位置関係を維持するように方向オブジェクト31が配置される。したがって、方向オブジェクト31は、制御モードの切り替え直前から表示位置が変化しないように表示される。
【0103】
また、第2制御モードにおいて、情報処理システム1は、視線方向Vに応じて方向オブジェクト31の姿勢を制御する。本実施形態においては、方向オブジェクト31の姿勢は、平面形状の方向オブジェクト31と視線方向Vとのなす角度が変化しないように制御される。具体的には、
図14および
図15に示されるように、視線方向Vが上を向くことに応じて、方向オブジェクト31も上を向くように姿勢が変化する。上記のように、方向オブジェクト31と視線方向Vとのなす角度が維持されるように方向オブジェクト31の姿勢が制御されることによって、表示上の方向オブジェクト31の傾き(画面に表示される方向オブジェクト31の傾き)は変化しないことになる。そのため、第2制御モードにおいて方向オブジェクト31を見やすく表示することができる。
【0104】
なお、第2制御モードにおいて方向オブジェクト31の姿勢が上記のように制御される場合、
図14および
図15に例示されるように、平面形状の方向オブジェクト31は基準面23に対して必ずしも平行とはならなくなる場合がある。つまり、上記の場合、方向オブジェクト31は、それに関連づけられる方向である、基準面23に平行な方向を正確には示さなくなる可能性がある。ここで、情報処理システム1は、方向オブジェクト31を基準面23に投影した場合に方向オブジェクト31が示す方向が、方向オブジェクト31に関連づけられる方向と一致するように、方向オブジェクト31の向きを制御する(
図14参照)。すなわち、(基準面から離れた)方向オブジェクト31を基準面に投影した場合に、方向オブジェクト31に関連づけられる方向を鏃形状の先端が向くように、方向オブジェクト31の向きが制御される。これによれば、方向オブジェクト31は本来示すべき方向(基準面23に平行となる方向)を正確には示していないものの、ユーザにとって誤解の少ない適切な方向を示すようにオブジェクト31を配置することができる。
【0105】
以上のように、本実施形態においては、第1制御モードにおいて方向オブジェクト31が視野範囲から外れそうになると、制御モードが第2制御モードに切り替えられ、視野範囲内の位置を維持するように方向オブジェクト31が配置される。つまり、情報処理システム1は、第1制御モードにおいて視線方向が変化したことによって方向オブジェクト31(の少なくとも一部)が視野範囲から外れないように、第1制御モードから第2制御モードへと制御モードを切り替える。したがって、本実施形態においては、第1制御モードと第2制御モードという2種類の制御モードの切り替えの際にも視野範囲から外れることなく方向オブジェクト31を表示させることができる。これによって、方向オブジェクト31の視認性を向上することができる。
【0106】
また、本実施形態においては、第1制御モードおよび第2制御モードにおいて、視野範囲に含まれる位置に方向オブジェクト31が配置される。したがって、各モードにおいて確実に方向オブジェクト31を表示することができる。
【0107】
また、本実施形態においては、第1制御モードから第2制御モードへ制御モードが切り替わる際、視線方向V(視線直線L)と方向オブジェクト31との位置関係は切り替えの前後において維持される。つまり、情報処理システム1は、第2制御モードにおいて、視線方向Vと方向オブジェクト31との位置関係が、第2制御モードへ移行する直前の第1制御モードにおける位置関係を維持するように、方向オブジェクト31を配置する。したがって、本実施形態によれば、第1制御モードから第2制御モードへ制御モードが切り替わる際に方向オブジェクト31の表示位置が維持されるので、切り替わり時にユーザが方向オブジェクト31を見失うおそれを低減することができる。これによって、方向オブジェクト31の視認性を向上することができる。
【0108】
また、本実施形態においては、第1制御モードにおいては、方向オブジェクト31の姿勢が基準面23に対応するように(具体的には、基準面23に対して略平行になるように)方向オブジェクト31が配置される。一方、第2制御モードにおいては、方向オブジェクト31の姿勢が視線方向Vに対応するように(具体的には、方向オブジェクト31と視線方向Vとのなす角度が維持されるように)方向オブジェクト31が配置される。このように、本実施形態によれば、第1制御モードと第2制御モードとで方向オブジェクト31の姿勢の制御方法を変化させることによって、各制御モードにおいて方向オブジェクト31を見やすく表示することができる。
【0109】
(複数の方向オブジェクト31を配置する場合)
図9〜
図15を用いて説明した上記例においては、1つの方向オブジェクト31が配置される場合を例として説明したが、複数の方向オブジェクトが配置される場合も上記例と同様の方法で配置することができる。なお、複数の方向オブジェクトを配置する場合、例えば複数の方向オブジェクトの中心位置が、上記例における1つの方向オブジェクト31の位置となるように、各方向オブジェクトを配置してもよい。このとき、各方向オブジェクトは、例えば、中心位置からその方向オブジェクトに関連づけられた方向に所定距離だけ離れた位置に配置されてもよい。
【0110】
(3−3:視点移動処理)
上述のように、本実施形態においては、現実世界における複数の地点についてのパノラマ画像が用意される。具体的には、情報処理システム1は、現実世界を表す地図データを記憶しており、地図データには、複数の地点を示す地点情報(ノード)と地点同士の接続を示す接続情報(リンク)とが含まれる。各地点情報にはそれぞれ、1つのパノラマ画像が関連づけられる。パノラマ画像の表示処理が行われる際には、1つの地点情報が選択され、選択された地点情報に関連づけられるパノラマ画像を用いて表示処理が行われる。
【0111】
各地点情報には、その地点に接続されるリンク毎に、3次元空間での方向が関連付けられる。
図16は、地図データの構成の一例を示す図である。
図16を例にとって説明すると、地点(ノード)n1には、4つのリンクr1〜r4が接続されている。また、ノードn1の地点には、各リンクr1〜r4についてそれぞれ、3次元空間における方向D1〜D4が関連づけられる(
図16参照)。
【0112】
また、本実施形態においては、上記地図データに含まれるリンクに対応するように方向オブジェクト31が関連付けられる。具体的には、上記接続情報(リンク)に関連付けられる3次元空間における方向に対して、方向オブジェクト31が1つずつ関連付けられる。例えば、ノードn1の地点については、各リンクr1〜r4に関連付けられる方向D1〜D4に対してそれぞれ1つずつ、合計4つの方向オブジェクト31が関連づけられる。つまり、ノードn1の地点におけるパノラマ画像が表示される場合には、リンクr1〜r4の3次元空間における方向D1〜D4を示す4つの方向オブジェクト31が配置されて表示される。
【0113】
ある地点におけるパノラマ画像が表示されている場合に、3次元空間における方向が指定されると、情報処理システム1は、当該ある地点から、指定された方向に関連付けられるリンクを介して接続される地点へと地点を変更する。そして、変更後の地点に関連付けられるパノラマ画像を表示する。例えば
図16を例にとって説明すると、ノードn1の地点におけるパノラマ画像が表示されている場合において、リンクr1に関連付けられる方向が指定された場合、ノードn1の地点からノードn2の地点へと移動し、ノードn2の地点のパノラマ画像が表示される。上記のような地点を変更する処理によって、パノラマ画像における視点を変更(移動)させてパノラマ画像を表示することができる。これによって、ユーザにとっては、画面に表示されている現実世界の視点が移動しているように見える。
【0114】
本実施形態においては、地点を移動する入力、すなわち、3次元空間における方向を指定する入力として、情報処理システム1は、方向オブジェクト31を指定する入力を受け付ける。より具体的には、情報処理システム1は、端末装置3のLCD14に表示される方向オブジェクト31に対する入力(タッチ入力)をタッチパネル17によって検知し、入力が行われた方向オブジェクト31に関連付けられる方向が指定されたと判断する。したがって、ユーザは、方向オブジェクト31をタッチする入力によって、パノラマ画像の視点を移動させることができる。
【0115】
また、本実施形態においては、方向オブジェクト31を指定する入力として、所定の操作ボタン15を押下することによって、選択中の方向オブジェクト31を指定する入力が可能である。ここで、選択中の方向オブジェクト31とは、表示される1以上の方向オブジェクト31のうちで前方(視線方向)に近い方向を示す方向オブジェクト31である。例えば、
図6においては、4つの方向オブジェクト31a〜31dのうちの方向オブジェクト31aが選択中の方向オブジェクト31となる。選択中の方向オブジェクト31を決定する具体的な方法は任意であるが、本実施形態においては、視線方向を基準面23に投影した方向とのなす角が所定角度以下となり、かつ、当該方向に最も近い方向オブジェクト31が選択される。したがって、選択中の方向オブジェクト31が設定されている場合には、ユーザは、上記所定の操作ボタン15を押下することによって、パノラマ画像の視点を移動させることができる。
【0116】
以上のように、本実施形態においては、情報処理システム1は、LCD14に表示された方向オブジェクト31を指定する入力を受け付ける。そして、方向オブジェクト31を指定する入力が受け付けられたことに応じて、指定された方向オブジェクト31に関連づけられる方向へ現実世界における視点の位置が移動するように3次元空間の画像(パノラマ画像)を変化させてLCD14に表示する。これによれば、ユーザは、方向オブジェクト31を指定する入力に応じて、表示されている現実世界の視点を移動させることができるので、わかりやすい操作で視点の移動を行うことができる。また、本実施形態においては、方向オブジェクト31は、移動方向に関連付けられた方向を示すので、視点の移動方向をよりわかりやすくユーザに提示することができる。
【0117】
なお、本実施形態において、情報処理システム1は、上記選択中の方向オブジェクト31を、選択中でない方向オブジェクト31とは異なる表示形態(配置位置や色や形状等)となるように配置する(
図6〜
図8参照)。具体的には、本実施形態においては、
図6〜
図8に示すように、選択中の方向オブジェクト31aは、選択中でない方向オブジェクト31b〜31dとは異なる高さに配置される。また、選択中の方向オブジェクト31aは、選択中でない方向オブジェクト31b〜31dとは異なる色(図では斜線で表す)で描画される。このように選択中か否かよって方向オブジェクト31の表示形態を異ならせることによって、選択中の方向オブジェクト31をユーザに容易に認識させることができる。
【0118】
上記のように、本実施形態においては、基準面23に対して方向オブジェクト31を配置する距離である上記基準距離は、方向オブジェクト31が選択中であるか否かによって異なる。つまり、上記基準距離は、1種類の値に固定されなくてもよく(固定されてもよい)、方向オブジェクト31が基準面に沿って移動すると言える範囲で可変であってもよい。
【0119】
[4.表示制御処理の詳細]
以下、本実施形態において情報処理システム1(情報処理装置2)で実行される表示制御処理の具体的な一例について説明する。
図17は、本実施形態において情報処理装置2(CPU11)が実行する表示制御処理の流れの一例を示すフローチャートである。本実施形態においては、
図17に示す一連の処理は、CPU11が、プログラム記憶部13に記憶される表示制御プログラムを実行することによって行われる。
【0120】
なお、
図17に示す表示制御処理が開始されるタイミングは任意である。本実施形態においては、パノラマ画像を再生する指示をユーザが行ったことに応じて表示制御プログラムの実行が開始される。このとき、表示制御プログラムは、適宜のタイミングでその一部または全部がメモリ12に読み出され、CPU11によって実行される。これによって、
図17に示す一連の処理が開始される。なお、表示制御プログラムは、情報処理装置2内のプログラム記憶部13に予め記憶されているものとする。ただし、他の実施形態においては、情報処理装置2に着脱可能な記憶媒体から取得されてメモリ12に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてメモリ12に記憶されてもよい。
【0121】
なお、
図17に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をCPUが実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、CPU以外のプロセッサや専用回路が実行するようにしてもよい。
【0122】
また、本実施形態においては、CPU11は、
図17に示す表示制御処理を開始する前に、上述の地図データを取得しておく。CPU11は、情報処理装置2内の記憶部から地図データを取得してもよいし、情報処理装置2に着脱可能な記憶媒体から取得してもよいし、インターネット等のネットワークを介して他の装置から取得してもよい。また、表示制御処理の開始前において取得される地図データは、一部の地点(例えば、最初に表示するパノラマ画像に関連付けられる地点)に関するデータのみであってもよい。取得された地図データはメモリ12に記憶される。
【0123】
表示制御処理のステップS1において、CPU11は、3次元空間における視線方向を制御する。本実施形態においては、CPU11は、上記“[2.パノラマ画像の表示]”で述べた方法に従って、端末装置3の姿勢に基づき視線方向を算出する。そして、算出された視線方向を示すデータをメモリ12に記憶する。ステップS1の次にステップS2の処理が実行される。
【0124】
ステップS2において、CPU11は、視線方向が上述の判別範囲内を向くか否かを判定する。本実施形態においては、上記“(第1制御モードと第2制御モードとの切り替え)”で述べた方法に従ってステップS2の判定処理が実行される。なお、本実施形態においては、上記判別範囲(を示すデータ)は表示制御プログラムにおいて設定されているものとする。CPU11は、判別範囲を示すデータと上記視線方向を示すデータとを読み出し、読み出したこれらのデータを用いて上記判定を行う。ステップS2の判定結果が肯定である場合、ステップS3の処理が実行される。一方、ステップS2の判定結果が否定である場合、ステップS4の処理が実行される。
【0125】
ステップS3において、CPU11は、第1制御モードで方向オブジェクト31を配置する。すなわち、上記“(第1制御モード)”で述べた方法に従って、基準面から基準距離の位置に方向オブジェクト31を配置する。また、上記ステップS3において、CPU11は、影オブジェクト32および線状オブジェクト33を配置する。ステップS3の次に、後述するステップS5の処理が実行される。
【0126】
一方、ステップS4において、CPU11は、第2制御モードで方向オブジェクト31を配置する。すなわち、上記“(第2制御モード)”で述べた方法に従って、基準面から基準距離よりも離れて方向オブジェクト31を配置する。また、上記ステップS4において、CPU11は、影オブジェクト32および線状オブジェクト33を配置する。なお、第2制御モードにおいては、影オブジェクト32および線状オブジェクト33が配置されなくてもよい。ステップS4の次にステップS5の処理が実行される。
【0127】
なお、上記ステップS3およびS4の処理においては、CPU11は、上記地図データと視線方向を示すデータとをメモリ12から読み出し、読み出したこれらのデータを用いて方向オブジェクト31を配置する。また、上記ステップS3およびS4の処理においては、上記“(複数の方向オブジェクト31を配置する場合)”で述べたように、必要に応じて複数の方向オブジェクト31が配置される。また、上記“(3−3:視点移動処理)”で述べたように、CPU11は、配置する方向オブジェクト31のうちから、前方(視線方向)に近い方向を示す方向オブジェクト31を選択し、選択された方向オブジェクト31については選択されていない方向オブジェクト31とは異なる表示態様で配置を行う。
【0128】
ステップS5において、CPU11は、3次元空間のうち、視線方向によって決められる視野範囲の画像を生成し、生成した画像をLCD14に表示させる。本実施形態においては、CPU11は、上記“(パノラマ画像を表示する方法)”で述べた方法に従って視野範囲の画像を生成する。そして、生成された画像をLCD14に表示させるべく、端末装置3へ出力(送信)する。端末装置3は、生成された画像を受信してLCD14に表示する。これによって、LCD14にパノラマ画像の一部が表示される。このとき、3次元空間には方向オブジェクト31が配置されているので、パノラマ画像に加えて方向オブジェクト31の画像が表示される。ステップS5の次にステップS6の処理が実行される。
【0129】
ステップS6において、CPU11は、方向オブジェクト31が指定されたか否かを判定する。すなわち、上記“(3−3:視点移動処理)”で述べたように、方向オブジェクト31に対するタッチ入力が行われたか、あるいは、選択中の方向オブジェクト31がある場合に所定の操作ボタン15が操作されたか、を判定する。CPU11は、端末装置3から操作データを取得し、取得された操作データを用いて上記判定を行う。ステップS6の判定結果が肯定である場合、ステップS7の処理が実行される。一方、ステップS6の判定結果が否定である場合、ステップS7の処理がスキップされて後述するステップS8の処理が実行される。
【0130】
ステップS7において、CPU11は、現実世界における視点の位置が移動するようにパノラマ画像を変化させる。すなわち、上記“(3−3:視点移動処理)”で述べた方法に従って、表示に用いるパノラマ画像を変更する。なお、パノラマ画像は、例えばインターネット等のネットワークを介して他の装置から取得されてもよく、この場合、変更後のパノラマ画像はステップS7のタイミングで取得されてもよい。ステップS7の処理が実行された場合、次に実行されるステップS5の表示処理によって、LCD14に表示されるパノラマ画像が変更されることとなる。ステップS7の次にステップS8の処理が実行される。
【0131】
ステップS8において、CPU11は、パノラマ画像の表示処理を終了するか否かを判定する。この判定の具体的な方法は任意である。例えば、表示を停止する旨の指示がユーザによって行われた場合には、CPU11は、表示処理を終了すると判定し、ユーザによる指示がない場合には、表示処理を終了しないと判定する。ステップS8の判定結果が否定である場合、ステップS1の処理が再度実行される。以降、ステップS8において表示処理を終了すると判定されるまで、ステップS1〜S8の処理が繰り返し実行される。一方、ステップS8の判定結果が肯定である場合、CPU11は、
図17に示す表示制御処理を終了する。
【0132】
[5.変形例]
(他の制御モードに関する変形例)
上記実施形態においては、情報処理システム1は、第1制御モードおよび第2制御モードのいずれかの制御モードで方向オブジェクト31を配置する場合を例として説明した。ここで、他の実施形態においては、方向オブジェクト31の配置に関する制御モードは、第1制御モードおよび第2制御モード以外の他の制御モードを含んでいてもよい。他の実施形態においては、方向オブジェクト31を配置しない第3制御モードが含まれていてもよい。例えば、情報処理システム1は、視線方向が鉛直上向きに近い場合には、制御モードを第2制御モードに代えて第3制御モードに設定してもよい。
【0133】
(表示される画像に関する変形例)
上記実施形態においては、現実世界を表すパノラマ画像が表示される場合を例として説明した。ここで、表示される3次元空間の画像は、現実世界を表す画像に限らず、仮想世界を表す画像であってもよい。なお、「仮想世界を表す画像」とは、その全体が仮想空間を表す画像(CG画像等)であってもよいし、一部に現実空間を表す画像が含まれるものであってもよい。例えば、「仮想世界を表す画像」は、拡張現実感技術を用いて現実空間の画像と仮想空間の画像とを合成した画像であってもよい。また、情報処理システム1は、パノラマ画像を表示装置に表示させる処理を繰り返し実行することによって、パノラマ動画を再生してもよい。
【0134】
また、表示される画像は、パノラマ画像(の一部)に限らない。つまり、情報処理システム1は、パノラマ画像を用いて3次元空間の画像を表示するものに限らず、任意の3次元空間の画像を表示装置に表示させるものでよい。例えば、他の実施形態においては、情報処理システム1は、3次元空間において地形オブジェクト等によって仮想世界を構成し、構成された仮想世界の画像を仮想カメラを用いて生成・表示してもよい。なお、このとき、3次元空間に地面オブジェクトが設定される場合には、地面オブジェクトの平面が上記基準面として設定されてもよい。このように、上記実施形態における表示制御方法は、仮想の3次元空間において仮想世界(ゲーム世界)を構成して仮想世界の画像を表示するゲームシステム等に適用することも可能である。この場合、方向オブジェクトは、3次元空間における所定の方向(例えば、ゲームキャラクタが進むべき方向)を示すものであってもよい。
【0135】
(配置されるオブジェクトに関する変形例)
上記実施形態においては、3次元空間に配置されるオブジェクトとして、3次元空間における方向(より具体的には、基準面上における方向)を示す方向オブジェクト31が配置される場合を例として説明した。なお、3次元空間に配置されるオブジェクトは、方向オブジェクトに限らず、どのようなオブジェクトであってもよい。例えば、他の実施形態においては、オブジェクトは、方向を示さず、上述した、視点を移動させる指示を行うための指示画像としての機能のみを有していてもよい。また、方向オブジェクト31は、道路の方向を示すものに限らず、例えば、現実世界または仮想世界において定められる方向(方角、例えば、現実世界の北方向)を示すものであってもよい。