(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022110453
(43)【公開日】2022-07-29
(54)【発明の名称】プログラム、情報処理方法、情報処理装置、及びシステム
(51)【国際特許分類】
G06T 19/00 20110101AFI20220722BHJP
G06Q 50/34 20120101ALI20220722BHJP
【FI】
G06T19/00 600
G06Q50/34
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021005870
(22)【出願日】2021-01-18
(11)【特許番号】
(45)【特許公報発行日】2021-04-14
(71)【出願人】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】110001416
【氏名又は名称】特許業務法人 信栄特許事務所
(72)【発明者】
【氏名】馬場 功淳
(72)【発明者】
【氏名】松山 聡志
【テーマコード(参考)】
5B050
5L049
【Fターム(参考)】
5B050AA10
5B050BA08
5B050BA11
5B050BA13
5B050BA20
5B050CA07
5B050CA08
5B050DA01
5B050EA07
5B050EA12
5B050EA17
5B050EA24
5B050FA02
5B050FA05
5B050FA12
5B050FA13
5L049CC54
(57)【要約】
【課題】コンピュータに表示される仮想オブジェクトによってレースの観戦する際の、ユーザの利便性を向上させる。
【解決手段】プロセッサと撮像部とを備えた第1コンピュータにおいて実行されるプログラムは、プロセッサに、現実世界における所定のレースに関する第1情報を第2コンピュータから受信するステップと、第1情報に基づいて、所定のレースのレース場を表すレース場オブジェクト501と、所定のレースの出場者又は移動体を表す移動オブジェクト502と、を含む仮想オブジェクトを生成するステップと、撮像部により撮像された第1コンピュータの周囲の現実画像に、仮想オブジェクトを重畳させて表示するステップと、を実行させる。仮想オブジェクトを表示するステップは、表示部において仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第1操作入力を受け付け可能なユーザインタフェース表示エリア1200を表示することを含む。
【選択図】
図12
【特許請求の範囲】
【請求項1】
プロセッサと、撮像部と、表示部とを備えた第1コンピュータにおいて実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
現実世界における所定の第1レースに関する第1情報を第2コンピュータから受信するステップと、
前記第1情報に基づいて、前記第1レースのレース場を表すレース場オブジェクトと、前記第1レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記表示部において、前記撮像部により撮像された前記第1コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するステップと、を実行させ、
前記表示するステップは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第1操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
プログラム。
【請求項2】
前記表示するステップは、前記表示部に対する前記ユーザの第2操作入力に応じて、前記オブジェクト表示エリアの表示位置を変更した後に、前記ユーザインタフェース表示エリアを表示することを含む、
請求項1に記載のプログラム。
【請求項3】
前記表示するステップは、前記表示位置の変更に応じて前記仮想オブジェクトの表示角度を変更することを含む、
請求項2に記載のプログラム。
【請求項4】
前記受信するステップは、前記現実世界における前記第1レースとは異なる第2レースに関する第2情報を前記第2コンピュータから受信することを含み、
前記表示するステップは、前記ユーザインタフェース表示エリアに、前記第2情報を表示することを含む、
請求項1から3のいずれか一項に記載のプログラム。
【請求項5】
前記第2情報は、前記第2レースの出場者又は移動体を前記ユーザが選択するためのユーザインタフェース画像、前記第2レースの現実画像、前記第2レースのレース場オブジェクトや移動オブジェクトを含む仮想オブジェクトのいずれか一つを少なくとも含む、
請求項4に記載のプログラム。
【請求項6】
前記表示するステップは、前記ユーザインタフェース表示エリアに、前記第1レースの現実画像を表示することを含む、
請求項1から請求項5のいずれか一項に記載のプログラム。
【請求項7】
プロセッサと、撮像部と、表示部とを備えた第1コンピュータにおいて実行される情報処理方法であって、
前記情報処理方法は、前記プロセッサに、
現実世界における所定の第1レースに関する第1情報を第2コンピュータから受信するステップと、
前記第1情報に基づいて、レース場を表すレース場オブジェクトと、前記第1レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記表示部において、前記撮像部により撮像された前記第1コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するステップと、を実行させることを含み、
前記表示するステップは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第1操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
情報処理方法。
【請求項8】
プロセッサと、撮像部と、表示部とを備えた情報処理装置であって、
前記プロセッサは、
現実世界における所定の第1レースに関する第1情報を第2コンピュータから受信し、
前記第1情報に基づいて、レース場を表すレース場オブジェクトと、前記第1レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成し、
前記表示部において、前記撮像部により撮像された前記情報処理装置の周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するものであり、
前記重畳させて表示することは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第1操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
情報処理装置。
【請求項9】
第1プロセッサと、撮像装置と、表示装置とを備える第1コンピュータと、第2プロセッサを備え、前記第1コンピュータと通信接続可能な第2コンピュータと、を含むシステムあって、
前記第2プロセッサは、
現実世界における所定の第1レースに関する第1情報を取得し、
前記第1情報を前記第1コンピュータへ送信するものであり、
前記第1プロセッサは、
前記第1情報を第2コンピュータから受信し、
前記第1情報に基づいて、レース場を表すレース場オブジェクトと、前記第1レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成し、
前記表示装置において、前記撮像装置により撮像された前記第1コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するものであり、
前記重畳させて表示することは、前記表示装置において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第1操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、情報処理方法、情報処理装置、及びシステムに関する。
【背景技術】
【0002】
特許文献1及び2には、AR(Augmented Reality)に関する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-58658号公報
【特許文献5】特開2020-77187号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
現実世界においては、ボートレースや競馬等の様々なレースが実施されている。これらのレースを観戦するために実際にレース場へ足を運ぶ人々もいるが、実際にレース場へ足を運ぶことは、時間的又は地理的な制約により不可能な場合もある。上記のような状況から、現実世界のレースに連動した仮想オブジェクトを用いて、現実世界のレースを仮想的なレースとして各種端末のディスプレイに表示することができれば、実際にレース場へ行かずともレースを擬似的に観戦することができ、有益である。
【0005】
ところで、ユーザは、携帯端末等において所定のレースの仮想レースを観戦している最中にも、別のレースの投票や観戦など他のタスクを処理したい場合がある。
【0006】
本開示の一態様は、コンピュータに表示される仮想オブジェクトによってレースを観戦する際の、ユーザの利便性を向上可能なプログラム、情報処理方法、情報処理装置、及びシステムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示に示す一実施形態によれば、
プロセッサと、撮像部と、表示部とを備えた第1コンピュータにおいて実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
現実世界における所定の第1レースに関する第1情報を第2コンピュータから受信するステップと、
前記第1情報に基づいて、前記第1レースのレース場を表すレース場オブジェクトと、前記第1レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記表示部において、前記撮像部により撮像された前記第1コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するステップと、を実行させ、
前記表示するステップは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第1操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
プログラムが提供される。
【発明の効果】
【0008】
本開示に示す一実施形態によれば、第1コンピュータに表示される仮想オブジェクトによって第1レースを観戦する際の、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】ある実施の形態に従うシステムの構成例を示す図である。
【
図2】ある実施の形態に従うユーザ端末の機能的な構成の一例を示すブロック図である。
【
図3】ある実施の形態に従うサーバの機能的な構成の一例を示すブロック図である。
【
図4】ある実施の形態に従う現実世界のレース場の一例を示す模式図である。
【
図5】ある実施の形態に従うユーザ端末に表示される仮想オブジェクトの一例を示す模式図である。
【
図6】ある実施の形態に従う表示制御処理の一例を示すフローチャートである。
【
図7】ある実施の形態に従う撮像部により撮像された現実画像の一例を示す模式図である。
【
図8】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【
図9】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【
図10】ある実施の形態に従う動作例1における表示制御処理の一例を示すフローチャートである。
【
図11】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【
図12】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【
図13】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【
図14】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【
図15】ある実施の形態に従う動作例2における表示制御処理の一例を示すフローチャートである。
【
図16】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【
図17】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【発明を実施するための形態】
【0010】
以下、この技術的思想の実施の形態について図面を参照しながら詳細に説明する。以下の説明では、同一の要素には同一の符号を付し、重複する説明を適宜省略する。本開示において示される1以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなすものとする。
【0011】
(システムの構成)
図1は、本実施の形態に従うシステム1の構成を示す図である。システム1は、例えば、現実世界で実施される所定のレースを、ユーザが使用する情報処理装置上において仮想オブジェクトを用いた仮想レースとして表示することが可能なものである。本明細書において、「所定のレース」とは、現実世界で実施されるレースであれば特に制限はされず、例えば、ボートレース(本番のレースや、展示レース)、競馬、競輪、オートレース、F1等のカーレース、ドローンレース、ドッグレース、マラソン、駅伝等が挙げられる。
【0012】
図1に示すように、システム1は、各ユーザが使用する情報処理装置(第1コンピュータ)であるユーザ端末10A、ユーザ端末10B及びユーザ端末10C(以下、ユーザ端末10A、10B、10C等のユーザ端末を総称して「ユーザ端末10」とも称する)等の複数のユーザ端末10と、第1サーバ装置(第2コンピュータ)20と、第2サーバ装置40と、ネットワーク30と、を含む。
【0013】
ユーザ端末10Aとユーザ端末10Bとは、無線基地局31と通信することにより、ネットワーク30と接続する。ユーザ端末10Cは、家屋等の施設に設置される無線ルータ32と通信することにより、ネットワーク30と接続する。ユーザ端末10は、例えば、タッチスクリーンを備える携帯型端末であり、スマートフォン、ファブレット、タブレット等でありうる。
【0014】
ユーザ端末10は、例えば、アプリ等を配信するプラットフォームを介してインストールされたプログラム、又は、予めプリインストールされているウェブサイト閲覧用ソフトウエア等を含むプログラムを実行する。ユーザ端末10は、上記プログラムの実行により、第1サーバ装置20と通信し、所定のレースに関連するデータやユーザに関連するデータ等を第1サーバ装置20との間で送受信することにより、ユーザ端末10上で仮想レースを表示することを可能とする。
【0015】
第1サーバ装置20は、所定のレースに関連するデータを、第2サーバ装置40から受信する。第1サーバ装置20は、所定のレースに関連するデータを、適宜、ユーザ端末10へ送信する。第1サーバ装置20は、所定のレースに関連するデータや、各ユーザに関連するデータを記憶して管理する。
【0016】
第1サーバ装置20は、ハードウェア構成として、通信IF(Interface)22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ(第2プロセッサ)29と、を備え、これらが通信バスを介して互いに接続されている。
【0017】
通信IF22は、例えばLAN(Local Area Network)規格等の各種の通信規格に対応しており、ユーザ端末10や第2サーバ装置40等との間でデータを送受信するためのインタフェースとして機能する。
【0018】
入出力IF23は、第1サーバ装置20への情報の入力を受け付けるとともに、第1サーバ装置20の外部へ情報を出力するためのインタフェースとして機能する。入出力IF23は、マウス、キーボード等の情報入力機器の接続を受け付ける入力受付部と、画像等を表示するためのディスプレイ等の情報出力機器の接続を受け付ける出力部とを含みうる。
【0019】
メモリ25は、処理に使用されるデータ等を記憶するための記憶装置である。メモリ25は、例えば、プロセッサ29が処理を行う際に一時的に使用するための作業領域をプロセッサ29に提供する。メモリ25は、ROM(Read Only Memory)、RAM(Random Access Memory)等の記憶装置を含んで構成されている。
【0020】
ストレージ26は、プロセッサ29が読み込んで実行するための各種プログラム及びデータを記憶するための記憶装置である。ストレージ26が記憶する情報には、所定のレースに関連するデータや、各ユーザに関連するデータ等が含まれる。ストレージ26は、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶装置を含んで構成されうる。なお、ストレージは、サーバ装置に含まれる形態に限られず、クラウドサービスを利用することもできる。
【0021】
プロセッサ29は、ストレージ26に記憶されるプログラム等を読み込んで実行することにより、第1サーバ装置20の動作を制御する。プロセッサ29は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を含んで構成されうる。
【0022】
第2サーバ装置40は、所定のレースに関連するデータを記憶して管理している。第2サーバ装置40は、例えば、所定のレースの開催者が管理するサーバ装置や、所定のレースに関する情報を外部へ発信する団体(レース専門誌の発行者、レースの映像配信者又はラジオ配信者等)が管理するサーバ装置である。第2サーバ装置40は、所定のレースに関連するデータを、適宜、第1サーバ装置20へ送信する。ある局面においては、第2サーバ装置40は、所定のレースに関連するデータをユーザ端末10へ送信してもよい。第2サーバ装置40のハードウェア構成は、矛盾の生じない範囲で、第1サーバ装置20と同様であってもよい。第2サーバ装置40は、複数あってもよい。
【0023】
(ユーザ端末)
図2は、ユーザ端末10の機能的な構成の一例を示すブロック図である。
図2に示すように、ユーザ端末10は、アンテナ110と、無線通信IF120と、タッチスクリーン130と、入出力IF140と、記憶部150と、音声処理部160と、マイク161と、スピーカ162と、撮像部170と、制御部(第1プロセッサ)190と、を含む。
【0024】
アンテナ110は、ユーザ端末10が発する信号を電波として空間へ放射する。また、アンテナ110は、空間から電波を受信して受信信号を無線通信IF120へ与える。
【0025】
無線通信IF120は、ユーザ端末10が他の通信機器と通信するため、アンテナ110等を介して信号を送受信するための変復調処理等を行う。無線通信IF120は、チューナー、高周波回路等を含む無線通信用の通信モジュールであり、ユーザ端末10が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部190へ与える。
【0026】
タッチスクリーン130は、ユーザからの入力を受け付けて、ユーザに対し情報をディスプレイ132に出力する。タッチスクリーン130は、ユーザの操作入力を受け付けるためのタッチパネル131と、ディスプレイ132と、を含む。タッチパネル131は、例えば、静電容量方式のものを用いることによって、ユーザの指等が接近したことを検出する。ディスプレイ132は、例えばLCD(Liquid Crystal Display)、有機EL(electroluminescence)その他の表示装置によって実現される。
【0027】
入出力IF140は、ユーザ端末10への情報の入力を受け付けるとともに、ユーザ端末10の外部へ情報を出力するためのインタフェースとして機能する。
【0028】
記憶部150は、フラッシュメモリ、HDD等により構成され、ユーザ端末10が使用するプログラム、及び、ユーザ端末10が第1サーバ装置20等から受信する各種データ等を記憶する。
【0029】
音声処理部160は、音声信号の変復調を行う。音声処理部160は、マイク161から与えられる信号を変調して、変調後の信号を制御部190へ与える。また、音声処理部160は、音声信号をスピーカ162へ与える。音声処理部160は、例えば、音声処理用のプロセッサによって実現される。マイク161は、音声信号の入力を受け付けて制御部190へ出力するための音声入力部として機能する。スピーカ162は、音声信号を、ユーザ端末10の外部へ出力するための音声出力部として機能する。
【0030】
撮像部170は、ユーザ端末10の周囲の現実画像を撮像するカメラである。撮像部170によって撮像された画像は、制御部190によって画像処理がなされ、ディスプレイ132へ出力される。
【0031】
制御部190は、記憶部150に記憶されるプログラムを読み込んで実行することにより、ユーザ端末10の動作を制御する。制御部190は、例えば、アプリケーションプロセッサによって実現される。
【0032】
制御部190がアプリケーションプログラム151を実行する処理について、より詳細に説明する。記憶部150は、アプリケーションプログラム151と、アプリケーション情報152と、ユーザ情報153と、を記憶する。
【0033】
ユーザ端末10は、例えば、第1サーバ装置20からアプリケーションプログラム151をダウンロードして記憶部150に記憶させる。また、ユーザ端末10は、第1サーバ装置20と通信することで、アプリケーション情報152及びユーザ情報153等の各種のデータを第1サーバ装置20と送受信する。
【0034】
アプリケーションプログラム151は、ユーザ端末10において仮想レースを表示するためのプログラムである。アプリケーション情報152は、アプリケーションプログラム151が参照する各種のデータを含む。アプリケーション情報152は、第1情報152Aと、第2情報152Bとを含む。
【0035】
第1情報152Aは、第1サーバ装置20や第2サーバ装置40から送信された所定のレースに関する情報である。以下、当該所定のレースを「第1レース」と称する。第1情報152Aには、例えば、第1レースの出場者又は移動体(以下、「出場者等」とも称する)のレースタイムを示すレースタイム情報、第1レースの実施中における出場者等の位置情報、当該位置情報に対応する時間情報と、が含まれる。
【0036】
本明細書において、「出場者」とは、人間だけでなく、馬や犬等の動物も含む概念である。また、「移動体」とは、レースにおいて移動の主体となるものであり、出場者が乗る動物や機体、出場者が遠隔操縦する機体等である。マラソンやドッグレース等では、「出場者」と「移動体」は同一となる。
【0037】
第1情報152Aは、上記の他にも、例えば、第1レースの名称、開催日時、レース場データ、出場者データ、移動体データ、オッズ情報、レース予想、レース出走表、レース直前情報、ピットレポート、レース結果、レース動画、レース静止画、過去のレース情報、その他の第1レースに関する情報誌や情報サイトに掲載されうるような情報等を含んでもよい。
【0038】
第2情報152Bは、第1サーバ装置20や第2サーバ装置40から送信された所定のレースに関する情報であって、第1情報152Aの対象となっている第1レースとは異なる第2レースに関する情報である。第2レースは、例えば、第1レースが実施されている当日に第1レースとは別のレース場で実施されているレースである。第1レースと第2レースとは同じ種類のレースでも良く、別の種類のレースでも良い。例えば、第1レースと第2レースとは別のボートレース場で実施されているボートレース同士であっても良く、第1レースがボートレースであり第2レースがボートレース以外のレース(例えば、競馬や競輪)であっても良い。第2情報152Bには、例えば、第2レースの出場者等のレースタイムを示すレースタイム情報、第2レースの実施中における出場者等の位置情報、当該位置情報に対応する時間情報と、が含まれる。
【0039】
第2情報152Bは、上記の他にも、例えば、第2レースの名称、開催日時、レース場データ、出場者データ、移動体データ、オッズ情報、レース予想、レース出走表、レース直前情報、ピットレポート、レース結果、レース動画、レース静止画、過去のレース情報、その他の第2レースに関する情報誌や情報サイトに掲載されうるような情報等を含んでもよい。
【0040】
ユーザ情報153は、ユーザ端末10のユーザについての情報を含む。ユーザ情報153は、例えば、ユーザを識別する情報、ユーザ端末10の位置情報、ユーザのレース購入履歴や的中率(例えば、ボートレースであれば購入した舟券の履歴と、購入した舟券の的中率)等を含んでもよい。
【0041】
制御部190は、アプリケーションプログラム151を読み込んで実行することにより、操作入力受付部191と、送受信部192と、オブジェクト生成部193と、表示制御部194と、平坦面検出部195と、第1情報取得部196と、第2情報取得部197と、選択情報取得部198と、の各機能を発揮する。
【0042】
操作入力受付部191は、タッチスクリーン130の出力に基づいて、ユーザの操作入力を受け付ける。具体的には、操作入力受付部191は、ユーザの指等がタッチパネル131に接触又は接近したことを、タッチスクリーン130を構成する面の横軸及び縦軸からなる座標系の座標として検出する。
【0043】
操作入力受付部191は、タッチスクリーン130に対するユーザの操作を判別する。操作入力受付部191は、例えば、「接近操作」、「リリース操作」、「タップ操作」、「ダブルタップ操作」、「長押し操作(ロングタッチ操作)」、「ドラッグ操作(スワイプ操作)」、「ムーブ操作」、「フリック操作」、「ピンチイン操作」、「ピンチアウト操作」等のユーザの操作を判別する。
【0044】
操作入力受付部191は、ユーザ端末10に搭載された加速度センサ等によって検出されるユーザ端末10の動きを、操作入力として受け付けてもよい。
【0045】
送受信部192は、無線通信IF120及びネットワーク30を介して、第1サーバ装置20や第2サーバ装置40等の外部の通信機器と各種情報の送信及び受信を行う。送受信部192は、例えば、第1サーバ装置20又は第2サーバ装置40から第1情報152Aを受信する。また、送受信部192は、例えば、操作入力受付部191が受け付けた操作入力に応じた情報や、ユーザ情報153に記憶された情報等を第1サーバ装置20又は第2サーバ装置40へと送信する。
【0046】
オブジェクト生成部193は、第1レースに関する情報をユーザに提示するための仮想オブジェクトを、第1情報152Aに基づいて生成する。オブジェクト生成部193は、仮想オブジェクトとして、第1レースのレース場を表すレース場オブジェクトと、第1レースの出場者等を表す移動オブジェクトと、を生成する。オブジェクト生成部193は、第1情報152Aに基づいて生成される情報をテキスト表示するための仮想表示板を生成してもよい。オブジェクト生成部193は、上記の各オブジェクトの他にも、第1情報152Aに基づいて生成される情報を画像表示するための仮想スクリーン、各種の建物オブジェクト、木等の景観を構成する景観オブジェクト等を生成してもよい。
【0047】
表示制御部194は、撮像部170により撮像されたユーザ端末10の周囲の現実画像に、オブジェクト生成部193により生成された仮想オブジェクトを重畳させた画像(以下、「重畳画像」とも称する)を、ディスプレイ132上に表示させる。表示制御部194は、第1情報152Aに含まれるレースタイム情報に基づいて、各移動オブジェクトをレース場オブジェクト上において移動させ、第1レースを仮想的に再現した仮想レースをディスプレイ132上に表示させる。表示制御部194は、レースタイム情報に加えて、第1情報152Aに含まれる出場者等の位置情報、及び当該位置情報に対応する時間情報に基づいて、仮想レースを再現するものであることが好ましい。
【0048】
表示制御部194は、操作入力受付部191が受け付けた操作入力に応じて、重畳画像における視点を変更可能であることが好ましい。なお、視点の変更の具体例については後述する。
【0049】
表示制御部194は、さらに、操作入力受付部191が受け付けた操作入力に応じて、ディスプレイ132に各種のメニュー画面やGUI(Graphical User Interface)を表示可能であることが好ましい。本例では、特に、操作入力受付部191が受け付けた後述の切替ボタンに対するユーザの操作入力に応じて、表示制御部194は、ディスプレイ132に表示された仮想オブジェクトの表示位置を変更するとともに、ディスプレイ132上の仮想オブジェクトが表示されたエリアとは異なる位置にUI(User Interface)表示エリアを設け、当該UI表示エリアにユーザの操作入力を受付可能な各種のUIオブジェクトを表示する。
【0050】
平坦面検出部195は、撮像部170により撮像された現実画像内における平坦面を検出する。平坦面の検出は、従来公知の画像認識技術によって実現される。例えば、平坦面検出部195が検出した平坦面を選択する操作をユーザが行った場合、当該平坦面にレース場オブジェクトが配置された重畳画像がディスプレイ132に表示される。
【0051】
平坦面は、水平面であることが好ましい。また、平坦面とレース場オブジェクトを構成する底面とのなす角度は0度であってもよいが、鋭角であることが好ましく、例えば、15度~45度の範囲にすることができる。上記角度は、ユーザの操作を受け付けて調節する態様とすることもできる。また、現実世界の平坦面の一部に凸部がある場合や、当該平坦面に載置物がある場合であっても、当該凸部や当該載置物がレース場オブジェクトによって隠れる程度のサイズならば、レース場オブジェクトを配置可能は平坦面として検出してもよい。
【0052】
第1情報取得部196は、第1サーバ装置20から所定の情報(後述の第1情報252A)を受信することで、第1情報152Aを取得する。
【0053】
第2情報取得部197は、第1サーバ装置20から所定の情報(後述の第2情報252B)を受信することで、第2情報152Bを取得する。
【0054】
選択情報取得部198は、ユーザが選択した1以上の出場者等を示す1以上の選択情報を取得する。「選択情報」とは、例えば、第1レースや第2レースの勝者等としてユーザが予想した出場者等を示す情報である。第1レース及び第2レースがボートレースや競馬である場合、「選択情報」は、ユーザが購入した舟券や馬券を示す情報でありうる。
【0055】
選択情報取得部198は、例えば、出場者等を選択するための画面上でのユーザの操作入力に基づいて、選択情報を取得する。選択情報取得部198が取得した選択情報は、例えば、第1サーバ装置20又は第2サーバ装置40へ送信される。例えば、選択情報が第2サーバ装置40へ送信されたことに応じて、所定のレースに対する舟券や馬券の購入処理がなされうる。
【0056】
(第1サーバ装置)
図3は、第1サーバ装置20の機能的な構成を示すブロック図である。
図3を参照して、第1サーバ装置20の詳細な構成を説明する。第1サーバ装置20は、プログラムに従って動作することにより、通信部220と、記憶部250と、制御部290としての機能を発揮する。
【0057】
通信部220は、第1サーバ装置20がユーザ端末10や第2サーバ装置40等の外部の通信機器とネットワーク30を介して通信するためのインタフェースとして機能する。
【0058】
記憶部250は、システム1を実現するための各種プログラム及びデータを記憶する。ある局面において、記憶部250は、プログラム251と、レース情報252と、ユーザ情報253とを記憶する。
【0059】
プログラム251は、第1サーバ装置20がユーザ端末10や第2サーバ装置40と通信して、システム1を実現するためのプログラムである。プログラム251は、制御部290に実行されることにより、ユーザ端末10や第2サーバ装置40とデータを送受信する処理、ユーザ端末10のユーザが行った操作内容に応じた処理、レース情報252やユーザ情報253を更新する処理等を第1サーバ装置20に行わせる。
【0060】
レース情報252は、所定のレースに関連する各種のデータを含む。レース情報252は、例えば、第1情報252Aと第2情報252Bとを含む。第1情報252Aは、第1情報152Aの元となる情報であり、第1レースに関する情報である。第1情報152Aは、第1情報252Aの一部でありうる。第1情報252Aは、例えば、第2サーバ装置40から取得された情報である。同様に、第2情報252Bは、第2情報152Bの元となる情報であり、第2レースに関する情報である。第2情報152Bは、第2情報252Bの一部でありうる。第2情報252Bは、例えば、第2サーバ装置40から取得された情報である。
【0061】
ユーザ情報253は、ユーザ端末10のユーザについての情報である。ユーザ情報253は、ユーザ管理テーブル253Aを含む。ユーザ管理テーブル253Aは、例えば、ユーザを識別する情報、ユーザ端末10の位置情報、ユーザのレース購入履歴や的中率等をユーザ毎に記憶している。
【0062】
制御部290は、プロセッサ29によって実現され、プログラム251を実行することにより、送受信部291、第1情報取得部292A、第2情報取得部292B、選択情報取得部293、データ管理部294、計時部295としての機能を発揮する。
【0063】
送受信部291は、通信部220及びネットワーク30を介して、ユーザ端末10や第2サーバ装置40等の外部の通信機器と各種情報の送信及び受信を行う。送受信部291は、例えば、第1情報252A及び第2情報252Bの少なくとも一部をユーザ端末10へ送信する。また、送受信部291は、例えば、第1情報252A及び第2情報252Bを第2サーバ装置40から受信する。
【0064】
第1情報取得部292Aは、送受信部291を介して、第1情報252Aを第2サーバ装置40から取得する。第2情報取得部292Bは、送受信部291を介して、第2情報252Bを第2サーバ装置40から取得する。選択情報取得部293は、送受信部291を介して、ユーザの選択情報をユーザ端末10又は第2サーバ装置40から取得する。データ管理部294は、第1情報取得部292A、第2情報取得部292B、選択情報取得部293等における処理結果に従って、記憶部250に記憶される各種データを更新する処理を行う。計時部295は、時間を計測する処理を行う。計時部295によって計測される時間に基づいて、ユーザ端末10に表示される各種時間(例えば、レース開始までの時間等)が制御されうる。
【0065】
(動作例)
次に、
図4~
図14を参照して、システム1における動作例について説明する。以下では、所定のレース、すなわち第1レースがボートレースである場合を例示して説明をするが、以下の説明は、第1レースが他の種類のレースであっても適用可能である。また、以下では、ユーザ端末10と第1サーバ装置20の間、及び第1サーバ装置20と第2サーバ装置40の間でデータの送受信を行うものとして説明をするが、ある局面においては、ユーザ端末10と第2サーバ装置40とで直接的にデータの送受信をするように構成してもよい。
【0066】
図4は、現実世界のボートレース場の一例を示す模式図である。ボートレース場401には、2つのターンマーク403が設置されており、各ボートレーサーが乗るボート402a~402fによるレースが実施されている。レースが終了した場合、ボート402a~402fそれぞれのレースタイムを示すレースタイム情報が、第2サーバ装置40から第1サーバ装置20へと送信され、第1サーバ装置20からユーザ端末10へと送信される。
【0067】
ボートレース場401には、撮像装置(カメラ)404a~404bが設けられている。撮像装置404aは、ボートレース場401の上方からボート402a~402fを視界に収める。撮像装置404bは、ボートレース場401の側方からボート402a~402fを視界に収める。撮像装置404a~404bによって撮像されたボート402a~402fの画像は、第2サーバ装置40へ送信される。第2サーバ装置40では、例えば、各画像の画像解析を行い、各画像の撮影時間におけるボート402a~402fそれぞれの位置を示す位置情報を算出する。算出された位置情報と、当該位置情報に対応する撮影時間に関する時間情報は、第1サーバ装置20へと送信され、第1サーバ装置20からユーザ端末10へと送信される。なお、位置情報の算出は、第1サーバ装置20において実施してもよい。
【0068】
また、撮像装置404a~404bに代えて、又は加えて、ボート402a~402fに、GPSセンサ等の位置センサを設置してもよい。位置センサによって取得されたボート402a~402fの位置情報と、当該位置情報が取得された時間を示す時間情報とは、最終的にユーザ端末10へと送信される。
【0069】
図5は、ユーザ端末10に表示される仮想オブジェクトの一例を示す模式図である。
図5の例では、仮想オブジェクトとして、レース場オブジェクト501と、移動オブジェクト502a~502fと、2つのターンマークオブジェクト503と、仮想表示板505と、が示されている。
【0070】
レース場オブジェクト501は、ボートレース場401を仮想的に表示したオブジェクトである。レース場オブジェクト501やターンマークオブジェクト503は、例えば、ボートレース場401のコース情報等のレース場データに基づいて作製されることが好ましく、ボートレース場401と対応する形状であることが好ましい。
【0071】
移動オブジェクト502a~502fは、ボート402a~402fをそれぞれ仮想的に表示したオブジェクトであり、ボートを模した形状である。移動オブジェクト502a~502fは、レースタイム情報や、ボート402a~402fの位置情報及び当該位置情報に対応する時間情報に基づいて、レース場オブジェクト501を移動する。すなわち、レース場オブジェクト501及び移動オブジェクト502a~502fによって、現実世界のレースが仮想的なレースとしてユーザ端末10上で表示される。
【0072】
なお、ボート402a~402fの位置情報及び時間情報がなくとも、レースタイム情報のみによって仮想レースを表示することも可能である。ただ、この場合、最終的な着順は現実世界のレースと同じものになるが、レース中の順位等のレース経過を再現することが困難である。
【0073】
仮想表示板505は、テキスト情報を表示するオブジェクトである。仮想表示板505は、例えば、ボートレース場401において対応する存在のないオブジェクトである。仮想表示板505に表示するテキスト情報は、特に制限はされず、例えば、順位情報やオッズ情報等であってもよい。また、仮想表示板505に表示するテキスト情報は、ユーザの操作入力に基づいて変更可能であってもよい。
【0074】
図6は、表示制御に関する処理の一例を示すフローチャートである。なお、以下で説明するフローチャートを構成する各処理の順序は、処理内容に矛盾や不整合が生じない範囲で順不同であり、並列的に実行されてもよい。また、各フローチャートにおいて各装置が実行する処理は、矛盾の生じない範囲で、他の装置によって実行されてもよい。
【0075】
図6に示される処理は、制御部190がアプリケーションプログラム151を、制御部290がプログラム251をそれぞれ実行することにより実現される。まず、ステップS610において、制御部190は、カメラである撮像部170を起動する。撮像部170によって、ユーザ端末10の周囲の現実画像が撮像される。
【0076】
ステップS620において、制御部190は、撮像部170によって撮像された画像内における平坦面を検出する。ステップS630において、制御部190は、検出した平坦面に仮想オブジェクトを配置する。
【0077】
ここで、
図7~
図9を用いて、ステップS610、S620、及びS630の処理について具体的に説明する。
図7は、撮像部170により撮像された現実画像の一例を示す模式図である。
図7の例では、平坦なデスク701上に、キーボード702と、モニタ装置703と、が置かれている。
【0078】
ステップS610において撮像部170が起動されると、ディスプレイ132上に、撮像部170によって撮像されている現実画像が表示される。次に、ステップS620において、制御部190は、撮像部170によって撮像された画像内、すなわちディスプレイ132に表示された画像内における平坦面を検出する。
【0079】
図7では、領域704が平坦面として検出されている。領域704内にはキーボード702があるが、キーボード702はレース場オブジェクト501によって隠れる程度のサイズなので、制御部190は、領域704を平坦面として検出する。
【0080】
図7に示す状態で、撮像部170によって撮像される位置を変更すれば、領域704の位置も変更されうる。領域704は、ディスプレイ132上において、例えば、所定の色を付加されて、他の部分とは区別可能に表示される。ユーザが領域704に対してタップ操作等を実行した場合、ステップS630において、制御部190は、領域704上にレース場オブジェクト501等の仮想オブジェクトを配置する。
【0081】
図8は、現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
図8において、モニタ装置703を含むドットパターンを付した領域が現実画像であり、その他の領域は仮想オブジェクトが表示されている領域である。仮想オブジェクトが表示されていない領域には、例えば、広告画像を表示してもよい。
【0082】
図8では、仮想オブジェクトとして、レース場オブジェクト501と、複数の移動オブジェクト502と、2つのターンマークオブジェクト503と、大型モニタオブジェクト506と、建物オブジェクト507a~507bと、その他の符号を付していない多数のオブジェクト(木オブジェクト、時計オブジェクト等)と、が表示されている。これらのオブジェクトは、例えば、第1サーバ装置20から受信した第1情報152Aに基づいて作製される。
【0083】
図8は、領域704に含まれる平坦面と、レース場オブジェクト501を構成する底面とのなす角度が0度になるようにして、領域704上にレース場オブジェクト501を配置している。この場合、例えば、移動オブジェクト502同士が重複して見づらくなることがある。また、大型モニタオブジェクト506の奥行方向側の領域等には、移動オブジェクト502が見えなくなる死角が生じうる。
【0084】
しかし、
図8に示す状態において、ユーザは、ディスプレイ132に表示される重畳画像の視点を変更可能である。例えば、ユーザがピンチイン操作やピンチアウト操作等の操作入力をした場合、撮像部170の視点位置がレース場オブジェクト501へ近づいたり遠ざかったりしうる。また、ユーザがユーザ端末10を持ったままディスプレイ132の奥行方向へ移動した場合や、手前方向に移動した場合も、撮像部170の視点位置がレース場オブジェクト501へ近づいたり遠ざかったりしうる。また、ユーザがディスプレイ132上の所定の位置を指定するような操作をした場合、視点位置が指定された位置へと移動しうる。このような視点変更によって、上述の視認性の問題は解消しうる。
【0085】
また、平坦面とレース場オブジェクト501を構成する底面とのなす角度θが鋭角になるようにレース場オブジェクト501を配置することによっても、視認性に関する上述の問題を軽減しうる。
【0086】
図9は、現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図であり、
図8に示すレース場オブジェクト501の別態様を示したものである。具体的には、
図9は、第1レースが競馬の場合の例である。
【0087】
図9においても、モニタ装置703を含むドットパターンを付した領域が現実画像であり、その他の領域は仮想オブジェクトが表示されている領域である。
図9では、仮想オブジェクトとして、レース場オブジェクト511と、複数の移動オブジェクト512と、大型モニタオブジェクト513と、池オブジェクト514と、複数の木オブジェクト515と、がディスプレイ132に表示されている。これらのオブジェクトも、例えば、第1サーバ装置20から受信した第1情報152Aに基づいて作製される。
【0088】
レース場オブジェクト511、大型モニタオブジェクト513、池オブジェクト514、及び複数の木オブジェクト515は、例えば、現実世界における所定の競馬場のコース情報等のレース場データに基づいて作製されることが好ましい。複数の移動オブジェクト512は、例えば、競馬に出走する馬及び騎手をそれぞれ仮想的に表示したオブジェクトである。
【0089】
図6のフローチャートの説明に戻る。ステップS640において、制御部190は、現実世界のボートレース場401におけるボート402a~402fの位置情報を取得する。すなわち、現実世界においてボート402a~402fによるレースが開始された場合、制御部190は、第1サーバ装置20から、ボート402a~402fの位置情報及び時間情報を取得する。位置情報及び時間情報の取得方法は、
図4を用いて説明したとおりである。
【0090】
ステップS650において、制御部190は、ステップS640において取得した位置情報と移動オブジェクトとが連動するよう制御する。具体的には、時間情報と位置情報とを用いて、レース場オブジェクト501上におけるボート402a~402fそれぞれの動きが、ボートレース場401上における移動オブジェクト502a~502fと同様になるように制御する。
【0091】
ステップS640及びS650の処理は、少なくとも現実世界におけるレースの開始時点から終了時点まで繰り返されるが、現実世界におけるレースの開始前及び終了後においても繰り返されてもよい。
【0092】
なお、仮想レースとして表示するレースが過去のレースである場合、仮想レースの開始前に、レースの開始から終了までのボート402a~402fの位置情報等をまとめて取得してもよい。また、位置情報等は取得せずに、レースタイム情報のみを取得して、仮想レースを表示してもよい。仮想レースとして表示するレースは、展示レースであってもよい。
【0093】
現実世界におけるレースの終了後、アプリケーションプログラム151を終了する操作入力を受け付けたこと等に応じて、一連の表示制御処理を終了する。
【0094】
(マルチタスク機能を実行するための動作例1)
次に、
図10~
図14を参照して、システム1におけるマルチタスク機能を実行するための動作例1について説明する。
図10は、本動作例における表示制御処理の一例を示すフローチャートである。
図11は、後述のステップS1010における表示画面の一例を示す模式図である。なお、
図10で説明するフローチャートを構成する各処理の順序についても、処理内容に矛盾や不整合が生じない範囲で順不同であり、並列的に実行されてもよい。また、各フローチャートにおいて各装置が実行する処理は、矛盾の生じない範囲で、他の装置によって実行されてもよい。
【0095】
ステップS1010において、制御部190は、ディスプレイ132にレース場オブジェクト501等の仮想オブジェクトを配置する。すなわち、制御部190は、レース場オブジェクト501等をディスプレイ132上に表示する。当該処理は、
図6のステップS630と同様の処理である。
【0096】
図11に示すように、本動作例1においては、制御部190は、レース場オブジェクト501等を表示するとともに、切替ボタン1150をディスプレイ132上に表示する。制御部190は、例えば、縦向きのディスプレイ132に対して、ディスプレイ132の中央部よりもやや下寄りに、レース場オブジェクト501及びレース場オブジェクト501に付随する移動オブジェクト502やターンマークオブジェクト503、大型モニタオブジェクト506等の仮想オブジェクトが表示されるエリアであるオブジェクト表示エリア1100が設定されている。また、レース場オブジェクト501等が表示されるオブジェクト表示エリア1100の下側には切替ボタン1150を表示する。なお、ディスプレイ132上のレース場オブジェクト501の背景には、撮像部170によって撮像された現実画像が表示されるが、本例では、図示の簡略化のため、現実画像のうちモニタ装置703のみを図示している。
【0097】
ステップS1020において、制御部190は、ディスプレイ132上に表示された切替ボタン1150に対するユーザの操作入力を受け付けたか否かを判定する。ステップS1020において、切替ボタン1150に対するユーザの操作入力を受け付けたと判定された場合(ステップS1020のYes)、ステップS1030において、制御部190は、レース場オブジェクト501等の仮想オブジェクトが表示されているオブジェクト表示エリア1100の表示位置を変更する。そして、ステップS1040において、制御部190は、ディスプレイ132上の、オブジェクト表示エリア1100の表示位置とは異なる位置に、ユーザの操作入力を受付可能なユーザインタフェース表示エリアを表示する。
【0098】
以下、
図12を用いて、ステップS1040の表示処理を具体的に説明する。
図12は、ステップS1040における表示画面の一例を示す模式図である。
切替ボタン1150がユーザによりタップ操作等された場合には、
図12に示すように、制御部190は、レース場オブジェクト501等が表示されるオブジェクト表示エリア1100の表示位置を、
図11に示す初期位置よりも上側に変更する。すなわち、制御部190は、ディスプレイ132の中央よりも上部にオブジェクト表示エリア1100を表示するように、ディスプレイ132の画面表示を切り替える。さらに、ディスプレイ132において、オブジェクト表示エリア1100の上部には、角度変更ボタン1300(1301~1303)が表示される。この角度変更ボタン1300の詳細については後述する。
【0099】
また、ディスプレイ132において、オブジェクト表示エリア1100の下側には、ユーザの操作入力を受付可能なユーザインタフェース表示エリア(UI表示エリア)1200が表示される。UI表示エリア1200には、例えば、レース選択ボタン1201、動画表示ボタン1202、オプションボタン1203が表示されている。
【0100】
レース選択ボタン1201は、UI表示エリア1200に、所定のレースの情報を表示することを選択するためのボタンである。当該レース選択ボタン1201をユーザがタップ操作等した場合には、UI表示エリア1200には、ユーザがUI表示エリア1200に情報を表示したい所望のレースを選択するためのレース選択画面(図示省略)が表示される。ユーザは、レース選択画面を通じて、例えば、オブジェクト表示エリア1100に表示されているレース場オブジェクト501の対象である第1レースとは異なるレース(例えば第2レース)の情報表示を選択することができる。
【0101】
動画表示ボタン1202は、ユーザが所望のレースの動画(現実の映像)を表示することを選択するためのボタンである。当該動画表示ボタン1202をユーザがタップ操作等した場合には、UI表示エリア1200には、所望のレース動画を選択するための動画選択画面(図示省略)が表示される。ユーザは、動画選択画面を通じて、例えば、オブジェクト表示エリア1100に表示されるレース場オブジェクト501の対象である第1レースの動画、あるいは第1レース以外のレース(第2レースなど)の動画表示を選択することができる。
【0102】
オプションボタン1203は、レース選択やレース動画表示以外の処理を実行するためのボタンである。オプションボタン1203をユーザがタップ操作等した場合には、例えば、オブジェクト表示エリア1100やUI表示エリア1200の表示位置をユーザの所望の位置に変更するなど、各種のオプション処理が実行される。
【0103】
図10に戻り、ステップS1050において、制御部190は、UI表示エリア1200に対するユーザの操作入力を受け付けたか否かを判定する。本例では、制御部190は、ユーザがUI表示エリア1200に表示されている複数のボタン1201~1203のうち例えばレース選択ボタン1201をタップ操作し、UI表示エリア1200に情報を表示したい所望のレースを選択したか否かを判定する。
【0104】
ステップS1050において、UI表示エリア1200に対するユーザの選択操作を受け付けたと判定された場合には(ステップS1050のYes)、ステップS1060において、制御部190は、ユーザの選択操作に対応する情報の送信を第1サーバ装置20に要求する。以下、本例では、制御部190が、UI表示エリア1200によって、オブジェクト表示エリア1100に表示されているレース場オブジェクト501の対象となっている第1レースとは異なる第2レースに対するユーザの選択操作を受け付けた場合について説明する。この場合、制御部190は、第2レースに関する情報である第2情報152Bの送信を要求するための要求信号を第1サーバ装置20へ送信する。
【0105】
ステップS1070において、第1サーバ装置20の制御部290は、ユーザ端末10の制御部190から送信された第2情報152Bに関する要求信号に基づき、第2レースに関する第2情報252Bを取得する。具体的には、制御部290は、第2情報252Bとして、第2レースの名称、開催日時、レース場データ、出場者データ、移動体データ、オッズ情報、レース予想、レース出走表、レース直前情報、ピットレポート、レース結果であるレースタイム情報、レース動画、レース静止画、過去のレース情報、その他の第2レースに関する情報を、第2サーバ装置40またはその他の外部装置から取得する。
【0106】
ステップS1080において、制御部290は、取得した第2情報252Bを、ユーザ端末10の制御部190へ送信する。
【0107】
ステップS1090において、制御部190は、第1サーバ装置20から送信された第2情報252Bに基づいて、所定のUIオブジェクトを生成し、当該UIオブジェクトをUI表示エリア1200へ表示する。
【0108】
以下、
図13及び
図14を用いて、ステップS1090の表示処理を具体的に説明する。
図13及び
図14は、ステップS1090における表示画面の一例を示す模式図である。
図13に示す例において、ディスプレイ132上のUI表示エリア1200内には、第2レースに関する各種のUIオブジェクトが表示されている。具体的には、UI表示エリア1200には、出場者データ欄1251と、購入金額欄1252と、投票ボタン1253と、レース選択ボタン1254と、オプションボタン1255と、が表示されている。
【0109】
出場者データ欄1251には、第2レースに出場する出場者(本例では6名)のデータが表示されている。具体的には、出場者データ欄1251には第2レースに出場する各出場者の顔写真、ライセンス(級)、登録番号、氏名、出身地、体重等が表示されている。購入金額欄1252には、ユーザが第2レースの投票券を購入した金額が表示されている。投票ボタン1253は、第2レースに対してユーザが投票を行うための投票画面を表示するためのボタンである。当該投票画面については
図14を参照して後述する。レース選択ボタン1254は、
図12のレース選択ボタン1201と同様のボタンであり、出場者データ欄1251に出場者情報が表示されている第2レースとは異なるレースをUI表示エリア1200に表示するために用いられる。オプションボタン1255は、
図12のオプションボタン1203と同様のボタンである。
【0110】
例えば、ユーザが投票ボタン1253をタップ操作等すると、ディスプレイ132の画面表示が
図14の例に切り替わる。
図14に示す例では、UI表示エリア1200には、投票画面1400が表示される。投票画面1400は、ユーザが第2レースの投票券(舟券や馬券)を購入するための画面である。投票画面1400内に表示された各種ボタン(ボタン1401など)をタップ操作等することにより、ユーザは第2レースの所望の出場者の投票券を購入することができる。なお、この場合も、ディスプレイ132の上部のオブジェクト表示エリア1100には、第1レースの仮想レースとしてレース場オブジェクト501等が表示されている。
【0111】
図10に戻り、ステップS1110において、制御部190は、UI表示エリア1200に表示されたUIオブジェクトに対するユーザの選択操作を受け付けたか否かを判定する。具体的には、制御部190は、例えば、
図14に示す画面において、ユーザが投票画面1400に表示されたボタン1401等を操作したか否かを判定する。ステップS1110において、UIオブジェクトに対するユーザの選択操作を受け付けたと判定した場合には(ステップS1110のYes)、ステップS1120において、制御部190は、当該選択操作に基づいて所定のタスク処理を実行する。例えば、制御部190は、投票画面1400に対するユーザの選択操作に応じて、第2レースにおける所定の投票券の購入処理を実行する。
【0112】
このように、本例では、第1レースに関するレース場オブジェクト501をディスプレイ132上に表示させつつ、ディスプレイ132上のレース場オブジェクト501が表示されるエリアとは異なるエリアにUI表示エリア1200を表示させ、当該UI表示エリア1200においてユーザの操作入力を受け付けることできる。すなわち、ユーザは、ディスプレイ132上において、例えば、第1レースの仮想レース視聴と、第2レースの投票券購入という複数のタスクを同時に実行することができる。
【0113】
図10に再び戻り、ステップS1130において、制御部190はUI表示エリア1200に表示されたUIオブジェクトの表示を終了するためのユーザの操作を受け付けたか否かを判定する。ステップS1130において、UIオブジェクト(または、UI表示エリア1200)の表示を終了する操作を受け付けたと判定された場合には(ステップS1130のYes)、ステップS1140において、制御部190は、UI表示エリア1200を非表示とする。そして、ステップS1150において、制御部190は、ディスプレイ132の上部に表示されていたオブジェクト表示エリア1100の表示位置を初期位置に変更する。具体的には、制御部190は、オブジェクト表示エリア1100を
図11に示す位置に表示するようディスプレイ132の画面表示を切り替える。そして、制御部190は、処理をステップS1120へと戻す。
【0114】
(変形例)
以下、
図15~
図17等を参照して、本実施形態の変形例について説明する。
【0115】
図12~
図14に示すように、ステップS1030において、ディスプレイ132上のオブジェクト表示エリア1100の表示位置が変更されると、当該オブジェクト表示エリア1100の上部には角度変更ボタン1300が表示される。本例では、角度変更ボタン1300として、「上」角度ボタン1301と、「横」角度ボタン1302と、「他」角度ボタン1303とがディスプレイ132上に表示されている。これらの角度変更ボタン1300をユーザがタップ操作等することにより、オブジェクト表示エリア1100に表示されているレース場オブジェクト501の表示角度(視点)を変更することができる。
【0116】
図15は、変形例1に係る表示画面の一例を示す模式図である。
図15では、例えば、角度変更ボタン1300のうち、「上」角度ボタン1301がタップ操作等された場合のレース場オブジェクト501の表示態様を示している。「上」角度ボタン1301がタップ操作等された場合には、
図15に示すように、レース場オブジェクト501の視点は、初期位置である斜め上方からの視点から真上からの視点へと変更される。すなわち、レース場オブジェクト501を真俯瞰で捉えた状態の視点へと変更される。
【0117】
また、図示は省略するが、例えば、「横」角度ボタン1302がタップ操作等された場合には、レース場オブジェクト501の視点は、側方(例えば、スタート地点側)からの視点へと変更することができる。さらに、「他」角度ボタン1303がタップ操作等された場合には、レース場オブジェクト501の視点は、その他の任意の視点へと変更することができる。その他の視点としては、例えば、レース場オブジェクト501の
図12等に示す視点とは反対側(時計台オブジェクト側)からの視点や、特定のボート(例えば、ユーザがお気に入り指定したボート)に注目した視点等が含まれ得る。
【0118】
なお、
図10に示すフローチャートの例では、ステップS1030において、オブジェクト表示エリア1100の表示位置がディスプレイ132の上部に変更された場合でも、レース場オブジェクト501の表示角度は
図11に示す初期状態から変更されない構成を説明したが、この例に限られない。例えば、ステップS1030においてオブジェクト表示エリア1100の表示位置をディスプレイ132の上部に変更するとともに、オブジェクト表示エリア1100に表示されているレース場オブジェクト501の表示角度(視点)を変更しても良い。すなわち、レース場オブジェクト501の表示位置の変更と表示角度の変更とを同時に行っても良い。例えば、オブジェクト表示エリア1100をディスプレイ132の上部に表示するように画面を切り替えるのと同時に、レース場オブジェクト501を
図15に示すような真上からの視点で表示させるようにすることができる。この場合、UI表示エリア1200の表示が終了し、レース場オブジェクト501の表示位置が初期位置に戻る際にはレース場オブジェクト501の表示角度を初期値に戻すようにしても良いし、レース場オブジェクト501の表示角度は真上からの視点のまま表示させておき、ユーザが任意に表示角度を変更できるようにしても良い。
【0119】
図16は、変形例2に係る表示画面の一例を示す模式図である。
図16に示す変形例2では、UI表示エリア1200には、購入金額欄1252と、投票ボタン1253と、レース選択ボタン1254と、オプションボタン1255とが表示されるとともに、レース表示画面1600が含まれる。すなわち、
図16の例は、出場者データ欄1251の代わりに、レース表示画面1600が表示される点で、
図13の例とは異なっている。
図16の例では、レース表示画面1600には、例えば、第2レースとして、競輪のレース動画が表示されている。レース表示画面1600には、現実のレース動画の代わりに、第2レースの仮想レース(第2レースのレース場オブジェクト)が表示されても良い。このように、
図16の例では、ディスプレイ132上において、第1レースの仮想レース視聴と、第2レースの投票券購入と、さらには第2レースのレース視聴という複数のタスクを同時に実行することができる。
【0120】
図17は、変形例3に係る表示画面の一例を示す模式図である。
図17に示す変形例3では、ディスプレイ132上において、第1レースのレース場オブジェクト501が表示されるオブジェクト表示エリア1100のさらに上部に、レース動画1700が表示されている。レース動画1700は、例えば、第1レースの現実のレース動画である。オブジェクト表示エリア1100と、レース動画1700との表示位置は、
図17の例に限られず、逆の表示となっていても良い。すなわち、第1レースのレース場オブジェクト501が表示されるオブジェクト表示エリア1100がディスプレイ132の最上部に表示され、第1レースのレース動画1700がレース場オブジェクト501の下部に表示されても良い。このように、
図17の例では、ディスプレイ132上において、第1レースのレース動画視聴及び仮想レース視聴と、第2レースの投票券購入という複数のタスクを同時に実行することができる。
【0121】
なお、上記の各例では、ユーザ端末10を縦向き(縦置き)にした状態でのディスプレイ132に表示される表示画面の例を説明しているが、この例に限られない。ユーザ端末10を横向き(横置き)にした状態であっても、レース場オブジェクト501が表示されるオブジェクト表示エリアの表示位置を変更して、当該オブジェクト表示エリアとは異なる位置に、UI表示エリアを表示させて、横向きのディスプレイ132において、複数のタスクを同時に実行できるようにしても良い。
【0122】
上記の実施形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
【0123】
[付記事項]
本開示の内容を列記すると以下の通りである。
【0124】
(項目1)
プロセッサと、撮像部と、表示部とを備えた第1コンピュータにおいて実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
現実世界における所定の第1レースに関する第1情報を第2コンピュータから受信するステップと、
前記第1情報に基づいて、前記第1レースのレース場を表すレース場オブジェクトと、前記第1レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記表示部において、前記撮像部により撮像された前記第1コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するステップと、を実行させ、
前記表示するステップは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第1操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
プログラム。
これにより、第1コンピュータに表示される仮想レースの観戦中に別のタスクを実行するためのユーザの操作を受け付けることができる。そのため、ユーザが所定のレースの仮想レースの観戦をしている間や観戦の空き時間に、当該仮想レースの観戦以外の他のタスクを実行することができ、ユーザの利便性を向上させることができる。
【0125】
(項目2)
前記表示するステップは、前記表示部に対する前記ユーザの第2操作入力に応じて、前記オブジェクト表示エリアの表示位置を変更した後に、前記ユーザインタフェース表示エリアを表示することを含む、
項目1に記載のプログラム。
これにより、表示部にオブジェクト表示エリアのみを表示させる場合と、表示部にオブジェクト表示エリアとユーザインタフェース表示エリアとの双方を表示させる場合との画面切り替えをスムーズに行うことができる。
【0126】
(項目3)
前記表示するステップは、前記表示位置の変更に応じて前記仮想オブジェクトの表示角度を変更することを含む、
項目2に記載のプログラム。
これにより、表示部にオブジェクト表示エリアとユーザインタフェース表示エリアとが表示された場合でも、仮想レースの視認性を向上させ、ユーザの利便性をさらに向上させることができる。
【0127】
(項目4)
前記受信するステップは、前記現実世界における前記第1レースとは異なる第2レースに関する第2情報を前記第2コンピュータから受信することを含み、
前記表示するステップは、前記ユーザインタフェース表示エリアに、前記第2情報を表示することを含む、
項目1から項目3のいずれかに記載のプログラム。
これにより、例えば、観戦中の仮想レース以外の他のレースの投票を実行するなどの他のタスクを実行することができ、ユーザの利便性をさらに向上させることができる。
【0128】
(項目5)
前記第2情報は、前記第2レースの出場者又は移動体を前記ユーザが選択するためのユーザインタフェース画像、前記第2レースの現実画像、前記第2レースのレース場オブジェクトや移動オブジェクトを含む仮想オブジェクトのいずれか一つを少なくとも含む、
項目4に記載のプログラム。
これにより、ユーザは、第1レースの仮想レースを観戦中にも、第1レースとは異なる第2レースの投票を実行したり、当該第2レースの動画や仮想レースを観戦したりすることができる。
【0129】
(項目6)
前記表示するステップは、前記ユーザインタフェース表示エリアに、前記第1レースの現実画像を表示することを含む、
項目1から項目5のいずれかに記載のプログラム。
これにより、ユーザは、第1レースの仮想レースとともに、当該第1レースの現実画像(実際の動画)を視聴することができる。
【0130】
(項目7)
プロセッサと、撮像部と、表示部とを備えた第1コンピュータにおいて実行される情報処理方法であって、
前記情報処理方法は、前記プロセッサに、
現実世界における所定の第1レースに関する第1情報を第2コンピュータから受信するステップと、
前記第1情報に基づいて、レース場を表すレース場オブジェクトと、前記第1レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記表示部において、前記撮像部により撮像された前記第1コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するステップと、を実行させることを含み、
前記表示するステップは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第1操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
情報処理方法。
これにより、第1コンピュータに表示される仮想レースの観戦中のユーザの利便性を向上させることができる。
【0131】
(項目8)
プロセッサと、撮像部と、表示部とを備えた情報処理装置であって、
前記プロセッサは、
現実世界における所定の第1レースに関する第1情報を第2コンピュータから受信し、
前記第1情報に基づいて、レース場を表すレース場オブジェクトと、前記第1レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成し、
前記表示部において、前記撮像部により撮像された前記情報処理装置の周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するものであり、
前記重畳させて表示することは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第1操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
情報処理装置。
これにより、情報処理装置に表示される仮想レースの観戦中のユーザの利便性を向上させることができる。
【0132】
(項目9)
第1プロセッサと、撮像装置と、表示装置とを備える第1コンピュータと、第2プロセッサを備え、前記第1コンピュータと通信接続可能な第2コンピュータと、を含むシステムあって、
前記第2プロセッサは、
現実世界における所定の第1レースに関する第1情報を取得し、
前記第1情報を前記第1コンピュータへ送信するものであり、
前記第1プロセッサは、
前記第1情報を第2コンピュータから受信し、
前記第1情報に基づいて、レース場を表すレース場オブジェクトと、前記第1レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成し、
前記表示装置において、前記撮像装置により撮像された前記第1コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するものであり、
前記重畳させて表示することは、前記表示装置において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第1操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
システム。
これにより、第1コンピュータに表示される仮想レースの観戦中のユーザの利便性を向上させることができる。
【符号の説明】
【0133】
1:システム、10:ユーザ端末、20:第1サーバ装置、30:ネットワーク、40:第2サーバ装置、130:タッチスクリーン、150:(ユーザ端末の)記憶部、152A,252A:第1情報、152B,252B:第2情報、190:(ユーザ端末の)制御部、191:操作入力受付部、192:送受信部、193:オブジェクト生成部、194:表示制御部、195:平坦面検出部、196:第1情報取得部、197:第2情報取得部、198:選択情報取得部、250:(第1サーバ装置の)記憶部、290:(第1サーバ装置の)制御部、401:ボートレース場、402a~402f:ボート、501:レース場オブジェクト、502(502a~502f):移動オブジェクト、1100:オブジェクト表示エリア、1150:切替ボタン、1200:ユーザインタフェース表示エリア(UI表示エリア)、1201,1254:レース選択ボタン、1202:動画表示ボタン、1203,1255:オプションボタン、1251:出場者データ欄、1252:購入金額欄、1253:投票ボタン、1300:角度変更ボタン、1400:投票画面、1600:レース表示画面、1700:レース動画