(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-03-05
(45)【発行日】2024-03-13
(54)【発明の名称】プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
G06T 19/00 20110101AFI20240306BHJP
G06T 13/60 20110101ALI20240306BHJP
【FI】
G06T19/00 600
G06T13/60
(21)【出願番号】P 2023142371
(22)【出願日】2023-09-01
【審査請求日】2023-09-01
【早期審査対象出願】
(73)【特許権者】
【識別番号】503095963
【氏名又は名称】株式会社ほぼ日
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】清木 昌
(72)【発明者】
【氏名】後藤 太
(72)【発明者】
【氏名】田口 智規
(72)【発明者】
【氏名】千野 裕太郎
(72)【発明者】
【氏名】福田 吉人
(72)【発明者】
【氏名】渡邉 青
【審査官】佐野 潤一
(56)【参考文献】
【文献】特開2022-042249(JP,A)
【文献】米国特許第05583972(US,A)
【文献】特開平08-072965(JP,A)
【文献】特開2021-009075(JP,A)
【文献】特開2018-115907(JP,A)
【文献】特開平10-068906(JP,A)
【文献】特開2018-146183(JP,A)
【文献】国際公開第2019/097742(WO,A1)
【文献】特開2019-091203(JP,A)
【文献】米国特許出願公開第2011/0195723(US,A1)
【文献】中国特許出願公開第111143713(CN,A)
【文献】特開平07-262403(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/00-19/00
G01W 1/00
G09B 27/00-29/00
H04N 7/18
H04N 5/66
G09G 5/00
(57)【特許請求の範囲】
【請求項1】
各位置の雲の高度を取得し、
現実空間の地球儀
の撮影画像を取り込んだ場合に、前記地球儀の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示
し、
前記第1仮想空間の地球儀に対する視線、及び、各位置の雲の高度に基づき、各位置の雲の濃淡を調整する
処理をコンピュータに実行させるプログラム。
【請求項2】
雲の赤外画像を取得し、
取得した赤外画像に基づき前記各位置の雲の高度を推定する
請求項1に記載のプログラム。
【請求項3】
各位置の雲の高度に基づき雲間の傾きを算出し、
光源及び算出した雲間の傾きに基づき、各位置の雲の明るさを調整する
請求項1又は2に記載のプログラム。
【請求項4】
各位置の降水量を取得し、
取得した降水量に応じて、各位置に雨滴アニメーションを表示する
請求項1又は2に記載のプログラム。
【請求項5】
複数の位置群により特定される領域の降水量を特定し、
特定した降水量に応じた重みづけに従い、領域を選択し、
選択した領域内で前記雨滴アニメーションを表示する
請求項
4に記載のプログラム。
【請求項6】
各位置の気温を取得し、
取得した気温が所定温度以下の位置で前記雨滴アニメーションに代えて雪アニメーションを表示する
請求項
4に記載のプログラム。
【請求項7】
解説を行うキャラクタを拡張現実として表示し、
前記キャラクタが解説を行わない場合に、前記キャラクタを前記第1仮想空間の地球儀上で移動させる
請求項1又は2に記載のプログラム。
【請求項8】
各位置の風に関する情報を取得し、
取得した風に関する情報に応じた風の流れを前記第1仮想空間の地球儀上に表示し、
前記キャラクタが投じるオブジェクトを前記風の流れに応じて移動させる
請求項
7に記載のプログラム。
【請求項9】
各位置の風に関する情報及び気温に関する情報を取得し、
取得した気温に関する情報に応じた表示態様で、取得した風に関する情報に応じた風の流れを前記第1仮想空間の地球儀上に表示する
請求項1又は2に記載のプログラム。
【請求項10】
ユーザの現在位置を取得し、
取得したユーザの現在位置を前記第1仮想空間に表示する
請求項1又は2に記載のプログラム。
【請求項11】
前記第1仮想空間の地球儀領域外に表示される現在位置アイコン、及び、該現在位置アイコンと現在位置とを結ぶ直線を前記第1仮想空間に表示する
請求項
10に記載のプログラム。
【請求項12】
前記現在位置が前記第1仮想空間の地球儀領域の反対側に存在する場合に、前記現在位置アイコンを表示すると共に、前記直線の内、地球儀に隠れる部分の直線を表示しない
請求項
11に記載のプログラム。
【請求項13】
コンテンツを示すコンテンツアイコンと
、前記コンテンツアイコンに対応する位置と前記コンテンツアイコンとを結ぶ第1直線とを、所定位置に表示し、
複数のコンテンツを示す複合コンテンツアイコンと
、前記複合コンテンツアイコンに対応する位置と前記複合コンテンツアイコンとを結ぶ第2直線とを、所定位置に表示し、
複合コンテンツアイコンの選択を受け付けた場合、対応する各コンテンツのコンテンツアイコンと
前記第1直線との組み合わせを分離して表示する
請求項1又は2に記載のプログラム。
【請求項14】
各位置の雲の高度を取得し、
現実空間の地球儀
の撮影画像を取り込んだ場合に、前記地球儀の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示
し、
前記第1仮想空間の地球儀に対する視線、及び、各位置の雲の高度に基づき、各位置の雲の濃淡を調整する
処理をコンピュータが実行する情報処理方法。
【請求項15】
制御部を備える情報処理装置であって、
前記制御部は、
各位置の雲の高度を取得し、
現実空間の地球儀
の撮影画像を取り込んだ場合に、前記地球儀の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示
し、
前記第1仮想空間の地球儀に対する視線、及び、各位置の雲の高度に基づき、各位置の雲の濃淡を調整する
情報処理装置。
【請求項16】
各位置の雲の高度を取得し、
現実空間の地球儀の撮影画像を取り込んだ場合に、前記地球儀の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示し、
各位置の雲の高度に基づき雲間の傾きを算出し、
光源及び算出した雲間の傾きに基づき、各位置の雲の明るさを調整する
処理をコンピュータに実行させるプログラム。
【請求項17】
各位置の雲の高度を取得し、
現実空間の地球儀の撮影画像を取り込んだ場合に、前記地球儀の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示し、
各位置の降水量を取得し、
取得した降水量に応じて、各位置に雨滴アニメーションを表示し、
複数の位置群により特定される領域の降水量を特定し、
特定した降水量に応じた重みづけに従い、領域を選択し、
選択した領域内で前記雨滴アニメーションを表示する
処理をコンピュータに実行させるプログラム。
【請求項18】
各位置の雲の高度を取得し、
現実空間の地球儀の撮影画像を取り込んだ場合に、前記地球儀の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示し、
各位置の降水量を取得し、
取得した降水量に応じて、各位置に雨滴アニメーションを表示し、
各位置の気温を取得し、
取得した気温が所定温度以下の位置で前記雨滴アニメーションに代えて雪アニメーションを表示する
処理をコンピュータに実行させるプログラム。
【請求項19】
各位置の雲の高度を取得し、
現実空間の地球儀の撮影画像を取り込んだ場合に、前記地球儀の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示し、
解説を行うキャラクタを拡張現実として表示し、
前記キャラクタが解説を行わない場合に、前記キャラクタを前記第1仮想空間の地球儀上で移動させる
処理をコンピュータに実行させるプログラム。
【請求項20】
各位置の雲の高度を取得し、
現実空間の地球儀の撮影画像を取り込んだ場合に、前記地球儀の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示し、
ユーザの現在位置を取得し、
取得したユーザの現在位置を前記第1仮想空間に表示し、
前記第1仮想空間の地球儀領域外に表示される現在位置アイコン、及び、該現在位置アイコンと現在位置とを結ぶ直線を前記第1仮想空間に表示する
処理をコンピュータに実行させるプログラム。
【請求項21】
各位置の雲の高度を取得し、
現実空間の地球儀の撮影画像を取り込んだ場合に、前記地球儀の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示し、
コンテンツを示すコンテンツアイコンと、前記コンテンツアイコンに対応する位置と前記コンテンツアイコンとを結ぶ第1直線とを、所定位置に表示し、
複数のコンテンツを示す複合コンテンツアイコンと、前記複合コンテンツアイコンに対応する位置と前記複合コンテンツアイコンとを結ぶ第2直線とを、所定位置に表示し、
複合コンテンツアイコンの選択を受け付けた場合、対応する各コンテンツのコンテンツアイコンと前記第1直線との組み合わせを分離して表示する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
近年、拡張現実(AR:Augmented Reality)システムを用いた商品の開発が行われている。ARシステムでは、Apple(登録商標) Vision Pro等のARグラス(ARゴーグル)、スマートフォン、タブレット端末、携帯ゲーム機等のようにカメラ及び表示部を有する情報機器に、ARマーカを認識するためのアプリケーションプログラムをインストールしておく。このような情報機器を用いて、ARマーカが付された被写体を撮影すると、情報機器がARマーカを認識し、認識したARマーカに応じたコンテンツを、撮影画像の上に重ねて表示する。これにより、ユーザは、撮影対象の被写体にコンテンツが重畳された画像を表示部にて見ることができる。特許文献1には、立体対象物を撮影し、撮影した画像中の立体対象物の上に画像又は文字等の付加情報を重ねて表示するシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に係る発明は、撮影した画像中の地球儀(立体対象物)を表示すると共に、対応する位置に雲を3D表示することができないという問題がある。
【0005】
一つの側面では、撮影した画像中の地球儀を表示すると共に、対応する位置に雲を3D表示することが可能なプログラム等を提供することにある。
【課題を解決するための手段】
【0006】
一つの側面に係るプログラムは、各位置の雲の高度を取得し、現実空間の地球儀の撮影画像を取り込んだ場合に、前記地球儀の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示し、前記第1仮想空間の地球儀に対する視線、及び、各位置の雲の高度に基づき、各位置の雲の濃淡を調整する処理をコンピュータに実行させる。
【発明の効果】
【0007】
一つの側面では、撮影した画像中の地球儀を表示すると共に、対応する位置に雲を3D表示することが可能となる。
【図面の簡単な説明】
【0008】
【
図2】ユーザ端末の構成例を示すブロック図である。
【
図3】第1仮想空間上の対応する位置に雲を3D表示する処理を説明する。
【
図5】第1仮想空間上の対応する位置に雲を3D表示する際の処理手順を示すフローチャートである。
【
図6】第1仮想空間を表示する処理のサブルーチンの処理手順を示すフローチャートである。
【
図7】雲の高度を推定する処理のサブルーチンの処理手順を示すフローチャートである
【
図8】雲の濃淡を調整する処理のサブルーチンの処理手順を示すフローチャートである。
【
図9】雲の明るさを調整する処理のサブルーチンの処理手順を示すフローチャートである。
【
図10】降水量に基づくアニメーションの表示画面の一例を示す説明図である。
【
図11】降水量に基づきアニメーションを表示する際の処理手順を示すフローチャートである。
【
図12】キャラクタを拡張現実として表示する画面の一例を示す説明図である。
【
図13】キャラクタを拡張現実として表示する際の処理手順を示すフローチャートである。
【
図14】風の流れを第1仮想空間の地球儀上に表示する画面の一例を示す説明図である。
【
図15】風の流れを第1仮想空間の地球儀上に表示する際の処理手順を示すフローチャートである。
【
図16】ユーザの現在位置を第1仮想空間に表示する画面の一例を示す説明図である。
【
図17】ユーザの現在位置を第1仮想空間に表示する際の処理手順を示すフローチャートである。
【
図18】国旗アイコン及び複合国旗アイコンの表示画面の一例を示す説明図である。
【
図19】複合国旗アイコンの選択操作を受け付ける際の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明をその実施形態を示す図面に基づいて詳述する。
【0010】
(実施形態1)
実施形態1は、現実空間の地球儀(アースボール)をかざした場合、第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に雲を3D表示する形態に関する。
【0011】
図1は、ARシステムの構成例を示す模式図である。本実施形態のARシステムは、ARマーカ(マーカ)を表面に有する球体である地球儀1及び情報処理端末2を含み、地球儀1を被写体とし、地球儀1を情報処理端末2で撮影して使用する。
【0012】
地球儀1は例えばプラスチック製の中空の球体であるが、これに限らない。地球儀1の表面には、地球上の地図が印刷されており、地図中の適宜位置にARマーカが付されている。例えば
図1に示す例では、地図中の海及び大陸のそれぞれに名称が付されており、各国及び都市のそれぞれに国名及び都市名が付されている。これらの文字はARマーカを構成する。
【0013】
なお、
図1では省略しているが、地図中に各国の国境線が含まれる場合、国境線もARマーカを構成させても良い。なお、地図中の河川、平野、山脈等は地形毎に所定の色で色分けされた場合、各色もARマーカを構成させても良い。
【0014】
なお、地図中の海にはそれぞれの海、海域等を識別するために所定のマークが付されてても良い。または、船、亀又はカモメ等の動物を識別するために所定のマークが付されてても良い。更にまた、地図中の大陸にはそれぞれの大陸、地域等を識別するために所定のマークが付されても良い。
【0015】
情報処理端末2は、各ユーザの端末装置である。情報処理端末2は、例えば、Apple Vision Pro等のARグラス、スマートフォン、携帯電話、アップルウォッチ(Apple Watch:登録商標)等のウェアラブルデバイス、タブレット、ゲーム機、またはパーソナルコンピュータ端末等の情報処理機器である。以下では簡潔のため、情報処理端末2をユーザ端末2と読み替える。
【0016】
本実施形態に係るユーザ端末2は、雲の赤外画像を取得する。ユーザ端末2は、取得した赤外画像に基づき各位置の雲の高度を推定する。ユーザ端末2は、現実空間の地球儀1をかざした場合、当該地球儀1の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示する。
【0017】
図2は、ユーザ端末2の構成例を示すブロック図である。ユーザ端末2は、制御部21、記憶部22、通信部23、入力部24、表示部25、撮影部26及び大容量記憶部27を含む。各構成はバスBで接続されている。
【0018】
制御部21は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、または量子プロセッサ等の演算処理装置を含む。制御部21は、記憶部22に記憶された制御プログラム2P(プログラム製品)を読み出して実行することにより、ユーザ端末2に係る種々の情報処理または制御処理等を行う。なお、
図2では制御部21を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
【0019】
記憶部22はRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ素子を含み、制御部21が処理を実行するために必要な制御プログラム2P又はデータ等を記憶している。また、記憶部22は、制御部21が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部23は、通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、外部の情報処理装置等と情報の送受信を行う。
【0020】
入力部24は、コントローラー、ジェスチャを感知するためのジェスチャ入力装置、キーボード、マウスまたは表示部25と一体化したタッチパネルでも良い。ジェスチャ入力装置を利用する場合、制御部21は、例えば、撮影部26により撮影した手の画像から手の位置及び形状等を認識する。制御部21は、認識した手の位置及び形状等に基づき、手のジェスチャ(動き)を判定する。制御部21は、判定した手のジェスチャに応じて、該当する操作を行う。例えば、制御部21は、親指及び人差指でつまむようなジェスチャを判定した場合、手の位置にあるオブジェクトを選択するような操作を行っても良い。
【0021】
表示部25は、液晶ディスプレイ又は有機EL(electroluminescence)ディスプレイ等であり、制御部21の指示に従い各種情報を表示する。撮影部26は、例えばCCD(Charge Coupled Device)カメラ、CMOS(Complementary Metal Oxide Semiconductor)カメラ等の撮影装置である。なお、撮影部26はユーザ端末2の中に内蔵せず、外部で直接にユーザ端末2と接続し、撮影可能な構成としても良い。
【0022】
大容量記憶部27は、例えばHDD(Hard disk drive)、またはSSD(Solid State Drive)等の記録媒体を備える。なお、本実施形態において記憶部22及び大容量記憶部27は一体の記憶装置として構成されていても良い。また、大容量記憶部27は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部27はユーザ端末2に接続された外部記憶装置であっても良い。
【0023】
図3は、第1仮想空間上の対応する位置に雲を3D表示する処理を説明する。当該画面は、第1仮想空間表示欄11a及び雲表示欄11bを含む。第1仮想空間表示欄11aは、第1仮想空間を表示する表示欄である。第1仮想空間は、地球儀領域及び地球儀領域外の現実空間領域を含む仮想空間である。雲表示欄11bは、第1仮想空間上の対応する位置に雲を3D表示する表示欄である。
【0024】
ユーザ端末2は、外部の気象庁サーバまたは気象データ配信システム等から、雲の赤外(IR:InfraRed)画像を取得する。雲の赤外画像は、衛星観測画像の一つであり、地球表面または雲から射出された赤外放射の強さに応じて濃淡を付した画像である。赤外画像は、観測された放射エネルギーをほぼ黒体放射であるとみなして輝度温度に変換し、温度分布を画像化したものである。
【0025】
雲の赤外画像は、衛星から観測された赤外線により雲頂温度を計測したものであり、温かい表面が黒く、冷たい表面が白く表現される。雲の画素の輝度温度は間接的に雲の高度を示す。雲が存在する対流圏において、高度が上がるに従って気温が下がっていくため、雲頂温度を雲頂高度に変換することができる。
【0026】
ユーザ端末2は、取得した赤外画像に基づき各位置の雲の高度を推定する。具体的には、ユーザ端末2は、輝度温度である赤外画像の各画素(ピクセル)の画素値を赤外画像から取得する。ユーザ端末2は、取得した各画素値が雲に対応するか否かを判定する。例えば、ユーザ端末2は、各画素値に対応する画像の輝度温度が地表面温度より低い場合、当該画素に雲が映っているため、当該画素値が雲に対応すると判定する。なお、上述した画素における雲の判定処理に限らず、他の判定手法が利用されても良い。
【0027】
ユーザ端末2は、雲に対応する各画素に対し、各画素値を線形に高度に変換する。例えば、ユーザ端末2は、各画素値を、各画素が対応する経度緯度における地球儀の3Dグラフィックス上の高度情報に変換する。
【0028】
なお、上述した雲頂温度から雲頂高度への変換処理に限るものではない。例えば、ユーザ端末2は、雲の赤外画像の領域に含まれる雲の輝度から雲頂の温度を算出する。ユーザ端末2は、気温と高度との関係情報(例えば、気温の鉛直方向のプロファイル)に基づき、輝度温度に対応する高度を算出しても良い。
【0029】
ユーザ端末2は、現実空間の地球儀1をかざした場合、撮影部26を介して、マーカを表面に有する当該地球儀1の撮影画像を取り込むことにより、地球儀領域を含む地球儀1の撮影画像を第1仮想空間表示欄11aに表示する。
【0030】
ユーザ端末2は、地球儀1の撮影画像中のマーカ情報に基づき、撮影画像に表示されている地球儀領域の各位置を特定する。例えば、ユーザ端末2は、撮影画像に表示されている地球儀領域に応じてARマーカ情報を認識する。ユーザ端末2は、認識したARマーカ情報に基づいて位置情報を抽出する。
【0031】
ユーザ端末2は、抽出した位置情報を参照して、雲表示欄11bに、当該第1仮想空間上の対応する位置に特定した雲の高度に応じた雲を3D表示する。雲の3D表示(描画)処理について、例えば、ボリューメトリックレンダリング(Volumetric Rendering)と呼ばれる手法を利用しても良い。ボリューメトリックレンダリングを利用することにより、雲の厚みにより透け方の濃淡を表現することができ、より雲らしい表現が可能となる。
【0032】
ボリューメトリックレンダリングは、ボクセル(voxel)と呼ばれる立方体の集まりで形成された3次元データを、ボクセル単位の輝度を算出し、全体を見渡せる2次元画像の画素に変換して表示する手法である。ボリューメトリックレンダリングを行うことにより、レンダリング対象の表面を半透明化してその下にある内部構造を表現するため、リアルな雲を表現することができる。
【0033】
図4は、曇の3D描画処理を説明する説明図である。
図4Aは、雲の濃淡の調整を説明する説明図である。
図4Aでは、撮影部26から地球儀1の表面を見た場合の、地球儀の断面図を模式的に図示している。符号11cは雲の上限高度を、符号11dは雲の下限高度を示す。また、図中のハッチングは雲を示す。
【0034】
ユーザ端末2は、画面上の特定の点(画素)の雲の濃淡を、以下の手法で計算する。まずユーザ端末2は、撮影部26から地球儀に延ばした視線と上限高度11cとの交点を特定する。
【0035】
次にユーザ端末2は、特定した交点から更に視線を一定距離ずつ進め、判定を行う各ポイントを特定する。ユーザ端末2は、特定した交点から更に視線を一定距離ずつ進め、所定の条件を満たすか否かを判定する。所定の条件は、例えば、視線が雲の下限高度11dを下回ること、または、視線が第1仮想空間の地球儀の反対側に出ることである。ユーザ端末2は、所定の条件を満たしていない場合、判定を行うポイントを特定する。ユーザ端末2は、所定の条件を満たす場合、判定を行うポイントの特定処理を終了する。
【0036】
ユーザ端末2は、各ポイントにおいて、そのポイントにおける視線の高度と、そのポイント(緯度・経度)における雲の高度とを比較して、視線高度が雲高度以下であるか否かを判定する。視線高度が雲高度以下であると判定した場合、ユーザ端末2は、所定のカウンタ(以下では「雲カウンタ」と呼ぶ)をインクリメントする。ユーザ端末2は各ポイントにおいて上記の判定を行い、雲カウンタを計算する。ユーザ端末2は、計算した雲カウンタが大きいほど雲の濃淡が濃くなるように、その視線に対応する画素の濃淡を調整する。
【0037】
例えば
図4の例では、撮影部26から延びる視線は点A、Bの2点において雲高度を下回っている。従って、この場合の雲カウンタは「2」となる。ユーザ端末2は、当該雲カウンタ「2」に応じた濃度となるように、その視線に対応する画素の濃淡を調整する。
【0038】
このように、上述した雲の濃淡を調整することにより、濃淡が表現できる雲を3Dグラフィックスで描画することができる。ユーザ端末2は、3Dグラフィックスで描画した雲を雲表示欄11bに表示する。
【0039】
更に本実施形態においてユーザ端末2は、雲頂の傾きに応じて雲の明るさ(陰影表現)を調整する処理を行う。
図4Bは、雲の明るさの調整処理を説明する説明図である。ユーザ端末2は、光源(太陽)の向きと、雲頂の傾きとから、雲頂がどの程度光(太陽光)を正面から浴びているかを計算し、画像中の雲の明るさに反映させることで、リアルな雲を表現する。
【0040】
まず、ユーザ端末2は、注目する点(画素)の雲頂の傾きを、近傍点の雲頂高度と比較することで算出する。雲頂は、雲本体を含んだ飽和した空気と飽和していない外の空気との境目である。例えば
図4Bに示すように、注目する点が点Cであり、点Dが注目点Cの近傍点であるものとする。ユーザ端末2は、注目点Cの雲の高度と、近傍点Dの雲の高度とに基づき、近似直線11e(正確には、注目点C及び近傍点Dを含む雲頂表面の近似平面)の傾きを雲頂の傾きとして算出する。
【0041】
次にユーザ端末2は、正規化された光源方向ベクトルと、正規化された雲頂の法線ベクトルとの内積を算出する。まず、ユーザ端末2は、光源(S)方向を特定する。例えば、ユーザ端末2は、現時刻での太陽の位置をシミュレーションで計算する。シミュレーションは、太陽高度と太陽方位角を数式で求める所定の太陽の位置計算方法を用いて行う。ユーザ端末2は、計算した太陽の位置に基づき、地球から見た太陽の方向を光源(S)方向として特定する。
【0042】
ユーザ端末2は、特定した光源(S)方向と、算出した雲間の傾きとに基づき、雲頂の明るさを調整する。光源方向ベクトル(L)と雲頂の法線ベクトル(N)を元に雲頂の明るさを計算することができる。
【0043】
具体的には、ユーザ端末2は、注目点Cの座標値(x,y,z)と、光源(S)の座標値(x1,y1,z1)とに基づき、正規化した光源方向ベクトル(L)を算出する。ユーザ端末2は、算出した雲間の傾きに基づき、正規化した雲頂の法線ベクトル(N)を算出する。ユーザ端末2は、正規化された光源方向ベクトル(L)と、正規化された雲頂の法線ベクトル(N)との内積を計算する。
【0044】
ユーザ端末2は、算出した内積が負値である場合、0とみなす。ユーザ端末2は、算出した内積(0~1の値)に基づき、事前に指定された太陽光が全く当たっていないとき(内積が0のとき)の色のRGB値と、太陽光が一番当たっているとき(内積が1のとき)の色のRGB値との間で線形補間した色を特定し、注目点CのRGB値とする。
【0045】
図5は、第1仮想空間上の対応する位置に雲を3D表示する際の処理手順を示すフローチャートである。ユーザ端末2の制御部21は、外部の気象庁サーバまたは気象データ配信システム等から、雲の赤外画像を通信部23により取得する(ステップS201)。
【0046】
制御部21は、雲の高度を推定する処理のサブルーチンを実行する(ステップS202)。なお、雲の高度の推定処理のサブルーチンに関しては後述する。制御部21は、現実空間の地球儀1をかざした場合、第1仮想空間を表示する処理のサブルーチンを実行する(ステップS203)。なお、第1仮想空間の表示処理のサブルーチンに関しては後述する。
【0047】
制御部21は、ARマーカ情報に基づいて抽出した位置情報を参照して、雲の濃淡を調整する処理のサブルーチンを実行する(ステップS204)。制御部21は、雲の明るさを調整する処理のサブルーチンを実行する(ステップS205)。なお、雲の濃淡調整のサブルーチン及び雲の明るさ調整のサブルーチンに関しては後述する。制御部21は、処理を終了する。
【0048】
図6は、第1仮想空間を表示する処理のサブルーチンの処理手順を示すフローチャートである。ユーザ端末2の制御部21は、撮影部26を介して、マーカを表面に有する地球儀1の撮影画像を取り込む(ステップS01)。撮影画像には、地球儀領域、及び当該地球儀領域外の現実空間領域が含まれる。制御部21は、取り込んだ撮影画像を表示部25により第1仮想空間に表示する(ステップS02)。
【0049】
制御部21は、撮影画像に表示されている地球儀領域に応じてARマーカ情報を認識する(ステップS03)。制御部21は、認識したマーカ情報に基づき、撮影画像に表示されている地球儀領域の各位置を特定する(ステップS04)。制御部21は、第1仮想空間の表示処理のサブルーチンをリターンする。
【0050】
図7は、雲の高度を推定する処理のサブルーチンの処理手順を示すフローチャートである。ユーザ端末2の制御部21は、赤外画像の各画素の画素値を赤外画像から取得する(ステップS11)。制御部21は、取得した複数の画素値から、1つの画素値を選択する(ステップS12)。
【0051】
制御部21は、取得した画素値が雲に対応するか否かを判定する(ステップS13)。例えば、制御部21は、画素値に対応する画像の輝度温度が地表面温度より低い場合、当該画素値が雲に対応すると判定する。
【0052】
制御部21は、取得した画素値が雲に対応していない場合(ステップS13でNO)、ステップS12の処理に戻る。制御部21は、取得した画素値が雲に対応する場合(ステップS13でYES)、当該画素値を、当該画素が対応する経度緯度における地球儀の3Dグラフィックス上の高度情報に変換する(ステップS14)。
【0053】
制御部21は、複数の画素値のうち、当該画素値が最後の画素値であるか否かを判定する(ステップS15)。制御部21は、当該画素値が最後の画素値でない場合(ステップS15でNO)、ステップS12の処理に戻る。制御部21は、当該画素値が最後の画素値である場合(ステップS15でYES)、雲の高度の推定処理のサブルーチンをリターンする。
【0054】
図8は、雲の濃淡を調整する処理のサブルーチンの処理手順を示すフローチャートである。ユーザ端末2の制御部21は、雲に対応する複数の画素を赤外画像から取得する(ステップS21)。制御部21は、取得した複数の画素から、1つの画素を選択する(ステップS22)。制御部21は、選択した画素について、撮影部26から地球儀に延ばした視線と雲の上限高度との交点を特定する(ステップS23)。制御部21は、特定した交点から更に視線を一定距離ずつ進め、判定を行うポイントを特定する(ステップS24)。
【0055】
制御部21は、特定したポイントにおいて、そのポイントにおける視線の高度が、そのポイントにおける位置(緯度・経度)の雲の高度より低いか否かを判定する(ステップS25)。制御部21は、視線の高度が雲の高度より低くない場合(ステップS25でNO)、後述するステップS27の処理に遷移する。制御部21は、視線の高度が雲の高度より低い場合(ステップS25でYES)、雲を描画するための雲カウンタを加算する(ステップS26)。
【0056】
制御部21は、例えば、視線が雲の下限高度を下回るまでの所定の条件、または、視線が第1仮想空間の地球儀の反対側に出るまでの所定の条件を満たすか否かを判定する(ステップS27)。制御部21は、所定の条件を満たしていない場合(ステップS27でNO)、ステップS24の処理に戻る。制御部21は、繰り返し条件を満たす場合(ステップS27でYES)、加算した雲カウンタの値に基づき、ステップS22で選択した画素における雲の濃淡を調整する(ステップS28)。
【0057】
制御部21は、複数の画素のうち、当該画素が最後の画素であるか否かを判定する(ステップS29)。制御部21は、当該画素が最後の画素でないと判定した場合(ステップS29でNO)、制御部21は、処理をステップS22に戻す。制御部21は、当該画素が最後の画素であると判定した場合(ステップS29でYES)、制御部21は、雲の濃淡調整処理のサブルーチンをリターンする。
【0058】
図9は、雲の明るさを調整する処理のサブルーチンの処理手順を示すフローチャートである。ユーザ端末2の制御部21は、雲に対応する複数の画素を赤外画像から取得する(ステップS31)。制御部21は、取得した複数の画素から、1つの画素を選択する(ステップS32)。
【0059】
制御部21は、取得した画素に対応する雲の高度と、当該画素の近傍の雲頂の高度とを比較することにより、当該画素における雲間の傾きを算出する(ステップS33)。例えば、制御部21は、各位置の雲の高度に基づき、当該画素の座標値、及び当該画素の近傍の雲頂の各座標値を取得する。制御部21は、取得した各座標値で形成される近似直線の傾きを雲間の傾きとして算出しても良い。
【0060】
制御部21は、現時刻での太陽の位置をシミュレーションで計算し、計算した太陽の位置に基づき、地球から見た太陽の方向を光源方向として特定する(ステップS34)。制御部21は、当該画素の座標値と、光源の座標値とに基づき、正規化した光源方向ベクトルを算出する(ステップS35)。制御部21は、算出した雲間の傾きに基づき、正規化した雲頂の法線ベクトルを算出する(ステップS36)。
【0061】
制御部21は、正規化された光源方向ベクトルと、正規化された雲頂の法線ベクトルとの内積を算出する(ステップS37)。制御部21は、算出した内積が負値であるか否かを判定する(ステップS38)。制御部21は、算出した内積が負値でない場合(ステップS38でNO)、後述するステップS40の処理に遷移する。
【0062】
制御部21は、算出した内積が負値である場合(ステップS38でYES)、内積が0に設定する(ステップS39)。制御部21は、算出した内積(0~1の値)に基づき、事前に指定された太陽光が全く当たっていないとき(内積が0のとき)の色のRGB値と、太陽光が一番当たっているとき(内積が1のとき)の色のRGB値との間で線形補間した色を特定し、当該画素のRGB値に設定する(ステップS40)。
【0063】
制御部21は、複数の画素値のうち、当該画素値が最後の画素値であるか否かを判定する(ステップS41)。制御部21は、当該画素値が最後の画素値でない場合(ステップS41でNO)、ステップS32の処理に戻る。制御部21は、当該画素値が最後の画素値である場合(ステップS41でYES)、制御部21は、雲の明るさ調整処理のサブルーチンをリターンする。
【0064】
なお、ユーザ端末2は、地球儀1の回転、またはユーザ端末2と地球儀1との相対位置の変化等の動きを検知した場合、検知した動きに対応して、地球儀1の撮影画像を再度取り込む。ユーザ端末2は、再度取り込んだ地球儀1の撮影画像を第1仮想空間表示欄11aに表示する。
【0065】
ユーザ端末2は、上述した処理と同様に、地球儀1の撮影画像中のマーカ情報に基づき、撮影画像に表示されている地球儀領域の各位置を再度特定する。ユーザ端末2は、第1仮想空間の地球儀を表示すると共に、該第1仮想空間上の、再度特定した各位置の雲の高度に応じた雲を3D表示する。
【0066】
本実施形態によると、第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に雲を3D表示することが可能となる。
【0067】
本実施形態によると、雲を3D表示することにより、より雲らしい表現を実現することが可能となる。
【0068】
本実施形態によると、第1仮想空間の地球儀に対する視線、及び、各位置の雲の高度に基づき、各位置の雲の濃淡を調整することが可能となる。
【0069】
本実施形態によると、光源及び雲間の傾きに基づき、各位置の雲の明るさを調整することが可能となる。
【0070】
(実施形態2)
実施形態2は、降水量に応じて、各位置に雨滴アニメーションまたは雪アニメーションを表示する形態に関する。なお、実施形態1と重複する内容については説明を省略する。
【0071】
図10は、降水量に基づくアニメーションの表示画面の一例を示す説明図である。
図10Aは、雨滴アニメーションの表示画面の一例を示す説明図である。
図10Bは、雪アニメーションの表示画面の一例を示す説明図である。
【0072】
ユーザ端末2は、現実空間の地球儀1をかざした場合、撮影部26を介して、当該地球儀1の撮影画像を取り込むことにより、地球儀領域を含む地球儀1の撮影画像を第1仮想空間表示欄11aに表示する。
【0073】
ユーザ端末2は、地球儀1の撮影画像中のマーカ情報に基づき、撮影画像に表示されている地球儀領域の各位置を特定する。例えば、ユーザ端末2は、撮影画像に表示されている地球儀領域に応じてARマーカ情報を認識する。ユーザ端末2は、認識したARマーカ情報に基づいて位置情報を抽出する。
【0074】
ユーザ端末2は、抽出した位置情報を参照して、外部の気象庁サーバまたは気象データ配信システム等から、各位置の降水量データ及び気温データを取得する。例えば、降水量データは、各位置の降水量を表す降水量ビットマップであり、気温データは、各位置の気温を表す気温ビットマップである。
【0075】
ユーザ端末2は、取得した降水量データに基づき、複数の位置群により特定される領域の降水量を特定する。具体的には、ユーザ端末2は、ARマーカ情報に基づいて抽出した位置情報を参照し、取得した降水量データに基づき、雨が降っている降雨領域を特定する。
【0076】
ユーザ端末2は、特定した降雨領域の降水量を特定する。例えば、ユーザ端末2は、降水量データから、降雨領域内の各画素値に対応する位置(経度緯度)の降水量をそれぞれ取得する。ユーザ端末2は、取得したそれぞれの降水量の平均値を当該降雨領域の降水量として算出する。なお、降雨領域の降水量の特定処理は、平均値に限るものではない。例えば、複数の降水量の中央値または最頻値(複数の降水量の中で頻度が最も高い値)等を利用しても良い。なお、複数の降水量からランダムに降水量が選択されても良い。
【0077】
ユーザ端末2は、特定した降雨領域の降水量に応じた重みづけに従い、領域を選択する。具体的には、ユーザ端末2は、特定した降雨領域に対し、経度緯度及び降水量を一組にして領域リストを生成する。ユーザ端末2は、領域の降水量に応じて重み付けした確率で、雨一粒ごとに、生成した領域リストから、乱数を使って1つの領域を選択する。乱数について、例えば、離散型確率分布に基づく乱数生成の手法であるAlias method関数(アルゴリズム)を利用しても良い。
【0078】
ユーザ端末2は、選択した領域内で雨滴アニメーションを表示する。ユーザ端末2は、所定の雨粒の数(例えば、1000)に達するまで、上述した雨滴アニメーションの表示処理を繰り返す。なお、所定の雨粒の数は、全体の降水量に応じて動的に変更されても良い。
図10Aに示すように、降雨領域内に、雨滴アニメーションをシミュレートする粒子特殊効果が表示される。
【0079】
ユーザ端末2は、選択した領域における各位置の経度緯度を取得する。ユーザ端末2は、取得した各位置の経度緯度に基づき、各位置の気温を気温データから取得する。ユーザ端末2は、取得した気温が所定の温度(例えば、マイナス6度)以下であるか否かを判定する。
【0080】
ユーザ端末2は、取得した気温が所定の温度以下である場合、当該領域内で、雨滴アニメーションに代えて雪アニメーションを表示する。
図10Bに示すように、降雨領域内に、雪アニメーションをシミュレートする粒子特殊効果が表示される。
【0081】
図11は、降水量に基づきアニメーションを表示する際の処理手順を示すフローチャートである。ユーザ端末2の制御部21は、現実空間の地球儀1をかざした場合、第1仮想空間を表示する処理のサブルーチンを実行する(ステップS211)。制御部21は、例えば、気象データ配信システム等から、第1仮想空間の地球儀領域の各位置の降水量データ及び気温データを通信部23により取得する(ステップS212)。
【0082】
制御部21は、ARマーカ情報に基づいて抽出した位置情報を参照し、取得した降水量データに基づき、雨が降っている降雨領域を特定する(ステップS213)。制御部21は、特定した降雨領域の降水量を特定する(ステップS214)。例えば、制御部21は、降水量データから、降雨領域内の各画素値に対応する位置の降水量をそれぞれ取得する。制御部21は、取得したそれぞれの降水量の平均値を当該降雨領域の降水量として算出する。
【0083】
制御部21は、特定した降雨領域に対し、経度緯度及び降水量を一組にして領域リストを生成する(ステップS215)。制御部21は、特定した降雨領域の降水量に応じて重み付けした確率で、雨一粒ごとに、生成した領域リストから、乱数を使って1つの領域を選択する(ステップS216)。制御部21は、選択した領域における各位置の気温を気温データから取得する(ステップS217)。制御部21は、取得した気温が所定の温度以下であるか否かを判定する(ステップS218)。
【0084】
制御部21は、取得した気温が所定の温度を超えた場合(ステップS218でNO)、選択した領域内で雨滴アニメーションを表示部25により表示し(ステップS219)、後述ステップS221の処理に遷移する。制御部21は、取得した気温が所定の温度以下である場合(ステップS218でYES)、当該領域内で、雨滴アニメーションに代えて雪アニメーションを表示部25により表示する(ステップS220)。
【0085】
制御部21は、画面に表示される所定の雨粒の数に達するか否かを判定する(ステップS221)。制御部21は、所定の雨粒の数に達していない場合(ステップS221でNO)、ステップS213の処理に戻る。制御部21は、所定の雨粒の数に達する場合(ステップS221でYES)、処理を終了する。
【0086】
本実施形態によると、降水量に応じて、各位置に雨滴アニメーションを表示することが可能となる。
【0087】
本実施形態によると、各位置の気温が所定温度以下の位置で雨滴アニメーションに代えて雪アニメーションを表示することが可能となる。
【0088】
(実施形態3)
実施形態3は、解説を行うキャラクタを拡張現実として表示する形態に関する。なお、実施形態1~2と重複する内容については説明を省略する。第1仮想空間に、解説を行うキャラクタを拡張現実として表示することができる。
【0089】
図12は、キャラクタを拡張現実として表示する画面の一例を示す説明図である。
図12Aは、キャラクタ解説ありの表示画面の一例を示す説明図である。
図12Bは、キャラクタ解説なしの表示画面の一例を示す説明図である。
【0090】
当該画面は、キャラクタ表示欄12a及び解説情報表示欄12bを含む。キャラクタ表示欄12aは、キャラクタを表示する表示欄である。なお、キャラクタ表示欄12aは、キャラクタの表示位置に合わせて、第1仮想空間に表示される。解説情報表示欄12bは、キャラクタが解説した解説情報を表示する表示欄である。
【0091】
ユーザ端末2は、キャラクタの画像データ及び解説情報をサーバ装置等から取得する。なお、キャラクタの画像データ及び解説情報は、予めユーザ端末2の記憶部22または大容量記憶部27に記憶されても良い。
【0092】
ユーザ端末2は、取得したキャラクタの画像データを拡張現実として第1仮想空間に表示する。なお、キャラクタの表示位置は特に限定されるものではない。例えば、第1仮想空間の地球儀領域、または地球儀領域外の現実空間領域に、キャラクタを拡張現実として表示しても良い。
【0093】
ユーザ端末2は、キャラクタが解説を行う場合、取得した解説情報を解説情報表示欄12bに表示する。解説は、例えば、本ARシステムの操作方法、画面の説明、または画面上に表示されるオブジェクト(雲、雨滴または国旗等)に対する説明等を含む。なお、ユーザ端末2は、解説情報を解説情報表示欄12bに表示すると共に、スピーカにより解説情報を出力しても良い。ユーザ端末2は、キャラクタが解説を行わない場合、当該キャラクタを第1仮想空間の地球儀上で移動させる。
【0094】
図12Bに示すように、キャラクタが解説を行わない場合、当該キャラクタを第1仮想空間の地球儀の上方に移動させる。なお、地球儀の上方に限らず、ユーザ端末2は、キャラクタを地球儀の周囲、または地球儀領域内の任意の位置に移動させても良い。
【0095】
図13は、キャラクタを拡張現実として表示する際の処理手順を示すフローチャートである。ユーザ端末2の制御部21は、現実空間の地球儀1をかざした場合、第1仮想空間を表示する処理のサブルーチンを実行する(ステップS231)。制御部21は、通信部23を介して、キャラクタの画像データ及び解説情報をサーバ装置から取得する(ステップS232)。
【0096】
制御部21は、表示部25を介して、取得したキャラクタの画像データを拡張現実として第1仮想空間に表示する(ステップS233)。制御部21は、キャラクタが解説を行うか否かを判定する(ステップS234)。制御部21は、キャラクタが解説を行う場合(ステップS234でYES)、取得した解説情報を表示部25により表示する(ステップS235)。制御部21は、ステップS234の処理に戻る。
【0097】
制御部21は、キャラクタが解説を行わない場合(ステップS234でNO)、キャラクタを第1仮想空間の地球儀上で移動させる(ステップS236)。例えば、制御部21は、キャラクタを第1仮想空間の地球儀の上方または反対側等に移動させても良い。制御部21は、ステップS234の処理に戻る。
【0098】
続いて、風に関する情報に応じた風の流れを第1仮想空間の地球儀上に表示する処理を説明する。
【0099】
図14は、風の流れを第1仮想空間の地球儀上に表示する画面の一例を示す説明図である。なお、
図12と重複する内容については同一の符号を付して説明を省略する。当該画面は、オブジェクト表示欄12c及び風表示欄12dを含む。
【0100】
オブジェクト表示欄12cは、オブジェクトを表示する表示欄である。オブジェクトは、例えば、紙飛行機、風船または凧等を風の流れに応じて移動させるものである。風表示欄12dは、風の流れを表示する表示欄である。なお、
図14では、オブジェクトが紙飛行機である例を説明するが、他の種類のオブジェクトにも同様に適用することができる。
【0101】
ユーザ端末2は、外部の気象庁サーバまたは気象データ配信システム等から、各位置の風に関する情報を取得する。風に関する情報は、例えば、風速または風向等を含む。ユーザ端末2は、取得した風に関する情報に応じた風の流れ(風向)を第1仮想空間の地球儀上に表示する。図示のように、風表示欄12dに風の流れが示されている。
【0102】
また、各位置の風に関する情報と気温に関する情報に基づき、風の流れの表示態様を変化させることができる。具体的には、ユーザ端末2は、外部の気象庁サーバまたは気象データ配信システム等から、各位置の気温に関する情報(気温データ)を取得する。例えば、気温に関する情報は、各位置の気温を表す気温ビットマップである。
【0103】
ユーザ端末2は、取得した各位置の気温に関する情報に基づき、風に関する情報に応じた風の流れの表示と共に、風の流れの表示色を変化させる。表示色は、適宜、気温に応じて設けられても良い。例えば、高温(28℃以上)における表示色を赤に、中温(10℃以上、且つ、28℃未満)における表示色を黄に、低温(3℃以上、且つ、10℃未満)における表示色を青に、及び極低温(3℃未満)における表示色を白に設定しても良い。
【0104】
なお、風の流れの表示態様は、色分け表示に限定されるものではなく、風の流れの形状、または他の各種表現形式であっても良い。
【0105】
ユーザ端末2は、紙飛行機の画像データをサーバ装置等から取得する。なお、紙飛行機の画像データは、予めユーザ端末2の記憶部22または大容量記憶部27に記憶されても良い。ユーザ端末2は、キャラクタが紙飛行機を投じるアニメーションをサーバ装置等から取得する。なお、アニメーションは、予めユーザ端末2の記憶部22または大容量記憶部27に記憶されても良い。
【0106】
ユーザ端末2は、取得したアニメーションを実行する。ユーザ端末2は、取得した紙飛行機の画像データをオブジェクト表示欄12cに表示する。ユーザ端末2は、風に関する情報に基づき、オブジェクト表示欄12c表示されている紙飛行機を風の流れに応じて移動させる。図示のように、オブジェクト表示欄12cに表示されている紙飛行機が、北から南東に向かって吹ふく風の流れに応じて移動させる。
【0107】
なお、ユーザ端末2は、例えば風速に応じて、紙飛行機の移動速度を制御しても良い。
【0108】
図15は、風の流れを第1仮想空間の地球儀上に表示する際の処理手順を示すフローチャートである。ユーザ端末2の制御部21は、現実空間の地球儀1をかざした場合、第1仮想空間を表示する処理のサブルーチンを実行する(ステップS241)。制御部21は、例えば、気象データ配信システム等から、第1仮想空間の地球儀領域の各位置の風に関する情報(風速または風向等)、及び気温に関する情報(例えば、気温ビットマップ)を通信部23により取得する(ステップS242)。
【0109】
制御部21は、表示部25を介して、取得した気温に関する情報に応じた表示態様(例えば、色分け表示)で、取得した風に関する情報に応じた風の流れを第1仮想空間の地球儀上に表示する(ステップS243)。
【0110】
制御部21は、通信部23を介して、キャラクタの画像データ及びオブジェクトの画像データをサーバ装置から取得する(ステップS244)。制御部21は、表示部25を介して、取得したキャラクタの画像データを拡張現実として第1仮想空間に表示する(ステップS245)。
【0111】
制御部21は、サーバ装置からアニメーションを通信部23により取得する(ステップS246)。例えば、制御部21は、キャラクタがオブジェクト(例えば、紙飛行機)を投じるアニメーションを取得しても良い。制御部21は、取得したアニメーションを実行する(ステップS247)。制御部21は、風に関する情報に基づき、キャラクタが投じたオブジェクトを風の流れに応じて移動させる(ステップS248)。制御部21は、処理を終了する。
【0112】
本実施形態によると、解説を行うキャラクタを拡張現実として表示することが可能となる。
【0113】
本実施形態によると、キャラクタが解説を行わない場合、当該キャラクタを第1仮想空間の地球儀上で移動させることが可能となる。
【0114】
本実施形態によると、風に関する情報に応じた風の流れを第1仮想空間の地球儀上に表示することが可能となる。
【0115】
本実施形態によると、キャラクタが投じるオブジェクトを風の流れに応じて移動させることが可能となる。
【0116】
(実施形態4)
実施形態4は、ユーザの現在位置を第1仮想空間に表示する形態に関する。なお、実施形態1~3と重複する内容については説明を省略する。
【0117】
図16は、ユーザの現在位置を第1仮想空間に表示する画面の一例を示す説明図である。
図16Aは、現在位置が地球儀領域の正面側に存在する場合の表示画面の一例を示す説明図である。
図16Bは、現在位置が地球儀領域の反対側に存在する場合の表示画面の一例を示す説明図である。
【0118】
当該画面は、現在位置アイコン13a及び直線13bを含む。現在位置アイコン13aは、ユーザの現在位置に対応付けて、第1仮想空間の地球儀領域外に表示するアイコンである。直線13bは、現在位置アイコン13aとユーザの現在位置とを結ぶ直線である。
【0119】
ユーザ端末2は、例えば、ユーザ端末2に内蔵されているGPS(Global Positioning System)モジュール等を通じて、ユーザの現在位置を取得する。ユーザ端末2は、現在位置アイコン13aを第1仮想空間の地球儀領域外に表示する。ユーザ端末2は、取得した現在位置と、表示した現在位置アイコン13aとを結ぶ直線13bを生成する。ユーザ端末2は、生成した直線13bを第1仮想空間表示欄11aに表示する。
【0120】
図16Aに示すように、ユーザの現在位置が第1仮想空間の地球儀領域の正面側に存在する場合、ユーザ端末2は、第1仮想空間表示欄11aに、現在位置アイコン13aを第1仮想空間の地球儀領域の上方に表示し、現在位置と現在位置アイコン13aとを結ぶ直線13bを表示する。
【0121】
また、
図16Bに示すように、ユーザの現在位置が第1仮想空間の地球儀領域の反対側に存在する場合、ユーザ端末2は、第1仮想空間表示欄11aに、現在位置アイコン13aを表示すると共に、直線13bの内、地球儀に隠れる部分の直線を表示しない。
【0122】
図17は、ユーザの現在位置を第1仮想空間に表示する際の処理手順を示すフローチャートである。ユーザ端末2の制御部21は、現実空間の地球儀1をかざした場合、第1仮想空間を表示する処理のサブルーチンを実行する(ステップS251)。制御部21は、例えば、ユーザ端末2に内蔵されているGPSモジュール等を通じて、ユーザの現在位置を取得する(ステップS252)。
【0123】
制御部21は、表示部25を介して、取得した現在位置を示す現在位置アイコン13aを第1仮想空間の地球儀領域外に表示する(ステップS253)。制御部21は、取得した現在位置と、表示した現在位置アイコン13aとを結ぶ直線13bを生成する(ステップS254)。制御部21は、取得した現在位置の経度緯度に基づき、当該現在位置が第1仮想空間の地球儀領域の反対側に存在するか否かを判定する(ステップS255)。
【0124】
制御部21は、当該現在位置が地球儀領域の正面側に存在する場合(ステップS255でNO)、表示部25を介して、生成した直線13bを第1仮想空間に表示する(ステップS256)。制御部21は、処理を終了する。
【0125】
制御部21は、当該現在位置が地球儀領域の反対側に存在する場合(ステップS255でYES)、生成した直線13bのうち、地球儀に隠れる部分の直線を表示しないための隠す処理を行う(ステップS257)。制御部21は、表示部25を介して、隠す処理を行った直線13bを第1仮想空間に表示する(ステップS258)。制御部21は、処理を終了する。
【0126】
上述した処理によって、現在位置アイコンとユーザの現在位置とを結ぶ直線を、第1仮想空間内の雲等のオブジェクトより優先的に表示するため、当該直線の終点を示す地球儀上のユーザの現在位置を見失うことを抑制できる。また、地球儀に直線が隠れる表示処理を行うことにより、ユーザの現在位置(直線の終点)が地球儀領域の反対側に存在することを明確に把握することができる。
【0127】
本実施形態によると、ユーザの現在位置を第1仮想空間に表示することが可能となる。
【0128】
本実施形態によると、第1仮想空間の地球儀領域外に表示される現在位置アイコン、及び、該現在位置アイコンと現在位置とを結ぶ直線を第1仮想空間に表示することが可能となる。
【0129】
(実施形態5)
実施形態5は、複数のコンテンツを示す複合コンテンツアイコンを第1仮想空間に表示する形態に関する。なお、実施形態1~4と重複する内容については説明を省略する。
【0130】
コンテンツは、例えば、国旗、バッジまたはメダル等を含む。複数のコンテンツアイコンを小さい表示領域に表示する場合、当該領域に収まらないか、各コンテンツアイコンを重ねて表示するか等の問題がある。このため、このような問題を解決することができる複合コンテンツアイコンの表示技術が求められていた。
【0131】
なお、以下では、コンテンツが国旗である例を説明するが、他の種類のコンテンツにも同様に適用することができる。
【0132】
国土面積が小さいの近隣の国の国旗が第1仮想空間の地球儀領域に表示された場合、国旗を示す国旗アイコンを重ねて表示するため、国ごとの国旗アイコンが分かりづらい。その結果、国旗アイコンを選択するのが難しいという問題がある。そして、複数の国の国旗を示す複合国旗アイコンを利用することにより、上述した問題を解決することができる。
【0133】
例えば、北ヨーロッパにあるフィンランド、デンマーク、スウェーデン及びノルウェーに対し、フィンランドの国旗アイコン、デンマークの国旗アイコン、スウェーデンの国旗アイコン及びノルウェーの国旗アイコンのそれぞれを表示した場合、表示領域に収まらないため、4つの国の国旗を示す複合国旗アイコンを利用することができる。
【0134】
図18は、国旗アイコン及び複合国旗アイコンの表示画面の一例を示す説明図である。
図18Aは、複合国旗アイコンの選択操作の受付画面の一例を示す説明図である。
図18Bは、複合国旗アイコンに対応する各国旗アイコンの表示画面の一例を示す説明図である。
【0135】
当該画面は、国旗アイコン14a及び複合国旗アイコン14bを含む。国旗アイコン14aは、国旗を示す国旗アイコンである。複合国旗アイコン14bは、複数の国旗を示す複合国旗アイコンである。
【0136】
複合国旗アイコンは、例えば、4つの国の国旗を示す場合、4つの交差するグリッド線に分割された4つのセルに、各国の国旗アイコンまたは国旗アイコンの一部分を表示するように設けられても良い。または、複合国旗アイコンは、対象となる各国の国旗アイコンを縮小し、縮小された各国旗アイコンを当該複合国旗アイコンの領域内に並べて表示するように設けられても良い。
【0137】
なお、複合国旗アイコンに表示される国旗の数は特に限定されるものではない。複合国旗アイコンに表示される国旗の数は、近隣の国の数に応じて設けられ、例えば3つまたは4つ等であっても良い。
【0138】
ユーザ端末2は、現実空間の地球儀1をかざした場合、撮影部26を介して、当該地球儀1の撮影画像を取り込むことにより、地球儀領域を含む地球儀1の撮影画像を第1仮想空間表示欄11aに表示する。
【0139】
ユーザ端末2は、地球儀1の撮影画像中のマーカ情報に基づき、撮影画像に表示されている地球儀領域の各位置を特定する。例えば、ユーザ端末2は、撮影画像に表示されている地球儀領域に応じてARマーカ情報を認識する。ユーザ端末2は、認識したARマーカ情報に基づいて位置情報を抽出する。
【0140】
ユーザ端末2は、抽出した位置情報を参照して、該当する国の国旗アイコン、及び、近隣の国の国旗を示す複合国旗アイコンを外部のサーバ装置等から取得する。なお、国旗アイコン及び複合国旗アイコンは、予めユーザ端末2の記憶部22または大容量記憶部27に記憶されても良い。
【0141】
ユーザ端末2は、取得した各国の国旗アイコンを該当する国旗アイコン14aに表示する。ユーザ端末2は、各国の位置と各国旗アイコン14aとを結ぶ直線を生成する。ユーザ端末2は、国旗アイコン14aの表示と共に、生成した直線を第1仮想空間表示欄11aに表示する。
【0142】
ユーザ端末2は、取得した複合国旗アイコンを該当する複合国旗アイコン14bに表示する。ユーザ端末2は、複合国旗アイコン14bに対応する位置と複合国旗アイコン14bとを結ぶ直線を生成する。複合国旗アイコン14bに対応する位置は、例えば、複合国旗アイコン14bに示される複数の国の領域内の中心位置であっても良く、または、複数の国のうち、いずれかの国の位置であっても良い。ユーザ端末2は、複合国旗アイコン14bの表示と共に、生成した直線を第1仮想空間表示欄11aに表示する。
【0143】
一例として、第1仮想空間表示欄11aには、フィンランドの国旗、デンマークの国旗、スウェーデンの国旗及びノルウェーの国旗を示す複合国旗アイコン14b、及び、この4つの国に対応する位置と複合国旗アイコン14bとを結ぶ直線が表示される。
【0144】
なお、
図18A及び
図18Bでは、国旗アイコン14a及び直線と、複合国旗アイコン14b及び直線とを、対応する位置の上方または斜め上方等に表示した例を説明したが、これに限るものではない。例えば、国旗アイコン14a及び直線と、複合国旗アイコン14b及び直線とを、対応する位置の下方または斜め下方等に表示しても良い。
【0145】
ユーザ端末2は、複合国旗アイコン14bの選択操作を受け付けた場合、対応する各国の国旗アイコン14aと直線との組み合わせを分離して表示する。例えば、ユーザ端末2は、フィンランドの国旗、デンマークの国旗、スウェーデンの国旗及びノルウェーの国旗を示す複合国旗アイコン14bの選択操作を受け付ける。
【0146】
図18Bに示すように、ユーザ端末2は、選択された複合国旗アイコン14bから、当該複合国旗アイコン14bに対応するフィンランドの国旗アイコン14a、デンマークの国旗アイコン14a、スウェーデンの国旗アイコン14a、及びノルウェーの国旗アイコン14aと、直線(これらの国旗アイコン14aと各国の位置とを結ぶ直線)との組み合わせを分離する。
【0147】
ユーザ端末2は、分離した4つの国の国旗アイコン14a、及び、各国の位置と各国旗アイコン14aとを結ぶ直線を第1仮想空間の地球儀領域の上方に表示する。なお、分離後の表示位置は地球儀領域の上方に限らず、表示可能な任意の領域であっても良い。
【0148】
図19は、複合国旗アイコンの選択操作を受け付ける際の処理手順を示すフローチャートである。ユーザ端末2の制御部21は、現実空間の地球儀1をかざした場合、第1仮想空間を表示する処理のサブルーチンを実行する(ステップS261)。制御部21は、ARマーカ情報に基づいて抽出した位置情報に応じて、通信部23を介して、該当する各国の国旗アイコン、及び、複数の国の国旗を含む複合国旗アイコンをサーバ装置から取得する(ステップS262)。
【0149】
制御部21は、表示部25を介して、取得した各国の国旗アイコン、及び、各国の位置と各国旗アイコン14aとを結ぶ直線を第1仮想空間の所定位置に表示する(ステップS263)。所定位置は、例えば、各国の位置の上方または斜め上方等であっても良い。
【0150】
制御部21は、表示部25を介して、取得した各複合国旗アイコン、及び、各複合国旗アイコンに対応する位置と各複合国旗アイコンとを結ぶ直線を第1仮想空間の所定位置に表示する(ステップS264)。所定位置は、例えば、複合国旗アイコンに対応する位置の上方または斜め上方等であっても良い。
【0151】
制御部21は、入力部24を介して、複合国旗アイコンの選択操作を受け付ける(ステップS265)。制御部21は、通信部23を介して、選択された複合国旗アイコンに対応する各国の国旗アイコンをサーバ装置から取得する(ステップS266)。制御部21は、表示部25を介して、取得した各国の国旗アイコン、及び、各国の位置と各国旗アイコンとを結ぶ直線を第1仮想空間の所定位置(例えば、地球儀領域の上方)に表示する(ステップS267)。制御部21は、処理を終了する。
【0152】
本実施形態によると、コンテンツアイコンと直線とを、第1仮想空間の所定位置に表示することが可能となる。
【0153】
本実施形態によると、複合コンテンツアイコンと直線とを、第1仮想空間の所定位置に表示することが可能となる。
【0154】
本実施形態によると、複合コンテンツアイコンの選択を受け付けた場合、対応する各コンテンツのコンテンツアイコンと直線との組み合わせを分離して表示することが可能となる。
【0155】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0156】
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。
【符号の説明】
【0157】
1 地球儀
2 情報処理端末(ユーザ端末)
21 制御部
22 記憶部
23 通信部
24 入力部
25 表示部
26 撮影部
27 大容量記憶部
2P 制御プログラム
【要約】 (修正有)
【課題】撮影した画像中の地球儀を表示すると共に、対応する位置に雲を3D表示することが可能なプログラム、情報処理方法及び情報処理装置を提供すること。
【解決手段】拡張現実(AR)システムでは、各位置の雲の高度を取得し、現実空間の地球儀1をかざした場合に、前記地球儀の動きに対応して第1仮想空間の地球儀を表示すると共に該第1仮想空間上の対応する位置に特定した高度に応じた雲を3D表示する処理をコンピュータ2に実行させる。これにより、撮影した画像中の地球儀を表示すると共に、対応する位置に雲を3D表示することが可能となる。
【選択図】
図1