JP7340746B2 - 拡張現実環境におけるマルチユーザルート追跡 - Google Patents

拡張現実環境におけるマルチユーザルート追跡 Download PDF

Info

Publication number
JP7340746B2
JP7340746B2 JP2021124796A JP2021124796A JP7340746B2 JP 7340746 B2 JP7340746 B2 JP 7340746B2 JP 2021124796 A JP2021124796 A JP 2021124796A JP 2021124796 A JP2021124796 A JP 2021124796A JP 7340746 B2 JP7340746 B2 JP 7340746B2
Authority
JP
Japan
Prior art keywords
virtual
client device
world
location
real
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021124796A
Other languages
English (en)
Other versions
JP2022153229A (ja
Inventor
ジョン ハンケ
千尋 菅野
裕貴 園田
達雄 野村
航介 川平
健太郎 森川
浩紀 淺川
俊介 植松
まどか 片山
幹樹 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Niantic Inc
Original Assignee
Niantic Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Niantic Inc filed Critical Niantic Inc
Publication of JP2022153229A publication Critical patent/JP2022153229A/ja
Application granted granted Critical
Publication of JP7340746B2 publication Critical patent/JP7340746B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/216Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/69Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/205Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform for detecting the geographical location of the game platform
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5573Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history player location
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Environmental & Geological Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)
  • Position Input By Displaying (AREA)
  • Radar Systems Or Details Thereof (AREA)

Description

説明される主題は、拡張現実環境全般に関し、特に、拡張現実体験のユーザのルートに沿って仮想要素を表示することに関する。
既存のアプリケーション(例えば、フィットネストラッカー)によっては、ユーザの位置を監視し、後にユーザインタフェースにおいてユーザに位置データを提示し得るものがある。例えば、ジョギングアプリケーションは、ユーザのウェアラブルデバイスのGPS座標を記録し、マップ上にユーザのジョギングルートをプロットし得る。しかしながら、このマップは、現実世界を抽象化したもので、ユーザがプロットされたルートを自らの実体験に関連付けるのは困難なこともある。さらに、マップ上にプロットされたルートは、通常、ユーザが道路のどちら側に居たのか、ユーザが建物の一階に居たのか、或いは二階に居たのか、ユーザが障害物を避けて進んだのか、飛び越えて進んだのか等、詳細に欠ける。
並行現実ゲームにおいて、仮想世界の地理は、実世界の地理の少なくとも一部にマップされる。プレーヤーらは、実世界の対応箇所の位置に移動することにより、仮想世界を移動する。プレーヤーらは、実世界の画像上(例えば、プレーヤーらの携帯するデバイスのカメラで撮影した1つ以上の画像上)に仮想要素を重ね合わせた拡張現実(AR)体験を介して、仮想世界を見ることもできる。マルチプレーヤーによる並行現実ゲームでは、プレーヤーらに実世界に出て、相互作用する(例えば、協働してゲームの目標を達成する)ように促すことができる。しかしながら、プレーヤーらがゲーム外の他のチャンネルを通じて自らの努力を調整しない限り、他のプレーヤーらの位置を特定するのは困難となり、比較的大人数のプレーヤーらが参加しているときであっても、仮想世界に居る人はまばらであるかのように見える。既存のマップベースのインタフェースは、プレーヤーに、他のプレーヤーらがどこに居るのか、もしくはどこに居たのかについて概要を提供することができるが、これらは、プレーヤーらの相互作用する仮想世界のAR表現とは繋がっていない。
本開示は、仮想世界の地理が実世界の少なくとも一部と並行した並行現実アプリケーションにおけるAR体験を提供することについて説明するものである。例えば、要素アップデートシステムは、クライアントデバイスから接続リクエストを受信し、クライアントデバイスが実世界において通過したルートを受信する。要素アップデートシステムは、ルートに基づいて仮想要素を配置すべき仮想位置を判定し、その仮想位置において仮想要素を含むようにAR体験のグローバル状態のアップデートを行う。仮想位置は、実世界の位置に対応する。要素アップデートシステムは、第2のクライアントデバイスにARデータを提供する。ARデータには、第2のクライアントデバイスが実世界の対応位置に仮想要素の少なくとも一部を表示できるように、仮想位置の少なくとも一部が含まれる。要素アップデートシステムは、実世界における他のユーザらのルートに基づき、仮想世界により多くの仮想要素をさらに追加するか、又は仮想要素のプロパティをアップデートしてもよい。
一実施形態に係る、並行現実ゲームをホストするのに好適なネットワーク化演算環境のブロック図である。
一実施形態に係る、図1のクライアントデバイスのブロック図である。
一実施形態に係る、図1のゲームサーバのブロック図である。
一実施形態に係る、図1の要素アップデートシステムのブロック図である。
一実施形態に係る、実世界と並行する地理を有する仮想世界の表現を描いた図である。
一実施形態に係る、仮想世界におけるクライアントデバイスを所持するユーザのルートを描いた図である。
一実施形態に係る、成長率の増加した仮想要素の表現を描いた図である。
一実施形態に係る、互いに閾値距離内にある第1及び第2の種別の仮想要素に基づき、仮想世界に配置された第3の種別の仮想要素の表現を描いた図である。
一実施形態に係る、クライアントデバイスにARデータを提供するプロセスを示すフローチャートを描いた図である。
一実施形態に係る、図1のネットワーク化演算環境における使用に好適な例としてのコンピュータシステムを示す図である。
図面及び以下の説明は、特定の実施形態について単なる例示として記載されている。当業者は、以下の説明から、記載の原則から逸脱することなく、これらの構成及び方法の代替実施形態が採用されてもよいことを容易に認識するであろう。可能な限り、同様又は類似の機能を示すため、図中では同様又は類似の参照符号を使用する。要素が共通の数字を共有し、その後に異なる文字が続く場合、これは、それらの要素が同様又は同一であることを示す。文脈が反対の意味を示していない限り、数字のみを参照すると、通常、このような要素のうちのいずれか1つ又はいずれかの組み合わせを示している。
プレーヤーの実世界における動き及び行為が仮想世界の行為に影響し、また逆も成立するように、実世界の地理の少なくとも一部と並行する仮想世界の地理に拡張現実コンテンツを含む並行現実ゲームの文脈において、種々の実施形態について説明する。当業者は、本明細書に記載の開示を使用して、仮想要素を含むARデータを提供することが望まれる他のシチュエーションにおいて、本記載の主題が適用可能である旨、理解するであろう。またコンピュータベースのシステムが本来備えた柔軟性により、システムの構成要素間のタスク及び機能の様々な構成、組み合わせ、及び分割が可能になる。例えば、本開示の態様に係るシステム及び方法は、単一の演算装置を使用して、又は、(例えば、コンピュータネットワークに接続された)複数の演算装置に亘って、実現可能である。
図1は、並行現実ゲーム等、並行現実体験を提供するのに好適なネットワーク化演算環境100の一実施形態を示している。ネットワーク化演算環境100は、実世界と並行する地理を有した仮想世界において、プレーヤーの相互作用を可能にする。特に、実世界の地理的領域を、仮想世界の対応領域に直接リンク又はマッピングすることができる。プレーヤーは、実世界の種々の地理的位置に動くことにより、仮想世界において動き回ることができる。例えば、実世界におけるプレーヤーの位置を追跡し、これを仮想世界におけるプレーヤーの位置をアップデートするのに使用することができる。通常、実世界におけるプレーヤーの位置は、プレーヤーが仮想世界と相互作用を行っているクライアントデバイス110の位置を発見し、プレーヤーが同一の(又は、略同一の)位置に居ることを想定することによって判定される。例えば、種々の実施形態において、実世界におけるプレーヤーの位置が、仮想世界における仮想要素の仮想位置に対応する実世界の位置から閾値距離(例えば、10メートル、20メートル等)内にある場合、仮想要素と相互作用することができる。便宜上、種々の実施形態は、「プレーヤーの位置」を参照して説明するが、当業者は、このような参照がプレーヤーのクライアントデバイス110の位置を参照するものであってもよいことを理解するであろう。
ネットワーク化演算環境100は、クライアント-サーバアーキテクチャを使用し、ここではゲームサーバ120がネットワーク170を通じてクライアントデバイス110と通信し、クライアントデバイス110のプレーヤーに並行現実ゲームを提供する。ネットワーク化演算環境100は、スポンサー/広告主システム、又は、ビジネスシステム等、他の外部システムも含んでよい。1つのクライアントデバイス110のみを図1に示したが、任意の数のクライアント110、又は、他の外部システムがネットワーク170を通じてゲームサーバ120に接続されてもよい。さらに、ネットワーク化演算環境100は、異なる、又は、追加の要素を含んでもよく、以下に記載の方法とは別の方法で、クライアントデバイス110とサーバ120との間で機能が分散されてもよい。
クライアントデバイス110は、ゲームサーバ120とインタフェースで接続するためにプレーヤーによって使用可能な任意の携帯演算装置とすることができる。例えば、クライアントデバイス110は、無線装置、パーソナルデジタルアシスタント(personal digital assistant:PDA)、携帯ゲーミングデバイス、携帯電話、スマートフォン、タブレット、ナビゲーションシステム、ハンドヘルドGPSシステム、ウェアラブル演算装置、1つ以上のプロセッサを有するディスプレイ、又はその他類似の装置とすることができる。他の例として、クライアントデバイス110は、デスクトップ又はラップトップコンピュータ等、従来のコンピュータシステムを含む。さらに、クライアントデバイス110は、演算装置を備えた車両であってもよい。要するに、クライアントデバイス110は、プレーヤーをゲームサーバ120と相互作用させることができる任意のコンピュータデバイス、又は、システムとすることができる。演算装置として、クライアントデバイス110は、1つ以上のプロセッサと、1つ以上のコンピュータ可読記憶媒体とを備えることができる。コンピュータ可読記憶媒体は、プロセッサに動作を実施させる命令を記憶可能である。クライアントデバイス110は、スマートフォン又はタブレット等、プレーヤーによって容易に携帯又は運搬可能な携帯演算装置であることが好ましい。以下、クライアントデバイス110の種々の実施形態について、図2を参照してさらに詳細に説明する。
ゲームサーバ120は、任意の演算装置とすることができ、1つ以上のプロセッサと、1つ以上のコンピュータ可読記憶媒体とを備えることができる。コンピュータ可読記憶媒体は、プロセッサに動作を実施させる命令を記憶することができる。種々の実施形態において、ゲームサーバ120は、すべてのプレーヤーが一貫したゲーム世界と相互作用するように、グローバルゲーム状態のコピーを維持し、プレーヤーのクライアントデバイス110間での相互作用を管理する。
ゲームサーバ120は、クライアントデバイス110から接続リクエストを受信するように構成されてもよい。接続リクエストは、クライアントデバイス110のユーザが特定のゲーム等、並行現実体験に参加したい旨の示唆である。ゲームサーバ120は、クライアントデバイス110を並行現実体験に接続してもよい。並行現実体験のうちの一部、又は、全部が、ゲームサーバ120がクライアントデバイス110にARデータを送るARセッションを含んでもよい。このARデータは、クライアントデバイス110に、実世界の表現(例えば、クライアントデバイスのカメラによって撮影した1つ以上の画像)に重ね合わせて、1つ以上の仮想要素を表示させることができる。
ゲームサーバ120は、並行現実体験中等、(例えば、リモートプロシージャコール(remote procedure calls:RPCs)を介して)クライアントデバイス110からのゲームデータを求める他のリクエストを受信し、ネットワーク170を介してこれらのリクエストに応答するようにも構成されていてもよい。ゲームデータには、実世界の表現に重ね合わせた仮想要素をアップデートするための追加ARデータを含む、仮想世界についての情報が含まれ得る。ゲームサーバ120は、ゲームデータを1つ以上のデータフェイルに符号化し、このデータファイルをクライアントデバイス110に提供することができる。また、ゲームサーバ120は、ネットワーク170を介して、クライアントデバイス110からゲームデータ(例えば、プレーヤーの位置、プレーヤーの行為、プレーヤーの入力等)を受信するように構成可能である。例えば、クライアントデバイス110は、プレーヤーの入力、及び、他のアップデートをゲームサーバ120に定期的に送るように構成可能であり、ゲームサーバ120は、これを使用して、任意及びすべてのゲーム状況の変更を反映するように、ゲームデータベース130内のゲームデータをアップデートする。以下、図3を参照して、ゲームサーバ120の種々の実施形態についてさらに詳細に説明する。
ゲームサーバ120は、ゲームデータベース130を含む、又は、ゲームデータベース130と通信することができる。ゲームデータベース130は、ネットワーク170を通じてクライアントデバイス110に供給又は提供される、並行現実ゲームにおいて使用されるゲームデータを記憶する。ゲームデータベース130に記憶されるゲームデータには、(1)並行現実ゲームにおける仮想世界と関連付けられたデータ(例えば、ディスプレイ装置上に仮想世界をレンダリングするために使用される描写データ、仮想世界における位置の地理座標等)、(2)並行現実ゲームのプレーヤーに関連付けられたデータ(例えば、これらに限定されないが、プレーヤーの情報、プレーヤーの経験レベル、プレーヤーの通貨、仮想世界/実世界におけるプレーヤーの現在位置、プレーヤーのエネルギーレベル、プレーヤーの趣向、チーム情報、派閥情報等を含むプレーヤープロファイル)、(3)ゲーム目標に関連付けられたデータ(例えば、現在のゲーム目標に関連付けられたデータ、ゲーム目標のステータス、過去のゲーム目標、将来のゲーム目標、所望のゲーム目標等)、(4)仮想世界における仮想要素に関連付けられたデータ(例えば、仮想要素の位置、仮想要素の種別、仮想要素に関連付けられたゲーム目標、仮想要素に対応した実世界の位置情報、仮想要素の振る舞い、仮想要素との関連性等)、(5)仮想要素にリンクされた実世界のオブジェクト、ランドマーク、位置に関連付けられたデータ(例えば、実世界のオブジェクト/ランドマークの位置、実世界のオブジェクト/ランドマークの説明、実世界のオブジェクトにリンクされた仮想要素の関連性等)、(6)ゲームステータス(例えば、現在のプレーヤー数、ゲーム目標の現在のステータス、プレーヤーのリーダーボード等)、(7)プレーヤーの行為/入力に関連付けられたデータ(例えば、現在のプレーヤーの位置、過去のプレーヤーの位置、プレーヤーの動き、プレーヤーの入力、プレーヤーの問い合わせ、プレーヤーの通信等)、(8)並行現実ゲームの実施中に使用、関連、又は取得する他の情報、が含まれ得る。ゲームデータベース130に記憶されたゲームデータは、システム管理者によって、又は、ネットワーク170を通じてクライアントデバイス110から等、ゲームのユーザ/プレーヤーから受信したデータによって、オフライン又はリアルタイムのいずれかで追加可能である。
ゲームサーバ120は、要素アップデートシステム140を備えるか、又はこれに接続されてもよい。要素アップデートシステム140は、クライアントデバイス110が実世界におけるルートを通過する際のクライアントデバイス110からの位置データと、ゲームサーバ120からの(又は、実施形態によってはクライアントデバイス110から直接の)ゲームデータを求めるリクエストを受信する。要素アップデートシステム140は、ルートの位置データを使用して、対応する仮想位置を判定し、その仮想位置において仮想要素を含むように、並行現実ゲームのグローバル状態をアップデートする。要素アップデートシステム140は、(位置データから判定される)クライアントデバイス110の動きに基づき、仮想要素のプロパティをさらにアップデートするか、又は、仮想世界に様々な種別の仮想要素をさらに追加してもよい。以下、図4を参照して、要素アップデートシステム140の種々の実施形態について、さらに詳細に説明する。
ネットワーク170は、ローカルエリアネットワーク(例えば、イントラネット)、ワイドエリアネットワーク(例えば、インターネット)、又はこれらの何らかの組み合わせ等、任意の種別の通信ネットワークとすることができる。このネットワークは、クライアントデバイス110とゲームサーバ120との間の直接的な接続も含むことができる。通常、ゲームサーバ120とクライアントデバイス110との間の通信は、任意の種別の有線、又は、無線接続を使用し、様々な通信プロトコル(例えば、TCP/IP、HTTP、SMTP、FTP)、符号化又はフォーマット(例えば、HTML、XML、JSON、)、又は、保護方式(例えば、VPN、セキュアHTTP、SSL)を使用して、ネットワークインタフェースを介して実施可能である。
本明細書において検討する技術は、サーバ、データベース、ソフトウェアアプリケーション、及びその他のコンピュータベースシステムとともに、とられた行動、このようなシステムとの間で送られた情報を参照する。当業者は、コンピュータベースシステムに本来備わった柔軟性により、構成要素間で様々なタスクの構成、組み合わせ、及び分割が可能となることを認識するであろう。例えば、本明細書において検討されるサーバの処理は、単一のサーバ、又は、組み合わせで動作する複数のサーバを使用して実装されてもよい。データベース及びアプリケーションは、単一のシステム上に実装されてもよく、又は、複数のシステムに分散されてもよい。分散された構成要素は、順次、又は、並行して動作してもよい。
また、本明細書において検討するシステム及び方法が、位置情報等、ユーザの個人情報にアクセスして解析するか、個人情報を使用する状況において、ユーザには、プログラム又は機能が情報を収集するか否かを制御し、システム又は他のアプリケーションからコンテンツを受信するか否か、又は、いかにして受信するかを制御する機会が与えられてもよい。ユーザに、何の情報が収集され、いかにしてその情報が使用されるかについて、意味のある通知を提供されるまで、このような情報又はデータは収集又は使用されることはない。この情報は、ユーザの同意がなければ、収集又は使用されることはなく、この同意もユーザによって随時無効化又は変更可能である。従って、ユーザは、ユーザについての情報がいかにして収集されるのか、アプリケーション又はシステムによっていかにして使用されるのかを制御することができる。また或る情報又はデータを、記憶又は使用前に1つ以上の方法で取り扱うことができ、個人を識別可能な情報を除外するようにする。例えば、ユーザの同定は、ユーザのために個人を識別可能な情報が判定できないように取り扱われてもよい。
図2は、クライアントデバイスの一実施形態を示している。図示の実施形態において、クライアントデバイス110は、ゲーミングモジュール210と、測位モジュール220と、カメラアセンブリ230とを備える。他の実施形態において、クライアントデバイス110は、異なる、又は、追加の要素を備えてもよい。さらに、記載とは異なる方法で、機能が要素間で分散されてもよい。
ゲーミングモジュール210は、並行現実ゲームに参加するために、プレーヤーにインタフェースを提供する。ゲームサーバ120は、ネットワーク170を介して、ゲーミングモジュール210によって使用されるゲームデータをクライアントデバイス110に送信し、ゲームサーバ120から離れた位置に居るプレーヤーにゲームのローカルバージョンを提供する。一実施形態において、ゲーミングモジュール210は、ゲームに関連付けられた仮想世界を表示(例えば、仮想世界の描写をレンダリング)し、ユーザに仮想世界と相互作用して種々のゲーム目標を実行させるクライアントデバイス110に関連付けられたディスプレイ装置上に、ユーザインタフェースを提示する。いくつかの実施形態において、ゲーミングモジュール210は、並行現実ゲームの仮想要素で拡張された実世界の(例えば、カメラアセンブリ230で撮影した)画像データを提示する。これらの実施形態において、ゲーミングモジュール210は、クライアントデバイス110の他の構成要素から受信した他の情報に応じて、仮想コンテンツの生成、又は、仮想コンテンツの調整を行ってもよい。例えば、ゲーミングモジュール210は、(例えば、深度推定モデルによって生成された)画像データの撮影シーンの深度マップに応じて、ユーザインタフェース上に表示される仮想オブジェクトを調整してもよい。
ゲーミングモジュール210は、プレーヤーが表示画面を見ることなくゲームと相互作用を行えるように、他の種々の出力も制御することができる。例えば、ゲーミングモジュール210は、プレーヤーが表示画面を見ることなくゲームを実行できるように、種々の音声、振動、又はその他の通知を制御することができる。ゲーミングモジュール210は、ユーザにゲームの正確な表現を提供するために、ゲームサーバ120から受信したゲームデータにアクセスすることができる。ゲーミングモジュール210は、プレーヤーの入力を受信及び処理することができ、ネットワーク170を通じて、ゲームサーバ120にアップデートを提供することができる。ゲーミングモジュール210は、クライアントデバイス110によって表示されるゲームコンテンツの生成又は調整も行ってよい。例えば、ゲーミングモジュール210は、(例えば、カメラアセンブリ230によって撮影された1つ以上の画像に適用される深度推定モデルによって判定される)深度情報に基づき、仮想要素を生成してもよい。
測位モジュール220は、クライアントデバイス110の位置を監視するための任意の装置又は回路とすることができる。例えば、測位モジュール220は、IPアドレスに基づき、三角測量、又は、携帯中継塔もしくはWiFiホットスポットへの近接、又はその他の好適な位置判定技術を使用して、衛星ナビゲーション測位システム(例えば、GPSシステム、ガリレオ測位システム、グローバルナビゲーション衛星システム(Global Navigation satellite system:GLONASS)、BeiDou衛星ナビゲーション測位システム)、慣性ナビゲーションシステム、デッドレコニングシステムを使用して実際の位置又は相対的な位置を判定することができる。測位モジュール220はさらに、クライアントデバイス110の位置を正確に測位する支援を行うことができる、様々な他のセンサを備えてもよい。いくつかの実施形態において、第1の位置判定技術を使用して(例えば、GPSシステムを使用して)大体の位置が判定され、測位モジュール220は、この大体の位置を使用して、クライアントデバイス110の近傍の3Dマップを取得する。測位モジュール220は、カメラアセンブリ230で撮影した画像を3Dマップと比較してクライアントデバイス110の位置及び向きを判定する等、3Dマップによる局所化技術を使用して、クライアントデバイス110のより正確な位置を判定してもよい。
プレーヤーが実世界でクライアントデバイス110を持って動き回る際、測位モジュール220は、プレーヤーの位置を追跡し、ゲーミングモジュール210にプレーヤーの位置情報を提供する。ゲーミングモジュール210は、実世界におけるプレーヤーの実際の位置に基づき、ゲームに関連付けられた仮想世界におけるプレーヤーの位置をアップデートする。このように、プレーヤーは、実世界においてクライアントデバイス110を単に携帯又は運搬するだけで、仮想世界と相互作用することができる。特に、仮想世界におけるプレーヤーの位置は、実世界におけるプレーヤーの位置と対応させることができる。ゲーミングモジュール210は、ネットワーク170を通じて、ゲームサーバ120にプレーヤーの位置情報を提供することができる。これに応じて、ゲームサーバ120は、不正行為者がクライアントデバイス110の位置なりすましを行うことを防ぐため、クライアントデバイス110の位置を検証する種々の技術を成立させることができる。プレーヤーの位置情報がアクセスされること、および、ゲームの文脈の中でその位置情報がいかに利用されるか(例えば、仮想世界におけるプレーヤーの位置をアップデートする)を知らされた後で許可された場合にのみ、プレーヤーに関連付けられた位置情報が利用されることを理解しなければならない。また、プレーヤーに関連付けられた任意の位置情報は、プレーヤーのプライバシーを保護する方法で記憶及び維持される。
カメラアセンブリ230は、クライアントデバイス110が位置する物理環境の画像を撮影するように構成された1つ以上のカメラを備える。画像に描写された物理環境の部分をシーンと称する。カメラアセンブリ230は、シーンに対応する画像データを撮影し、それをクライアントデバイスの記憶媒体に記憶する。更に又は代わりに、画像データは、ネットワーク170を介してゲームサーバ120に送られてもよい。カメラアセンブリ230は、変動キャプチャレート、且つ、変動カラーキャプチャ範囲の様々な変動フォトセンサを利用してもよい。カメラアセンブリ230は、広角レンズ又は望遠レンズを含んでいてもよい。カメラアセンブリ230は、画像データとして、単一の画像又は動画を撮影するように構成されていてもよい。クライアントデバイス110は、加速度計、ジャイロスコープ、慣性測定ユニット(inertial measurement units:IMUs)、バロメータ、温度計、光センサ、マイクロフォン等、クライアントデバイスの物理的環境についてのデータを記録する他のセンサも備えていてもよい。画像データには、感覚データ(例えば、環境の温度、明るさ)又は撮影データ(例えば、露光、温かみ、シャッタースピード、焦点距離、撮影時間等)を含む、画像データの他の詳細を説明するメタデータを添付することができる。
図3は、ゲームサーバ120の一実施形態を示している。図示の実施形態において、ゲームサーバ120は、ユニバーサルゲームモジュール310と、商用ゲームモジュール320と、データ収集モジュール330と、イベントモジュール3340とを備える。上述の通り、ゲームサーバ120は、ゲームサーバ120の一部であるか、又は、遠隔でアクセスされてもよいゲームデータベース130と相互作用する(例えば、ゲームデータベース130は、ネットワーク170を介してアクセスされる分散データベースであってもよい)。他の実施形態において、ゲームサーバ120は、異なる、又は、追加の要素を含む。また記載とは異なる方法で、機能が要素間において分散されてもよい。例えば、ゲームデータベース130は、ゲームサーバ120内に一体化可能である。
ユニバーサルゲームモジュール310は、すべてのプレーヤーに対して並行現実ゲームをホストし、すべてのプレーヤーの並行現実ゲームにおける現在のステータスの信頼できる情報源として振る舞う。ホストとして、ユニバーサルゲームモジュール310は、例えば、各々のクライアントデバイス110を介して、プレーヤーに対する表現のためのゲームコンテンツを生成する。ユニバーサルゲームモジュール310は、並行現実ゲームをホストするとき、ゲームデータを検索又は記憶するため、ゲームデータベース130にアクセスしてもよい。ユニバーサルゲームモジュール310は、クライアントデバイス110からゲームデータ(例えば、深度情報、プレーヤーの入力、プレーヤーの位置、プレーヤーの行為、ランドマーク情報等)も受信し、並行現実ゲームのすべてのプレーヤーのために、受信したゲームデータを並行現実ゲーム全体に組み込む。ユニバーサルゲームモジュール310は、ネットワーク170を通じたクライアントデバイス110へのゲームデータの伝送も管理することができる。ユニバーサルゲームモジュール310は、これらに限定されないが、クライアントデバイス110とゲームサーバ120との間の接続を保証すること、様々なクライアントデバイス110間の接続を確立させること、様々なクライアントデバイス110の位置を検証することを含む、クライアントデバイス110のセキュリティの側面も統制してよい。
商用ゲームモジュール320は、それが含まれる実施形態において、ユニバーサルゲームモジュール310から分離したものとすることもでき、又は、その一部とすることもできる。商用ゲームモジュール320は、実世界における商業活動にリンクされた並行現実ゲーム内での種々のゲーム特徴の包含を管理することができる。例えば、商用ゲームモジュール320は、ネットワークを通じた(ネットワークインタフェースを介した)、スポンサー/広告主、ビジネス、又はその他の実態等の外部システムから、並行現実ゲームにおける商業活動にリンクされたゲーム特徴を含めるリクエストを受信することができる。商用ゲームモジュール320は、その後、並行現実ゲームにおけるこれらのゲーム特徴の包含を手配することができる。
データ収集モジュール330は、それが含まれる実施形態において、ユニバーサルゲームモジュール310から分離したものとすることもでき、又は、その一部とすることができる。データ収集モジュール330は、実世界におけるデータ収集活動にリンクされた並行現実ゲーム内における種々のゲーム特徴の包含を管理することができる。例えば、データ収集モジュール330は、並行現実ゲーム内のデータ収集活動にリンクされたゲーム特徴を含むように、ゲームデータベース130に記憶されたゲームデータを修正することができる。データ収集モジュール330は、プレーヤーによって(例えば、クラウドソーシングの努力の一部として)収集されたデータを解析することもでき、種々のプラットフォームによるアクセスのためにデータを提供することもできる。特定の例を提供すると、プレーヤーは、自らの環境において関心のあるランドマーク及びその他の特徴の写真を提出するよう促され、データ収集モジュール330は、このプレーヤーによる提出に基づき、並行現実ゲームに実世界のランドマーク又は特徴に対応する仮想要素を組み込んでもよい(例えば、提出したプレーヤーの示す箇所にランドマークが存在し、かつ、位置している旨の検証を施す)。
イベントモジュール340は、並行現実ゲームにおけるイベントへのプレーヤーのアクセスを管理する。「イベント」という用語を便宜上使用するが、この用語は、特定の位置又は時間における特定のイベントを必ずしも言及するものでないことを理解しなければならない。むしろ、プレーヤーがそのコンテンツにアクセスしてもよいかを判定するために、1つ以上のアクセス基準を使用するアクセス制御ゲームコンテンツの提供を言及するものであってもよい。このようなコンテンツは、アクセス制御がほとんど又は全くないゲームコンテンツを含む、より大きな並行現実ゲームの一部であってもよく、又は、スタンドアローンのアクセス制御された並行現実ゲームであってもよい。
図4は、クライアントデバイスから受信した位置データに基づき、仮想世界に仮想要素を追加するように構成された、要素アップデートシステム140の一実施形態を示している。図示の実施形態において、要素アップデートシステム140は、マッピングモジュール410と、位置モジュール420とを備える。他の実施形態において、要素アップデートシステム140は、異なる、又は、追加の要素/モジュールを含む。さらに、記載とは異なる方法で、機能が要素/モジュール間で分散されてもよい。
マッピングモジュール410は、並行現実体験に各々接続されたクライアントデバイス110の位置を受信する。いくつかの実施形態において、マッピングモジュール410は、各クライアントデバイス110から直接位置を受信するが、ここでは、その位置が、クライアントデバイス110によって捕捉されたGPS座標である。他の実施形態において、マッピングモジュール410は、ゲームサーバ120から位置を受信する。いくつかの実施形態において、受信された位置には、マッピングモジュール410に送られるクライアントデバイス110のルートが含まれる。他の実施形態において、マッピングモジュール410は、受信した位置に基づき、実世界においてクライアントデバイス110が通過したルートを判定してもよい。例えば、マッピングモジュール410は、クライアントデバイスのルートとして、ある期間内にクライアントデバイス110から受信された位置を記録してもよい。他の例において、マッピングモジュール410は、クライアントデバイス110が特定の並行現実体験のためにゲームサーバ120に接続される間、クライアントデバイス110から受信した位置として、クライアントデバイスのルートを記録してもよい。この例において、マッピングモジュール410は、クライアントデバイス110が並行現実体験に接続されているときのクライアントデバイスの動きの1つの連続するルート、クライアントデバイス110が並行現実体験に接続されなかったときの実例に基づくギャップを含んだ1つのルート、クライアントデバイス110が並行現実体験に接続されなかったときのクライアントデバイスの動きを各々表す複数のルートを、ゲームデータベース130に記憶してもよい。さらに、マッピングモジュール410は、クライアントデバイス110が並行現実体験に接続する際、クライアントデバイス110の第1の位置を受信すると、クライアントデバイス110のためのルートの記憶を開始してもよい。リアルタイムで(例えば、1~2秒以内、10秒を超えない)クライアントデバイスの新たな位置を受信すると、マッピングモジュール410は、ゲームデータベース130において、その新たな位置を含むようにルートをアップデートしてもよい。
マッピングモジュール410は、各ルートについて、ゲームデータベース130にアクセスし、そのルートの実世界における位置に対応する仮想世界に関連付けられたデータを検索する。マッピングモジュール410は、検索されたデータに基づき、ゲームデータベース130に記憶された並行現実体験のグローバル状態において仮想要素を配置すべき仮想位置を判定する。例えば、マッピングモジュール410は、仮想位置がその位置のGPS座標に関連付けられるように、仮想世界において対応する仮想位置に、実世界における各位置をマップしてもよい。他の実施形態において、マッピングモジュール410は、仮想位置にマップする実世界における位置のサブセットを選択する。例えば、このサブセットは、実世界における位置のランダムなセット、ルート内の他のすべての位置、又は、ルート内の位置の別のパターン(例えば、一連の5つの実世界位置のうちの1つ)であってもよい。
判定された各仮想位置について、マッピングモジュール410は、その仮想位置に仮想要素を含むように、ゲームデータベース130内の並行現実体験のグローバル状態をアップデートする。いくつかの実施形態において、マッピングモジュール410は、仮想要素のすべては同一である。他の実施形態において、マッピングモジュール410は、ゲームデータベース130にアクセスして、クライアントデバイス110のユーザのユーザプロファイルに関連付けられた種別の仮想要素を検索してもよく、又は、現在選択されている種別の仮想要素(例えば、ユーザにより、メニューから選択されている)を判定してもよく、各仮想位置にその種別の仮想要素を含むようにグローバル状態をアップデートする。例えば、仮想要素は、花の表現であってもよく、並行現実体験に接続された別のクライアントデバイス110は、花の別の表現(例えば、異なる種別の花)に関連付けられてもよく、マッピングモジュール410は、これを各クライアントデバイス110のルートに対応する仮想位置に追加する。マッピングモジュール410は、マッピングモジュール410が1つ以上のクライアントデバイス110が並行現実体験中に通過した位置を受信した際、仮想位置に仮想要素を含むように、グローバル状態のアップデートを継続してもよい。このアップデートは、リアルタイムで発生してもよく、マッピングモジュール410は、クライアントデバイス110又はゲームサーバ120から実世界における対応位置を受信した後、短い期間(例えば、1~2秒)内に、仮想要素を含むように、グローバル状態をアップデートするようにする。
位置モジュール420は、クライアントデバイス110が1つ以上の仮想要素付近の仮想位置に対応する実世界の位置に位置しているか否かを判定する。特に、位置モジュール420は、並行現実体験に接続されたクライアントデバイス110の位置を受信する。位置モジュール420は、リアルタイム、又は、定期的に位置を受信してもよい。受信した各位置について、位置モジュール420は、クライアントデバイス110の位置に対応する仮想位置を判定する。位置モジュール420は、ゲームデータベース130にアクセスし、1つ以上のクライアントデバイス110によって通過されたルートに基づき、マッピングモジュール410によって追加された仮想要素といった、並行現実体験の仮想要素の仮想位置を検索する。
位置モジュール420は、対応する仮想位置を仮想要素の仮想位置と比較して、その対応する仮想位置が仮想要素の1つ以上に対して閾値距離内にあるか否かを判定する。閾値距離は、並行現実体験において標準であってもよく、ゲームサーバ120の外部オペレータによって設定されてもよく、又は仮想要素の位置に基づくものであってもよい。例えば、仮想要素が実世界における橋に対応する仮想位置に位置する場合、位置モジュール420は、対応する仮想位置を方向的に比較する複数の閾値距離を判定するために、橋の境界を使用してもよい。
対応する仮想位置が仮想要素のうちの1つ以上から閾値距離内にある旨、位置モジュール420が判定した場合、位置モジュール420は、クライアントデバイス110に送信される仮想要素を特定するARデータを生成し、その仮想要素の視覚表現を表示させることができる。さらに、位置モジュール420は、仮想要素のプロパティを変更してもよい。例えば、位置モジュール420は、仮想要素(例えば、花の表現)の成長率を増減させたり、仮想要素の色を変更したり、仮想要素の見た目を変更したりしてもよい。位置モジュール420は、仮想要素の修正されたプロパティを示す、アップデート後のARデータを、クライアントデバイス110に直接送るか、又はゲームサーバ120に示唆を送って、ゲームのグローバル状態をアップデートし、クライアントデバイス110にアップデートされたゲームデータを提供してもよい。これについては、図5Cを参照してさらに説明する。
さらに、位置モジュール420は、対応する仮想位置が1つ以上の仮想要素から閾値距離内にあることを判定すると、対応する仮想位置付近に1つ以上の新たな仮想要素を追加してもよい。位置モジュール420は、ゲームデータベース130内に記憶された並行現実体験のグローバル状態に、対応する仮想位置付近、又は、対応する仮想位置から所定距離に1つ以上の新たな仮想要素を追加してもよい。さらに、1つ以上の新たな仮想要素は、1つ以上の仮想要素と同一の種別のものであってもよく、1つ以上の仮想要素の種別及びクライアントデバイス110に関連付けられた種別に基づいて判定されてもよい。例えば、ゲームデータベース130は、仮想要素の種別と結果としての仮想要素の種別との間の関連付けであって、仮想要素をグローバル状態に追加したときに位置モジュール420が検索する関連付けを記憶してもよい。この概念については、図5Dとの関連でさらに説明する。位置モジュール420は、示唆をゲームサーバ120に送って、表示のために、アップデートされたグローバル状態をクライアントデバイス110に送ってもよい。
いくつかの実施形態において、位置モジュール420は、対応する仮想位置のクライアントデバイス110のユーザに関連付けられていない仮想要素の仮想位置と、対応する位置を比較するだけであってもよい。例えば、仮想要素が閾値距離内にあるものの、クライアントデバイスの以前の動きに基づいてマッピングモジュール410によって仮想位置に配置された場合、位置モジュール420は、対応する仮想位置に対する仮想要素の仮想位置に基づいてアクションを起こさなくてもよい(例えば、ゲームサーバ120に示唆を送らない、1つ以上の仮想要素を追加しない、又は仮想要素のプロパティを変更しない)。他の実施形態において、仮想要素がユーザに関連付けられたものと同一の種別である(例えば、花の表現について、仮想要素の種別、及び、ユーザに関連付けられた種別がともにひまわりである)場合、位置モジュール420はまた、仮想要素に対してアクションを起こさなくてもよい。
<例示的な並行現実ゲーム>
図5A~図5Dは、一実施形態に係る、実世界510と並行する地理を有する仮想世界500の表現を描写している。特に、図5Aは、並行現実体験に接続されたクライアントデバイス110の2名のユーザ520を描写している。ユーザ520は、実世界において異なる位置に位置しており、各々、仮想世界における仮想要素530に対応している。例えば、ユーザ520Aは、バラである仮想要素530Aの仮想位置に対応する実世界510における位置に位置している。ユーザ520Bは、デイジーである仮想要素530Bに対応する実世界510における位置に位置している。このバラは、仮想要素530Aの第1の種別であり、ユーザ520Aに関連付けられ得る。ユーザ520Aは、この第1の種別を選択したか、又はこれが割り当てられた人物である。デイジーは、仮想要素530Bの第2の種別であり、ユーザ520Bが選択したか、又はユーザ520Bに割り当てられたものであってもよい。
ユーザ520Bは、自身のクライアントデバイス110が並行現実体験に接続されている間にユーザが通過した実世界510内のルート540Aに関連付けられる。従って、仮想世界500は、ルート540Aに対応する仮想要素530Bを含む。これに対し、ユーザ520Aは、図5Aに示される自らの位置から並行現実体験への接続を求める接続リクエストを送ったものであり、ユーザ520Aは、自身の現在位置であって、並行現実体験に接続する前にとったルートではない位置に対応する単一の仮想要素530Aにのみ関連付けられる。
図5Bにおいて、ユーザ520はともに、自身のクライアントデバイス110を介して並行現実体験に接続されている間に、実世界510において動いている。ユーザ520Aは、ルート540Cを通過しており、マッピングモジュール410は、仮想世界500におけるルート540Cに対応する仮想位置に第1の種別の仮想要素530A(例えば、バラ)を追加している。ユーザ520Bは、ルート540Aの延長であるルート540Bを通過しており、マッピングモジュール410は、同様に、仮想世界500におけるルート540Bに対応する仮想位置に、第2の種別の仮想要素530B(例えば、デイジー)を追加している。さらに、マッピングモジュール410は、仮想世界500におけるグリッド上の同様の位置に仮想要素をマッピングするのでなく、ユーザのとった実際のルート540に対応する位置に仮想要素をマッピングしている。
ゲームサーバ120は、ユーザ520のクライアントデバイス110に、仮想要素のうちの1つ以上を含むARデータを送ってもよい。例えば、ユーザ520Aが自らのクライアントデバイス110のカメラをルート540Cに向けた場合、ユーザ520Aには、クライアントデバイス110のディスプレイを介して、自らのルートに並んだ仮想要素530が見えてもよい。また、図5Bに示される通り、ユーザ520Bがユーザ520Aのルート540Cを既に通過している場合、ユーザ520Aには、ユーザ520Bのルート540Bに並んだ仮想要素530Bが追加でディスプレイ上に見えてもよい。
図5Cにおいて、位置モジュール420は、仮想要素530のうちの1つ以上が互いに閾値距離内にあることを判定している。位置モジュール420は、仮想世界500における他の仮想要素530より大きいサイズであるものとして、仮想要素を仮想世界500に描写するように、1つ以上の仮想要素の成長率をアップデートしている。図5Cに示される通り、位置モジュール420は、ユーザ520のルート540が交差すると、仮想要素530Cのサイズ(成長率とも称する)を大きくするだけであってもよい。しかしながら、他の実施形態において、位置モジュール420は、所定の閾値距離内にある任意の仮想要素530の成長率を増加させてもよいし、或いは、ユーザ520Aが他のユーザ520Bの経路を通過すると、ユーザ520Aに関連付けられた任意の仮想要素の成長率も増加させてもよい。
図5Dにおいて、位置モジュール420は、1つ以上の仮想要素530が互いに閾値距離内にあることを判定している。これに応じて、位置モジュール420は、2つのルート540の仮想要素530付近の仮想世界500に、より多くの仮想要素530Dを追加している。追加された仮想要素530Dは、第3の種別であり(例えば、チューリップ)、仮想要素530Dを追加することは、異花受粉と称されてもよい。位置モジュール420は、第1及び第2の種別の仮想要素530に基づき、第3の種別の仮想要素530Dを判定してもよい。例えば、バラ及びデイジーを異花受粉させると、図5Dに示される通り、位置モジュール420はチューリップを選択してもよい。一方、チューリップ及びバラを異花受粉させると、位置モジュール420は菊を選択してもよい。位置モジュール420によって選択された特定の種別は、仮想世界500において互いに閾値距離内に配置されるときに位置モジュール420にその特定の種別を選択させる種別の組と関連付けて、ゲームデータベース130に記憶され得る。
<仮想要素配置プロセス>
図6は、一実施形態に係る、クライアントデバイスにARデータを提供するプロセス600を示すフローチャートである。特に、ゲームサーバ120は、AR体験に接続するための接続リクエストをクライアントデバイス110から受信する(610)。ゲームサーバ120は、AR体験のためにゲームデータベース130からのARデータをクライアントデバイス110に提供してもよく、この場合、ARデータは、クライアントデバイス110の周辺の実世界に対応する仮想世界を表現してもよい。いくつかの実施形態において、マッピングモジュール410は、接続リクエストの示唆をゲームサーバ120から受信してもよく、また、クライアントデバイス110によって捕捉された位置データをゲームサーバ120から受信してもよい。マッピングモジュール410は、位置データから、クライアントデバイス110が実世界で通過したルートを受信する(620)。このルートには、各々GPS座標によって表現され得る、実世界における位置が含まれる。いくつかの実施形態において、マッピングモジュール410は、リアルタイムで(例えば、クライアントデバイス110がその位置に位置してから1~2秒以内に)捕捉された実世界におけるクライアントデバイス110の位置を受信してもよく、受信した位置に基づいてクライアントデバイス110のルートを判定してもよい。
マッピングモジュール410は、このルートに基づいて、仮想要素を配置すべき仮想位置を判定する(630)。仮想位置の各々は、そのルートの実世界における位置に対応する。マッピングモジュール410は、そのルートに対応する仮想位置に仮想要素を含むように、ゲームデータベース130内のAR体験のグローバル状態をアップデートする(640)。いくつかの実施形態において、マッピングモジュール410は、クライアントデバイス110のユーザに関連付けられた仮想要素の種別を判定し、その種別の仮想要素を用いてグローバル状態をアップデートしてもよい。いくつかの例において、マッピングモジュール410は、クライアントデバイス110がルートの仮想位置に対応する実世界の位置に位置している旨の示唆をクライアントデバイス110から受信したことに応じて、リアルタイムで各仮想要素を含むように、グローバル状態をアップデートしてもよい。ゲームサーバ120は、実世界の対応する位置に表示を行うため、その仮想位置において仮想要素のうちの1つ以上を含むゲームデータベース130からのARデータを、第2のクライアントデバイスに提供する(650)。
いくつかの実施形態において、位置モジュール420は、クライアントデバイス110と同じAR体験を提供されている第2のクライアントデバイス110の現在位置を受信する。位置モジュール420は、第2のクライアントデバイス110が、ルート(例えば、実世界におけるルートの実世界における1つ以上の位置)から閾値距離内にあることを判定してもよい。第2のクライアントデバイス110がルートから閾値距離内にあると判定したことに応じて、位置モジュール420は、ARデータを第2のクライアントデバイス110に送るための示唆をゲームサーバ120に送ってもよく、この場合、ARデータには、ルートに対応する1つ以上の仮想要素が含まれる。いくつかの実施形態において、位置モジュール420は、第2のクライアント110がルートから閾値距離内にあると判定したことに応じて、仮想要素のうちの1つ以上についてプロパティを変更してもよい。例えば、仮想要素が花の表現である場合、位置モジュール420は、クライアントデバイス110が実世界で動くにつれて仮想要素のうちの1つ以上がより大きく成長するように、仮想要素の成長速度を増加させてもよい。
いくつかの実施形態において、仮想要素が第1の種別である場合、位置モジュール420は、第1の種別の仮想要素のうちの1つ以上が第2の種別の1つ以上の仮想要素から閾値距離内にあることを判定してもよい。第2の種別の仮想要素は、第2のクライアントデバイス110が通過した実世界における第2のルートにマッピングされてもよい。或いは、第2の種別の仮想要素は、ゲームサーバ120により、AR体験の部分(例えば、視覚効果、ミニゲーム等)について、ルート周辺の仮想世界に対応する位置に配置されたものであってもよい。位置モジュール420は、第1及び第2の種別の仮想要素に基づき、仮想世界に追加する第3の種別の1つ以上の仮想要素を生成してもよい。位置モジュール420は、ゲームサーバ120が表示用に第3の種別の仮想要素の1つ以上を含むARデータを実世界の対応位置付近にあるクライアントデバイス110に送ることができるように、第3の種別の仮想要素をグローバル状態に追加してもよい。
当業者は、本明細書において提供される開示を使用して、本開示に照らすと、多数のゲームインタフェースの構成と基礎となる機能が明らかとなることを理解するであろう。本開示は、いずれか特定の一構成に限定されることが意図されるものでない。
<例としてのコンピューティングシステム>
図7は、実施形態に係る演算装置のアーキテクチャの例である。図7は、一実施形態に係る、本明細書に記載の1つ以上の実態のうちの一部又は全部として使用されるコンピュータの物理的構成要素を示すハイレベルブロック図を描いたものであり、コンピュータは、図7に提供されるものに対して追加の構成要素を有してもよく、それより少ない構成要素を有してもよく、又はその変化形を有してもよい。図7では、コンピュータ700が描かれているが、同図は、本明細書に記載の実装の構造的概略図としてではなく、コンピュータシステム中に存在してもよい種々の特徴の機能説明として意図されたものである。実際には、そして当業者に認識されるように、別々に示された項目を組み合わせることができ、また、いくつかの項目を分離することができる。
図7には、チップセット704に連結される少なくとも1つのプロセッサ702が示されている。チップセット704には、メモリ706、記憶装置708、キーボード710、グラフィクスアダプタ712、ポインティングデバイス714、及びネットワークアダプタ716も連結される。ディスプレイ718は、グラフィクスアダプタ712に連結される。一実施形態において、チップセット704の機能は、メモリコントローラハブ720とI/Oハブ722とによって提供される。他の実施形態において、メモリ706は、チップセット704の代わりに、プロセッサ702に直接連結される。いくつかの実施形態において、コンピュータ700は、これらの構成要素を相互接続するための1つ以上の通信バスを備える。1つ以上の通信バスは、任意で、システム構成要素間の通信の相互接続及び制御を行う回路(チップセットと称することもある)を備える。
記憶装置708は、ハードドライブ、コンパクトディスク読み取り専用メモリ(compact disk read-only memory:CD-ROM)、DVD、又は固体メモリ装置もしくはその他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくはその他の磁気記憶装置、磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、又はその他の不揮発性固体記憶装置等、任意の非一時的なコンピュータ可読記憶媒体である。このような記憶装置708は、永続メモリとも称することができる。ポインティングデバイス714は、マウス、トラックボール、又はその他の種別のポインティングデバイスであってもよく、コンピュータにデータを入力するために、キーボード710と組み合わせて使用される。グラフィクスアダプタ712は、ディスプレイ718上に画像及びその他の情報を表示する。ネットワークアダプタ716は、コンピュータ700をローカルエリアネットワーク又はワイドエリアネットワークに連結する。
メモリ706は、プロセッサ702によって使用される命令及びデータを保持する。メモリ706は、非永続メモリとすることができ、その例としては、DRAM、SRAM、DDR RAM、ROM、EEPROM、フラッシュメモリ等、高速ランダムアクセスメモリが挙げられる。
当該技術分野で周知の通り、コンピュータ700は、図7に示されるものとは異なる他の構成要素を有することができる。さらに、コンピュータ700は、図示の特定の構成要素を省略することができる。一実施形態において、サーバとして振る舞うコンピュータ700からは、キーボード710、ポインティングデバイス714、グラフィクスアダプタ712、又はディスプレイ718を省略してもよい。さらに、記憶装置708は、コンピュータ700のローカルに存在するか、もしくは遠隔に存在するものとすることができる(例えば、記憶領域ネットワーク(storage area network:SAN)内に実装される)。
当該技術分野で周知の通り、コンピュータ700は、本明細書に記載の機能を提供するためのコンピュータプログラムモジュールを実行するように適応される。本明細書において使用される「モジュール」という用語は、特定の機能を提供するために利用されるコンピュータプログラム論理をいう。従って、モジュールは、ハードウェア、ファームウェア、又はソフトウェアに実装可能である。一実施形態において、プログラムモジュールは、記憶装置708に記憶され、メモリ706にロードされ、プロセッサ702によって実行される。
<追加の考慮事項>
上述の説明の一部は、アルゴリズムプロセス又は動作に関する実施形態について説明するものである。これらのアルゴリズムの説明及び表現は、データ処理分野の当業者が、他の当業者に自らの作業物の内容を効果的に伝えるために共通して使用される。これらの作業は、機能的、演算的、又は論理的に説明される場合、プロセッサ又は同等の電気回路、又はマイクロコード等によって実行される指示を含むコンピュータプログラムによって実装されることが理解される。さらに、場合によっては、一般性を失うことなく、これらの機能的動作の配置をモジュールと称することが簡便であることも明らかとされている。
本明細書において使用される「一実施形態」又は「実施形態」という言及はいずれも、その実施形態との関連で説明された特定の要素、特徴、構造、又は特性が少なくとも1つの実施形態に含まれることを意味する。明細書中、種々の箇所で「一実施形態」というフレーズが現れるが、これらは必ずしもすべてが同一の実施形態について言及しているものではない。
いくつかの実施形態は、「連結された」及び「接続された」という表現をその派生語とともに使用して説明される場合がある。これらの用語は互いの同義語であることが意図されていない旨、理解されなければならない。例えば、いくつかの実施形態は、2つ以上の要素が互いに直接物理的又は電気的に接触していることを示すために「接続された」という用語を使用して説明される場合がある。他の例において、いくつかの実施形態は、2つ以上の要素が直接物理的又は電気的に接触していることを示すために「連結された」という用語を使用して説明される場合がある。しかしながら、「連結された」という用語は、2つ以上の要素が互いに直接接触しないものの、互いに協働するか、又は相互作用する場合も意味することがある。これらの実施形態は、この文脈に限定されるものでない。
本明細書において使用される用語の「備える」「備えている」「含む」「含んでいる」「有する」「有している」又はこれらの他の任意の変化形は、非排他的包含を網羅するものと意図されている。例えば、ある要素のリストを備えるプロセス、方法、物、又は装置は、必ずしもこれらの要素のみに限定されるものでなく、明示的に列挙されていないか、又はこのようなプロセス、方法、物、装置に対して本来備わっている他の要素も含んでよい。さらに、反対の内容が明示的に言及されない限り、「又は」は、包含的な「又は」をいうものであって、排他的な「又は」ではない。例えば、条件A又はBは、以下のいずれかによって満たされる。すなわち、Aが真(又は存在する)でBが偽(又は存在しない)である、Aが偽(又は存在しない)でBが真(又は存在する)である、および、AもBも真である(又は存在する)のいずれかによって満たされる。
また不定冠詞の使用は、実施形態の要素又は構成要素の説明のために採用されている。これは、便宜上、本開示の一般的な意味を伝えるためのみになされたものである。本記述は、1つ又は少なくとも1つを含むものとして読み取られなければならず、反対の意味であることが明らかでない限り、この単数形は複数も包含するものである。
当業者は、本開示を読むと、拡張現実アプリケーションにおいてユーザの移動経路を表示するシステム及びプロセスについて、さらに代替の構造的且つ機能的設計を理解するであろう。従って、特定の実施形態及び用途について図示及び説明を行っているが、記載の主題は、本明細書に開示の精密な構造物及び構成要素に限定されるものでなく、本開示の方法及び装置の配置、動作、及び詳細には、当業者にとって明らかとなる種々の修正、変更、及び変動がなされてよいことが理解されなければならない。保護の範囲は、以下のクレームによってのみ限定されなければならない。

Claims (20)

  1. 仮想世界の地理が実世界の少なくとも一部の地理と並行する並行現実アプリケーションにおいて、拡張現実(augmented reality:AR)体験を提供する方法であって、
    クライアントデバイスから接続リクエストを受信することと、
    前記クライアントデバイスが前記実世界において通過したルートであって、前記実世界における複数の位置を含むルートを受信することと、
    複数の仮想要素を配置すべき複数の仮想位置であって、各々が前記ルートの前記実世界における前記複数の位置のうちの1つに対応する複数の仮想位置を判定することと、
    前記複数の仮想位置に前記複数の仮想要素を含むように、前記AR体験のグローバル状態をアップデートすることと、
    前記実世界の位に対応する前記複数の仮想位置の少なくとも一部において前記複数の仮想要素の少なくとも一部を第2のクライアントデバイスに表示させるARデータを前記第2のクライアントデバイスに提供することと、を含み、前記複数の仮想要素の前記少なくとも一部は、前記第2のクライアントデバイスから見た前記実世界または前記仮想世界のビューに重ねられる、方法。
  2. 前記複数の仮想要素の各々は、前記クライアントデバイスが前記ルートの前記仮想位置に対応する前記実世界の位置に位置する旨の示唆を、前記クライアントデバイスから受信したことに応じて、リアルタイムに前記仮想位置で前記グローバル状態に含まれる、
    請求項1に記載の方法。
  3. 前記実世界における前記複数の位置の各々、グローバルポジショニングシステム座標によって表現される、
    請求項1に記載の方法。
  4. 前記ARデータを前記第2のクライアントデバイスに提供することは、
    前記第2のクライアントデバイスの現在位置を受信することと、
    前記第2のクライアントデバイスが前記ルートから閾値距離内にある旨の判定の後、前記第2のクライアントデバイスに前記ARデータを提供することと、を含む、
    請求項1に記載の方法。
  5. 前記クライアントデバイスのユーザに関連付けられた仮想要素の種別を判定することをさらに含み、
    前記複数の仮想要素の各々は、前記ユーザに関連付けられた前記種別のものである、
    請求項1に記載の方法。
  6. 前記複数の仮想要素は、第1の種別であり、
    前記方法は、
    前記複数の仮想要素の1つ以上が、前記実世界の第2のルートであって、前記第2のクライアントデバイスまたは第3のクライアントデバイスによって通過された第2のルートに対応する仮想位置にマップされた、第2の種別の複数の第2の仮想要素のうちの1つ以上から閾値距離内にあることを判定することと、
    第3の種別の複数の第3の仮想要素を生成することと、をさらに含み、
    前記第3の種別は、前記第1の種別と前記第2の種別とに基づき、複数の可能性のある種別から選択される、
    請求項1に記載の方法。
  7. 前記第2のクライアントデバイスまたは第3のクライアントデバイスが前記複数の仮想要素のうちの1つ以上から閾値距離内にある旨の判定の後、前記複数の仮想要素のうちの1つ以上のプロパティを変更することをさらに含む、
    請求項1に記載の方法。
  8. 前記仮想要素は、花の表現であり、前記プロパティの変更は、前記花の表現の成長速度の増加である、
    請求項7に記載の方法。
  9. 前記クライアントデバイスに、前記AR体験についての第2のARデータであって、前記仮想世界を表現する前記第2のARデータを提供することをさらに含む、
    請求項1に記載の方法。
  10. 仮想世界の地理が実世界の少なくとも一部の地理と並行する並行現実アプリケーションにおいて、拡張現実(augmented reality:AR)体験を提供する命令であって、演算システムによって実行可能な命令を備える非一時的なコンピュータ可読記憶媒体であって、
    前記命令は、
    クライアントデバイスから接続リクエストを受信するための命令と、
    前記クライアントデバイスが前記実世界において通過したルートであって、前記実世界における複数の位置を含むルートを受信するための命令と、
    複数の仮想要素を配置すべき複数の仮想位置であって、各々が前記ルートの実世界における前記複数の位置のうちの1つに対応する複数の仮想位置を判定するための命令と、
    前記複数の仮想位置に前記複数の仮想要素を含むように、前記AR体験のグローバル状態をアップデートするための命令と、
    前記実世界の位に対応する前記複数の仮想位置の少なくとも一部において前記複数の仮想要素の少なくとも一部を第2のクライアントデバイスに表示させるARデータを前記第2のクライアントデバイスに提供するための命令と、を含み、前記複数の仮想要素の前記少なくとも一部は、前記第2のクライアントデバイスから見た前記実世界または前記仮想世界のビューに重ねられる、非一時的なコンピュータ可読記憶媒体。
  11. 前記複数の仮想要素の各々は、前記クライアントデバイスが前記ルートの前記仮想位置に対応する前記実世界の位置に位置する旨の示唆を、前記クライアントデバイスから受信したことに応じて、リアルタイムに前記仮想位置で前記グローバル状態に含まれる、
    請求項10に記載の非一時的なコンピュータ可読記憶媒体。
  12. 前記実世界における前記複数の位置の各々は、グローバルポジショニングシステム座標によって表現される、
    請求項10に記載の非一時的なコンピュータ可読記憶媒体。
  13. 前記ARデータを前記第2のクライアントデバイスに提供するための前記命令は、
    前記第2のクライアントデバイスの現在位置を受信するための命令と、
    前記第2のクライアントデバイスが前記ルートから閾値距離内にある旨の判定の後、前記第2のクライアントデバイスに前記ARデータを提供するための命令と、を含む、
    請求項10に記載の非一時的なコンピュータ可読記憶媒体。
  14. 前記命令は、
    前記クライアントデバイスのユーザに関連付けられた仮想要素の種別を判定するための命令をさらに含み、
    前記複数の仮想要素の各々は、前記ユーザに関連付けられた前記種別のものである、
    請求項10に記載の非一時的なコンピュータ可読記憶媒体。
  15. 前記複数の仮想要素は、第1の種別であり、
    前記命令は、
    前記複数の仮想要素の1つ以上が、前記実世界の第2のルートであって、前記第2のクライアントデバイスまたは第3のクライアントデバイスによって通過された第2のルートに対応する仮想位置にマップされた、第2の種別の複数の第2の仮想要素のうちの1つ以上から閾値距離内にあることを判定するための命令と、
    第3の種別の複数の第3の仮想要素を生成するための命令と、をさらに含み、
    前記第3の種別は、前記第1の種別と前記第2の種別とに基づき、複数の可能性のある種別から選択される、
    請求項10に記載の非一時的なコンピュータ可読記憶媒体。
  16. 前記命令は、
    前記第2のクライアントデバイスまたは第3のクライアントデバイスが前記複数の仮想要素のうちの1つ以上から閾値距離内にある旨の判定の後、前記複数の仮想要素のうちの1つ以上のプロパティを変更するための命令をさらに含む、
    請求項10に記載の非一時的なコンピュータ可読記憶媒体。
  17. 前記仮想要素は、花の表現であり、前記プロパティの変更は、前記花の表現の成長速度の増加である、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
  18. 前記命令は、
    前記クライアントデバイスに、前記AR体験についての第2のARデータであって、前記仮想世界を表現する前記第2のARデータを提供するための命令をさらに含む、
    請求項10に記載の非一時的なコンピュータ可読記憶媒体。
  19. コンピュータシステムであって、
    コンピュータプロセッサと、
    仮想世界の地理が実世界の少なくとも一部の地理と並行する並行現実アプリケーションにおいて、拡張現実(augmented reality:AR)体験を提供するための命令を記憶する非一時的なコンピュータ可読記憶媒体とを備え、
    前記命令は、前記コンピュータプロセッサによる実行されると、前記コンピュータプロセッサに、
    クライアントデバイスから接続リクエストを受信することと、
    前記クライアントデバイスが前記実世界において通過したルートであって、前記実世界における複数の位置を含むルートを受信することと、
    複数の仮想要素を配置すべき複数の仮想位置であって、各々が前記ルートの前記実世界における前記複数の位置のうちの1つに対応する複数の仮想位置を判定することと、
    前記複数の仮想位置に前記複数の仮想要素を含むように、前記AR体験のグローバル状態をアップデートすることと、
    前記実世界の位に対応する前記複数の仮想位置の少なくとも一部において前記複数の仮想要素の少なくとも一部を第2のクライアントデバイスに表示させるARデータを前記第2のクライアントデバイスに提供し、前記複数の仮想要素の前記少なくとも一部は、前記第2のクライアントデバイスから見た前記実世界または前記仮想世界のビューに重ねられることと、を含む動作を実行させる、コンピュータシステム。
  20. 前記複数の仮想要素の各々は、前記クライアントデバイスが前記ルートの前記仮想位置に対応する前記実世界の位置に位置する旨の示唆を、前記クライアントデバイスから受信したことに応じて、リアルタイムに前記仮想位置で前記グローバル状態に含まれる、
    請求項19に記載のコンピュータシステム。
JP2021124796A 2021-03-29 2021-07-29 拡張現実環境におけるマルチユーザルート追跡 Active JP7340746B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/216,381 US11590423B2 (en) 2021-03-29 2021-03-29 Multi-user route tracking in an augmented reality environment
US17/216,381 2021-03-29

Publications (2)

Publication Number Publication Date
JP2022153229A JP2022153229A (ja) 2022-10-12
JP7340746B2 true JP7340746B2 (ja) 2023-09-08

Family

ID=83364084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021124796A Active JP7340746B2 (ja) 2021-03-29 2021-07-29 拡張現実環境におけるマルチユーザルート追跡

Country Status (9)

Country Link
US (1) US11590423B2 (ja)
EP (1) EP4315268A1 (ja)
JP (1) JP7340746B2 (ja)
KR (1) KR20240004340A (ja)
CN (1) CN118076978A (ja)
AU (1) AU2022247450A1 (ja)
CA (1) CA3214258A1 (ja)
TW (1) TWI804257B (ja)
WO (1) WO2022208227A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230377279A1 (en) * 2022-05-19 2023-11-23 Disney Enterprises, Inc. Space and content matching for augmented and mixed reality
US20240075391A1 (en) * 2022-09-06 2024-03-07 Niantic, Inc. Content item for display in location-based game

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229405A (ja) 2000-02-17 2001-08-24 Namco Ltd ゲームシステム及び情報記憶媒体
WO2012101778A1 (ja) 2011-01-26 2012-08-02 パイオニア株式会社 表示装置、制御方法、プログラム、及び記憶媒体
JP2014149712A (ja) 2013-02-01 2014-08-21 Sony Corp 情報処理装置、端末装置、情報処理方法及びプログラム
WO2017090273A1 (ja) 2015-11-27 2017-06-01 株式会社アースビート ゲーム用オブジェクト制御システム及びプログラム
JP2017208820A (ja) 2017-06-06 2017-11-24 京セラ株式会社 発注システム
JP2018200519A (ja) 2017-05-26 2018-12-20 株式会社テクテック 拡張現実表示システム、プログラム及び方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8585476B2 (en) 2004-11-16 2013-11-19 Jeffrey D Mullen Location-based games and augmented reality systems
US9558612B2 (en) 2010-11-15 2017-01-31 Bally Gaming, Inc. System and method for augmented reality gaming
US9669296B1 (en) 2012-07-31 2017-06-06 Niantic, Inc. Linking real world activities with a parallel reality game
US20160133230A1 (en) * 2014-11-11 2016-05-12 Bent Image Lab, Llc Real-time shared augmented reality experience
KR101908016B1 (ko) 2016-12-08 2018-12-11 제주대학교 산학협력단 현실과 사이버 세상을 연계한 IoT 기반 O2O 도망자 추적 게임 시스템 및 방법
CN108763455A (zh) 2018-05-25 2018-11-06 薛文迪 一种基于ar实景导航的服务推荐方法和系统
KR102682524B1 (ko) 2018-09-11 2024-07-08 삼성전자주식회사 증강 현실에서 가상 객체를 표시하기 위한 측위 방법 및 장치

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229405A (ja) 2000-02-17 2001-08-24 Namco Ltd ゲームシステム及び情報記憶媒体
WO2012101778A1 (ja) 2011-01-26 2012-08-02 パイオニア株式会社 表示装置、制御方法、プログラム、及び記憶媒体
JP2014149712A (ja) 2013-02-01 2014-08-21 Sony Corp 情報処理装置、端末装置、情報処理方法及びプログラム
WO2017090273A1 (ja) 2015-11-27 2017-06-01 株式会社アースビート ゲーム用オブジェクト制御システム及びプログラム
WO2017090274A1 (ja) 2015-11-27 2017-06-01 株式会社アースビート ゲームシステム及びゲームプログラム
JP2018200519A (ja) 2017-05-26 2018-12-20 株式会社テクテック 拡張現実表示システム、プログラム及び方法
JP2017208820A (ja) 2017-06-06 2017-11-24 京セラ株式会社 発注システム

Also Published As

Publication number Publication date
EP4315268A1 (en) 2024-02-07
TWI804257B (zh) 2023-06-01
TW202302195A (zh) 2023-01-16
WO2022208227A1 (en) 2022-10-06
CA3214258A1 (en) 2022-10-06
AU2022247450A1 (en) 2023-11-16
US11590423B2 (en) 2023-02-28
CN118076978A (zh) 2024-05-24
US20220305388A1 (en) 2022-09-29
JP2022153229A (ja) 2022-10-12
KR20240004340A (ko) 2024-01-11

Similar Documents

Publication Publication Date Title
CN112805748B (zh) 使用深度提示对深度估计模型的自我监督训练
TW202004670A (zh) 深度估計系統之自監督訓練
JP7340746B2 (ja) 拡張現実環境におけるマルチユーザルート追跡
US11957978B2 (en) Refining camera re-localization determination using prior pose model
TWI797571B (zh) 用於自單一影像判定可遍歷空間之電腦實施方法及電腦可讀儲存媒體
TW202238068A (zh) 自監督多圖框單眼深度估計模型
TW202230211A (zh) 使用圖像神經網路及相關姿勢監督之視覺攝影機重新局部化
JP2024095794A (ja) 相互作用可能な拡張仮想現実体験
US20220351518A1 (en) Repeatability predictions of interest points
US11836965B2 (en) Determining visual overlap of images by using box embeddings
US20230271088A1 (en) Anonymizing User Location Data in a Location-Based Application
TW202131204A (zh) 具有可預測之查詢回應時間之地理定位資料的分區式儲存
US12073601B2 (en) Determining visual overlap of images by using box embeddings
US12039665B2 (en) Simulated consistency check for points of interest on three-dimensional maps

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230613

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230712

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20230731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230801

R150 Certificate of patent or registration of utility model

Ref document number: 7340746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150