(57)【特許請求の範囲】
【請求項１】
プロセッサと、撮像部と、表示部とを備えた第１コンピュータにおいて実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
現実世界における所定の第１レースに関する第１情報を第２コンピュータから受信するステップと、
前記第１情報に基づいて、前記第１レースのレース場を表すレース場オブジェクトと、前記第１レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記表示部において、前記撮像部により撮像された前記第１コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するステップと、を実行させ、
前記表示するステップは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第１操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
プログラム。
【請求項２】
前記表示するステップは、前記表示部に対する前記ユーザの第２操作入力に応じて、前記オブジェクト表示エリアの表示位置を変更した後に、前記ユーザインタフェース表示エリアを表示することを含む、
請求項１に記載のプログラム。
【請求項３】
前記表示するステップは、前記表示位置の変更に応じて前記仮想オブジェクトの表示角度を変更することを含む、
請求項２に記載のプログラム。
【請求項４】
前記受信するステップは、前記現実世界における前記第１レースとは異なる第２レースに関する第２情報を前記第２コンピュータから受信することを含み、
前記表示するステップは、前記ユーザインタフェース表示エリアに、前記第２情報を表示することを含む、
請求項１から３のいずれか一項に記載のプログラム。
【請求項５】
前記第２情報は、前記第２レースの出場者又は移動体を前記ユーザが選択するためのユーザインタフェース画像、前記第２レースの現実画像、前記第２レースのレース場オブジェクトや移動オブジェクトを含む仮想オブジェクトのいずれか一つを少なくとも含む、
請求項４に記載のプログラム。
【請求項６】
前記表示するステップは、前記ユーザインタフェース表示エリアに、前記第１レースの現実画像を表示することを含む、
請求項１から請求項５のいずれか一項に記載のプログラム。
【請求項７】
プロセッサと、撮像部と、表示部とを備えた第１コンピュータにおいて実行される情報処理方法であって、
前記情報処理方法は、前記プロセッサに、
現実世界における所定の第１レースに関する第１情報を第２コンピュータから受信するステップと、
前記第１情報に基づいて、レース場を表すレース場オブジェクトと、前記第１レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記表示部において、前記撮像部により撮像された前記第１コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するステップと、を実行させることを含み、
前記表示するステップは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第１操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
情報処理方法。
【請求項８】
プロセッサと、撮像部と、表示部とを備えた情報処理装置であって、
前記プロセッサは、
現実世界における所定の第１レースに関する第１情報を第２コンピュータから受信し、
前記第１情報に基づいて、レース場を表すレース場オブジェクトと、前記第１レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成し、
前記表示部において、前記撮像部により撮像された前記情報処理装置の周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するものであり、
前記重畳させて表示することは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第１操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
情報処理装置。
【請求項９】
第１プロセッサと、撮像装置と、表示装置とを備える第１コンピュータと、第２プロセッサを備え、前記第１コンピュータと通信接続可能な第２コンピュータと、を含むシステムあって、
前記第２プロセッサは、
現実世界における所定の第１レースに関する第１情報を取得し、
前記第１情報を前記第１コンピュータへ送信するものであり、
前記第１プロセッサは、
前記第１情報を第２コンピュータから受信し、
前記第１情報に基づいて、レース場を表すレース場オブジェクトと、前記第１レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成し、
前記表示装置において、前記撮像装置により撮像された前記第１コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するものであり、
前記重畳させて表示することは、前記表示装置において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第１操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プログラム、情報処理方法、情報処理装置、及びシステムに関する。
【背景技術】
【０００２】
特許文献１及び２には、ＡＲ（Augmented Reality）に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０２０−５８６５８号公報
【特許文献５】特開２０２０−７７１８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現実世界においては、ボートレースや競馬等の様々なレースが実施されている。これらのレースを観戦するために実際にレース場へ足を運ぶ人々もいるが、実際にレース場へ足を運ぶことは、時間的又は地理的な制約により不可能な場合もある。上記のような状況から、現実世界のレースに連動した仮想オブジェクトを用いて、現実世界のレースを仮想的なレースとして各種端末のディスプレイに表示することができれば、実際にレース場へ行かずともレースを擬似的に観戦することができ、有益である。
【０００５】
ところで、ユーザは、携帯端末等において所定のレースの仮想レースを観戦している最中にも、別のレースの投票や観戦など他のタスクを処理したい場合がある。
【０００６】
本開示の一態様は、コンピュータに表示される仮想オブジェクトによってレースを観戦する際の、ユーザの利便性を向上可能なプログラム、情報処理方法、情報処理装置、及びシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示に示す一実施形態によれば、
プロセッサと、撮像部と、表示部とを備えた第１コンピュータにおいて実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
現実世界における所定の第１レースに関する第１情報を第２コンピュータから受信するステップと、
前記第１情報に基づいて、前記第１レースのレース場を表すレース場オブジェクトと、前記第１レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記表示部において、前記撮像部により撮像された前記第１コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するステップと、を実行させ、
前記表示するステップは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第１操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
プログラムが提供される。
【発明の効果】
【０００８】
本開示に示す一実施形態によれば、第１コンピュータに表示される仮想オブジェクトによって第１レースを観戦する際の、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】ある実施の形態に従うシステムの構成例を示す図である。
【図２】ある実施の形態に従うユーザ端末の機能的な構成の一例を示すブロック図である。
【図３】ある実施の形態に従うサーバの機能的な構成の一例を示すブロック図である。
【図４】ある実施の形態に従う現実世界のレース場の一例を示す模式図である。
【図５】ある実施の形態に従うユーザ端末に表示される仮想オブジェクトの一例を示す模式図である。
【図６】ある実施の形態に従う表示制御処理の一例を示すフローチャートである。
【図７】ある実施の形態に従う撮像部により撮像された現実画像の一例を示す模式図である。
【図８】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【図９】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【図１０】ある実施の形態に従う動作例１における表示制御処理の一例を示すフローチャートである。
【図１１】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【図１２】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【図１３】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【図１４】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【図１５】ある実施の形態に従う動作例２における表示制御処理の一例を示すフローチャートである。
【図１６】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【図１７】ある実施の形態に従う現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。
【発明を実施するための形態】
【００１０】
以下、この技術的思想の実施の形態について図面を参照しながら詳細に説明する。以下の説明では、同一の要素には同一の符号を付し、重複する説明を適宜省略する。本開示において示される１以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなすものとする。
【００１１】
（システムの構成）
図１は、本実施の形態に従うシステム１の構成を示す図である。システム１は、例えば、現実世界で実施される所定のレースを、ユーザが使用する情報処理装置上において仮想オブジェクトを用いた仮想レースとして表示することが可能なものである。本明細書において、「所定のレース」とは、現実世界で実施されるレースであれば特に制限はされず、例えば、ボートレース（本番のレースや、展示レース）、競馬、競輪、オートレース、Ｆ１等のカーレース、ドローンレース、ドッグレース、マラソン、駅伝等が挙げられる。
【００１２】
図１に示すように、システム１は、各ユーザが使用する情報処理装置（第１コンピュータ）であるユーザ端末１０Ａ、ユーザ端末１０Ｂ及びユーザ端末１０Ｃ（以下、ユーザ端末１０Ａ、１０Ｂ、１０Ｃ等のユーザ端末を総称して「ユーザ端末１０」とも称する）等の複数のユーザ端末１０と、第１サーバ装置（第２コンピュータ）２０と、第２サーバ装置４０と、ネットワーク３０と、を含む。
【００１３】
ユーザ端末１０Ａとユーザ端末１０Ｂとは、無線基地局３１と通信することにより、ネットワーク３０と接続する。ユーザ端末１０Ｃは、家屋等の施設に設置される無線ルータ３２と通信することにより、ネットワーク３０と接続する。ユーザ端末１０は、例えば、タッチスクリーンを備える携帯型端末であり、スマートフォン、ファブレット、タブレット等でありうる。
【００１４】
ユーザ端末１０は、例えば、アプリ等を配信するプラットフォームを介してインストールされたプログラム、又は、予めプリインストールされているウェブサイト閲覧用ソフトウエア等を含むプログラムを実行する。ユーザ端末１０は、上記プログラムの実行により、第１サーバ装置２０と通信し、所定のレースに関連するデータやユーザに関連するデータ等を第１サーバ装置２０との間で送受信することにより、ユーザ端末１０上で仮想レースを表示することを可能とする。
【００１５】
第１サーバ装置２０は、所定のレースに関連するデータを、第２サーバ装置４０から受信する。第１サーバ装置２０は、所定のレースに関連するデータを、適宜、ユーザ端末１０へ送信する。第１サーバ装置２０は、所定のレースに関連するデータや、各ユーザに関連するデータを記憶して管理する。
【００１６】
第１サーバ装置２０は、ハードウェア構成として、通信ＩＦ（Interface）２２と、入出力ＩＦ２３と、メモリ２５と、ストレージ２６と、プロセッサ（第２プロセッサ）２９と、を備え、これらが通信バスを介して互いに接続されている。
【００１７】
通信ＩＦ２２は、例えばＬＡＮ（Local  Area  Network）規格等の各種の通信規格に対応しており、ユーザ端末１０や第２サーバ装置４０等との間でデータを送受信するためのインタフェースとして機能する。
【００１８】
入出力ＩＦ２３は、第１サーバ装置２０への情報の入力を受け付けるとともに、第１サーバ装置２０の外部へ情報を出力するためのインタフェースとして機能する。入出力ＩＦ２３は、マウス、キーボード等の情報入力機器の接続を受け付ける入力受付部と、画像等を表示するためのディスプレイ等の情報出力機器の接続を受け付ける出力部とを含みうる。
【００１９】
メモリ２５は、処理に使用されるデータ等を記憶するための記憶装置である。メモリ２５は、例えば、プロセッサ２９が処理を行う際に一時的に使用するための作業領域をプロセッサ２９に提供する。メモリ２５は、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）等の記憶装置を含んで構成されている。
【００２０】
ストレージ２６は、プロセッサ２９が読み込んで実行するための各種プログラム及びデータを記憶するための記憶装置である。ストレージ２６が記憶する情報には、所定のレースに関連するデータや、各ユーザに関連するデータ等が含まれる。ストレージ２６は、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等の記憶装置を含んで構成されうる。なお、ストレージは、サーバ装置に含まれる形態に限られず、クラウドサービスを利用することもできる。
【００２１】
プロセッサ２９は、ストレージ２６に記憶されるプログラム等を読み込んで実行することにより、第１サーバ装置２０の動作を制御する。プロセッサ２９は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）等を含んで構成されうる。
【００２２】
第２サーバ装置４０は、所定のレースに関連するデータを記憶して管理している。第２サーバ装置４０は、例えば、所定のレースの開催者が管理するサーバ装置や、所定のレースに関する情報を外部へ発信する団体（レース専門誌の発行者、レースの映像配信者又はラジオ配信者等）が管理するサーバ装置である。第２サーバ装置４０は、所定のレースに関連するデータを、適宜、第１サーバ装置２０へ送信する。ある局面においては、第２サーバ装置４０は、所定のレースに関連するデータをユーザ端末１０へ送信してもよい。第２サーバ装置４０のハードウェア構成は、矛盾の生じない範囲で、第１サーバ装置２０と同様であってもよい。第２サーバ装置４０は、複数あってもよい。
【００２３】
（ユーザ端末）
図２は、ユーザ端末１０の機能的な構成の一例を示すブロック図である。図２に示すように、ユーザ端末１０は、アンテナ１１０と、無線通信ＩＦ１２０と、タッチスクリーン１３０と、入出力ＩＦ１４０と、記憶部１５０と、音声処理部１６０と、マイク１６１と、スピーカ１６２と、撮像部１７０と、制御部（第１プロセッサ）１９０と、を含む。
【００２４】
アンテナ１１０は、ユーザ端末１０が発する信号を電波として空間へ放射する。また、アンテナ１１０は、空間から電波を受信して受信信号を無線通信ＩＦ１２０へ与える。
【００２５】
無線通信ＩＦ１２０は、ユーザ端末１０が他の通信機器と通信するため、アンテナ１１０等を介して信号を送受信するための変復調処理等を行う。無線通信ＩＦ１２０は、チューナー、高周波回路等を含む無線通信用の通信モジュールであり、ユーザ端末１０が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部１９０へ与える。
【００２６】
タッチスクリーン１３０は、ユーザからの入力を受け付けて、ユーザに対し情報をディスプレイ１３２に出力する。タッチスクリーン１３０は、ユーザの操作入力を受け付けるためのタッチパネル１３１と、ディスプレイ１３２と、を含む。タッチパネル１３１は、例えば、静電容量方式のものを用いることによって、ユーザの指等が接近したことを検出する。ディスプレイ１３２は、例えばＬＣＤ（Liquid  Crystal  Display）、有機ＥＬ（electroluminescence）その他の表示装置によって実現される。
【００２７】
入出力ＩＦ１４０は、ユーザ端末１０への情報の入力を受け付けるとともに、ユーザ端末１０の外部へ情報を出力するためのインタフェースとして機能する。
【００２８】
記憶部１５０は、フラッシュメモリ、ＨＤＤ等により構成され、ユーザ端末１０が使用するプログラム、及び、ユーザ端末１０が第１サーバ装置２０等から受信する各種データ等を記憶する。
【００２９】
音声処理部１６０は、音声信号の変復調を行う。音声処理部１６０は、マイク１６１から与えられる信号を変調して、変調後の信号を制御部１９０へ与える。また、音声処理部１６０は、音声信号をスピーカ１６２へ与える。音声処理部１６０は、例えば、音声処理用のプロセッサによって実現される。マイク１６１は、音声信号の入力を受け付けて制御部１９０へ出力するための音声入力部として機能する。スピーカ１６２は、音声信号を、ユーザ端末１０の外部へ出力するための音声出力部として機能する。
【００３０】
撮像部１７０は、ユーザ端末１０の周囲の現実画像を撮像するカメラである。撮像部１７０によって撮像された画像は、制御部１９０によって画像処理がなされ、ディスプレイ１３２へ出力される。
【００３１】
制御部１９０は、記憶部１５０に記憶されるプログラムを読み込んで実行することにより、ユーザ端末１０の動作を制御する。制御部１９０は、例えば、アプリケーションプロセッサによって実現される。
【００３２】
制御部１９０がアプリケーションプログラム１５１を実行する処理について、より詳細に説明する。記憶部１５０は、アプリケーションプログラム１５１と、アプリケーション情報１５２と、ユーザ情報１５３と、を記憶する。
【００３３】
ユーザ端末１０は、例えば、第１サーバ装置２０からアプリケーションプログラム１５１をダウンロードして記憶部１５０に記憶させる。また、ユーザ端末１０は、第１サーバ装置２０と通信することで、アプリケーション情報１５２及びユーザ情報１５３等の各種のデータを第１サーバ装置２０と送受信する。
【００３４】
アプリケーションプログラム１５１は、ユーザ端末１０において仮想レースを表示するためのプログラムである。アプリケーション情報１５２は、アプリケーションプログラム１５１が参照する各種のデータを含む。アプリケーション情報１５２は、第１情報１５２Ａと、第２情報１５２Ｂとを含む。
【００３５】
第１情報１５２Ａは、第１サーバ装置２０や第２サーバ装置４０から送信された所定のレースに関する情報である。以下、当該所定のレースを「第１レース」と称する。第１情報１５２Ａには、例えば、第１レースの出場者又は移動体（以下、「出場者等」とも称する）のレースタイムを示すレースタイム情報、第１レースの実施中における出場者等の位置情報、当該位置情報に対応する時間情報と、が含まれる。
【００３６】
本明細書において、「出場者」とは、人間だけでなく、馬や犬等の動物も含む概念である。また、「移動体」とは、レースにおいて移動の主体となるものであり、出場者が乗る動物や機体、出場者が遠隔操縦する機体等である。マラソンやドッグレース等では、「出場者」と「移動体」は同一となる。
【００３７】
第１情報１５２Ａは、上記の他にも、例えば、第１レースの名称、開催日時、レース場データ、出場者データ、移動体データ、オッズ情報、レース予想、レース出走表、レース直前情報、ピットレポート、レース結果、レース動画、レース静止画、過去のレース情報、その他の第１レースに関する情報誌や情報サイトに掲載されうるような情報等を含んでもよい。
【００３８】
第２情報１５２Ｂは、第１サーバ装置２０や第２サーバ装置４０から送信された所定のレースに関する情報であって、第１情報１５２Ａの対象となっている第１レースとは異なる第２レースに関する情報である。第２レースは、例えば、第１レースが実施されている当日に第１レースとは別のレース場で実施されているレースである。第１レースと第２レースとは同じ種類のレースでも良く、別の種類のレースでも良い。例えば、第１レースと第２レースとは別のボートレース場で実施されているボートレース同士であっても良く、第１レースがボートレースであり第２レースがボートレース以外のレース（例えば、競馬や競輪）であっても良い。第２情報１５２Ｂには、例えば、第２レースの出場者等のレースタイムを示すレースタイム情報、第２レースの実施中における出場者等の位置情報、当該位置情報に対応する時間情報と、が含まれる。
【００３９】
第２情報１５２Ｂは、上記の他にも、例えば、第２レースの名称、開催日時、レース場データ、出場者データ、移動体データ、オッズ情報、レース予想、レース出走表、レース直前情報、ピットレポート、レース結果、レース動画、レース静止画、過去のレース情報、その他の第２レースに関する情報誌や情報サイトに掲載されうるような情報等を含んでもよい。
【００４０】
ユーザ情報１５３は、ユーザ端末１０のユーザについての情報を含む。ユーザ情報１５３は、例えば、ユーザを識別する情報、ユーザ端末１０の位置情報、ユーザのレース購入履歴や的中率（例えば、ボートレースであれば購入した舟券の履歴と、購入した舟券の的中率）等を含んでもよい。
【００４１】
制御部１９０は、アプリケーションプログラム１５１を読み込んで実行することにより、操作入力受付部１９１と、送受信部１９２と、オブジェクト生成部１９３と、表示制御部１９４と、平坦面検出部１９５と、第１情報取得部１９６と、第２情報取得部１９７と、選択情報取得部１９８と、の各機能を発揮する。
【００４２】
操作入力受付部１９１は、タッチスクリーン１３０の出力に基づいて、ユーザの操作入力を受け付ける。具体的には、操作入力受付部１９１は、ユーザの指等がタッチパネル１３１に接触又は接近したことを、タッチスクリーン１３０を構成する面の横軸及び縦軸からなる座標系の座標として検出する。
【００４３】
操作入力受付部１９１は、タッチスクリーン１３０に対するユーザの操作を判別する。操作入力受付部１９１は、例えば、「接近操作」、「リリース操作」、「タップ操作」、「ダブルタップ操作」、「長押し操作（ロングタッチ操作）」、「ドラッグ操作（スワイプ操作）」、「ムーブ操作」、「フリック操作」、「ピンチイン操作」、「ピンチアウト操作」等のユーザの操作を判別する。
【００４４】
操作入力受付部１９１は、ユーザ端末１０に搭載された加速度センサ等によって検出されるユーザ端末１０の動きを、操作入力として受け付けてもよい。
【００４５】
送受信部１９２は、無線通信ＩＦ１２０及びネットワーク３０を介して、第１サーバ装置２０や第２サーバ装置４０等の外部の通信機器と各種情報の送信及び受信を行う。送受信部１９２は、例えば、第１サーバ装置２０又は第２サーバ装置４０から第１情報１５２Ａを受信する。また、送受信部１９２は、例えば、操作入力受付部１９１が受け付けた操作入力に応じた情報や、ユーザ情報１５３に記憶された情報等を第１サーバ装置２０又は第２サーバ装置４０へと送信する。
【００４６】
オブジェクト生成部１９３は、第１レースに関する情報をユーザに提示するための仮想オブジェクトを、第１情報１５２Ａに基づいて生成する。オブジェクト生成部１９３は、仮想オブジェクトとして、第１レースのレース場を表すレース場オブジェクトと、第１レースの出場者等を表す移動オブジェクトと、を生成する。オブジェクト生成部１９３は、第１情報１５２Ａに基づいて生成される情報をテキスト表示するための仮想表示板を生成してもよい。オブジェクト生成部１９３は、上記の各オブジェクトの他にも、第１情報１５２Ａに基づいて生成される情報を画像表示するための仮想スクリーン、各種の建物オブジェクト、木等の景観を構成する景観オブジェクト等を生成してもよい。
【００４７】
表示制御部１９４は、撮像部１７０により撮像されたユーザ端末１０の周囲の現実画像に、オブジェクト生成部１９３により生成された仮想オブジェクトを重畳させた画像（以下、「重畳画像」とも称する）を、ディスプレイ１３２上に表示させる。表示制御部１９４は、第１情報１５２Ａに含まれるレースタイム情報に基づいて、各移動オブジェクトをレース場オブジェクト上において移動させ、第１レースを仮想的に再現した仮想レースをディスプレイ１３２上に表示させる。表示制御部１９４は、レースタイム情報に加えて、第１情報１５２Ａに含まれる出場者等の位置情報、及び当該位置情報に対応する時間情報に基づいて、仮想レースを再現するものであることが好ましい。
【００４８】
表示制御部１９４は、操作入力受付部１９１が受け付けた操作入力に応じて、重畳画像における視点を変更可能であることが好ましい。なお、視点の変更の具体例については後述する。
【００４９】
表示制御部１９４は、さらに、操作入力受付部１９１が受け付けた操作入力に応じて、ディスプレイ１３２に各種のメニュー画面やＧＵＩ（Graphical User Interface）を表示可能であることが好ましい。本例では、特に、操作入力受付部１９１が受け付けた後述の切替ボタンに対するユーザの操作入力に応じて、表示制御部１９４は、ディスプレイ１３２に表示された仮想オブジェクトの表示位置を変更するとともに、ディスプレイ１３２上の仮想オブジェクトが表示されたエリアとは異なる位置にＵＩ（User Interface）表示エリアを設け、当該ＵＩ表示エリアにユーザの操作入力を受付可能な各種のＵＩオブジェクトを表示する。
【００５０】
平坦面検出部１９５は、撮像部１７０により撮像された現実画像内における平坦面を検出する。平坦面の検出は、従来公知の画像認識技術によって実現される。例えば、平坦面検出部１９５が検出した平坦面を選択する操作をユーザが行った場合、当該平坦面にレース場オブジェクトが配置された重畳画像がディスプレイ１３２に表示される。
【００５１】
平坦面は、水平面であることが好ましい。また、平坦面とレース場オブジェクトを構成する底面とのなす角度は０度であってもよいが、鋭角であることが好ましく、例えば、１５度〜４５度の範囲にすることができる。上記角度は、ユーザの操作を受け付けて調節する態様とすることもできる。また、現実世界の平坦面の一部に凸部がある場合や、当該平坦面に載置物がある場合であっても、当該凸部や当該載置物がレース場オブジェクトによって隠れる程度のサイズならば、レース場オブジェクトを配置可能は平坦面として検出してもよい。
【００５２】
第１情報取得部１９６は、第１サーバ装置２０から所定の情報（後述の第１情報２５２Ａ）を受信することで、第１情報１５２Ａを取得する。
【００５３】
第２情報取得部１９７は、第１サーバ装置２０から所定の情報（後述の第２情報２５２Ｂ）を受信することで、第２情報１５２Ｂを取得する。
【００５４】
選択情報取得部１９８は、ユーザが選択した１以上の出場者等を示す１以上の選択情報を取得する。「選択情報」とは、例えば、第１レースや第２レースの勝者等としてユーザが予想した出場者等を示す情報である。第１レース及び第２レースがボートレースや競馬である場合、「選択情報」は、ユーザが購入した舟券や馬券を示す情報でありうる。
【００５５】
選択情報取得部１９８は、例えば、出場者等を選択するための画面上でのユーザの操作入力に基づいて、選択情報を取得する。選択情報取得部１９８が取得した選択情報は、例えば、第１サーバ装置２０又は第２サーバ装置４０へ送信される。例えば、選択情報が第２サーバ装置４０へ送信されたことに応じて、所定のレースに対する舟券や馬券の購入処理がなされうる。
【００５６】
（第１サーバ装置）
図３は、第１サーバ装置２０の機能的な構成を示すブロック図である。図３を参照して、第１サーバ装置２０の詳細な構成を説明する。第１サーバ装置２０は、プログラムに従って動作することにより、通信部２２０と、記憶部２５０と、制御部２９０としての機能を発揮する。
【００５７】
通信部２２０は、第１サーバ装置２０がユーザ端末１０や第２サーバ装置４０等の外部の通信機器とネットワーク３０を介して通信するためのインタフェースとして機能する。
【００５８】
記憶部２５０は、システム１を実現するための各種プログラム及びデータを記憶する。ある局面において、記憶部２５０は、プログラム２５１と、レース情報２５２と、ユーザ情報２５３とを記憶する。
【００５９】
プログラム２５１は、第１サーバ装置２０がユーザ端末１０や第２サーバ装置４０と通信して、システム１を実現するためのプログラムである。プログラム２５１は、制御部２９０に実行されることにより、ユーザ端末１０や第２サーバ装置４０とデータを送受信する処理、ユーザ端末１０のユーザが行った操作内容に応じた処理、レース情報２５２やユーザ情報２５３を更新する処理等を第１サーバ装置２０に行わせる。
【００６０】
レース情報２５２は、所定のレースに関連する各種のデータを含む。レース情報２５２は、例えば、第１情報２５２Ａと第２情報２５２Ｂとを含む。第１情報２５２Ａは、第１情報１５２Ａの元となる情報であり、第１レースに関する情報である。第１情報１５２Ａは、第１情報２５２Ａの一部でありうる。第１情報２５２Ａは、例えば、第２サーバ装置４０から取得された情報である。同様に、第２情報２５２Ｂは、第２情報１５２Ｂの元となる情報であり、第２レースに関する情報である。第２情報１５２Ｂは、第２情報２５２Ｂの一部でありうる。第２情報２５２Ｂは、例えば、第２サーバ装置４０から取得された情報である。
【００６１】
ユーザ情報２５３は、ユーザ端末１０のユーザについての情報である。ユーザ情報２５３は、ユーザ管理テーブル２５３Ａを含む。ユーザ管理テーブル２５３Ａは、例えば、ユーザを識別する情報、ユーザ端末１０の位置情報、ユーザのレース購入履歴や的中率等をユーザ毎に記憶している。
【００６２】
制御部２９０は、プロセッサ２９によって実現され、プログラム２５１を実行することにより、送受信部２９１、第１情報取得部２９２Ａ、第２情報取得部２９２Ｂ、選択情報取得部２９３、データ管理部２９４、計時部２９５としての機能を発揮する。
【００６３】
送受信部２９１は、通信部２２０及びネットワーク３０を介して、ユーザ端末１０や第２サーバ装置４０等の外部の通信機器と各種情報の送信及び受信を行う。送受信部２９１は、例えば、第１情報２５２Ａ及び第２情報２５２Ｂの少なくとも一部をユーザ端末１０へ送信する。また、送受信部２９１は、例えば、第１情報２５２Ａ及び第２情報２５２Ｂを第２サーバ装置４０から受信する。
【００６４】
第１情報取得部２９２Ａは、送受信部２９１を介して、第１情報２５２Ａを第２サーバ装置４０から取得する。第２情報取得部２９２Ｂは、送受信部２９１を介して、第２情報２５２Ｂを第２サーバ装置４０から取得する。選択情報取得部２９３は、送受信部２９１を介して、ユーザの選択情報をユーザ端末１０又は第２サーバ装置４０から取得する。データ管理部２９４は、第１情報取得部２９２Ａ、第２情報取得部２９２Ｂ、選択情報取得部２９３等における処理結果に従って、記憶部２５０に記憶される各種データを更新する処理を行う。計時部２９５は、時間を計測する処理を行う。計時部２９５によって計測される時間に基づいて、ユーザ端末１０に表示される各種時間（例えば、レース開始までの時間等）が制御されうる。
【００６５】
（動作例）
次に、図４〜図１４を参照して、システム１における動作例について説明する。以下では、所定のレース、すなわち第１レースがボートレースである場合を例示して説明をするが、以下の説明は、第１レースが他の種類のレースであっても適用可能である。また、以下では、ユーザ端末１０と第１サーバ装置２０の間、及び第１サーバ装置２０と第２サーバ装置４０の間でデータの送受信を行うものとして説明をするが、ある局面においては、ユーザ端末１０と第２サーバ装置４０とで直接的にデータの送受信をするように構成してもよい。
【００６６】
図４は、現実世界のボートレース場の一例を示す模式図である。ボートレース場４０１には、２つのターンマーク４０３が設置されており、各ボートレーサーが乗るボート４０２ａ〜４０２ｆによるレースが実施されている。レースが終了した場合、ボート４０２ａ〜４０２ｆそれぞれのレースタイムを示すレースタイム情報が、第２サーバ装置４０から第１サーバ装置２０へと送信され、第１サーバ装置２０からユーザ端末１０へと送信される。
【００６７】
ボートレース場４０１には、撮像装置（カメラ）４０４ａ〜４０４ｂが設けられている。撮像装置４０４ａは、ボートレース場４０１の上方からボート４０２ａ〜４０２ｆを視界に収める。撮像装置４０４ｂは、ボートレース場４０１の側方からボート４０２ａ〜４０２ｆを視界に収める。撮像装置４０４ａ〜４０４ｂによって撮像されたボート４０２ａ〜４０２ｆの画像は、第２サーバ装置４０へ送信される。第２サーバ装置４０では、例えば、各画像の画像解析を行い、各画像の撮影時間におけるボート４０２ａ〜４０２ｆそれぞれの位置を示す位置情報を算出する。算出された位置情報と、当該位置情報に対応する撮影時間に関する時間情報は、第１サーバ装置２０へと送信され、第１サーバ装置２０からユーザ端末１０へと送信される。なお、位置情報の算出は、第１サーバ装置２０において実施してもよい。
【００６８】
また、撮像装置４０４ａ〜４０４ｂに代えて、又は加えて、ボート４０２ａ〜４０２ｆに、ＧＰＳセンサ等の位置センサを設置してもよい。位置センサによって取得されたボート４０２ａ〜４０２ｆの位置情報と、当該位置情報が取得された時間を示す時間情報とは、最終的にユーザ端末１０へと送信される。
【００６９】
図５は、ユーザ端末１０に表示される仮想オブジェクトの一例を示す模式図である。図５の例では、仮想オブジェクトとして、レース場オブジェクト５０１と、移動オブジェクト５０２ａ〜５０２ｆと、２つのターンマークオブジェクト５０３と、仮想表示板５０５と、が示されている。
【００７０】
レース場オブジェクト５０１は、ボートレース場４０１を仮想的に表示したオブジェクトである。レース場オブジェクト５０１やターンマークオブジェクト５０３は、例えば、ボートレース場４０１のコース情報等のレース場データに基づいて作製されることが好ましく、ボートレース場４０１と対応する形状であることが好ましい。
【００７１】
移動オブジェクト５０２ａ〜５０２ｆは、ボート４０２ａ〜４０２ｆをそれぞれ仮想的に表示したオブジェクトであり、ボートを模した形状である。移動オブジェクト５０２ａ〜５０２ｆは、レースタイム情報や、ボート４０２ａ〜４０２ｆの位置情報及び当該位置情報に対応する時間情報に基づいて、レース場オブジェクト５０１を移動する。すなわち、レース場オブジェクト５０１及び移動オブジェクト５０２ａ〜５０２ｆによって、現実世界のレースが仮想的なレースとしてユーザ端末１０上で表示される。
【００７２】
なお、ボート４０２ａ〜４０２ｆの位置情報及び時間情報がなくとも、レースタイム情報のみによって仮想レースを表示することも可能である。ただ、この場合、最終的な着順は現実世界のレースと同じものになるが、レース中の順位等のレース経過を再現することが困難である。
【００７３】
仮想表示板５０５は、テキスト情報を表示するオブジェクトである。仮想表示板５０５は、例えば、ボートレース場４０１において対応する存在のないオブジェクトである。仮想表示板５０５に表示するテキスト情報は、特に制限はされず、例えば、順位情報やオッズ情報等であってもよい。また、仮想表示板５０５に表示するテキスト情報は、ユーザの操作入力に基づいて変更可能であってもよい。
【００７４】
図６は、表示制御に関する処理の一例を示すフローチャートである。なお、以下で説明するフローチャートを構成する各処理の順序は、処理内容に矛盾や不整合が生じない範囲で順不同であり、並列的に実行されてもよい。また、各フローチャートにおいて各装置が実行する処理は、矛盾の生じない範囲で、他の装置によって実行されてもよい。
【００７５】
図６に示される処理は、制御部１９０がアプリケーションプログラム１５１を、制御部２９０がプログラム２５１をそれぞれ実行することにより実現される。まず、ステップＳ６１０において、制御部１９０は、カメラである撮像部１７０を起動する。撮像部１７０によって、ユーザ端末１０の周囲の現実画像が撮像される。
【００７６】
ステップＳ６２０において、制御部１９０は、撮像部１７０によって撮像された画像内における平坦面を検出する。ステップＳ６３０において、制御部１９０は、検出した平坦面に仮想オブジェクトを配置する。
【００７７】
ここで、図７〜図９を用いて、ステップＳ６１０、Ｓ６２０、及びＳ６３０の処理について具体的に説明する。図７は、撮像部１７０により撮像された現実画像の一例を示す模式図である。図７の例では、平坦なデスク７０１上に、キーボード７０２と、モニタ装置７０３と、が置かれている。
【００７８】
ステップＳ６１０において撮像部１７０が起動されると、ディスプレイ１３２上に、撮像部１７０によって撮像されている現実画像が表示される。次に、ステップＳ６２０において、制御部１９０は、撮像部１７０によって撮像された画像内、すなわちディスプレイ１３２に表示された画像内における平坦面を検出する。
【００７９】
図７では、領域７０４が平坦面として検出されている。領域７０４内にはキーボード７０２があるが、キーボード７０２はレース場オブジェクト５０１によって隠れる程度のサイズなので、制御部１９０は、領域７０４を平坦面として検出する。
【００８０】
図７に示す状態で、撮像部１７０によって撮像される位置を変更すれば、領域７０４の位置も変更されうる。領域７０４は、ディスプレイ１３２上において、例えば、所定の色を付加されて、他の部分とは区別可能に表示される。ユーザが領域７０４に対してタップ操作等を実行した場合、ステップＳ６３０において、制御部１９０は、領域７０４上にレース場オブジェクト５０１等の仮想オブジェクトを配置する。
【００８１】
図８は、現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。図８において、モニタ装置７０３を含むドットパターンを付した領域が現実画像であり、その他の領域は仮想オブジェクトが表示されている領域である。仮想オブジェクトが表示されていない領域には、例えば、広告画像を表示してもよい。
【００８２】
図８では、仮想オブジェクトとして、レース場オブジェクト５０１と、複数の移動オブジェクト５０２と、２つのターンマークオブジェクト５０３と、大型モニタオブジェクト５０６と、建物オブジェクト５０７ａ〜５０７ｂと、その他の符号を付していない多数のオブジェクト（木オブジェクト、時計オブジェクト等）と、が表示されている。これらのオブジェクトは、例えば、第１サーバ装置２０から受信した第１情報１５２Ａに基づいて作製される。
【００８３】
図８は、領域７０４に含まれる平坦面と、レース場オブジェクト５０１を構成する底面とのなす角度が０度になるようにして、領域７０４上にレース場オブジェクト５０１を配置している。この場合、例えば、移動オブジェクト５０２同士が重複して見づらくなることがある。また、大型モニタオブジェクト５０６の奥行方向側の領域等には、移動オブジェクト５０２が見えなくなる死角が生じうる。
【００８４】
しかし、図８に示す状態において、ユーザは、ディスプレイ１３２に表示される重畳画像の視点を変更可能である。例えば、ユーザがピンチイン操作やピンチアウト操作等の操作入力をした場合、撮像部１７０の視点位置がレース場オブジェクト５０１へ近づいたり遠ざかったりしうる。また、ユーザがユーザ端末１０を持ったままディスプレイ１３２の奥行方向へ移動した場合や、手前方向に移動した場合も、撮像部１７０の視点位置がレース場オブジェクト５０１へ近づいたり遠ざかったりしうる。また、ユーザがディスプレイ１３２上の所定の位置を指定するような操作をした場合、視点位置が指定された位置へと移動しうる。このような視点変更によって、上述の視認性の問題は解消しうる。
【００８５】
また、平坦面とレース場オブジェクト５０１を構成する底面とのなす角度θが鋭角になるようにレース場オブジェクト５０１を配置することによっても、視認性に関する上述の問題を軽減しうる。
【００８６】
図９は、現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図であり、図８に示すレース場オブジェクト５０１の別態様を示したものである。具体的には、図９は、第１レースが競馬の場合の例である。
【００８７】
図９においても、モニタ装置７０３を含むドットパターンを付した領域が現実画像であり、その他の領域は仮想オブジェクトが表示されている領域である。図９では、仮想オブジェクトとして、レース場オブジェクト５１１と、複数の移動オブジェクト５１２と、大型モニタオブジェクト５１３と、池オブジェクト５１４と、複数の木オブジェクト５１５と、がディスプレイ１３２に表示されている。これらのオブジェクトも、例えば、第１サーバ装置２０から受信した第１情報１５２Ａに基づいて作製される。
【００８８】
レース場オブジェクト５１１、大型モニタオブジェクト５１３、池オブジェクト５１４、及び複数の木オブジェクト５１５は、例えば、現実世界における所定の競馬場のコース情報等のレース場データに基づいて作製されることが好ましい。複数の移動オブジェクト５１２は、例えば、競馬に出走する馬及び騎手をそれぞれ仮想的に表示したオブジェクトである。
【００８９】
図６のフローチャートの説明に戻る。ステップＳ６４０において、制御部１９０は、現実世界のボートレース場４０１におけるボート４０２ａ〜４０２ｆの位置情報を取得する。すなわち、現実世界においてボート４０２ａ〜４０２ｆによるレースが開始された場合、制御部１９０は、第１サーバ装置２０から、ボート４０２ａ〜４０２ｆの位置情報及び時間情報を取得する。位置情報及び時間情報の取得方法は、図４を用いて説明したとおりである。
【００９０】
ステップＳ６５０において、制御部１９０は、ステップＳ６４０において取得した位置情報と移動オブジェクトとが連動するよう制御する。具体的には、時間情報と位置情報とを用いて、レース場オブジェクト５０１上におけるボート４０２ａ〜４０２ｆそれぞれの動きが、ボートレース場４０１上における移動オブジェクト５０２ａ〜５０２ｆと同様になるように制御する。
【００９１】
ステップＳ６４０及びＳ６５０の処理は、少なくとも現実世界におけるレースの開始時点から終了時点まで繰り返されるが、現実世界におけるレースの開始前及び終了後においても繰り返されてもよい。
【００９２】
なお、仮想レースとして表示するレースが過去のレースである場合、仮想レースの開始前に、レースの開始から終了までのボート４０２ａ〜４０２ｆの位置情報等をまとめて取得してもよい。また、位置情報等は取得せずに、レースタイム情報のみを取得して、仮想レースを表示してもよい。仮想レースとして表示するレースは、展示レースであってもよい。
【００９３】
現実世界におけるレースの終了後、アプリケーションプログラム１５１を終了する操作入力を受け付けたこと等に応じて、一連の表示制御処理を終了する。
【００９４】
（マルチタスク機能を実行するための動作例１）
次に、図１０〜図１４を参照して、システム１におけるマルチタスク機能を実行するための動作例１について説明する。図１０は、本動作例における表示制御処理の一例を示すフローチャートである。図１１は、後述のステップＳ１０１０における表示画面の一例を示す模式図である。なお、図１０で説明するフローチャートを構成する各処理の順序についても、処理内容に矛盾や不整合が生じない範囲で順不同であり、並列的に実行されてもよい。また、各フローチャートにおいて各装置が実行する処理は、矛盾の生じない範囲で、他の装置によって実行されてもよい。
【００９５】
ステップＳ１０１０において、制御部１９０は、ディスプレイ１３２にレース場オブジェクト５０１等の仮想オブジェクトを配置する。すなわち、制御部１９０は、レース場オブジェクト５０１等をディスプレイ１３２上に表示する。当該処理は、図６のステップＳ６３０と同様の処理である。
【００９６】
図１１に示すように、本動作例１においては、制御部１９０は、レース場オブジェクト５０１等を表示するとともに、切替ボタン１１５０をディスプレイ１３２上に表示する。制御部１９０は、例えば、縦向きのディスプレイ１３２に対して、ディスプレイ１３２の中央部よりもやや下寄りに、レース場オブジェクト５０１及びレース場オブジェクト５０１に付随する移動オブジェクト５０２やターンマークオブジェクト５０３、大型モニタオブジェクト５０６等の仮想オブジェクトが表示されるエリアであるオブジェクト表示エリア１１００が設定されている。また、レース場オブジェクト５０１等が表示されるオブジェクト表示エリア１１００の下側には切替ボタン１１５０を表示する。なお、ディスプレイ１３２上のレース場オブジェクト５０１の背景には、撮像部１７０によって撮像された現実画像が表示されるが、本例では、図示の簡略化のため、現実画像のうちモニタ装置７０３のみを図示している。
【００９７】
ステップＳ１０２０において、制御部１９０は、ディスプレイ１３２上に表示された切替ボタン１１５０に対するユーザの操作入力を受け付けたか否かを判定する。ステップＳ１０２０において、切替ボタン１１５０に対するユーザの操作入力を受け付けたと判定された場合（ステップＳ１０２０のＹｅｓ）、ステップＳ１０３０において、制御部１９０は、レース場オブジェクト５０１等の仮想オブジェクトが表示されているオブジェクト表示エリア１１００の表示位置を変更する。そして、ステップＳ１０４０において、制御部１９０は、ディスプレイ１３２上の、オブジェクト表示エリア１１００の表示位置とは異なる位置に、ユーザの操作入力を受付可能なユーザインタフェース表示エリアを表示する。
【００９８】
以下、図１２を用いて、ステップＳ１０４０の表示処理を具体的に説明する。図１２は、ステップＳ１０４０における表示画面の一例を示す模式図である。
切替ボタン１１５０がユーザによりタップ操作等された場合には、図１２に示すように、制御部１９０は、レース場オブジェクト５０１等が表示されるオブジェクト表示エリア１１００の表示位置を、図１１に示す初期位置よりも上側に変更する。すなわち、制御部１９０は、ディスプレイ１３２の中央よりも上部にオブジェクト表示エリア１１００を表示するように、ディスプレイ１３２の画面表示を切り替える。さらに、ディスプレイ１３２において、オブジェクト表示エリア１１００の上部には、角度変更ボタン１３００（１３０１〜１３０３）が表示される。この角度変更ボタン１３００の詳細については後述する。
【００９９】
また、ディスプレイ１３２において、オブジェクト表示エリア１１００の下側には、ユーザの操作入力を受付可能なユーザインタフェース表示エリア（ＵＩ表示エリア）１２００が表示される。ＵＩ表示エリア１２００には、例えば、レース選択ボタン１２０１、動画表示ボタン１２０２、オプションボタン１２０３が表示されている。
【０１００】
レース選択ボタン１２０１は、ＵＩ表示エリア１２００に、所定のレースの情報を表示することを選択するためのボタンである。当該レース選択ボタン１２０１をユーザがタップ操作等した場合には、ＵＩ表示エリア１２００には、ユーザがＵＩ表示エリア１２００に情報を表示したい所望のレースを選択するためのレース選択画面（図示省略）が表示される。ユーザは、レース選択画面を通じて、例えば、オブジェクト表示エリア１１００に表示されているレース場オブジェクト５０１の対象である第１レースとは異なるレース（例えば第２レース）の情報表示を選択することができる。
【０１０１】
動画表示ボタン１２０２は、ユーザが所望のレースの動画（現実の映像）を表示することを選択するためのボタンである。当該動画表示ボタン１２０２をユーザがタップ操作等した場合には、ＵＩ表示エリア１２００には、所望のレース動画を選択するための動画選択画面（図示省略）が表示される。ユーザは、動画選択画面を通じて、例えば、オブジェクト表示エリア１１００に表示されるレース場オブジェクト５０１の対象である第１レースの動画、あるいは第１レース以外のレース（第２レースなど）の動画表示を選択することができる。
【０１０２】
オプションボタン１２０３は、レース選択やレース動画表示以外の処理を実行するためのボタンである。オプションボタン１２０３をユーザがタップ操作等した場合には、例えば、オブジェクト表示エリア１１００やＵＩ表示エリア１２００の表示位置をユーザの所望の位置に変更するなど、各種のオプション処理が実行される。
【０１０３】
図１０に戻り、ステップＳ１０５０において、制御部１９０は、ＵＩ表示エリア１２００に対するユーザの操作入力を受け付けたか否かを判定する。本例では、制御部１９０は、ユーザがＵＩ表示エリア１２００に表示されている複数のボタン１２０１〜１２０３のうち例えばレース選択ボタン１２０１をタップ操作し、ＵＩ表示エリア１２００に情報を表示したい所望のレースを選択したか否かを判定する。
【０１０４】
ステップＳ１０５０において、ＵＩ表示エリア１２００に対するユーザの選択操作を受け付けたと判定された場合には（ステップＳ１０５０のＹｅｓ）、ステップＳ１０６０において、制御部１９０は、ユーザの選択操作に対応する情報の送信を第１サーバ装置２０に要求する。以下、本例では、制御部１９０が、ＵＩ表示エリア１２００によって、オブジェクト表示エリア１１００に表示されているレース場オブジェクト５０１の対象となっている第１レースとは異なる第２レースに対するユーザの選択操作を受け付けた場合について説明する。この場合、制御部１９０は、第２レースに関する情報である第２情報１５２Ｂの送信を要求するための要求信号を第１サーバ装置２０へ送信する。
【０１０５】
ステップＳ１０７０において、第１サーバ装置２０の制御部２９０は、ユーザ端末１０の制御部１９０から送信された第２情報１５２Ｂに関する要求信号に基づき、第２レースに関する第２情報２５２Ｂを取得する。具体的には、制御部２９０は、第２情報２５２Ｂとして、第２レースの名称、開催日時、レース場データ、出場者データ、移動体データ、オッズ情報、レース予想、レース出走表、レース直前情報、ピットレポート、レース結果であるレースタイム情報、レース動画、レース静止画、過去のレース情報、その他の第２レースに関する情報を、第２サーバ装置４０またはその他の外部装置から取得する。
【０１０６】
ステップＳ１０８０において、制御部２９０は、取得した第２情報２５２Ｂを、ユーザ端末１０の制御部１９０へ送信する。
【０１０７】
ステップＳ１０９０において、制御部１９０は、第１サーバ装置２０から送信された第２情報２５２Ｂに基づいて、所定のＵＩオブジェクトを生成し、当該ＵＩオブジェクトをＵＩ表示エリア１２００へ表示する。
【０１０８】
以下、図１３及び図１４を用いて、ステップＳ１０９０の表示処理を具体的に説明する。図１３及び図１４は、ステップＳ１０９０における表示画面の一例を示す模式図である。
図１３に示す例において、ディスプレイ１３２上のＵＩ表示エリア１２００内には、第２レースに関する各種のＵＩオブジェクトが表示されている。具体的には、ＵＩ表示エリア１２００には、出場者データ欄１２５１と、購入金額欄１２５２と、投票ボタン１２５３と、レース選択ボタン１２５４と、オプションボタン１２５５と、が表示されている。
【０１０９】
出場者データ欄１２５１には、第２レースに出場する出場者（本例では６名）のデータが表示されている。具体的には、出場者データ欄１２５１には第２レースに出場する各出場者の顔写真、ライセンス（級）、登録番号、氏名、出身地、体重等が表示されている。購入金額欄１２５２には、ユーザが第２レースの投票券を購入した金額が表示されている。投票ボタン１２５３は、第２レースに対してユーザが投票を行うための投票画面を表示するためのボタンである。当該投票画面については図１４を参照して後述する。レース選択ボタン１２５４は、図１２のレース選択ボタン１２０１と同様のボタンであり、出場者データ欄１２５１に出場者情報が表示されている第２レースとは異なるレースをＵＩ表示エリア１２００に表示するために用いられる。オプションボタン１２５５は、図１２のオプションボタン１２０３と同様のボタンである。
【０１１０】
例えば、ユーザが投票ボタン１２５３をタップ操作等すると、ディスプレイ１３２の画面表示が図１４の例に切り替わる。図１４に示す例では、ＵＩ表示エリア１２００には、投票画面１４００が表示される。投票画面１４００は、ユーザが第２レースの投票券（舟券や馬券）を購入するための画面である。投票画面１４００内に表示された各種ボタン（ボタン１４０１など）をタップ操作等することにより、ユーザは第２レースの所望の出場者の投票券を購入することができる。なお、この場合も、ディスプレイ１３２の上部のオブジェクト表示エリア１１００には、第１レースの仮想レースとしてレース場オブジェクト５０１等が表示されている。
【０１１１】
図１０に戻り、ステップＳ１１１０において、制御部１９０は、ＵＩ表示エリア１２００に表示されたＵＩオブジェクトに対するユーザの選択操作を受け付けたか否かを判定する。具体的には、制御部１９０は、例えば、図１４に示す画面において、ユーザが投票画面１４００に表示されたボタン１４０１等を操作したか否かを判定する。ステップＳ１１１０において、ＵＩオブジェクトに対するユーザの選択操作を受け付けたと判定した場合には（ステップＳ１１１０のＹｅｓ）、ステップＳ１１２０において、制御部１９０は、当該選択操作に基づいて所定のタスク処理を実行する。例えば、制御部１９０は、投票画面１４００に対するユーザの選択操作に応じて、第２レースにおける所定の投票券の購入処理を実行する。
【０１１２】
このように、本例では、第１レースに関するレース場オブジェクト５０１をディスプレイ１３２上に表示させつつ、ディスプレイ１３２上のレース場オブジェクト５０１が表示されるエリアとは異なるエリアにＵＩ表示エリア１２００を表示させ、当該ＵＩ表示エリア１２００においてユーザの操作入力を受け付けることできる。すなわち、ユーザは、ディスプレイ１３２上において、例えば、第１レースの仮想レース視聴と、第２レースの投票券購入という複数のタスクを同時に実行することができる。
【０１１３】
図１０に再び戻り、ステップＳ１１３０において、制御部１９０はＵＩ表示エリア１２００に表示されたＵＩオブジェクトの表示を終了するためのユーザの操作を受け付けたか否かを判定する。ステップＳ１１３０において、ＵＩオブジェクト（または、ＵＩ表示エリア１２００）の表示を終了する操作を受け付けたと判定された場合には（ステップＳ１１３０のＹｅｓ）、ステップＳ１１４０において、制御部１９０は、ＵＩ表示エリア１２００を非表示とする。そして、ステップＳ１１５０において、制御部１９０は、ディスプレイ１３２の上部に表示されていたオブジェクト表示エリア１１００の表示位置を初期位置に変更する。具体的には、制御部１９０は、オブジェクト表示エリア１１００を図１１に示す位置に表示するようディスプレイ１３２の画面表示を切り替える。そして、制御部１９０は、処理をステップＳ１１２０へと戻す。
【０１１４】
（変形例）
以下、図１５〜図１７等を参照して、本実施形態の変形例について説明する。
【０１１５】
図１２〜図１４に示すように、ステップＳ１０３０において、ディスプレイ１３２上のオブジェクト表示エリア１１００の表示位置が変更されると、当該オブジェクト表示エリア１１００の上部には角度変更ボタン１３００が表示される。本例では、角度変更ボタン１３００として、「上」角度ボタン１３０１と、「横」角度ボタン１３０２と、「他」角度ボタン１３０３とがディスプレイ１３２上に表示されている。これらの角度変更ボタン１３００をユーザがタップ操作等することにより、オブジェクト表示エリア１１００に表示されているレース場オブジェクト５０１の表示角度（視点）を変更することができる。
【０１１６】
図１５は、変形例１に係る表示画面の一例を示す模式図である。図１５では、例えば、角度変更ボタン１３００のうち、「上」角度ボタン１３０１がタップ操作等された場合のレース場オブジェクト５０１の表示態様を示している。「上」角度ボタン１３０１がタップ操作等された場合には、図１５に示すように、レース場オブジェクト５０１の視点は、初期位置である斜め上方からの視点から真上からの視点へと変更される。すなわち、レース場オブジェクト５０１を真俯瞰で捉えた状態の視点へと変更される。
【０１１７】
また、図示は省略するが、例えば、「横」角度ボタン１３０２がタップ操作等された場合には、レース場オブジェクト５０１の視点は、側方（例えば、スタート地点側）からの視点へと変更することができる。さらに、「他」角度ボタン１３０３がタップ操作等された場合には、レース場オブジェクト５０１の視点は、その他の任意の視点へと変更することができる。その他の視点としては、例えば、レース場オブジェクト５０１の図１２等に示す視点とは反対側（時計台オブジェクト側）からの視点や、特定のボート（例えば、ユーザがお気に入り指定したボート）に注目した視点等が含まれ得る。
【０１１８】
なお、図１０に示すフローチャートの例では、ステップＳ１０３０において、オブジェクト表示エリア１１００の表示位置がディスプレイ１３２の上部に変更された場合でも、レース場オブジェクト５０１の表示角度は図１１に示す初期状態から変更されない構成を説明したが、この例に限られない。例えば、ステップＳ１０３０においてオブジェクト表示エリア１１００の表示位置をディスプレイ１３２の上部に変更するとともに、オブジェクト表示エリア１１００に表示されているレース場オブジェクト５０１の表示角度（視点）を変更しても良い。すなわち、レース場オブジェクト５０１の表示位置の変更と表示角度の変更とを同時に行っても良い。例えば、オブジェクト表示エリア１１００をディスプレイ１３２の上部に表示するように画面を切り替えるのと同時に、レース場オブジェクト５０１を図１５に示すような真上からの視点で表示させるようにすることができる。この場合、ＵＩ表示エリア１２００の表示が終了し、レース場オブジェクト５０１の表示位置が初期位置に戻る際にはレース場オブジェクト５０１の表示角度を初期値に戻すようにしても良いし、レース場オブジェクト５０１の表示角度は真上からの視点のまま表示させておき、ユーザが任意に表示角度を変更できるようにしても良い。
【０１１９】
図１６は、変形例２に係る表示画面の一例を示す模式図である。
図１６に示す変形例２では、ＵＩ表示エリア１２００には、購入金額欄１２５２と、投票ボタン１２５３と、レース選択ボタン１２５４と、オプションボタン１２５５とが表示されるとともに、レース表示画面１６００が含まれる。すなわち、図１６の例は、出場者データ欄１２５１の代わりに、レース表示画面１６００が表示される点で、図１３の例とは異なっている。図１６の例では、レース表示画面１６００には、例えば、第２レースとして、競輪のレース動画が表示されている。レース表示画面１６００には、現実のレース動画の代わりに、第２レースの仮想レース（第２レースのレース場オブジェクト）が表示されても良い。このように、図１６の例では、ディスプレイ１３２上において、第１レースの仮想レース視聴と、第２レースの投票券購入と、さらには第２レースのレース視聴という複数のタスクを同時に実行することができる。
【０１２０】
図１７は、変形例３に係る表示画面の一例を示す模式図である。
図１７に示す変形例３では、ディスプレイ１３２上において、第１レースのレース場オブジェクト５０１が表示されるオブジェクト表示エリア１１００のさらに上部に、レース動画１７００が表示されている。レース動画１７００は、例えば、第１レースの現実のレース動画である。オブジェクト表示エリア１１００と、レース動画１７００との表示位置は、図１７の例に限られず、逆の表示となっていても良い。すなわち、第１レースのレース場オブジェクト５０１が表示されるオブジェクト表示エリア１１００がディスプレイ１３２の最上部に表示され、第１レースのレース動画１７００がレース場オブジェクト５０１の下部に表示されても良い。このように、図１７の例では、ディスプレイ１３２上において、第１レースのレース動画視聴及び仮想レース視聴と、第２レースの投票券購入という複数のタスクを同時に実行することができる。
【０１２１】
なお、上記の各例では、ユーザ端末１０を縦向き（縦置き）にした状態でのディスプレイ１３２に表示される表示画面の例を説明しているが、この例に限られない。ユーザ端末１０を横向き（横置き）にした状態であっても、レース場オブジェクト５０１が表示されるオブジェクト表示エリアの表示位置を変更して、当該オブジェクト表示エリアとは異なる位置に、ＵＩ表示エリアを表示させて、横向きのディスプレイ１３２において、複数のタスクを同時に実行できるようにしても良い。
【０１２２】
上記の実施形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
【０１２３】
［付記事項］
本開示の内容を列記すると以下の通りである。
【０１２４】
（項目１）
プロセッサと、撮像部と、表示部とを備えた第１コンピュータにおいて実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
現実世界における所定の第１レースに関する第１情報を第２コンピュータから受信するステップと、
前記第１情報に基づいて、前記第１レースのレース場を表すレース場オブジェクトと、前記第１レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記表示部において、前記撮像部により撮像された前記第１コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するステップと、を実行させ、
前記表示するステップは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第１操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
プログラム。
これにより、第１コンピュータに表示される仮想レースの観戦中に別のタスクを実行するためのユーザの操作を受け付けることができる。そのため、ユーザが所定のレースの仮想レースの観戦をしている間や観戦の空き時間に、当該仮想レースの観戦以外の他のタスクを実行することができ、ユーザの利便性を向上させることができる。
【０１２５】
（項目２）
前記表示するステップは、前記表示部に対する前記ユーザの第２操作入力に応じて、前記オブジェクト表示エリアの表示位置を変更した後に、前記ユーザインタフェース表示エリアを表示することを含む、
項目１に記載のプログラム。
これにより、表示部にオブジェクト表示エリアのみを表示させる場合と、表示部にオブジェクト表示エリアとユーザインタフェース表示エリアとの双方を表示させる場合との画面切り替えをスムーズに行うことができる。
【０１２６】
（項目３）
前記表示するステップは、前記表示位置の変更に応じて前記仮想オブジェクトの表示角度を変更することを含む、
項目２に記載のプログラム。
これにより、表示部にオブジェクト表示エリアとユーザインタフェース表示エリアとが表示された場合でも、仮想レースの視認性を向上させ、ユーザの利便性をさらに向上させることができる。
【０１２７】
（項目４）
前記受信するステップは、前記現実世界における前記第１レースとは異なる第２レースに関する第２情報を前記第２コンピュータから受信することを含み、
前記表示するステップは、前記ユーザインタフェース表示エリアに、前記第２情報を表示することを含む、
項目１から項目３のいずれかに記載のプログラム。
これにより、例えば、観戦中の仮想レース以外の他のレースの投票を実行するなどの他のタスクを実行することができ、ユーザの利便性をさらに向上させることができる。
【０１２８】
（項目５）
前記第２情報は、前記第２レースの出場者又は移動体を前記ユーザが選択するためのユーザインタフェース画像、前記第２レースの現実画像、前記第２レースのレース場オブジェクトや移動オブジェクトを含む仮想オブジェクトのいずれか一つを少なくとも含む、
項目４に記載のプログラム。
これにより、ユーザは、第１レースの仮想レースを観戦中にも、第１レースとは異なる第２レースの投票を実行したり、当該第２レースの動画や仮想レースを観戦したりすることができる。
【０１２９】
（項目６）
前記表示するステップは、前記ユーザインタフェース表示エリアに、前記第１レースの現実画像を表示することを含む、
項目１から項目５のいずれかに記載のプログラム。
これにより、ユーザは、第１レースの仮想レースとともに、当該第１レースの現実画像（実際の動画）を視聴することができる。
【０１３０】
（項目７）
プロセッサと、撮像部と、表示部とを備えた第１コンピュータにおいて実行される情報処理方法であって、
前記情報処理方法は、前記プロセッサに、
現実世界における所定の第１レースに関する第１情報を第２コンピュータから受信するステップと、
前記第１情報に基づいて、レース場を表すレース場オブジェクトと、前記第１レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記表示部において、前記撮像部により撮像された前記第１コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するステップと、を実行させることを含み、
前記表示するステップは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第１操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
情報処理方法。
これにより、第１コンピュータに表示される仮想レースの観戦中のユーザの利便性を向上させることができる。
【０１３１】
（項目８）
プロセッサと、撮像部と、表示部とを備えた情報処理装置であって、
前記プロセッサは、
現実世界における所定の第１レースに関する第１情報を第２コンピュータから受信し、
前記第１情報に基づいて、レース場を表すレース場オブジェクトと、前記第１レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成し、
前記表示部において、前記撮像部により撮像された前記情報処理装置の周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するものであり、
前記重畳させて表示することは、前記表示部において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第１操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
情報処理装置。
これにより、情報処理装置に表示される仮想レースの観戦中のユーザの利便性を向上させることができる。
【０１３２】
（項目９）
第１プロセッサと、撮像装置と、表示装置とを備える第１コンピュータと、第２プロセッサを備え、前記第１コンピュータと通信接続可能な第２コンピュータと、を含むシステムあって、
前記第２プロセッサは、
現実世界における所定の第１レースに関する第１情報を取得し、
前記第１情報を前記第１コンピュータへ送信するものであり、
前記第１プロセッサは、
前記第１情報を第２コンピュータから受信し、
前記第１情報に基づいて、レース場を表すレース場オブジェクトと、前記第１レースの出場者または移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成し、
前記表示装置において、前記撮像装置により撮像された前記第１コンピュータの周囲の現実画像に、前記仮想オブジェクトを重畳させて表示するものであり、
前記重畳させて表示することは、前記表示装置において前記仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第１操作入力を受け付け可能なユーザインタフェース表示エリアを表示することを含む、
システム。
これにより、第１コンピュータに表示される仮想レースの観戦中のユーザの利便性を向上させることができる。
【符号の説明】
【０１３３】
１：システム、１０：ユーザ端末、２０：第１サーバ装置、３０：ネットワーク、４０：第２サーバ装置、１３０：タッチスクリーン、１５０：（ユーザ端末の）記憶部、１５２Ａ，２５２Ａ：第１情報、１５２Ｂ，２５２Ｂ：第２情報、１９０：（ユーザ端末の）制御部、１９１：操作入力受付部、１９２：送受信部、１９３：オブジェクト生成部、１９４：表示制御部、１９５：平坦面検出部、１９６：第１情報取得部、１９７：第２情報取得部、１９８：選択情報取得部、２５０：（第１サーバ装置の）記憶部、２９０：（第１サーバ装置の）制御部、４０１：ボートレース場、４０２ａ〜４０２ｆ：ボート、５０１：レース場オブジェクト、５０２（５０２ａ〜５０２ｆ）：移動オブジェクト、１１００：オブジェクト表示エリア、１１５０：切替ボタン、１２００：ユーザインタフェース表示エリア（ＵＩ表示エリア）、１２０１，１２５４：レース選択ボタン、１２０２：動画表示ボタン、１２０３，１２５５：オプションボタン、１２５１：出場者データ欄、１２５２：購入金額欄、１２５３：投票ボタン、１３００：角度変更ボタン、１４００：投票画面、１６００：レース表示画面、１７００：レース動画
【要約】
【課題】コンピュータに表示される仮想オブジェクトによってレースの観戦する際の、ユーザの利便性を向上させる。
【解決手段】プロセッサと撮像部とを備えた第１コンピュータにおいて実行されるプログラムは、プロセッサに、現実世界における所定のレースに関する第１情報を第２コンピュータから受信するステップと、第１情報に基づいて、所定のレースのレース場を表すレース場オブジェクト５０１と、所定のレースの出場者又は移動体を表す移動オブジェクト５０２と、を含む仮想オブジェクトを生成するステップと、撮像部により撮像された第１コンピュータの周囲の現実画像に、仮想オブジェクトを重畳させて表示するステップと、を実行させる。仮想オブジェクトを表示するステップは、表示部において仮想オブジェクトが表示されるオブジェクト表示エリアとは異なる位置にユーザの第１操作入力を受け付け可能なユーザインタフェース表示エリア１２００を表示することを含む。
【選択図】図１２【図１】
0006857785.tif 000002
【図２】
0006857785.tif 000003
【図３】
0006857785.tif 000004
【図４】
0006857785.tif 000005
【図５】
0006857785.tif 000006
【図６】
0006857785.tif 000007
【図７】
0006857785.tif 000008
【図８】
0006857785.tif 000009
【図９】
0006857785.tif 000010
【図１０】
0006857785.tif 000011
【図１１】
0006857785.tif 000012
【図１２】
0006857785.tif 000013
【図１３】
0006857785.tif 000014
【図１４】
0006857785.tif 000015
【図１５】
0006857785.tif 000016
【図１６】
0006857785.tif 000017
【図１７】
0006857785.tif 000018