(57)【要約】【課題】ＡＲをヘルスケア分野で活用する【解決手段】自装置の位置検出機能と、画像を表示する表示部を有するデバイスが有するプログラムであって、仮想空間を生成し、前記仮想空間と実空間を合成した合成空間を生成する処理と、前記仮想空間上にターゲットを出現させ、前記ターゲットを変化させる処理と、前記ターゲットの変化に応じて移動した前記デバイスの前記実空間の位置を中心に、所定範囲を占めるヒット範囲を前記仮想空間に設ける処理と、前記ターゲットが前記ヒット範囲内に位置する否かを判定する処理と、を前記デバイスが有するプロセッサに実行させるプログラム。【選択図】図７
2020089565.tif 000002
【特許請求の範囲】
【請求項１】
自装置の位置検出機能と、画像を表示する表示部を有するデバイスが有するプログラムであって、
仮想空間を生成し、前記仮想空間と実空間を合成した合成空間を生成する第１処理と、  前記仮想空間上にターゲットを出現させ、前記ターゲットを変化させる第２処理と、 
前記ターゲットの変化に応じて移動した前記デバイスの前記実空間の位置を中心に、所定範囲を占めるヒット範囲を前記仮想空間に設ける第３処理と、
前記ターゲットが前記ヒット範囲内に位置する否かを判定する第４処理と、 
を前記デバイスが有するプロセッサに実行させるプログラム。
【請求項２】
前記第２処理は、前記ターゲットと前記合成空間とを合成した合成画像を、前記表示部に表示する処理を含む
請求項１記載のプログラム。
【請求項３】
前記第２処理は、前記ターゲットの変化が開始してから前記ターゲットの変化が終了するまでの変化時間を、前記デバイスのユーザに対して要求する運動量に基づいて決定する
請求項１又は２記載のプログラム。
【請求項４】
前記ターゲットの変化は、前記ターゲットが移動元地点から移動先地点まで移動することであり、
前記変化時間は前記ターゲットの前記移動元地点から移動を開始してから、前記移動先地点までの移動が終了するまでの時間であり、
前記要求する運動量が第１量である場合、前記変化時間を第１時間とし、
前記要求する運動量が前記第１量より大きい第２量である場合、前記変化時間を前記第１時間より短い第２時間にする
請求項３記載のプログラム。
【請求項５】
前記デバイスを基準として、前記移動元地点は、前記移動先地点より奥に位置し、
前記移動先地点は、前記デバイスを含む垂直面上、又は前記デバイスより後ろの垂直面上のいずれかに位置する
請求項４記載のプログラム。
【請求項６】
前記ターゲットを複数出現させる場合、第１ターゲットの第１移動先地点と、前記第１ターゲットより後に移動先地点に移動する第２ターゲットの第２移動先地点との地点間距離を、前記要求する運動量に基づいて決定する
請求項４記載のプログラム。
【請求項７】
前記ターゲットの変化は、前記ターゲットが表示し始めてから、所定時間後に表示されなくなることであり、
前記変化時間は、前記所定時間であり、
前記要求する運動量が第１量である場合、前記変化時間を第１時間とし、
前記要求する運動量が前記第１量より大きい第２量である場合、前記変化時間を前記第１時間より短い第２時間にする
請求項３記載のプログラム。
【請求項８】
前記ターゲットを複数出現させる場合、第１ターゲットの位置する第１位置と、第２ターゲットの位置する第２位置との、位置間距離を、前記要求する運動量に基づいて決定する
請求項７記載のプログラム。
【請求項９】
前記ターゲットを複数出現させる場合、前記複数のターゲットの表示開始タイミング及び表示終了タイミングを、前記要求する運動量に基づいて決定する
請求項８記載のプログラム。
【請求項１０】
前記ターゲットの変化は、前記ターゲットの形状及び色彩の少なくとも１つが、所定時間後に変化することであり、
前記変化時間は、前記所定時間であり、
前記要求する運動量が第１量である場合、前記変化時間を第１時間とし、
前記要求する運動量が前記第１量より大きい第２量である場合、前記変化時間を前記第１時間より短い第２時間にする
請求項３記載のプログラム。
【請求項１１】
前記ターゲットを複数出現させる場合、第１ターゲットの位置する第１位置と、第２ターゲットの位置する第２位置との、位置間距離を、前記要求する運動量に基づいて決定する
請求項１０記載のプログラム。
【請求項１２】
前記第４処理において、前記ターゲットが前記ヒット範囲内に位置すると判定した場合、前記ターゲットの確保に成功したと判定し、成功したことを示す判定結果画像を前記表示部に表示する
請求項１又は２記載のプログラム。
【請求項１３】
前記第４処理において、さらに、前記ターゲットが第３時間内に前記ヒット範囲に位置しないと判定した場合、前記ターゲットの確保に失敗したと判定し、失敗したことを示す判定結果画像を前記表示部に表示する
請求項１２記載のプログラム。
【請求項１４】
前記第４処理において、さらに、前記ターゲットが第３時間内に前記ヒット範囲に位置しないと判定した場合、前記ターゲットからの回避に成功したと判定し、成功したことを示す判定結果画像を前記表示部に表示する
請求項１又は２記載のプログラム。
【請求項１５】
前記第４処理において、前記ターゲットが前記ヒット範囲内に位置すると判定した場合、前記ターゲットからの回避に失敗したと判定し、失敗したことを示す判定結果画像を前記表示部に表示する
請求項１４記載のプログラム。
【請求項１６】
前記第１処理において、前記仮想空間を生成するとき、前記デバイスの位置より所定距離下方の水平面に前記仮想空間の地面を設定する
請求項１又は２記載のプログラム。
【請求項１７】
前記所定距離は、前記デバイスを使用する操作者の身長に基づき決定される
請求項１６記載のプログラム。
【請求項１８】
前記第２処理において、前記デバイスの傾きが傾き閾値以内である場合、押下可能な開始ボタンを表示し、前記開始ボタンが押下されたことを検出したとき、前記移動元地点を決定する
請求項４記載のプログラム。
【請求項１９】
前記第４処理において、前記ターゲットの変化に応じて移動した前記デバイスの移動距離に基づき、前記デバイスのユーザの消費カロリーを算出し、前記算出した消費カロリーを前記判定結果画像に含め、前記表示部に表示する
請求項１３又は請求項１５記載のプログラム。
【請求項２０】
前記第４処理において、前記移動距離に係数を乗じた値を、前記ユーザが消費した消費カロリーとして算出する
請求項１９記載のプログラム。
【請求項２１】
さらに、前記第４処理の終了後、前記第４処理において算出したカロリーを集計時間ごとに累積した累積カロリーを算出し、前記集計時間ごとの累積カロリーを含む累積カロリー表示画像を、前記表示部に表示する処理を、
前記デバイスが有するプロセッサに実行させる請求項１９記載のプログラム。
【請求項２２】
前記集計時間は、２４時間である
請求項２１記載のプログラム。
【請求項２３】
前記第１処理において、前記実空間の映像を解析することで前記実空間に存在する物体を認定し、前記認定した物体を前記合成画像に含めるか否かを判定し、前記合成画像に含めると判定した物体を前記合成画像に含める
請求項２記載のプログラム。
【請求項２４】
前記第１処理における前記合成画像に含めるか否かの判定は、前記認定した物体の大きさ、形状、及び動きの少なくとも１つに基づいて判定する
請求項２３記載のプログラム。
【請求項２５】
さらに、前記ターゲットの移動を開始させる前に、前記ターゲットと前記デバイスの前記仮想空間における距離を算出し、前記算出した距離が第２閾値以内である場合、前記ターゲットの変化を開始しない処理を、
前記デバイスが有するプロセッサに実行させる請求項４記載のプログラム。
【請求項２６】
さらに、前記ターゲットの移動を開始させる前に、前記ターゲットと前記デバイスの前記仮想空間における距離を算出し、前記算出した距離が第２閾値以内である場合、前記第４処理の判定において、前記ターゲットの確保に失敗したと判定する
前記デバイスが有するプロセッサに実行させる請求項４記載のプログラム。
【請求項２７】
さらに、前記ターゲットの移動を開始させる前に、前記ターゲットと前記デバイスの前記仮想空間における距離を算出し、前記算出した距離が第２閾値以内である場合、前記ターゲットの変化を開始しない処理を、
前記デバイスが有するプロセッサに実行させる請求項４記載のプログラム。
【請求項２８】
前記デバイスは、さらに音声出力部を有し、
前記第２処理は、前記ターゲットと前記合成空間を表現する音声を、前記音声出力部に出力する
請求項１記載のプログラム。
【請求項２９】
前記第２処理は、さらに、前記デバイスのユーザの身体的特徴に基づいて、前記ターゲットの変化が開始してから前記ターゲットの変化が終了するまでの変化時間を、
請求項１又は２記載のプログラム。
【請求項３０】
自装置の位置検出機能と、画像を表示する表示部を有するデバイスが有するプログラムであって、
前記デバイスの位置より所定距離下方の水平面に地面を設定した仮想空間を生成する処理と、
前記デバイスの傾きが傾き閾値以内である場合、押下可能な開始ボタンを表示し、前記開始ボタンが押下されたことを検出したとき、前記仮想空間上のターゲットの位置する方向を決定する決定処理を、
前記デバイスが有するプロセッサに実行させるプログラム。
【請求項３１】
自装置の位置検出機能と、画像を表示する表示部を有するデバイスが有するプログラムであって、
仮想空間を生成し、前記仮想空間と実空間を合成した合成空間を生成する処理と、
前記仮想空間上のターゲットの変化に応じて移動したデバイスの移動距離に基づき、前記デバイスのユーザが消費したカロリーを算出し、前記算出したカロリーを前記表示部に表示する第１表示処理と、
前記第１表示処理において算出したカロリーを、集計時間ごとに累積した累積カロリーを算出し、前記集計時間ごとの累積カロリーを含む累積カロリー表示画像を、前記表示部に表示する第２表示処理を、
前記デバイスが有するプロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムに関する。
【背景技術】
【０００２】
現実環境に情報を付加・削除・強調・減衰させ、人間が知覚する現実世界を拡張する技術を、拡張現実（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ：ＡＲ）と呼ぶ場合がある。
【０００３】
例えば、コンピュータによって生成された仮想空間と、現実空間を融合した空間をＡＲ空間と呼び、ＡＲ空間を画像化したもの（現実空間と仮想空間とを合成した画像）をＡＲ画像（合成画像）と呼ぶ。
【０００４】
ＡＲ空間の仮想空間の位置座標は、現実空間上の基準となる位置座標と対応づけて設定される。また、生成されるＡＲ画像は、例えば、視聴するユーザの動きに追従し、随時変更される。これにより、ユーザは、現実空間上に仮想物体が存在するかのような感覚を得ることができる。
【０００５】
ＡＲに関する技術は、以下の特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−５９５７３
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＡＲは、例えば、ゲーム分野で活用されている。ＡＲをゲームに使用することで、ユーザは現実感を得られ、よりゲームに集中し、没頭することができる。このように、ＡＲの活用分野は多岐にわたるが、いまだ活用されていない分野も存在する。
【０００８】
そこで、一開示は、ＡＲをヘルスケア分野で活用するプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
自装置の位置検出機能と、画像を表示する表示部を有するデバイスが有するプログラムであって、仮想空間を生成し、前記仮想空間と実空間を合成した合成空間を生成する第１処理と、前記仮想空間上にターゲットを出現させ、前記ターゲットを変化させる第２処理と、前記ターゲットの変化に応じて移動した前記デバイスの前記実空間の位置を中心に、所定範囲を占めるヒット範囲を前記仮想空間に設ける第３処理と、前記ターゲットが前記ヒット範囲内に位置する否かを判定する第４処理と、を前記デバイスが有するプロセッサに実行させる。
【発明の効果】
【００１０】
ＡＲをヘルスケア分野で活用することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、デバイス１００の構成例を表す図である。
【図２】図２は、ヘルスケア処理Ｓ１０の処理フローチャートの例を示す図である。
【図３】図３は、メイン画面の例を示す図である。
【図４】図４は、ゲーム処理Ｓ１０４において行われるゲーム画面の例を示す図である。
【図５】図５は、ユーザがターゲットＴ１に追従して動く場合のゲーム画面の例を示す図である。
【図６】図６は、図５におけるゲーム画面が表示されているときのユーザの動作の例を示す図である。
【図７】図７は、ゲーム処理Ｓ１０４の処理フローチャートの例を示す図である。
【図８】図８は、実空間に障害物が存在する場合のＡＲ画像の例を示す図である。
【図９】図９は、ゲーム終了時に表示される画面の例を示す図である。
【図１０】図１０は、仮想空間地面位置決定処理Ｓ１０３０の処理フローチャートの例を示す図である。
【図１１】図１１は、ターゲット開始位置決定処理Ｓ１０３１の処理フローチャートの例を示す図である。
【図１２】図１２は、反則判定処理Ｓ１０５の処理フローチャートの例を示す図である。
【図１３】図１３は、仮想空間上のターゲットが表示されない領域に移動した場合の例を示す図である。
【図１４】図１４は、ゲーム処理がエアロビクスである場合の例を示す図である。
【図１５】図１５は、ターゲットＴ１以外の表示物を含む例を示す図である。
【図１６】図１６は、ターゲットを回避するゲームの例を示す図である。
【発明を実施するための形態】
【００１２】
［第１の実施の形態］
第１の実施の形態について説明する。
【００１３】
＜デバイスの構成例＞
図１は、デバイス１００の構成例を表す図である。デバイス１００は、ヘルスケアを実行する装置であり、例えば、スマートフォンである。
【００１４】
デバイス１００は、ＣＰＵ（Central Processing Unit）１１０、ストレージ１２０、メモリ１３０、表示装置１５０、位置検出装置１４０、及びカメラ１６０を有する。
【００１５】
ストレージ１２０は、プログラムやデータを記憶する、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）、又はＳＳＤ（Solid State Drive）などの補助記憶装置である。ストレージ１２０は、ヘルスケアプログラム１２１及び位置検出プログラム１２４を記憶する。
【００１６】
メモリ１３０は、ストレージ１２０に記憶されているプログラムをロードする領域である。また、メモリ１３０、プログラムがデータを記憶する領域としても使用される。
【００１７】
表示装置１５０は、静止画や動画を表示するモニタであり、例えば、液晶ディスプレイや有機ＥＬ（electro-luminescence）ディスプレイである。表示装置１５０は、例えば、実行されるプログラムに応じて、画像が表示される。また、表示装置１５０は、ユーザ（デバイス１００の操作者）がデバイスに対して操作を行う操作部としても動作する。ユーザは、表示装置の所定位置（例えば、表示されているボタンなど）に触れることで、デバイスに対して操作を行うことができる。また、ユーザの行った操作は、各プログラムでも認識することができる。
【００１８】
位置検出装置１４０は、デバイス１００の位置や傾き検出（測定）する位置検出機能を有する装置であって、例えば、ジャイロセンサやＧＰＳ（Global Positioning System）である。位置検出装置１４０が検出するデバイス１００の位置は、例えば、デバイス１００の位置する高さ（例えば、海抜）、緯度、経度などである。また、位置検出装置１４０は、前回測定したデバイス１００の位置からの変化量を測定してもよい。
【００１９】
位置検出装置１４０が検出するデバイスの傾きは、例えば、デバイス１００の基準姿勢からの前方向（例えば、表示装置１５０の画面方向）への傾き、及びデバイス１００の横方向（例えば、表示装置１５０の画面に対して垂直方向）への傾きである。
【００２０】
位置検出装置１４０が検出する位置及び傾きによって、デバイス１００の現実空間における位置及び姿勢が確定される。以降、現実空間におけるデバイス１００の位置を、現実位置（Ｘｎ、Ｙｎ、Ｚｎ）（ｎは整数）と示すことがある。ｎは、測定タイミングを示すものとし、ｎ＝０を初期測定タイミングとする。また、現実位置（Ｘｎ、Ｙｎ、Ｚｎ）は、現実位置（Ｘｎ−１、Ｙｎ−１、Ｚｎ−１）からの、Ｘ成分（例えば緯度）、Ｙ成分（例えば経度）、Ｚ成分（例えば、高さ）の変化量を示すものとする。また、現実位置（Ｘｎ、Ｙｎ、Ｚｎ）は、Ｘ成分、Ｙ成分、Ｚ成分の変化量ではなく、絶対的な数値であってもよい。
【００２１】
カメラ１６０は、周辺の環境の映像（実空間の映像）を撮影する撮影装置である。カメラ１６０は、例えば、静止画や動画を撮影する。撮影した静止画は、例えば、ＡＲ画像に使用される。
【００２２】
ＣＰＵ１１０は、ストレージ１２０に記憶されているプログラムを、メモリ１３０にロードし、ロードしたプログラムを実行し、各処理を実現するプロセッサである。
【００２３】
ＣＰＵ２１０は、ヘルスケアプログラム１２１を実行することで、ヘルスケア処理を行う。ヘルスケア処理は、デバイス１００のユーザにゲームを実行させることで運動をさせ、運動によって消費カロリー及びその累積したカロリーを表示することで、ユーザの健康管理を行う処理である。ヘルスケア処理において提供するゲームは、例えば、デバイス１００をユーザに移動させることで、ＡＲ画面に表示された移動するターゲットを確保するゲームである。
【００２４】
ＣＰＵ１１０は、ゲームモジュール１２２を実行することで、ゲーム処理を行う。ゲーム処理は、ユーザにデバイス１００を移動させることでユーザに運動をさせるゲームである。ゲーム処理は、例えば、仮想空間上に存在するターゲットを変化（例えば移動）させ、変化するターゲットをユーザがデバイス１００を動かして確保するゲームを実行する処理である。ゲーム処理は、仮想空間と現実空間とを合成した合成空間の生成、及び合成空間の映像（仮想空間の映像と実空間の映像を合成したＡＲ画像）を生成し、表示する処理を含む。また、ゲーム処理は、仮想空間上を変化するターゲットを表示する処理を含む。さらに、ゲーム処理は、デバイス１００の移動した位置に応じて、所定範囲を示すヒット範囲（ヒットボックス）を仮想空間上に設定する処理と、ターゲットがヒットボックス内に位置するか否かを判定する処置を含む。また、ゲーム処理は、ユーザに行わせたい運動量（ユーザに対して要求する運動量）に応じて、ターゲットの変化時間（例えば移動時間）や、変化距離（例えば移動距離）を決定する処理を含む。
【００２５】
以下、第１の実施の形態においては、ターゲットの変化は、ターゲットが移動元地点から移動先地点まで移動する場合について説明する。
【００２６】
ＣＰＵ１１０は、反則判定サブモジュール１２２１を実行することで、反則判定処理を行う。反則判定処理は、ターゲットの開始位置とデバイス１００の仮想空間上の位置との距離が、所定範囲内であれば、なんらかのペナルティを科す処理である。反則判定処理は、距離を算出する処理を含む。
【００２７】
ＣＰＵ１１０は、仮想空間地面位置決定サブモジュール１２２２を実行することで、仮想空間地面位置決定処理を行う。仮想空間地面位置決定処理は、仮想空間を生成するとき、デバイス１００の位置に基づいて仮想空間の地面の位置を決定する処理である。
【００２８】
ＣＰＵ１１０は、ターゲット開始位置決定サブモジュール１２２３を実行することで、ターゲット開始位置決定処理を行う。ターゲット開始位置決定処理は、ターゲットの移動を開始する位置（移動元地点）を決定する処理であり、デバイス１００の傾きやユーザ操作に基づいて開始位置を決定する。
【００２９】
ＣＰＵ１１０は、カロリー関連モジュール１２３を実行することで、カロリー関連処理を行う。カロリー関連処理は、消費カロリーの算出、累積カロリーの算出、及び算出したカロリーの表示を行う処理である。カロリー関連処理は、累積カロリー表示処理や、判定処理を含む。
【００３０】
ＣＰＵ１１０は、累積カロリー表示サブモジュール１２３１を実行することで、累積カロリー表示処理を行う。累積カロリー表示処理は、所定時間（集計時間）の間に消費した累積カロリーを算出し、過去の実績を含め集計時間ごとに累積カロリーを表示する処理である。
【００３１】
ＣＰＵ１１０は、消費カロリー表示サブモジュール１２３２を実行することで、消費カロリー表示処理を行う。消費カロリー表示処理は、ゲームを１回実行する間の消費カロリーを算出し、算出した消費カロリーをゲーム終了時に表示する処理である。
【００３２】
ＣＰＵ１１０は、位置検出プログラム１２４を実行することで、位置検出処理を行う。位置検出処理は、デバイス１００の位置を検出する処理であり、例えば、位置検出装置１４０の出力するデータを受領し、受領したデータをヘルスケア処理で使用する形式に変更する。また、デバイス位置検出処理は、必要に応じて位置検出装置１４０に対して、デバイス１００の位置を出力するよう制御する。
【００３３】
＜ヘルスケア処理＞
図２は、ヘルスケア処理Ｓ１０の処理フローチャートの例を示す図である。ヘルスケア処理Ｓ１０は、デバイス１００のユーザがヘルスケアプログラムを起動することで実行される処理である。ヘルスケア処理は、ユーザにゲームを実行させることで運動させ、ユーザが運動により消費したカロリーを表示する処理である。
【００３４】
なお、第１の実施の形態におけるＡＲ空間は、ＡＲ画像を伴うものであるが、ＡＲ空間は、例えば、音声で構成されてもよい。例えば、ＡＲ空間を音声で構成する場合、仮想空間上の物体が発する音声を、仮想空間上の物体の位置に対応する現実空間の位置から発する。これにより、ユーザは、現実空間で発せられた音声を聞き取り、音声の発せられた方向に仮想空間上の物体が位置することを認識することができる。
【００３５】
デバイス１００は、例えば、表示部（操作部）に表示されているヘルスケアプログラムのアイコンをユーザにタップされるなどのユーザ動作を検出すると、ヘルスケアプログラムを実行し、ヘルスケア処理Ｓ１０を起動する（Ｓ１００）。
【００３６】
デバイス１００は、ヘルスケア処理Ｓ１０が起動されると、メイン画面を表示部に表示する（Ｓ１０１）。メイン画面は、過去にユーザが消費したカロリーのグラフが表示される。
【００３７】
図３は、メイン画面の例を示す図である。メイン画面（累積カロリー表示画像）には、カロリーのグラフＰ１、本日の消費カロリーＰ２、開始ボタンＰ３が表示される。カロリーのグラフＰ１は、例えば、一日ごとの消費カロリーのグラフであり、本日を含め過去数日間の消費カロリーが表示される。
【００３８】
本日の消費カロリーＰ２は、本日、ユーザが消費したカロリーの累計（累積カロリー）である。なお、ヘルスケア処理Ｓ１０では、午前０時から次の午前０時までを１日（２４時間）として扱い、本日の基準となるタイミングは、例えば、ゲーム処理の開始時刻、ゲーム処理の終了時刻、あるいは、メイン画面の表示時刻である。
【００３９】
開始ボタンＰ３は、ゲーム処理を開始するボタンである。開始ボタンＰ３をタップされることで、ゲーム処理は開始される。
【００４０】
メイン画面は、ゲームを起動してから実行するまでの間に、必ず表示される画面である。メイン画面に累積カロリーを表示することで、ユーザはゲーム開始時に必ず過去の累積カロリーを見る機会を得るため、より運動に対する意欲が増大する効果がある。
【００４１】
図２の処理フローチャートに戻り、デバイス１００は、開始ボタンが押下されるのを待ち受ける（Ｓ１０２のＮｏ）。デバイス１００は、開始ボタンが押下されたことを検出すると（Ｓ１０２のＹｅｓ）、ゲーム処理の事前処理である仮想空間地面位置決定処理Ｓ１０３０を行う。仮想空間地面位置決定処理Ｓ１０３０は、仮想空間における地面を決定する処理である。デバイス１００は、仮想空間地面位置決定処理Ｓ１０３０において、無限又は所定範囲の仮想空間上の地面を決定する。仮想空間地面位置決定処理Ｓ１０３０の処理の詳細については、後述する。
【００４２】
デバイス１００は、仮想空間地面位置決定処理Ｓ１０３０の実行後、ゲーム処理の事前処理であるターゲット開始位置決定処理Ｓ１０３１を行う。ターゲット開始位置決定処理Ｓ１０３１は、仮想空間上のターゲットの開始位置（初期位置：移動元地点）を決定し、同時にゲームフィールドも決定する処理である。例えば、以下に説明するサッカーゲームの場合、ターゲットはサッカーボールであり、ゲームフィールドは、サッカーのコートである。また、ターゲットの仮想空間上の初期位置は、ペナルティキックにおける、蹴り出す前のボールの設置地点である。ターゲット開始位置決定処理Ｓ１０３１の処理の詳細については、後述する。
【００４３】
デバイス１００は、ターゲットの初期位置が決定すると、ゲーム処理Ｓ１０４を実行する。ゲーム処理Ｓ１０４は、例えば、ユーザに運動させるためのゲームである。ゲーム処理Ｓ１０４で行われるゲームは、例えば、ある地点（移動元地点）から他の地点（移動先地点）に向かって、ターゲットが移動するゲームである。ユーザは、ゲームにおいて、デバイス１００を動かして移動するターゲットを追従、あるいは移動先地点に移動する。これにより、ユーザは運動を行う。ゲームの詳細については、後述する。
【００４４】
デバイス１００は、ゲーム処理Ｓ１０４が終了すると、再度メイン画面を表示する（Ｓ１０１）。メイン画面のカロリーのグラフは、前回ゲーム処理を行ったときに消費したカロリーが加算されて表示される。以降、ヘルスケアプログラムを終了されるまで、各処理を繰り返す。
【００４５】
＜ゲーム処理＞
図４は、ゲーム処理Ｓ１０４において行われるゲーム画面の例を示す図である。ゲームは、例えば、サッカーゲームである。ゲーム画面は、時間の経過に応じて、図４（Ａ）、図４（Ｂ）、図４（Ｃ）と遷移する。なお、図４は、デバイス１００を持っているユーザが、実空間の位置を移動しない（ユーザの立ち位置が変化しない）場合の画面の例である。
【００４６】
ゲームは、サッカーにおけるペナルティキックを想定しており、キッカーがサッカーボール（ターゲット）を蹴り出し、ユーザがキーパーとなって、蹴り出されたサッカーボールをキャッチするために、デバイス１００を動かす。
【００４７】
ゲームが開始されるとき、すでに仮想空間上の地面、ターゲットの開始位置、及びゲームフィールドが構築されている。また、ターゲットの移動方向や移動先（移動先地点）が決定されていてもよい。
【００４８】
図４（Ａ）において、線Ｌ１は、地平線を示し、線Ｌ１より上部（以降、背景部と呼ぶ場合がある）が背景や空中を示す映像であり、線Ｌ１より下部（以降、地面部と呼ぶ場合がある）が地面を示す画像である。例えば、図４（Ａ）において、背景部は実際にデバイス１００のカメラで撮影した画像を表示し、地面部は仮想空間上の地面及びゲームフィールドを表示する。また、人Ｈ１は、サッカーにおけるペナルティキックのキッカーである。さらに、ターゲットＴ１は、サッカーボールであり、図４（Ａ）においては初期位置（移動元地点）に位置する。
【００４９】
所定時間が経過すると、図４（Ｂ）の画面に遷移する。図４は、ユーザが動かない場合を想定しているため、背景部及び地面部の映像は同じである。人Ｈ１に蹴り出されたターゲットＴ１は、例えば、仮想空間の奥から、ユーザの手前の右上（移動先地点）に向かって飛翔する。そのため、ターゲットＴ１は、図４（Ａ）と比べ、右上に位置し、少し大きく表示される。
【００５０】
さらに、所定時間が経過すると、図４（Ｃ）の画面に遷移する。ターゲットＴ１は、さらに仮想空間上を移動し、ターゲットＴ１は、図４（Ｂ）と比べ、さらに右上に位置し、さらに大きく表示される。
【００５１】
このようにして、仮想空間上をターゲットＴ１が、ユーザの手前右上方向に移動しているかのうように、ターゲットＴ１を表示する。
【００５２】
図５は、ユーザがターゲットＴ１に追従して動く場合のゲーム画面の例を示す図である。図６は、図５におけるゲーム画面が表示されているときのユーザの動作の例を示す図である。以下、図５及び図６について説明する。
【００５３】
図５（Ａ）は、ゲーム開始時のゲーム画面であり、図４（Ａ）と同じである。このときのユーザは、図６（Ａ）の状態となる。図６（Ａ）によると、ユーザＵ１は、デバイス１００を両手で保持している。デバイス１００の位置は、およそユーザＵ１の顔の正面である。ユーザは、図６（Ａ）の状態でゲームを開始することが想定される。
【００５４】
所定時間が経過すると、図５（Ｂ）のゲーム画面に遷移し、ユーザは図６（Ｂ）の状態となる。ユーザＵ１は、手前の右上方向にターゲットであるボールが飛翔してくることを認識するため、ボールの動きに追従し、図６（Ｂ）に示すように、やや右上にデバイス１００を動かす。また、デバイス１００は、ユーザによりやや右上に動かされるため、図６（Ｂ）に示すように、斜めに傾く場合もある。この時のゲーム画面は、図５（Ｂ）に示すように、線Ｌ１がデバイス１００の傾きや移動後の位置に応じて、斜めに傾いたり上下に移動したりする。また、この時のゲーム画面は、図５（Ｂ）に示すように、ターゲットＴ１の位置がデバイス１００の位置に応じて移動する。
【００５５】
さらに、所定時間が経過すると、図５（Ｃ）の画面に遷移する。ゲーム画面は、図５（Ｃ）に示すように、デバイス１００の移動に応じて、さらに線Ｌ１の位置や、ターゲットの位置を移動する。ユーザＵ１は、図６（Ｃ）に示すように、さらに右上にデバイス１００を移動させる。
【００５６】
なお、図６（Ａ）から（Ｃ）のユーザＵ１は、同じ位置に立っており、手だけを動かしてデバイス１００を移動させてもよいし、全身の位置（立ち位置）を移動しながら、手も動かしてデバイス１００を移動させてもよい。位置を移動するか否かは、例えば、ターゲットの左右の移動距離によって決定され、移動距離が大きければ、ユーザは自身の立ち位置の移動を伴った運動を行う。このように、ゲームをユーザに実行させることで、ユーザに運動をさせることができる。
【００５７】
また、デバイス１００は、ターゲットの移動先（移動先地点）の位置を、ユーザに行わせたい運動量（デバイスの移動量が増大すると運動量も増大するとみなす）に応じて決定する（図７における処理Ｓ１０４−０の一例）。例えば、デバイス１００は、ゲーム内のターゲットの移動先（移動先地点）を、初期位置（移動元地点）より左右方向や上下方向に大きく隔離させることで、ユーザがデバイス１００を移動させる距離が増大し、ユーザの運動量を増大させることができる。言い換えれば、ターゲットの移動先を変更することで、ユーザの運動量を調整することができる。
【００５８】
また、デバイス１００は、ターゲットの移動元地点から移動先地点までの移動時間を、ユーザに行わせたい運動量（デバイスの移動速度が速くなると運動量が増大するとみなす）に応じて決定する。例えば、デバイス１００は、ターゲットを、速い速度で移動させることで、ユーザ（デバイス１００）を速く移動させることで、ユーザの運動量を増大させることができる。
【００５９】
また、さらに、デバイス１００は、連続して又は同時期に、複数のターゲットを移動させる場合、ターゲットの移動開始タイミング（サッカーゲームにおいては、サッカーボールを蹴り出すタイミング）や、連続するターゲットの移動先の位置を、ユーザに行わせたい運動量（ユーザに要求する運動量）に応じて決定してもよい。すなわち、デバイスは、第１ターゲットが移動し終えてから、第２ターゲットの移動が開始するまでの時間（間隔時間）と、第１ターゲットが到達する位置（第１ターゲットの移動先地点：第１移動先地点）と、第２ターゲットが到達する位置（第２ターゲットの移動先地点：第２移動先地点）を、ユーザに行わせたい運動量に応じて決定する。デバイス１００は、例えば、より多くの運動をユーザに行わせたい場合、間隔時間を短くする、又は、第１移動先地点と、第２移動先地点の距離（地点間距離）を長くする、又はその両方を行う。また、デバイス１００は、例えば、より少ない運動をユーザに行わせたい場合、間隔時間を長くする、又は、第１移動先地点と、第２移動先地点の距離（地点間距離）を短くする、又はその両方を行う。
【００６０】
また、さらに、デバイス１００は、ユーザの身長や体重などの身体的な特徴も加味してもよい。例えば、高身長であるユーザは、低身長であるユーザに比べ、同じ距離を動いても運動量が少ないと想定できる。そのため、例えば、デバイス１００は、高身長のユーザに対しては、低身長のユーザに対するターゲットの移動先位置より、より左右方向により大きく隔離した移動先位置を設定する。これにより、デバイス１００は、高身長や低身長などのユーザの身体的な特徴に適合したターゲットの変化を提供することができる。
【００６１】
図７は、ゲーム処理Ｓ１０４の処理フローチャートの例を示す図である。デバイス１００は、要求する運動量に基づき、ターゲットの変化を決定する、（Ｓ１０４−０）。デバイス１００は、例えば、デバイス１００がデバイス１００を使用するユーザに対して要求する運動量（ユーザに運動させたい運動量、又はユーザが運動したい運動量）に基づき、ターゲットの変化の量、変化の開始及び終了のタイミング、又は、ターゲットの変化前及び変化後の位置などを決定する。なお、第１の実施の形態においては、ターゲットの移動先地点及び移動元地点や、複数ターゲット送出時は、ターゲットの送出間隔や、それぞれのターゲットの移動先地点などを決定する。デバイス１００は、ユーザに対して要求する運動量に加え、さらに、ユーザの身体的な特徴を加味してもよい。
【００６２】
デバイス１００は、ゲーム処理Ｓ１０４において、デバイス位置を検出する（Ｓ１０４−１）。デバイス位置は、例えば、デバイス１００の傾きやデバイス１００の現実位置（Ｘｎ、Ｙｎ、Ｚｎ）である。
【００６３】
デバイス１００は、デバイス位置に基づき、消費カロリーを算出する（Ｓ１０４−２）。消費カロリーは、例えば、以下の式（１）で算出される。
【００６４】
Ｓｎ＝Ｄｎ×Ｃ  ・・・式（１）
【００６５】
Ｓｎは、位置検出タイミングがｎの時の消費カロリーを示す。Ｄｎは、タイミングｎ−１からタイミングｎまでの間に、デバイス１００が移動した距離を示す。また、Ｃは、係数を示す。消費カロリーは、デバイスの移動距離に係数を乗じた値とする。
【００６６】
なお、処理Ｓ１０４−２においては、タイミングｎ−１からタイミングｎまでの間に消費されたカロリーを算出するが、例えば、タイミング０からタイミングｎまでの間の合計消費カロリー（各タイミング間の消費カロリーの合計）を算出してもよい。処理Ｓ１０４−２において合計消費カロリーを算出する場合、以降で説明する処理Ｓ１０４−１２における消費カロリーの合計の算出は行わなくてもよい。
【００６７】
デバイス１００は、デバイス位置に応じて、仮想空間画像を生成する（Ｓ１０４−３）。デバイス１００が移動すると、ユーザの視点も変化するため、デバイス１００は、カメラで撮影した映像に応じた仮想空間画像を生成する。
【００６８】
また、デバイス１００は、デバイス位置に応じて、ターゲット画像を生成する（Ｓ１０４−４）。
【００６９】
また、デバイス１００は、デバイス１００のカメラで撮影した画像を使用し、実空間の解析を行う（Ｓ１０４−５）。実空間の解析とは、例えば、実空間の画像から実空間に存在する物体を解析し、解析結果として実空間に存在する物体を認定する。さらに、実空間の解析の結果に基づき、ユーザの移動や動作に影響を与える障害物となるか否かを判定する処理である。デバイス１００は、例えば、実空間に存在する椅子や机、又はユーザ以外の人物などを、障害物であると判定する。また、デバイス１００は、実空間に存在する物体の大きさ、動き、形状、もしくはこれらの組み合わせに基づき、障害物であるか否かを判定してもよい。デバイス１００は、例えば、物体の高さが所定以上の高さである場合、障害物であると判定する。
【００７０】
なお、実空間の解析は、上述した実空間の画像のみならず、他のセンサ等を利用して行ってもよい。デバイス１００が、例えば、赤外線やレーダー等で実空間上の物体の形状、大きさ、材質などの情報を取得するサンサを備える場合、当該センサで取得した情報に基づき、実空間の解析を行ってもよい。
【００７１】
そして、デバイス１００は、解析結果に基づき、ＡＲ画像を生成する（Ｓ１０４−６）。デバイス１００は、例えば、生成した仮想空間の画像、ターゲット画像、及び撮影した映像を合成した画像を生成する。そして、デバイス１００は、解析結果として障害物と判定した物を、障害物とユーザが理解できる形式で、合成した画像に反映し、ＡＲ画像を生成する。障害物とユーザが理解できる形式とは、障害物を強調表示した映像や、ユーザが危険であると認識できる仮想物体などの映像である。また、障害物とユーザが理解できる形式とは、ユーザが障害物の方に移動しないようにするための警告メッセージの表示であってもよい。
【００７２】
図８は、実空間に障害物が存在する場合のＡＲ画像（合成画像）の例を示す図である。図８（Ａ）は、実空間の画像（映像）である。デバイス１００は、例えば、右端に位置する椅子（範囲Ｘ１内に存在）を、障害物と認定する。そして、デバイス１００は、図８（Ｂ）に示すように、範囲Ｘ１にユーザが動かないように、ターゲットＴ１を矢印Ａ２の方向に移動させる（蹴り出す）。また、デバイス１００は、範囲Ｘ１に障害物があることや、範囲Ｘ１に移動しないように促すようなメッセージを、表示部に表示してもよい。
【００７３】
デバイス１００は、デバイス位置に応じて、仮想空間上にヒットボックスを生成する（Ｓ１０４−７）。ヒットボックスは、ユーザがターゲットを確保することが可能な領域であって、例えば、直方体や球で囲まれる範囲である。
【００７４】
なお、第１の実施の形態においては、ＡＲ画像にてＡＲ空間をユーザに認識させているが、他の手段によってユーザにＡＲ空間を認識させてもよい。デバイス１００は、音声を用いて、ＡＲ空間を表現してもよい。デバイス１００は、例えば、ターゲットが右上方向に動くＡＲ画像を表示することに代替し、右上方向に移動するよう指示する音声を、デバイス１００が有する音声出力部（例えばスピーカ、イヤホンなど：図示しない）を通じて出力することで、ユーザに指示してもよい。また、デバイス１００は、ターゲットが右上にある（又は移動する）ことがわかるよう、右上方向から聞こえるように音声を出力してもよい。例えば、右上方向から聞こえるように音声を出力することは、実際に右上方向から音声を出力してもよいし、音を特殊加工（例えば、音の強弱や周波数の加工、又は複数の音声出力部の組み合わせによる効果など）することで実現してもよい。
【００７５】
デバイス１００は、ターゲットがヒットボックス内に位置するか否かを判定する（Ｓ１０４−８）。デバイス１００は、例えば、ターゲットの仮想空間上の中心位置が、ヒットボックスの座標の範囲内に位置するか否かを判定する。
【００７６】
デバイス１００は、ターゲットがヒットボックス内に位置すると判定すると（Ｓ１０４−８のＹｅｓ）、成功と判定する（Ｓ１０４−９）。成功とは、例えば、ユーザによるターゲットの確保が成功したことを示し、例えば、サッカーゲームにおいてキーパーがサッカーボールのキャッチに成功したことを示す。
【００７７】
一方、デバイス１００は、ターゲットがヒットボックス内に位置しないと判定すると（Ｓ１０４−８のＮｏ）、失敗条件を満たすか否かを判定する（Ｓ１０４−１０）。失敗条件とは、ユーザがターゲットの確保に失敗したことを満たすための条件である。失敗条件は、今後成功には転じえない条件であり、例えば、所定時間（第３時間）が経過していること、あるいは、ターゲットが所定の位置（点、平面範囲、立体範囲）（例えば、下記で説明する垂直面）を通過していることである。
【００７８】
デバイス１００は、例えば、当該サッカーゲームにおいては、移動先地点を、デバイス１００を含む垂直面、又はデバイス１００より後ろ（移動元地点からデバイス１００を挟んで移動先地点となる）の垂直面に設定する。垂直面とは、水平面と９０度の面であり、デバイス１００の正面向きの面である。サッカーゲーム（特にペナルティキック）の特性として、ユーザ（キーパー）は前に動くことはせず、上下左右方向に移動する。そのため、移動先地点を上述した垂直面に設定することで、デバイス１００は、より適切にユーザの移動先を想定し、ユーザを左右上下に動かすよう促すことができる。
【００７９】
デバイス１００は、失敗条件を満たすと判定すると（Ｓ１０４−１０のＹｅｓ）、失敗と判定する（Ｓ１０４−１１）。失敗とは、例えば、ユーザによるターゲットの確保が失敗したことを示し、例えば、サッカーゲームにおいてキーパーがサッカーボールをキャッチできず、相手にゴールを許したことを示す。
【００８０】
一方、デバイス１００は、失敗条件を満たさないと判定すると（Ｓ１０４−１０のＮｏ）、再度デバイスの位置検出を行い、消費カロリーを算出し（Ｓ１０４−２）、ＡＲ画像の再生成（処理Ｓ１０４−３〜処理Ｓ１０４−７）を行う。このように、デバイス１００は、成功又は失敗が確定するまで、消費カロリーの算出、及びＡＲ画像の再生成を繰り替える。この繰り返し処理は、例えば、１秒間に所定回数（例えば、３０回）行われる。
【００８１】
デバイス１００は、成功又は失敗が決定すると、消費カロリーの合計を算出し、画面上に表示し（Ｓ１０４−１２）、ゲーム処理Ｓ１０４を終了する。ここで算出する消費カロリーの合計は、ゲームを１回実行する間で消費されるカロリーである。
【００８２】
図９は、ゲーム終了時に表示される画面の例を示す図である。図９（Ａ）は、ゲームが成功したことを示す成功画面である。成功画面（判定結果画像）では、例えば、中央部分ゲームが成功した旨の「ＧＯＯＤ！」を表示する。図９（Ｂ）は、ゲームが失敗したことを示す失敗画面である。失敗画面（判定結果画像）では、例えば、中央部分ゲームが失敗した旨の「ＭＩＳＳ」を表示する。また、成功画面及び失敗画面の両方において、右上に当該ゲーム実施のよりユーザが消費した消費カロリーが表示される。
【００８３】
＜仮想空間地面位置決定処理＞
図１０は、仮想空間地面位置決定処理Ｓ１０３０の処理フローチャートの例を示す図である。デバイス１００は、仮想空間地面位置決定処理Ｓ１０３０において、デバイス位置検出を行う（Ｓ１０３０−１）。デバイス位置検出は、デバイス１００の位置や傾きを検出する処理であり、例えば、ゲーム処理Ｓ１０４における処理Ｓ１０４−１と同じである。
【００８４】
デバイス１００は、検出したデバイス１００の位置から所定距離（例えば、１３０ｃｍ）だけ下方の位置の水平面に、仮想空間の地面を生成（設定）し（Ｓ１０３０−２）、仮想空間地面位置決定処理Ｓ１０３０を終了する。この時生成する仮想空間の地面は、範囲は無限（地面の範囲を設定しない）であってもよいし、ユーザが実空間上を所定時間内に移動可能である距離に基づき算出した範囲であってもよい。
【００８５】
仮想空間の地面を生成（設定）する処理としては、例えば、平面認識処理を行い実際の地面や床を検出し、検出した地面や床を仮想空間の地面とする処理がある。しかし、平面認識は、一般に時間がかかったり、地面の状態によっては、所定時間経過しても地面や床を検出できなかったりする場合がある。
【００８６】
ヘルスケア処理において平面認識処理による仮想空間の地面生成を行う場合、ユーザがゲームを開始できなかったり、ゲーム開始までに時間がかかったりする場合があり、ユーザビリティが低下する。そこで、本実施の形態において、デバイス１００は、仮想空間地面位置決定処理Ｓ１０３０で仮想空間の地面を生成することで、早期に仮想空間の地面を生成することができ、ユーザビリティの低下を防止することができる。
【００８７】
なお、所定距離下方における所定距離は、デバイス１００がユーザの目の前に位置することを仮定した、目より下から足元までのユーザの長さを想定した距離である。所定距離は、例えば、ユーザの身長に応じて変更することで、より現実空間の地面や床に近い位置に、仮想空間の地面を生成することができる。
【００８８】
＜ターゲット開始位置決定処理＞
図１１は、ターゲット開始位置決定処理Ｓ１０３１の処理フローチャートの例を示す図である。デバイス１００は、ターゲット開始位置決定処理Ｓ１０３１において、デバイス位置検出を行う（Ｓ１０３１−１）。デバイス位置検出は、デバイス１００の位置や傾きを検出する処理であり、例えば、ゲーム処理Ｓ１０４における処理Ｓ１０４−１と同じである。
【００８９】
デバイス１００は、デバイス１００の傾きが閾値（傾き閾値）以内か否かを確認する（Ｓ１０３１−２）。デバイス１００は、デバイス１００の傾きが閾値より大きい場合（Ｓ１０３１−２のＮｏ）、ユーザがデバイス１００を目の前に移動させ、デバイス１００のゲーム画面を視聴している状態ではないとみなし、ゲームを開始させずに、デバイス１００の傾きが閾値以内になるのを待ち受ける。
【００９０】
一方、デバイス１００は、デバイス１００の傾きが閾値以内になると（Ｓ１０３１−２のＹｅｓ）、ユーザがゲームを開始する準備が整ったとみなし、開始ボタンを押下可能状態にし、画面上に表示する（Ｓ１０３１−３）。
【００９１】
そして、デバイス１００は、開始ボタンが押下されるのを待ち受ける（Ｓ１０３１−４のＮｏ）。デバイス１００は、開始ボタンが押下されたことを検出すると（Ｓ１０３１−４のＹｅｓ）、開始ボタン押下時（または現在）のデバイス１００の正面位置に、ターゲットの開始位置を決定する（Ｓ１０３１−５）。すなわち、デバイス１００は、デバイスの正面方向を決定することで、仮想空間上のターゲットの位置する方向（方角）を決定することができる。
【００９２】
つまり、デバイス１００は、開始ボタン押下時のデバイス位置に基づいてゲーム空間を生成することで、ターゲットの開始位置や、ターゲットが移動しない場合のターゲットの位置、又は、ターゲットの移動範囲など、ターゲットの変化の起点や度合いを決定することができる。
【００９３】
そして、デバイス１００は、仮想空間の地面以外のオブジェクトを生成し、表示し（Ｓ１０３１−６）、ターゲット開始位置決定処理を終了する。仮想空間の地面以外のオブジェクトは、例えばサッカーゲームの場合、背景となる実空間の映像、サッカーボール、キッカー、サッカーのフィールド（ペナルティキックのラインなど）である。また、ゲームを開始する旨のメッセージ等を表示してもよい。
【００９４】
ターゲットの開始位置を決定する方法として、例えば、仮想空間の地面生成と同時に行う方法もある。しかし、仮想空間の地面生成時には、ユーザがどの方向に向いてゲームを開始するかは確定しておらず、ゲームの狙いとは異なる位置にターゲット開始位置が設定されてしまう場合がある。そこで、ターゲット開始位置決定処理Ｓ１０３１において、デバイス１００は、デバイス１００の傾きが閾値以内になるまで、開始ボタンを押下不可にすることで、ある程度ユーザの正面にデバイス１００が向くまでは、ゲームを開始させないようにする。さらに、デバイス１００は、ユーザが開始ボタンを押下するまでターゲットの開始位置を決定しないことで、確実にユーザのゲーム開始の準備が整ったタイミングでターゲットの開始位置を決定することができる。すなわち、ユーザは、例えば、西日の方向を向いてプレイするとまぶしい場合や、横方向に狭い場所でプレイ開始すると壁に衝突してしまう場合など、ユーザがゲームを行うのに快適でない場所や方角を、プレビューしながら回避し、より快適なゲーム環境を選択することができる。
【００９５】
［第２の実施の形態］
次に、第２の実施の形態について説明する。
【００９６】
第２の実施の形態では、ゲーム処理Ｓ１０４において、さらに、反則判定処理Ｓ１０５を行う。反則判定処理Ｓ１０５は、例えば、ゲームの開始前（ターゲットの移動が開始される前）からゲーム開始時（ターゲットの移動が開始された時）までの間に実行される処理であって、デバイス１００とターゲットの距離が所定距離より短くなっている場合に、なんらかのペナルティを科す処理である。
【００９７】
＜反則判定処理＞
図１２は、反則判定処理Ｓ１０５の処理フローチャートの例を示す図である。デバイス１００は、反則判定処理Ｓ１０５において、デバイス位置を検出する（Ｓ１０５−１）。デバイス位置検出は、デバイス１００の位置や傾きを検出する処理であり、例えば、ゲーム処理Ｓ１０４における処理Ｓ１０４−１と同じである。
【００９８】
デバイス１００は、デバイス１００とターゲット開始位置（移動元地点）との距離を算出する（Ｓ１０５−２）。デバイス１００は、例えば、デバイス１００の仮想空間内の座標のＸ、Ｙ、Ｚ成分からターゲット開始位置の座標のＸ、Ｙ、Ｚ成分をそれぞれ減算し、減算した値をそれぞれ二乗し、それぞれ二乗した値を加算し、加算した値の平方根を距離として算出する。
【００９９】
デバイス１００は、算出した距離が閾値（第２閾値）以内か否かを判定する（Ｓ１０５−３）。デバイス１００は、算出した距離が閾値以内である場合（Ｓ１０５−３のＹｅｓ）、ペナルティを実施し（Ｓ１０５−４）、再度デバイス位置検出Ｓ１０５−１から処理を繰り返す。ペナルティは、ユーザに対して不利な効果を与える制御であり、例えば、ターゲットの移動を開始しないことや、デバイス１００の位置に関わらずターゲットの確保を失敗した状態にすることである。距離が閾値以内の場合にペナルティを科す理由は、デバイス１００がターゲットにある程度近くなると、デバイス１００を動かさなくてもターゲットを確保できるため、ユーザはターゲットの確保にほぼ確実に成功し、ゲーム性が失われるためである。
【０１００】
一方、デバイス１００は、算出した距離が閾値以内でない場合（Ｓ１０５−３のＮｏ）、ペナルティを解除し（Ｓ１０５−５）、再度デバイス位置検出Ｓ１０５−１から処理を繰り返す。
【０１０１】
［その他の実施の形態］
次に、その他の実施の形態について説明する。
【０１０２】
図１３は、仮想空間上のターゲットが表示されない領域に移動した場合の例を示す図である。図１３において、点線で囲まれる領域Ｖ１は、合成空間である。表示部１５０には表示される範囲は限度があり、ターゲットが大きく移動した場合、図１２に示すように表示部１５０内にターゲットが表示されない場合がある。この場合、デバイス１００は、ＡＲ画像の一部に、図１２に示すように、矢印Ａ１を表示する。矢印Ａ１は、表示されていないターゲットの位置を指し示すものである。デバイス１００は、矢印Ａ１を示すことで、ターゲットが表示部に表示されなくなっても、ユーザにターゲットを追従させることができる。
【０１０３】
図１４は、ゲーム処理がエアロビクスである場合の例を示す図である。第１の実施の形態においては、ターゲットが仮想空間の奥から手前方向に移動したが、例えば、上下左右方向など様々な方向に移動したり、仮想空間内を回転したりしてもよい。デバイス１００は、例えば、図１４に示すように、ターゲットを矢印Ａ３にし、矢印Ａ３の方向を変化させたり、矢印Ａ３を動かしたりすることで、ユーザに矢印の移動方向又は矢印の向きにデバイス１００を動かすよう促す。また、ユーザに対して、全身（又は腰）を回転させたり、後ろに向かせたりなど、ターゲットを用いて指示をしてもよい。なお、図１４において、矢印Ａ３の一部が表示部１５０の範囲外に位置するが、ユーザがデバイス１００を動かすことで、表示部の範囲外の矢印Ａ３を表示部に表示することができる。
【０１０４】
また、ターゲットは、図１４における音符の絵Ｍ１であってもよい。音符の絵Ｍ１は、所定時間表示され、削除（非表示）される。ユーザは、デバイス１００を音符の絵が表示されている間に、音符の絵の方向に動かすことで、運動を行う。音符の絵Ｍ１３は、ターゲットの一例であって、音符の絵に限定されない。また、音符の絵Ｍ１は、例えば、所定時間の間、特定の色に変化してもよいし、光るなどの特殊効果を帯びてもよい。ユーザは、音符の絵Ｍ１が特定の色の間、又は特殊効果を帯びている間に、デバイス１００を音符の絵の方向に動かすことで、運動を行うことができる。なお、ターゲットの表示が開始されるタイミングを、表示開始タイミングと呼び、ターゲットの表示終了し、非表示となるタイミングを、表示終了タイミングと呼ぶ場合がある。
【０１０５】
さらに、音符の絵Ｍ１の出現する位置は、ユーザに要求する運動量に基づいて、他の音符絵Ｍ１の位置との関係で決まってもよい。デバイス１００は、例えば、ユーザに要求する運動量が多いほど、ある音符の絵の位置（第１位置）と、別の音符の絵の位置（第２位置）間の距離（位置間距離）を長くする。デバイス１００は、例えば、ユーザに要求する運動量が少ないほど、ある音符の絵の位置（第１位置）と、別の音符の絵の位置（第２位置）間の距離（位置間距離）を短くする。
【０１０６】
また、音符の絵Ｍ１の表示（色彩の変化の開始）、非表示（色彩の変化の終了）のタイミングを調整することで、ユーザを速く動くよう促したり、逆に遅く動くように促したりすることができ、ユーザの運動量を調整することができる。
【０１０７】
図１５は、ターゲットＴ１以外の表示物を含む例を示す図である。図１５において、ターゲットＴ１は、ディフェンダーＤＦ１である。ディフェンダーＤＦ１は、例えば、サッカーゲームにおけるディフェンダーである。ユーザは、ディフェンダーＤＦ１とは逆方向、又はディフェンダーＤＦ１とぶつからない方向に、デバイス１００を移動させる。第１の実施の形態に記載したターゲットＴ１の例は、サッカーボールであり、ユーザはキーパーの動きを行うことから、ヒットボックス内にターゲットＴ１が位置する場合に成功と判定したが、ディフェンダーＤＦ１をターゲットとした場合、ヒットボックス内にディフェンダーＤＦ１が位置した場合に失敗と判定する。判定の成功、失敗は、ターゲットを確保するゲームであるか、ターゲットを回避することを目的としたゲームであってもよい。また、判定の成功、失敗は、複数のターゲットが存在する場合、ターゲットごとに異なる判定であってもよい。
【０１０８】
図１６は、ターゲットを回避するゲームの例を示す図である。例えば、ターゲットは、幽霊Ｇ１である。幽霊Ｇ１は、仮想空間上を動き回り、ユーザは、幽霊Ｇ１にぶつからないように仮想空間に対応する現実空間を移動する（逃げる）。この場合、ターゲットがヒットボックス内に位置する場合、失敗判定（幽霊に捕まったと判定）となってもよい。さらに、デバイス１００は、デバイス１００の移動速度が所定速度以上ある場合、幽霊Ｇ１に見つかったとみなし、幽霊Ｇ１がデバイス１００を追ってくるようにしてもよい。これにより、デバイス１００は、ユーザが幽霊Ｇ１に追われないように、ユーザにデバイス１００をゆっくり（所定速度より低速で）動かすように促すことができる。
【０１０９】
なお、例えば、図１６において、ターゲットが幽霊Ｇ２に位置する場合、仮想空間上の幽霊Ｇ２の位置に対応する現実空間の幽霊Ｇ２の位置の方向から特殊音を鳴らし、幽霊Ｇ２の位置を聴覚でユーザに教えてもよい。また、図１３に示すように、幽霊Ｇ２の位置を示す矢印等を表示してもよい。
【０１１０】
さらに、幽霊が消えたり現れたりすることを表現する場合、幽霊Ｇ１が非表示である場合がある。この場合も、幽霊Ｇ２の例と同様に、特殊音を使用することで、幽霊Ｇ１の位置をユーザに通知してもよい。
【０１１１】
また、複数ユーザで同時にゲームをプレイする場合、他ユーザが幽霊Ｇ１に確保された時、仮想空間上の幽霊Ｇ１の位置に対応する現実空間の幽霊Ｇ１の位置の方向から特殊音を鳴らすことで、他ユーザが幽霊Ｇ１に確保されたことを、ユーザに通知してもよい。
【０１１２】
また、第１の実施の形態においては、成功又は失敗判定を１回行うと、ゲーム処理を終了するが、成功又は失敗判定を複数回行ってもよい。例えば、上述したように矢印をデバイス１００が追従するゲームでは、追従できている間は成功（又は追従成功中）と判定し、追従できていない間は失敗（又は追従失敗中）と判定してもよい。この場合、ゲーム終了の条件は、例えば、所定時間が経過することや、所定時間以上失敗が継続することなどである。
【０１１３】
また、第１の実施の形態においては、ターゲットの例としてサッカーボールを使用したが、例えば、ターゲットは風船のようにある不規則に移動する物体であってもよい。また、ターゲットは、例えば、ボクシングのグローブであり、ユーザはデバイスをミットと見立ててもよい。
【０１１４】
また、第１の実施の形態においては、１回の成功又は失敗でゲームを終了するが、ゲームを複数回行ってもよい。例えば、Ｎ回（例えば５回）失敗するまで、ゲームを繰り返してもよい。また、例えば、失敗及び成功に関わらず、合計Ｍ回だけゲームを繰り返してもよい。
【０１１５】
さらに、例えば、ゲームの成功又は失敗に基づきゲームの実行結果をスコア化し、サーバでスコアを一括管理するなどし、ユーザ同士でスコアを競わせてもよい。また、例えば、赤外線やブルートゥース（登録商標）などを使用して近距離通信し、同じＡＲ空間（ＡＲ画像やターゲットを含む）を共有してもよい。さらに、サーバを介して、遠隔地で同じＡＲ空間を共有してもよい。これにより、ユーザがゲームを実行する意欲が増進し、より運動を促すことができる。なお、スコアに代えて消費カロリーや累積カロリーをユーザに競わせてもよい。
【符号の説明】
【０１１６】
１００          ：デバイス
１１０          ：ＣＰＵ
１２０          ：ストレージ
１２１          ：ヘルスケアプログラム
１２２          ：ゲームモジュール
１２２１        ：反則判定サブモジュール
１２２２        ：仮想空間地面位置決定サブモジュール
１２２３        ：ターゲット開始位置決定サブモジュール
１２３          ：カロリー関連モジュール
１２３１        ：累積カロリー表示サブモジュール
１２３２        ：消費カロリー表示サブモジュール
１２４          ：位置検出プログラム
１３０          ：メモリ
１４０          ：位置検出装置
１５０          ：表示装置（表示部）
１６０          ：カメラ
【図１】
2020089565.tif 000003
【図２】
2020089565.tif 000004
【図３】
2020089565.tif 000005
【図４】
2020089565.tif 000006
【図５】
2020089565.tif 000007
【図６】
2020089565.tif 000008
【図７】
2020089565.tif 000009
【図８】
2020089565.tif 000010
【図９】
2020089565.tif 000011
【図１０】
2020089565.tif 000012
【図１１】
2020089565.tif 000013
【図１２】
2020089565.tif 000014
【図１３】
2020089565.tif 000015
【図１４】
2020089565.tif 000016
【図１５】
2020089565.tif 000017
【図１６】
2020089565.tif 000018
【手続補正書】
【提出日】平成30年12月17日(2018.12.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
ＣＰＵ１１０は、ヘルスケアプログラム１２１を実行することで、ヘルスケア処理を行う。ヘルスケア処理は、デバイス１００のユーザにゲームを実行させることで運動をさせ、運動によって消費カロリー及びその累積したカロリーを表示することで、ユーザの健康管理を行う処理である。ヘルスケア処理において提供するゲームは、例えば、デバイス１００をユーザに移動させることで、ＡＲ画面に表示された移動するターゲットを確保するゲームである。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】変更
【補正の内容】
【００５１】
このようにして、仮想空間上をターゲットＴ１が、ユーザの手前右上方向に移動しているかのように、ターゲットＴ１を表示する。