IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クゥアルコム・インコーポレイテッドの特許一覧

特表2024-531083ネットワーク化されたデバイスをマッピングすること
<>
  • 特表-ネットワーク化されたデバイスをマッピングすること 図1
  • 特表-ネットワーク化されたデバイスをマッピングすること 図2
  • 特表-ネットワーク化されたデバイスをマッピングすること 図3
  • 特表-ネットワーク化されたデバイスをマッピングすること 図4
  • 特表-ネットワーク化されたデバイスをマッピングすること 図5
  • 特表-ネットワーク化されたデバイスをマッピングすること 図6
  • 特表-ネットワーク化されたデバイスをマッピングすること 図7
  • 特表-ネットワーク化されたデバイスをマッピングすること 図8
  • 特表-ネットワーク化されたデバイスをマッピングすること 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-29
(54)【発明の名称】ネットワーク化されたデバイスをマッピングすること
(51)【国際特許分類】
   H04L 67/131 20220101AFI20240822BHJP
   G06F 3/01 20060101ALI20240822BHJP
   G06T 19/00 20110101ALI20240822BHJP
【FI】
H04L67/131
G06F3/01 510
G06F3/01 570
G06T19/00 600
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024505068
(86)(22)【出願日】2022-07-27
(85)【翻訳文提出日】2024-01-26
(86)【国際出願番号】 US2022074224
(87)【国際公開番号】W WO2023015127
(87)【国際公開日】2023-02-09
(31)【優先権主張番号】17/392,156
(32)【優先日】2021-08-02
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】ホーランド、ウェスリー・ジェームス
(72)【発明者】
【氏名】フォーゲルサン、ブライアン
(72)【発明者】
【氏名】ビサイン、アブヒジート
(72)【発明者】
【氏名】アレラネス、デイビッド
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050AA10
5B050BA09
5B050CA07
5B050DA04
5B050EA05
5B050EA09
5B050EA13
5B050EA19
5B050EA27
5E555AA46
5E555BA01
5E555BA38
5E555BB01
5E555BB38
5E555BC01
5E555BE17
5E555CB66
5E555DA08
5E555FA00
(57)【要約】
スマートデバイスの位置を特定し、スマートデバイスをマッピングするためのシステム、方法、および非一時的媒体が提供される。例示的な方法は、エクステンデッドリアリティ(XR)デバイスによって、XRデバイスに直接または間接的に結合された接続されたデバイスから識別情報出力を受信することと、識別情報出力が、オーディオパターン、表示パターン、および/または光パターンを含む、接続されたデバイスからの識別情報出力を検出することと、接続されたデバイスからの識別情報出力に基づいて、XRデバイスの座標系において、接続されたデバイスをマッピングすることとを含むことができる。
【特許請求の範囲】
【請求項1】
1つまたは複数のデバイスの位置を特定するための装置であって、前記装置が、
メモリと、
前記メモリに結合された1つまたは複数のプロセッサと
を備え、前記1つまたは複数のプロセッサは、
前記装置に結合された接続されたデバイスから識別情報出力を受信することと、前記識別情報出力が、オーディオパターン、表示パターン、および光パターンのうちの少なくとも1つを備える、
前記接続されたデバイスからの前記識別情報出力に基づいて、前記装置の座標系において、前記接続されたデバイスをマッピングすることと
を行うように構成された、装置。
【請求項2】
前記1つまたは複数のプロセッサが、
前記識別情報出力に基づいて、前記接続されたデバイスのロケーションを決定することと、
前記接続されたデバイスの前記ロケーションに基づいて、前記装置の前記座標系において、前記接続されたデバイスをマッピングすることと
を行うように構成された、請求項1に記載の装置。
【請求項3】
前記1つまたは複数のプロセッサは、
前記接続されたデバイスに、前記接続されたデバイスからの追加の識別情報出力をトリガするように構成された信号を送ることと、
前記追加の識別情報出力を受信することの失敗に基づいて、前記接続されたデバイスに、1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることと、前記1つまたは複数の追加の信号が、前記接続されたデバイスからの前記追加の識別情報出力をトリガするように構成されている、
前記接続されたデバイスから前記追加の識別情報出力を受信することと、
前記追加の識別情報出力に基づいて、前記接続されたデバイスのロケーションを決定することと
を行うように構成され、
ここにおいて、前記装置の前記座標系において、前記接続されたデバイスをマッピングするために、前記1つまたは複数のプロセッサが、前記接続されたデバイスを前記接続されたデバイスの前記ロケーションに関連付けるようにデバイスマップを更新するように構成された、請求項1に記載の装置。
【請求項4】
1つまたは複数の異なる時間において前記1つまたは複数の追加の信号を送るために、前記1つまたは複数のプロセッサは、
前記装置が、前記接続されたデバイスのマッピングされたロケーションに対してしきい値近接度内にある、および前記接続されたデバイスの前記マッピングされたロケーションが、前記装置の画像センサーの視野内にある、のうちの少なくとも1つの間、前記追加の識別情報出力を受信することの前記失敗を決定することと、
前記追加の識別情報出力を受信することの前記失敗に基づいて、前記1つまたは複数の追加の信号を前記接続されたデバイスに送ることと
を行うように構成された、請求項3に記載の装置。
【請求項5】
1つまたは複数の異なる時間において前記1つまたは複数の追加の信号を送るために、前記1つまたは複数のプロセッサは、前記接続されたデバイスから前記追加の識別情報出力を受信することなしに、所定の時間量が経過する、および、前記接続されたデバイスから前記追加の識別情報出力を受信することなしに、いくつかの追加の信号が送られる、のうちの少なくとも1つまで、前記1つまたは複数の追加の信号を周期的に送るように構成された、請求項3に記載の装置。
【請求項6】
前記接続されたデバイスから前記識別情報出力を受信するために、前記1つまたは複数のプロセッサが、
前記装置の1つまたは複数のセンサーからのデータに基づいて、前記識別情報出力における1つまたは複数のパターンを検出することと、
前記接続されたデバイスからの前記識別情報出力として前記1つまたは複数のパターンを認識することと
を行うように構成された、請求項1に記載の装置。
【請求項7】
前記1つまたは複数のパターンが前記オーディオパターンを備え、前記1つまたは複数のセンサーがオーディオセンサーを備える、請求項6に記載の装置。
【請求項8】
前記1つまたは複数のパターンが前記表示パターンを備え、前記1つまたは複数のセンサーが画像センサーを備える、請求項6に記載の装置。
【請求項9】
前記1つまたは複数のパターンが前記光パターンを備え、前記1つまたは複数のセンサーが光センサーを備える、請求項6に記載の装置。
【請求項10】
前記接続されたデバイスからの前記識別情報出力として前記1つまたは複数のパターンを認識するために、前記1つまたは複数のプロセッサが、
ニューラルネットワークおよび特徴マッチングのうちの少なくとも1つを使用して、前記識別情報出力として前記1つまたは複数のパターンを認識すること
を行うように構成された、請求項6に記載の装置。
【請求項11】
前記1つまたは複数のプロセッサが、
前記接続されたデバイスによるアクションをトリガするための要求を受信することと、
前記接続されたデバイスの前記マッピングに基づいて、前記接続されたデバイスのロケーションを識別することと、
前記接続されたデバイスに、前記接続されたデバイスによる前記アクションをトリガするように構成されたコマンドを送ることと
を行うように構成された、請求項1に記載の装置。
【請求項12】
前記接続されたデバイスによる前記アクションをトリガするための前記要求が、前記接続されたデバイスによってキャプチャされたビデオフィードを前記装置に送るための要求を備え、ここにおいて、前記1つまたは複数のプロセッサは、
前記コマンドを前記接続されたデバイスに送ることと、ここにおいて、前記コマンドが、前記ビデオフィードを前記装置に送るように、前記接続されたデバイスをトリガするように構成されている、
前記接続されたデバイスから前記ビデオフィードを受信することと、
前記装置において前記ビデオフィードを表示することと
を行うように構成された、請求項11に記載の装置。
【請求項13】
前記接続されたデバイスによる前記アクションをトリガするための前記要求が、前記装置からのコンテンツを表示するように、前記接続されたデバイスをトリガするための要求を備え、ここにおいて、前記コマンドを前記接続されたデバイスに送るために、前記1つまたは複数のプロセッサは、
前記接続されたデバイスに、前記コマンドと前記装置からの前記コンテンツとを備えるデータを送ること、ここにおいて、前記コマンドが、前記装置からの前記コンテンツを表示するように、前記接続されたデバイスをトリガするように構成されている、
を行うように構成された、請求項11に記載の装置。
【請求項14】
前記接続されたデバイスによる前記アクションをトリガするための前記要求が、前記接続されたデバイスの電力モードを調整するための要求を備え、ここにおいて、前記コマンドが、前記接続されたデバイスの前記電力モードを調整するように構成された、請求項11に記載の装置。
【請求項15】
前記接続されたデバイスが電球を備え、ここにおいて、前記接続されたデバイスによる前記アクションをトリガするための前記要求が、前記電球によって放出された光の輝度および色のうちの少なくとも1つを調整するための要求を備え、ここにおいて、前記コマンドが、前記電球によって放出された光の前記輝度および前記色のうちの少なくとも1つを調整するように前記電球をトリガするように構成された、請求項11に記載の装置。
【請求項16】
前記1つまたは複数のプロセッサは、
前記装置に関連するユーザによるジェスチャーを検出することと、前記ジェスチャーが、前記接続されたデバイスのロケーションを示す、
前記ジェスチャーに基づいて、物理的環境における1つまたは複数の接続されたデバイスからの1つまたは複数の識別情報出力をトリガすることと、
前記1つまたは複数の識別情報出力から特定の識別情報出力を受信することと、前記特定の識別情報出力が前記ロケーションから発信する、
前記特定の識別情報出力に基づいて、前記接続されたデバイスが前記ロケーションに位置すると決定することと
を行うように構成された、請求項1に記載の装置。
【請求項17】
前記装置の前記座標系において、前記接続されたデバイスをマッピングするために、前記1つまたは複数のプロセッサが、
前記接続されたデバイスを前記接続されたデバイスの前記ロケーションに関連付けるようにデバイスマップを更新すること
を行うように構成された、請求項16に記載の装置。
【請求項18】
前記1つまたは複数のプロセッサは、
マッピングモードに入るように1つまたは複数の接続されたデバイスをトリガすることと、
前記1つまたは複数の接続されたデバイスに、デバイス識別情報出力を送ることと、
前記1つまたは複数の接続されたデバイスから位置特定情報を受信することと、前記位置特定情報が、前記装置に対する前記1つまたは複数の接続されたデバイスのロケーションを示す、
前記1つまたは複数の接続されたデバイスからの前記位置特定情報に基づいて、前記装置の前記座標系において前記1つまたは複数の接続されたデバイスをマッピングすることと
を行うように構成された、請求項1に記載の装置。
【請求項19】
前記1つまたは複数のプロセッサは、
マッピングモードに入るように1つまたは複数の接続されたデバイスをトリガすることと、
前記1つまたは複数の接続されたデバイスから位置特定情報を受信することと、前記位置特定情報が、前記1つまたは複数の接続されたデバイスに対するランドマークの第1のロケーションを示す、
前記位置特定情報に基づく前記1つまたは複数の接続されたデバイスの第2のロケーションと、前記装置に対する前記ランドマークの第3のロケーションとを決定することと、
前記1つまたは複数の接続されたデバイスの前記第2のロケーションに基づいて、前記装置の前記座標系において前記1つまたは複数の接続されたデバイスをマッピングすることと
を行うように構成された、請求項1に記載の装置。
【請求項20】
前記光パターンが、前記装置によって放出された光減光および増光レベルのパターンと、前記装置によって放出された光の色温度変化のパターンと、前記装置によって放出された明滅光のシーケンスとのうちの少なくとも1つを備える、請求項1に記載の装置。
【請求項21】
前記表示パターンが、前記装置のディスプレイデバイス上に表示されるコードと、前記装置の前記ディスプレイデバイス上に表示される画像と、前記装置の前記ディスプレイデバイス上に表示される視覚パターンと、前記装置の前記ディスプレイデバイス上に表示されるデジタルオブジェクトとのうちの少なくとも1つを備える、請求項1に記載の装置。
【請求項22】
前記オーディオパターンが、前記装置によって出力されたオーディオコードと、前記装置によって出力された音のシーケンスとのうちの少なくとも1つを備える、請求項1に記載の装置。
【請求項23】
前記1つまたは複数のプロセッサが、
前記接続されたデバイスに、前記接続されたデバイスからの前記識別情報出力をトリガするように構成された信号を送ることと、
前記接続されたデバイスから前記識別情報出力を受信することと
を行うように構成された、請求項1に記載の装置。
【請求項24】
前記識別情報出力を受信するために、前記1つまたは複数のプロセッサは、
前記接続されたデバイスによってブロードキャストされた複数の識別情報出力からの1つまたは複数の識別情報出力を受信すること、前記1つまたは複数の識別情報出力が前記識別情報出力を備える、
を行うように構成された、請求項1に記載の装置。
【請求項25】
前記装置がエクステンデッドリアリティデバイスである、請求項1に記載の装置。
【請求項26】
前記装置がモバイルデバイスである、請求項1に記載の装置。
【請求項27】
前記装置が、データを表示するように構成されたディスプレイと、画像データをキャプチャするように構成されたカメラとのうちの少なくとも1つである、請求項1に記載の装置。
【請求項28】
前記接続されたデバイスが、電球、スピーカー、テレビジョン、マイクロフォン、1つまたは複数のセンサー、カメラ、サーモスタット、およびウェアラブルデバイスのうちの少なくとも1つである、請求項1に記載の装置。
【請求項29】
1つまたは複数のデバイスの位置を特定するための方法であって、前記方法は、
電子デバイスに結合された接続されたデバイスから識別情報出力を受信することと、前記識別情報出力が、オーディオパターン、表示パターン、および光パターンのうちの少なくとも1つを備える、
前記接続されたデバイスからの前記識別情報出力に基づいて、前記電子デバイスの座標系において、前記接続されたデバイスをマッピングすることと
を備える、方法。
【請求項30】
前記識別情報出力に基づいて、前記接続されたデバイスのロケーションを決定することと、
前記接続されたデバイスの前記ロケーションに基づいて、前記電子デバイスの前記座標系において、前記接続されたデバイスをマッピングすることと
をさらに備える、請求項29に記載の方法。
【請求項31】
前記接続されたデバイスに、前記接続されたデバイスからの追加の識別情報出力をトリガするように構成された信号を送ることと、
前記追加の識別情報出力を受信することの失敗に基づいて、前記接続されたデバイスに、1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることと、前記1つまたは複数の追加の信号が、前記接続されたデバイスからの前記追加の識別情報出力をトリガするように構成されている、
前記接続されたデバイスから前記追加の識別情報出力を受信することと、
前記追加の識別情報出力に基づいて、前記接続されたデバイスのロケーションを決定することと
をさらに備え、
ここにおいて、前記電子デバイスの前記座標系において、前記接続されたデバイスをマッピングすることが、前記接続されたデバイスを前記接続されたデバイスの前記ロケーションに関連付けるようにデバイスマップを更新することを備える、請求項29に記載の方法。
【請求項32】
1つまたは複数の異なる時間において前記1つまたは複数の追加の信号を送ることは、
前記電子デバイスが、前記接続されたデバイスのマッピングされたロケーションに対してしきい値近接度内にある、および前記接続されたデバイスの前記マッピングされたロケーションが、前記電子デバイスの画像センサーの視野内にある、のうちの少なくとも1つの間、前記追加の識別情報出力を受信することの前記失敗を決定することと、
前記追加の識別情報出力を受信することの前記失敗に基づいて、前記1つまたは複数の追加の信号を前記接続されたデバイスに送ることと
を備える、請求項31に記載の方法。
【請求項33】
1つまたは複数の異なる時間において前記1つまたは複数の追加の信号を送ることは、前記接続されたデバイスから前記追加の識別情報出力を受信することなしに、所定の時間量が経過する、および、前記接続されたデバイスから前記追加の識別情報出力を受信することなしに、いくつかの追加の信号が送られる、のうちの少なくとも1つまで、前記1つまたは複数の追加の信号を周期的に送ることを備える、請求項31に記載の方法。
【請求項34】
前記接続されたデバイスから前記識別情報出力を受信することが、
前記電子デバイスの1つまたは複数のセンサーからのデータに基づいて、前記識別情報出力における前記オーディオパターン、前記表示パターン、および前記光パターンのうちの少なくとも1つを検出することと、
前記接続されたデバイスからの前記識別情報出力として、前記オーディオパターン、前記表示パターン、および前記光パターンのうちの前記少なくとも1つを認識することと
を備える、請求項29に記載の方法。
【請求項35】
前記接続されたデバイスからの前記識別情報出力として、前記オーディオパターン、前記表示パターン、および前記光パターンのうちの前記少なくとも1つを認識することは、
ニューラルネットワークおよび特徴マッチングのうちの少なくとも1つを使用して、前記識別情報出力として、前記オーディオパターン、前記表示パターン、および前記光パターンのうちの前記少なくとも1つを認識すること、ここにおいて、前記1つまたは複数のセンサーが、オーディオセンサー、光センサー、および画像センサーのうちの少なくとも1つを備える、
を備える、請求項34に記載の方法。
【請求項36】
前記接続されたデバイスによるアクションをトリガするための要求を受信することと、
前記接続されたデバイスの前記マッピングに基づいて、前記接続されたデバイスのロケーションを識別することと、
前記接続されたデバイスに、前記接続されたデバイスによる前記アクションをトリガするように構成されたコマンドを送ることと
をさらに備える、請求項29に記載の方法。
【請求項37】
前記接続されたデバイスによる前記アクションをトリガするための前記要求が、前記接続されたデバイスによってキャプチャされたビデオフィードを前記電子デバイスに送るための要求を備え、前記方法は、
前記コマンドを前記接続されたデバイスに送ることと、ここにおいて、前記コマンドが、前記ビデオフィードを前記電子デバイスに送るように、前記接続されたデバイスをトリガするように構成されている、
前記接続されたデバイスから前記ビデオフィードを受信することと、
前記電子デバイスにおいて前記ビデオフィードを表示することと
をさらに備える、請求項36に記載の方法。
【請求項38】
前記接続されたデバイスによる前記アクションをトリガするための前記要求が、前記電子デバイスからのコンテンツを表示するように、前記接続されたデバイスをトリガするための要求を備え、ここにおいて、前記コマンドを前記接続されたデバイスに送ることは、
前記接続されたデバイスに、前記コマンドと前記電子デバイスからの前記コンテンツとを備えるデータを送ること、ここにおいて、前記コマンドが、前記電子デバイスからの前記コンテンツを表示するように、前記接続されたデバイスをトリガするように構成されている、
を備える、請求項36に記載の方法。
【請求項39】
前記接続されたデバイスによる前記アクションをトリガするための前記要求が、前記接続されたデバイスの電力モードを調整するための要求を備え、ここにおいて、前記コマンドが、前記接続されたデバイスの前記電力モードを調整するように構成された、請求項36に記載の方法。
【請求項40】
前記電子デバイスに関連するユーザによるジェスチャーを検出することと、前記ジェスチャーが、前記接続されたデバイスのロケーションを示す、
前記ジェスチャーに基づいて、物理的環境における1つまたは複数の接続されたデバイスからの1つまたは複数の識別情報出力をトリガすることと、
前記1つまたは複数の識別情報出力から特定の識別情報出力を受信することと、前記特定の識別情報出力が前記ロケーションから発信する、
前記特定の識別情報出力に基づいて、前記接続されたデバイスが前記ロケーションに位置すると決定することと
をさらに備え、
ここにおいて、前記電子デバイスの前記座標系において、前記接続されたデバイスをマッピングすることが、前記接続されたデバイスを前記接続されたデバイスの前記ロケーションに関連付けるようにデバイスマップを更新することを備える、請求項29に記載の方法。
【請求項41】
マッピングモードに入るように1つまたは複数の接続されたデバイスをトリガすることと、
前記1つまたは複数の接続されたデバイスに、デバイス識別情報出力を送ることと、
前記1つまたは複数の接続されたデバイスから位置特定情報を受信することと、前記位置特定情報が、前記電子デバイスに対する前記1つまたは複数の接続されたデバイスのロケーションを示す、
前記1つまたは複数の接続されたデバイスからの前記位置特定情報に基づいて、前記電子デバイスの前記座標系において前記1つまたは複数の接続されたデバイスをマッピングすることと
をさらに備える、請求項29に記載の方法。
【請求項42】
マッピングモードに入るように1つまたは複数の接続されたデバイスをトリガすることと、
前記1つまたは複数の接続されたデバイスから位置特定情報を受信することと、前記位置特定情報が、前記1つまたは複数の接続されたデバイスに対するランドマークの第1のロケーションを示す、
前記位置特定情報に基づく前記1つまたは複数の接続されたデバイスの第2のロケーションと、前記電子デバイスに対する前記ランドマークの第3のロケーションとを決定することと、
前記1つまたは複数の接続されたデバイスの前記第2のロケーションに基づいて、前記電子デバイスの前記座標系において前記1つまたは複数の接続されたデバイスをマッピングすることと
をさらに備える、請求項29に記載の方法。
【請求項43】
前記接続されたデバイスに、前記接続されたデバイスからの前記識別情報出力をトリガするように構成された信号を送ることと、
前記接続されたデバイスから前記識別情報出力を受信することと
をさらに備える、請求項29に記載の方法。
【請求項44】
前記識別情報出力を受信することは、
前記接続されたデバイスによってブロードキャストされた複数の識別情報出力からの1つまたは複数の識別情報出力を受信すること、前記1つまたは複数の識別情報出力が前記識別情報出力を備える、
を備える、請求項29に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本開示は、一般に、ネットワーク化されたデバイスを制御し、それと対話するために、ネットワーク化されたデバイスをマッピングすることに関する。たとえば、本開示の態様は、ネットワーク化されたデバイスを制御し、それと対話するために、ネットワーク化されたデバイスの位置を特定し、ネットワーク化されたデバイスをマッピングするためにエクステンデッドリアリティシステムを使用することに関する。
【背景技術】
【0002】
[0002] スマートグラスおよびヘッドマウントディスプレイ(HMD)など、エクステンデッドリアリティ(たとえば、拡張現実、仮想現実など)デバイスは、概して、物理的環境内のエクステンデッドリアリティ(XR:extended reality)デバイスおよび他のオブジェクトの位置を追跡するためにカメラおよびセンサーを実装する。XRリアリティデバイスは、XRデバイスのユーザに現実的なXRエクスペリエンスを提供するために追跡情報を使用することができる。たとえば、XRデバイスは、ユーザが、没入型仮想環境またはコンテンツを経験するか、あるいはそれと対話することを可能にすることができる。現実的なXRエクスペリエンスを提供するために、XR技術は、仮想コンテンツを物理世界と統合することができ、これは、オブジェクトおよびデバイスの相対姿勢および移動をマッチさせることを伴うことができる。XR技術は、デバイス、オブジェクト、および/または現実世界環境の相対位置および移動をマッチさせ、説得力のある様式でコンテンツを現実世界環境にアンカリングするために、デバイス、オブジェクトの相対姿勢、および/または現実世界環境のマップを計算するために追跡情報を使用することができる。相対姿勢情報は、仮想コンテンツを、デバイス、オブジェクト、および現実世界環境の、ユーザの知覚した動きおよび時空間状態とマッチさせるために使用され得る。
【0003】
[0003] XRデバイスおよび他の電子デバイス(electronic device)(たとえば、モバイルフォン、タブレットコンピュータなど)など、いくつかの電子デバイスは、他のデバイスと対話するために、他のデバイスとペアリングされ得る。たとえば、電子デバイスは、ネットワーク化されたデバイスを制御するために、モノのインターネット(IoT)デバイス、接続されたデバイス、またはスマートホームデバイス(たとえば、スマートカメラ、スピーカー、電球、ロック、プラグ、サーモスタット、ディスプレイ、テレビジョン、セキュリティシステム、アプライアンスなど)など、ネットワーク化されたデバイスとペアリングされ得る。一般に、電子デバイスを、ネットワーク化されたデバイスまたは他の電子デバイスを制御するように構成するためのプロセスは、困難であり得、概して、時間がかかる手動作業を伴う。
【発明の概要】
【0004】
[0004] ネットワーク化されたデバイス(たとえば、モノのインターネット(IoT)デバイス、接続されたデバイスまたはスマートデバイスなど)など、1つまたは複数のデバイスの位置を特定し、1つまたは複数のデバイスをマッピングするためのシステムおよび技法が、本明細書で説明される。少なくとも1つの例によれば、エクステンデッドリアリティ(XR)デバイスなど、電子デバイスを使用して、ネットワーク化されたデバイスを制御するために、ネットワーク化されたデバイスをマッピングするための方法が提供される。本方法は、電子デバイスに結合された接続されたデバイス(connected device)から識別情報出力(identification output)を受信することと、接続されたデバイスからの識別情報出力に基づいて、電子デバイスの座標系(coordinate system)において、接続されたデバイスをマッピングすることとを含むことができる。
【0005】
[0005] 少なくとも1つの例によれば、XRデバイスなど、電子デバイスを使用して、ネットワーク化されたデバイスを制御するために、ネットワーク化されたデバイスをマッピングするための非一時的コンピュータ可読媒体が提供される。いくつかの例では、本非一時的コンピュータ可読媒体は、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、電子デバイスに結合された接続されたデバイスから識別情報出力を受信することと、接続されたデバイスからの識別情報出力に基づいて、電子デバイスの座標系において、接続されたデバイスをマッピングすることとを行わせる命令を含むことができる。
【0006】
[0006] 少なくとも1つの例によれば、XRデバイスなど、電子デバイスを使用して、ネットワーク化されたデバイスを制御するために、ネットワーク化されたデバイスをマッピングするための装置(apparatus)が提供される。いくつかの例では、本装置は、メモリと、メモリに結合された1つまたは複数のプロセッサとを含むことができ、1つまたは複数のプロセッサは、電子デバイスに結合された接続されたデバイスから識別情報出力を受信することと、接続されたデバイスからの識別情報出力に基づいて、電子デバイスの座標系において、接続されたデバイスをマッピングすることとを行うように構成される。
【0007】
[0007] 少なくとも1つの例によれば、XRデバイスなど、電子デバイスを使用して、ネットワーク化されたデバイスを制御するために、ネットワーク化されたデバイスをマッピングするための別の装置が提供される。いくつかの例では、本装置は、電子デバイスに結合された接続されたデバイスから識別情報出力を受信することと、接続されたデバイスからの識別情報出力に基づいて、電子デバイスの座標系において、接続されたデバイスをマッピングすることとを行うための手段を含むことができる。
【0008】
[0008] いくつかの態様では、本方法、本非一時的コンピュータ可読媒体、および本装置は、識別情報出力に基づいて、接続されたデバイスのロケーション(location)を決定することと、接続されたデバイスのロケーションに基づいて、電子デバイスの座標系において、接続されたデバイスをマッピングすることとを含むことができる。
【0009】
[0009] いくつかの例では、識別情報出力は、オーディオパターン(audio pattern)、表示パターン(display pattern)、光パターン(light pattern)、および無線信号のうちの少なくとも1つを含むことができる。
【0010】
[0010] いくつかの態様では、本方法、本非一時的コンピュータ可読媒体、および本装置は、接続されたデバイスに、接続されたデバイスからの追加の識別情報出力をトリガ(trigger)するように構成された信号を送ることと、追加の識別情報出力を受信することの失敗(failure)に基づいて、接続されたデバイスに、1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることと、1つまたは複数の追加の信号が、接続されたデバイスからの追加の識別情報出力をトリガするように構成された、接続されたデバイスから追加の識別情報出力を受信することと、追加の識別情報出力に基づいて、接続されたデバイスのロケーションを決定することとを含むことができる。いくつかの例では、電子デバイスの座標系において、接続されたデバイスをマッピングすることは、接続されたデバイスを接続されたデバイスのロケーションに関連付けるようにデバイスマップ(device map)を更新することを含むことができる。
【0011】
[0011] いくつかの例では、1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることは、電子デバイスが、接続されたデバイスのマッピングされたロケーションに対してしきい値近接度(threshold proximity)内にある、および接続されたデバイスのマッピングされたロケーションが、電子デバイスの画像センサーの視野(field-of-view)内にある、のうちの少なくとも1つの間、追加の識別情報出力を受信することの失敗を決定することと、追加の識別情報出力を受信することの失敗に基づいて、1つまたは複数の追加の信号を接続されたデバイスに送ることとを含むことができる。
【0012】
[0012] いくつかの例では、1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることは、接続されたデバイスから追加の識別情報出力を受信することなしに、所定の時間量が経過する、および、接続されたデバイスから追加の識別情報出力を受信することなしに、いくつかの追加の信号が送られる、のうちの少なくとも1つまで、1つまたは複数の追加の信号を周期的に送ることを含むことができる。
【0013】
[0013] いくつかの例では、接続されたデバイスから識別情報出力を受信することは、電子デバイスの1つまたは複数のセンサーからのデータに基づいて、識別情報出力における1つまたは複数のパターン(pattern)を検出することと、接続されたデバイスからの識別情報出力として1つまたは複数のパターンを認識することとを含むことができる。
【0014】
[0014] いくつかの場合には、1つまたは複数のパターンはオーディオパターンを含むことができ、1つまたは複数のセンサーはオーディオセンサーを含むことができる。いくつかの場合には、1つまたは複数のパターンは表示パターンを含むことができ、1つまたは複数のセンサーは画像センサーを含むことができる。いくつかの場合には、1つまたは複数のパターンは光パターンを含むことができ、1つまたは複数のセンサーは光センサーを含むことができる。
【0015】
[0015] いくつかの態様では、接続されたデバイスからの識別情報出力として1つまたは複数のパターンを認識することは、ニューラルネットワーク(neural network)および特徴マッチング(feature matching)のうちの少なくとも1つを使用して、識別情報出力として1つまたは複数のパターンを認識することを含むことができる。
【0016】
[0016] いくつかの態様では、本方法、本非一時的コンピュータ可読媒体、および本装置は、接続されたデバイスによるアクション(action)をトリガするための要求を受信することと、接続されたデバイスのマッピングに基づいて、接続されたデバイスのロケーションを識別することと、接続されたデバイスに、接続されたデバイスによるアクションをトリガするように構成されたコマンドを送ることとを含むことができる。
【0017】
[0017] いくつかの場合には、接続されたデバイスによるアクションをトリガするための要求は、接続されたデバイスによってキャプチャされたビデオフィード()を電子デバイスに送るための要求を含むことができる。いくつかの例では、本方法、本非一時的コンピュータ可読媒体、および本装置は、コマンドを接続されたデバイスに送ることと、ここにおいて、コマンドが、ビデオフィードを電子デバイスに送るように、接続されたデバイスをトリガするように構成された、接続されたデバイスからビデオフィードを受信することと、電子デバイスにおいてビデオフィードを表示することとを含むことができる。
【0018】
[0018] いくつかの例では、接続されたデバイスによるアクションをトリガするための要求は、電子デバイスからのコンテンツを表示するように、接続されたデバイスをトリガするための要求を含むことができ、コマンドを接続されたデバイスに送ることは、接続されたデバイスに、コマンドと電子デバイスからのコンテンツとを含むデータを送ることを含むことができる。いくつかの例では、コマンドは、電子デバイスからのコンテンツを表示するように、接続されたデバイスをトリガするように構成される。
【0019】
[0019] いくつかの例では、接続されたデバイスによるアクションをトリガするための要求は、接続されたデバイスの電力モードを調整するための要求を含むことができ、コマンドは、接続されたデバイスの電力モードを調整するように構成される。
【0020】
[0020] いくつかの場合には、接続されたデバイスは電球を含むことができ、接続されたデバイスによるアクションをトリガするための要求は、電球によって放出された光の輝度および色のうちの少なくとも1つを調整するための要求を含むことができ、コマンドは、電球によって放出された光の輝度および色のうちの少なくとも1つを調整するように電球をトリガするように構成される。
【0021】
[0021] いくつかの態様では、本方法、本非一時的コンピュータ可読媒体、および本装置は、電子デバイスに関連するユーザによるジェスチャー(gesture)を検出することと、ジェスチャーが、接続されたデバイスのロケーションを示す、ジェスチャーに基づいて、物理的環境(physical environment)における1つまたは複数の接続されたデバイスからの1つまたは複数の識別情報出力をトリガすることと、1つまたは複数の識別情報出力から特定の識別情報出力を受信することと、特定の識別情報出力がロケーションから発信する、特定の識別情報出力に基づいて、接続されたデバイスがロケーションに位置すると決定することとを含むことができる。いくつかの例では、電子デバイスの座標系において、接続されたデバイスをマッピングすることは、接続されたデバイスを接続されたデバイスのロケーションに関連付けるようにデバイスマップを更新することを含むことができる。
【0022】
[0022] いくつかの態様では、本方法、本非一時的コンピュータ可読媒体、および本装置は、電子デバイスに関連するユーザによるボイスコマンドを受信することと、ボイスコマンドが、接続されたデバイスのロケーションを示す、ボイスコマンドに基づいて、物理的環境における1つまたは複数の接続されたデバイスからの1つまたは複数の識別情報出力をトリガすることと、1つまたは複数の識別情報出力から特定の識別情報出力を受信することと、特定の識別情報出力がロケーションから発信する、特定の識別情報出力に基づいて、接続されたデバイスがロケーションに位置すると決定することとを含むことができる。
【0023】
[0023] いくつかの態様では、本方法、本非一時的コンピュータ可読媒体、および本装置は、マッピングモード(mapping mode)に入るように1つまたは複数の接続されたデバイスをトリガすることと、1つまたは複数の接続されたデバイスに、デバイス識別情報出力を送ることと、1つまたは複数の接続されたデバイスから位置特定情報(localization information)を受信することと、位置特定情報が、電子デバイスに対する1つまたは複数の接続されたデバイスのロケーションを示す、1つまたは複数の接続されたデバイスからの位置特定情報に基づいて、電子デバイスの座標系において1つまたは複数の接続されたデバイスをマッピングすることとを含むことができる。
【0024】
[0024] いくつかの態様では、本方法、本非一時的コンピュータ可読媒体、および本装置は、マッピングモードに入るように1つまたは複数の接続されたデバイスをトリガすることと、1つまたは複数の接続されたデバイスから位置特定情報を受信することと、位置特定情報が、1つまたは複数の接続されたデバイスに対するランドマーク(landmark)の第1のロケーションを示す、位置特定情報に基づく1つまたは複数の接続されたデバイスの第2のロケーションと、電子デバイスに対するランドマークの第3のロケーションとを決定することと、1つまたは複数の接続されたデバイスの第2のロケーションに基づいて、電子デバイスの座標系において1つまたは複数の接続されたデバイスをマッピングすることとを含むことができる。
【0025】
[0025] いくつかの例では、識別情報出力は光パターンを含むことができ、光パターンは、電子デバイスによって放出された光減光および増光(light dimming and brightening)レベルのパターンと、電子デバイスによって放出された光の色温度変化(color temperature changes)のパターンと、電子デバイスによって放出された明滅光のシーケンス(a sequence of blinking light)とのうちの少なくとも1つを含むことができる。
【0026】
[0026] いくつかの例では、識別情報出力は表示パターンを含むことができ、表示パターンは、電子デバイスのディスプレイデバイス上に表示されるコードと、電子デバイスのディスプレイデバイス上に表示される画像と、電子デバイスのディスプレイデバイス上に表示される視覚パターンと、電子デバイスのディスプレイデバイス上に表示されるデジタルオブジェクト(digital object)とのうちの少なくとも1つを含むことができる。
【0027】
[0027] いくつかの例では、識別情報出力はオーディオパターンを含むことができ、オーディオパターンは、電子デバイスによって出力されたオーディオコード(audio code)と、電子デバイスによって出力された音のシーケンス(a sequence of sounds)とのうちの少なくとも1つを含むことができる。
【0028】
[0028] いくつかの態様では、本方法、本非一時的コンピュータ可読媒体、および本装置は、接続されたデバイスに、接続されたデバイスからの識別情報出力をトリガするように構成された信号を送ることと、接続されたデバイスから識別情報出力を受信することとを含むことができる。
【0029】
[0029] いくつかの場合には、識別情報出力を受信することは、接続されたデバイスによってブロードキャストされた複数の識別情報出力からの1つまたは複数の識別情報出力を受信すること、1つまたは複数の識別情報出力が識別情報出力を含む、を含むことができる。
【0030】
[0030] いくつかの場合には、接続されたデバイスは、電球、スピーカー、テレビジョン、マイクロフォン、1つまたは複数のセンサー、カメラ、サーモスタット、およびウェアラブルデバイスのうちの少なくとも1つである。
【0031】
[0031] いくつかの例では、識別情報出力は、受信された無線信号を含むことができる。
【0032】
[0032] いくつかの態様では、上記で説明された装置の各々は、ネットワーク化されたデバイスおよび/またはXRデバイス(たとえば、仮想現実(VR)デバイス、拡張現実(AR)デバイス、または複合現実(MR)デバイス)の一部であるか、それらの一部であり得るか、またはそれらを含むことができる。いくつかの例では、装置は、車両、モバイルデバイス(たとえば、携帯電話またはいわゆる「スマートフォン」または他のモバイルデバイス)、ウェアラブルデバイス、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバコンピュータ、ロボティクスデバイスまたはシステム、航空システム、あるいは他のデバイスを含むか、またはそれらの一部であり得る。いくつかの態様では、装置は、1つまたは複数の画像をキャプチャするための画像センサー(たとえば、カメラ)または複数の画像センサー(たとえば、複数のカメラ)を含む。いくつかの態様では、装置は、1つまたは複数の画像、通知、および/または他の表示可能なデータを表示するための1つまたは複数のディスプレイを含む。いくつかの態様では、装置は、1つまたは複数のスピーカー、1つまたは複数の発光デバイス、および/または1つまたは複数のマイクロフォンを含む。いくつかの態様では、上記で説明された装置は、1つまたは複数のセンサーを含むことができる。いくつかの場合には、1つまたは複数のセンサーは、装置のロケーション、装置の状態(たとえば、追跡状態、動作状態、温度、湿度レベル、および/または他の状態)を決定するために、および/または他の目的のために使用され得る。
【0033】
[0033] 本発明の概要は、請求される主題の主要なまたは本質的な特徴を識別するものではなく、請求される主題の範囲を決定するために独立して使用されるものでもない。本主題は、本特許の明細書全体、いずれかまたはすべての図面、および各請求項の適切な部分を参照することによって理解されたい。
【0034】
[0034] 前述の内容は、他の特徴および実施形態とともに、以下の明細書、特許請求の範囲、および添付の図面を参照すれば、より明らかになるであろう。
【0035】
[0035] 本出願の例示的な例が、以下の図を参照しながら以下で詳細に説明される。
【図面の簡単な説明】
【0036】
図1】[0036] 本開示のいくつかの例による、コンピューティングデバイスの位置を特定し、コンピューティングデバイスをマッピングし、および/または制御するために使用されるエクステンデッドリアリティシステムの一例を示す図。
図2】[0037] 本開示のいくつかの例による、コンピューティングデバイスの位置を特定し、コンピューティングデバイスをマッピングするための例示的なシステムを示す図。
図3】[0038] 本開示のいくつかの例による、コンピューティングデバイスからの識別情報出力における視覚パターンを検出するための視覚特徴マッチングのための例示的なプロセスを示す図。
図4】[0039] 本開示のいくつかの例による、ユーザジェスチャーに基づいてコンピューティングデバイスの位置を特定するための例示的なシステムを示す図。
図5】[0040] 本開示のいくつかの例による、他のコンピューティングデバイスを使用するエクステンデッドリアリティデバイス(extended reality device)による例示的な位置特定を示す図。
図6】[0041] 本開示のいくつかの例による、共通ランドマークに基づくデバイスによる例示的なジョイント位置特定(joint localization)を示す図。
図7】[0042] 本開示のいくつかの例による、エクステンデッドリアリティデバイスを使用してコンピューティングデバイスを制御するための例示的な使用事例を示す図。
図8】[0043] 本開示のいくつかの例による、接続されたデバイスの位置を特定し、接続されたデバイスをマッピングするための例示的なプロセスを示すフローチャート。
図9】[0044] 本開示のいくつかの例による、例示的なコンピューティングデバイスアーキテクチャを示す図。
【発明を実施するための形態】
【0037】
[0045] 本開示のいくつかの態様および実施形態が以下で提供される。当業者に明らかであるように、これらの態様および実施形態のうちのいくつかは独立して適用され得、それらのうちのいくつかは組み合わせて適用され得る。以下の説明では、説明の目的で、本出願の実施形態の完全な理解を提供するために具体的な詳細が記載される。ただし、様々な実施形態は、これらの具体的な詳細なしに実施され得ることが明らかであろう。図および説明は限定するものではない。
【0038】
[0046] 以下の説明は、例示的な実施形態を提供するにすぎず、本開示の範囲、適用可能性、または構成を限定するものではない。そうではなく、例示的な実施形態の以下の説明は、例示的な実施形態を実装することを可能にする説明を当業者に提供する。添付の特許請求の範囲に記載されるように、本出願の趣旨および範囲から逸脱することなく、要素の機能および構成において様々な変更が行われ得ることを理解されたい。
【0039】
[0047] 前に説明されたように、スマートグラスおよびヘッドマウントディスプレイ(HMD)など、エクステンデッドリアリティ(たとえば、拡張現実、仮想現実など)デバイスは、物理的環境内のエクステンデッドリアリティ(XR)デバイスおよび他のオブジェクトの位置を追跡するためにカメラおよび様々なセンサーを実装することができる。XRデバイスは、XRデバイスのユーザに現実的なXRエクスペリエンスを提供するために、そのような追跡情報を使用することができる。たとえば、XRデバイスは、ユーザが、没入型仮想環境またはコンテンツを経験するか、あるいはそれと対話することを可能にすることができる。現実的なXRエクスペリエンスを提供するために、XR技術は、概して、仮想コンテンツを物理世界と統合することを目的とする。いくつかの例では、XR技術は、オブジェクトおよびデバイスの相対姿勢および移動をマッチさせることを伴う。たとえば、XRデバイスは、デバイス、オブジェクト、および/または現実世界環境の相対位置および移動をマッチさせるために、デバイス、オブジェクトの相対姿勢を計算し、および/または現実世界環境のマップを生成するために追跡情報を使用することができる。1つまたは複数のデバイス、オブジェクトの姿勢および/または移動、ならびに/あるいは現実世界環境を使用して、XRデバイスは、説得力のある様式でコンテンツを現実世界環境にアンカリングし、および/または現実世界環境との対話を可能にすることができる。相対姿勢情報は、仮想コンテンツを、デバイス、オブジェクト、および現実世界環境の、ユーザの知覚した動きおよび時空間状態とマッチさせるために使用され得、XRエクスペリエンス、および現実世界環境との対話をサポートすることができる。
【0040】
[0048] いくつかの例では、XRデバイスまたは他の電子デバイス(たとえば、モバイルフォン、スマートウェアラブルデバイス、タブレットコンピュータ、ラップトップコンピュータなど)など、電子デバイスは、ネットワーク化されたデバイス(たとえば、スマートハブ、電球、スピーカー、カメラ、ドアベル、セキュリティシステム、ロック、プラグ、スイッチ、サーモスタット、警報システム、テレビジョン、アプライアンスなど、モノのインターネット(IoT)デバイスまたは接続されたデバイス)など、異なるデバイスとペアリングされ得る。たとえば、ユーザは、部屋の中のネットワーク化されたスピーカー、ネットワーク化されたライト、ネットワーク化されたアプライアンス、または他のスマート/接続されたデバイスを制御するように、XRデバイスを構成することができる。例示のために、ネットワーク化されたライトの例では、ユーザは、ライトをオンまたはオフにするために、ライトスイッチを使用するのではなく、XRデバイスを通して、ネットワーク化されたライトを好都合に制御することができる。しかしながら、ネットワーク化されたデバイスを制御するように電子デバイスを構成するためのプロセスは、手動作業を伴うことがあり、多くのユーザにとって困難であり、混乱を招くことさえある。電子デバイスが、ネットワーク化されたデバイスのロケーションを知り、ネットワーク化されたデバイスを制御することを可能にするために、ネットワーク化されたデバイスの位置を特定し、ネットワーク化されたデバイスをマッピングするためのプロセスも、困難であり、時間がかかることがある。多くの場合、ネットワーク化されたデバイスはロケーションを変更することができ、これは、そのスマートデバイスの前にマッピングされたロケーションを、不正確な/旧いものにすることがあり、ロケーション変更の後に、ネットワーク化されたデバイスを制御し、および/またはそれと対話する電子デバイスの能力に影響を及ぼすことがある。その上、マッピングされたネットワーク化されたデバイスが異なるロケーションに移動するたびに、電子デバイスは、ネットワーク化されたデバイスの位置を特定し、ネットワーク化されたデバイスをマッピングする、別の複雑で時間がかかるプロセスを実施する必要があり得る。
【0041】
[0049] いくつかの例では、XRデバイスのXR能力は、XRデバイスからの、ネットワーク化されたデバイスなど、いくつかのデバイスとのより直観的で自然な対話を可能にするために、活用され得る。たとえば、XRデバイスの手追跡およびジェスチャー認識能力は、XRデバイスのユーザが、ネットワーク化されたデバイスを制御するためにジェスチャーおよび他のXRベース対話を使用することを可能にするために、活用され得る。そのような対話を容易にし、および/または改善するために、XRデバイスは、ユーザがXRデバイスから制御することを望むネットワーク化されたデバイスの位置を特定し、ネットワーク化されたデバイスをマッピングし得る。前記のように、ネットワーク化されたデバイスの位置を特定し、ネットワーク化されたデバイスをマッピングすることは、難しいタスクであり得る。多くの場合、XRデバイスは、特定のネットワーク化されたデバイスの位置を特定し、特定のネットワーク化されたデバイスをマッピングするために、それのロケーションに関する情報を有しないことがある。たとえば、複数のネットワーク化されたデバイスがある部屋において、XRデバイスは、関心の特定のネットワーク化されたデバイスがどこに位置するか、さらには、部屋の中のネットワーク化されたデバイスのうちのどれが関心の特定のネットワーク化されたデバイスであるかを知らないことがある。
【0042】
[0050] 例示のために、複数のネットワーク化された電球がある部屋において、XRデバイスは、複数のネットワーク化された電球からの特定のネットワーク化された電球の位置を特定し、特定のネットワーク化された電球をマッピングするために、それがどこに位置するかを知らないことがある。いくつかの場合には、部屋の中のネットワーク化されたデバイスのうちの1つまたは複数よりもXRデバイスのさらに近くに位置し得、特定のネットワーク化されたデバイスの位置を特定し、特定のネットワーク化されたデバイスをマッピングすることの困難を増加させ得る、追加のネットワーク化されたデバイスが、近くの部屋の中にあり得る。多くのネットワーク化されたデバイスはモバイルであるので、部屋または建築物が1つのネットワーク化されたデバイスのみを有する場合でも、ネットワーク化されたデバイスはロケーションを変更し得、これは、ネットワーク化されたデバイスの前にマッピングされたロケーションを、不正確な/旧いものにし得、XRデバイスが、ネットワーク化されたデバイスをそれの新しいロケーションにおいて制御し、および/またはそれと対話するのを防ぎ得る。
【0043】
[0051] XRデバイスなど、他の電子デバイスによる制御のために、ネットワーク化されたデバイス(たとえば、スマートデバイス、IoTデバイス、接続されたデバイス)など、制御可能デバイスの位置を特定し、制御可能デバイスをマッピングするためのシステム、装置、(プロセスとも呼ばれる)方法、およびコンピュータ可読媒体(本明細書ではまとめて「システムおよび技法」と呼ばれる)が、本明細書で説明される。ネットワーク化されたデバイスまたはスマートデバイス(たとえば、インターネット/ネットワーク接続性のための能力をもつIoTデバイスおよび/または他のデバイス)が、制御可能デバイスの例として本明細書で使用されるが、本明細書で説明される技法は、別のデバイスによって制御可能である任意のデバイスによってまたはそれのために実施され得る。いくつかの例では、本明細書で説明されるシステムおよび技法は、スマートデバイスがXR制御のために位置を特定され、マッピングされることを可能にすることができる。例示的なXRデバイスは、スマートデバイスが現実世界においておよびXRデバイスの内部座標系内で空間的にどこに位置するかを理解するために、スマートデバイスの位置を特定し、スマートデバイスをマッピングすることができる。エクステンデッドリアリティのためのスマートデバイスの位置を特定し、スマートデバイスをマッピングすることは、XRデバイスが、XRデバイスからのスマートデバイスとのより直観的な対話を可能にすることを可能にすることができる。いくつかの例では、XRデバイスは、たとえば、画像センサーからの画像データ、オーディオセンサーからのオーディオデータなど、XRデバイス上の1つまたは複数のセンサーからのセンサーデータを使用して、スマートデバイスの位置を特定し、スマートデバイスをマッピングすることができる。
【0044】
[0052] いくつかの場合には、XRデバイスは、XRデバイスが、検出することができる、およびスマートデバイスの位置を特定し、スマートデバイスをマッピングするために使用することができる、識別情報出力を生成するように、スマートデバイスをリモートでトリガすることができる。XRデバイスは、XRデバイスを通したトリガされたスマートデバイスの将来の制御のために、識別情報出力を識別し、そのスマートデバイスに関連付けることができる。たとえば、XRデバイスのユーザは、スマートデバイスに関連する登録アプリケーションなど、XRデバイス上のアプリケーションから、スマートデバイスをリモートでトリガすることができる。スマートデバイスは、リモートトリガに基づいて識別情報出力を生成することができる。XRデバイスは、スマートデバイスからの識別情報出力を検出するために、画像センサーおよび/またはオーディオセンサーなど、1つまたは複数のセンサーを使用することができる。XRデバイスは、XRデバイスからのスマートデバイスの現在および/または将来の制御のために、スマートデバイスの位置を特定し、スマートデバイスをマッピングするために、識別情報出力を使用することができる。
【0045】
[0053] スマートデバイスは、いくつかの方法で識別情報出力を生成することができる。いくつかの例では、スマートデバイスは、XRデバイスが識別情報出力として認識することができる特定のパターンを出力することができる。例示のために、発光能力を有するスマートデバイス(たとえば、スマートテレビジョン(TV)、電球など)を伴う一例では、スマートデバイスは、減光および増光する光(dimming and brightening light)のパターンを出力することができる。XRデバイスは、減光および増光パターンを検出し、識別情報出力として認識することができる。いくつかの場合には、減光および増光パターンは、(たとえば、可視光スペクトル内で)人間の眼に可視であり得る。他の場合には、減光および増光パターンは、波長および/または持続時間に関して人間の眼に知覚不可能であり得る。別の例として、スマートデバイスは、XRデバイスが検出し、識別情報出力として認識することができるパターンに従って、スマートデバイスの色温度を変更することができる。色温度パターンは、人間の眼に可視であるか、または人間の眼に(たとえば、波長および/または持続時間において)知覚不可能であり得る。いくつかの場合には、スマートデバイスは、XRデバイスが検出し、識別情報出力として認識することができる(人間の眼に可視または不可視の)光のパターンを放出することができる。たとえば、スマートデバイスは、XRデバイスが検出し、識別情報出力として認識することができる赤外線(IR)光を放出することができる。
【0046】
[0054] いくつかの場合には、スマートデバイスは、スマートデバイスによって送信された(1つまたは複数の)ワイヤレス信号中で識別情報出力を符号化することができる。たとえば、スマートデバイスは、XRデバイスと通信するためにBluetooth(登録商標)を使用することができる。スマートデバイスは、XRデバイスに、識別情報出力を表すコードまたはパターンを送るために、Bluetoothを使用することができる。XRデバイスは、スマートデバイスからBluetooth通信を受信し、Bluetooth通信におけるコードまたはパターンを識別することができる。XRデバイスは、本明細書でさらに説明されるようにスマートデバイスの位置を特定するために、識別されたコードまたはパターンを使用することができる。
【0047】
[0055] いくつかの例では、スマートデバイスは、表示能力(たとえば、スマートハブ、TV、スクリーンなど)、オーディオ能力、および/または他の出力能力(たとえば、光を放出することなど)を有することができる。いくつかの場合には、表示能力をもつスマートデバイスは、表示パターン(たとえば、クイックレスポンス(QR)コード、バーコード、画像、ビデオ、アニメーション、レンダリングされたオブジェクト、グラフィック、視覚パターンなど)を出力することができる。表示パターンは、人間の眼に可視であるか、または人間の眼に(たとえば、波長および/または持続時間において)知覚不可能であり得る。XRデバイスは、表示パターンを検出し、識別情報出力として認識することができる。いくつかの場合には、オーディオ能力をもつスマートデバイスは、オーディオパターン(たとえば、モールス符号、雑音、トーンのシーケンス、または任意の他のオーディオパターン)を出力することができ、オーディオパターンは、人間の耳に知覚可能であるかまたは持続時間および/または周波数(たとえば、超音波)において人間の耳に知覚不可能であり得る。XRデバイスは、オーディオパターンを検出し、識別情報出力として認識することができる。他の例では、スマートデバイスは、任意の他のタイプのパターン、あるいは、光パターン、色温度パターン、表示パターン、および/またはオーディオパターンの組合せなど、パターンの組合せを出力することができる。
【0048】
[0056] いくつかの例では、XRデバイスは、深層ニューラルネットワークを使用してスマートデバイスからの識別情報出力を検出することができる。たとえば、光パターン、表示パターン、および/またはオーディオパターンを含む識別情報出力を検出するために、深層ニューラルネットワークは、関連する識別情報出力の例を含む画像データおよび/またはオーディオデータのセットに関して事前トレーニングされ得る。いくつかの例では、XRデバイスは、所定のしきい値を超える、輝度およびコントラスト統計など、出力統計の(たとえば、経時的な)ダイジェストの相互相関を介して識別情報出力を検出することができる。いくつかの場合には、XRデバイスは、オーディオまたは視覚特徴マッチングを介して識別情報出力を検出することができる。たとえば、XRデバイスは、表示されたコードなど、視覚出力をキャプチャする画像中のキーポイントを識別し、視覚出力に対応する画像中の特徴を抽出することができる。XRデバイスは、抽出された特徴のための特徴説明を生成することができる。XRデバイスは、キーポイント、特徴、および/または特徴説明を、視覚出力に関連するキーポイント、特徴、および/または特徴説明とマッチさせることができる。XRデバイスは、そのような特徴マッチングに基づいて視覚出力を検出することができる。XRデバイスは、オーディオ出力を検出するために、オーディオデータを用いて同様の特徴マッチングを実施することができる。
【0049】
[0057] いくつかの場合には、XRデバイスは、スマートデバイスのロケーションを動的に追跡することができる。たとえば、XRデバイスは、スマートデバイスのロケーションが前の位置特定の後に変化したケースにおいて、またはその場合、スマートデバイスのロケーションを追跡するために再位置特定を実施することができる。XRデバイスは、周期的におよび/または必要に応じてマッピングプロセスを実施することができる。いくつかの例では、XRデバイスが、それが前にマッピングされたスマートデバイスに近いと考えるとき、XRデバイスは、スマートデバイスが依然として前にマッピングされたロケーションにあるかどうかを確認するために、識別情報出力をトリガすることができる。XRデバイスが、スマートデバイスが予想される場所に位置しないと決定した場合、XRデバイスは、識別情報出力を周期的にトリガすることができる。XRデバイスが識別情報出力に基づいてスマートデバイスを見つけたとき、XRデバイスは、スマートデバイスのXRデバイスのマップ中のスマートデバイスのロケーションを更新することができる。
【0050】
[0058] いくつかの場合には、スマートデバイスは、スマートデバイスのロケーションがいつ変化したかを検出し、XRデバイスによる再位置特定をトリガすることができる。たとえば、スマートデバイスは、スマートデバイスのネットワーク信号および/またはスマートデバイスのネットワーク信号の特性(たとえば、信号強度など)、センサーデータ(たとえば、スマートデバイスの画像センサーによってキャプチャされた画像データ、スマートデバイスの慣性測定ユニットによってキャプチャされた慣性データなど)に基づいて、それのロケーションが変化したことを検出することができる。いくつかの場合には、スマートデバイスが、それのロケーションが変化したことを検出したとき、スマートデバイスは、スマートデバイスのロケーションが変化したことをXRデバイスに通知することができる。たとえば、スマートデバイスは、ワイヤレス信号(たとえば、Bluetooth通信、WiFi(登録商標)通信など)をXRデバイスに送ることができる。ワイヤレス信号は、スマートデバイスのロケーションの変化の指示(たとえば、データ、パターンなど)を含むことができる。別の例では、スマートデバイスが、それのロケーションが変化したことを検出したとき、スマートデバイスは、XRデバイスによる検出のために識別情報出力を出力することができる。識別情報出力は、XRデバイスによる再位置特定をトリガすることができる。
【0051】
[0059] 別の例では、XRデバイスのユーザは、スマートデバイスを指すこと、スマートデバイスに向けた視線を維持すること、スマートデバイスに向けた頭部姿勢を維持すること、スマートデバイスにタッチすることなど、スマートデバイスと対話したいという要望を示すアクションを実行することができる。いくつかの場合には、アクションは、スマートデバイスのロケーションを識別、示唆、または暗示することができる。スマートデバイスがそのようなロケーションにおいてマッピングされない(または、関心のスマートデバイスがそのようなロケーションにおいてマッピングされない)場合、XRデバイスは、マッチする識別情報出力が検出されるまで、すべての知られている/マッピングされたスマートデバイスのための識別情報出力をトリガすることができる。XRデバイスは、次いで、スマートデバイスの決定されたロケーションにおいてスマートデバイスを含むようにスマートデバイスのXRデバイスのマップを更新することができる。
【0052】
[0060] いくつかの例では、スマートデバイスを、(たとえば、識別情報出力を介して)それ自体を識別するようにトリガすることの代わりに(またはそれに加えて)、XRデバイスは、スマートデバイスの位置を特定し、スマートデバイスをマッピングするために手追跡を使用することができる。たとえば、ユーザは、XRデバイスによって追跡され/位置を特定されるスマートデバイスに指でタッチし、識別されたスマートデバイスを用いて、スマートデバイスのXRデバイスのマップ中のそのロケーションをタグ付けすることができる。
【0053】
[0061] いくつかの場合には、XRデバイスは、互いに対してスマートデバイスおよび/またはXRデバイスの位置を特定し、スマートデバイスをマッピングするために、スマートデバイス上の画像センサーおよび/またはオーディオセンサーを活用することができる。たとえば、XRデバイスは、XRデバイスの位置を特定し、および/またはXRデバイスをマッピングするために、1つまたは複数のスマートデバイスを使用することができる。いくつかの例では、XRデバイスは、マッピングモードに入るようにスマートデバイスをリモートでトリガすることができる。トリガに基づいて、スマートデバイスは、XRデバイスからの識別情報出力を探し始めることができる。XRデバイスからの識別情報出力を検出すると、スマートデバイスは、XRデバイスに対するそれ自体の位置を特定し、位置特定情報をXRデバイスに中継することができる。XRデバイスは、位置特定情報をスマートデバイスのXRデバイスのマップに変換し、スマートデバイスを識別し/決定されたロケーションに関連付けることができる。
【0054】
[0062] いくつかの場合には、XRデバイスは、スマートデバイスの位置を特定し、スマートデバイスをマッピングするために、画像センサーおよび/またはオーディオセンサーをもつ1つまたは複数のスマートデバイスを活用することができる。たとえば、XRデバイスは、マッピングモードに入るように、環境におけるスマートデバイスをリモートでトリガすることができる。スマートデバイスは、特徴ベクトル(たとえば、オーディオおよび/または視覚特徴ベクトル)をXRデバイスと共有することができる。XRデバイスは、1つまたは複数のスマートデバイスによって共有されたスマートデバイスの特徴ベクトルを、XRデバイスによって取得された特徴ベクトルに対してマッチさせることができる。XRデバイスは、位置特定情報をスマートデバイスのXRデバイスのマップに変換し、スマートデバイスを識別し/決定されたロケーションに関連付けることができる。
【0055】
[0063] 本出願の様々な態様が、図に関して説明される。
【0056】
[0064] 図1は、本開示のいくつかの例による、コンピューティングデバイス150の位置を特定し、コンピューティングデバイス150をマッピングし、および/または制御するために使用されるXRシステム100の一例を示す図である。XRシステム100は、XRおよび/または本明細書で説明される任意の他の技法を使用してコンピューティングデバイス150を制御するために使用され得る。コンピューティングデバイス150は、たとえば、限定はしないが、スマートウェアラブルデバイス(たとえば、スマートウォッチ、リング、ブレスレット、グローブ、医療/フィットネストラッカーなど)、スマートロック、スマート自転車、スマートセキュリティシステム、スマートライト、スマートハブ、スマートカメラ、スマート冷蔵庫、スマートスピーカー、スマート医療用センサー、スマートテレビジョン、スマートスイッチ、スマートアシスタント、スマートサーモスタット、ロボット電気掃除機、モバイルコンピューティングデバイス(たとえば、ラップトップコンピュータ、タブレットコンピュータ、スマートフォンなど)、ビデオゲームシステム、全地球測位システム(GPS)デバイス、スマートアラーム、スマートスキャナ、スマートプラグ、スマートアシスタント、スマートアプライアンス、スマート機器、組込みシステム、スマートホームデバイス、あるいは任意の他のスマートデバイス、接続されたデバイス、および/またはワイヤレスデバイスなど、スマートデバイス(たとえば、IoT/接続されたデバイスなど)を含むことができる。
【0057】
[0065] XRシステム100およびコンピューティングデバイス150は、XRシステム100が、コンピューティングデバイス150と対話し、コンピューティングデバイス150を制御することを可能にするために通信可能に結合され得る。いくつかの例では、XRシステム100は、たとえば、限定はしないが、コンピューティングデバイス(たとえば、コンピューティングデバイス150)を管理および/または制御するためのXRアプリケーション、スマートホームアプリケーション、ビデオゲームアプリケーション、デバイス制御アプリケーション、自律運転アプリケーション、ナビゲーションアプリケーション、生産性アプリケーション、ソーシャルメディアアプリケーション、通信アプリケーション、モデル化アプリケーション、メディアアプリケーション、電子商取引アプリケーション、ブラウザアプリケーション、設計アプリケーション、マップアプリケーション、ならびに/あるいは任意の他のXRアプリケーションなど、1つまたは複数のXRアプリケーションを実装することができる。
【0058】
[0066] いくつかの例では、XRシステム100は、XR機能(たとえば、位置特定/追跡、検出、分類、マッピング、コンテンツレンダリングなど)、デバイス管理および/または制御機能、ゲーミング機能、自律運転またはナビゲーション機能、コンピュータビジョン機能、ロボット機能など、1つまたは複数の機能を提供するために、XRシステム100および/またはコンピューティングデバイス150の相対姿勢に関する情報を使用するように構成された電子デバイスを含むことができる。たとえば、いくつかの場合には、XRシステム100は、コンピューティングデバイス150のロケーションを検出し、ロケーションの位置を特定し、ロケーションをマッピングすることと、コンピューティングデバイス150の1つまたは複数の動作/状態を制御するためにコンピューティングデバイス150と通信することとを行うように構成されたXRデバイス(たとえば、ヘッドマウントディスプレイ、ヘッドアップディスプレイデバイス、スマートグラスなど)であり得る。
【0059】
[0067] 図1に示されている例示的な例では、XRシステム100は、(以下で「画像センサー102」と総称される)画像センサー102Aおよび102Bなど、1つまたは複数の画像センサーと、オーディオセンサー104(たとえば、超音波センサー、マイクロフォンなど)と、慣性測定ユニット(IMU)106と、1つまたは複数の算出構成要素110とを含むことができる。いくつかの場合には、XRシステム100は、たとえば、限定はしないが、レーダー、光検出および測距(LIDAR)センサー、タッチセンサー、圧力センサー(たとえば、気圧空気圧(barometric air pressure)センサーおよび/または任意の他の圧力センサー)、ジャイロスコープ、加速度計、磁力計、ならびに/または任意の他のセンサーなど、1つまたは複数の他の/追加のセンサーを随意に含むことができる。いくつかの例では、XRシステム100は、たとえば、発光ダイオード(LED)デバイス、記憶デバイス、キャッシュ、通信インターフェース、ディスプレイ、メモリデバイスなど、追加のセンサーおよび/または構成要素を含むことができる。XRシステム100によって実装され得る例示的なアーキテクチャおよび例示的なハードウェア構成要素が、図9に関して以下でさらに説明される。
【0060】
[0068] XRシステム100は、単一のコンピューティングデバイスまたは複数のコンピューティングデバイスの一部であるか、またはそれによって実装され得る。いくつかの例では、XRシステム100は、カメラシステム(たとえば、デジタルカメラ、IPカメラ、ビデオカメラ、防犯カメラなど)、電話システム(たとえば、スマートフォン、セルラー電話、会議システムなど)、ラップトップまたはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、スマートテレビジョン、ディスプレイデバイス、ゲーミングコンソール、HMDなどのXRデバイス、ドローン、車両中のコンピュータ、IoT(モノのインターネット)デバイス、スマートウェアラブルデバイス、あるいは(1つまたは複数の)任意の他の好適な電子デバイスなど、(1つまたは複数の)電子デバイスの一部であり得る。
【0061】
[0069] いくつかの実装形態では、画像センサー102、オーディオセンサー104、IMU106、および/または1つまたは複数の算出構成要素110は、同じコンピューティングデバイスの一部であり得る。たとえば、いくつかの場合には、画像センサー102、オーディオセンサー104、IMU106、および/または1つまたは複数の算出構成要素110は、カメラシステム、スマートフォン、ラップトップ、タブレットコンピュータ、スマートウェアラブルデバイス、HMDなどのXRデバイス、IoTデバイス、ゲーミングシステム、および/または任意の他のコンピューティングデバイスとまたはそれに統合され得る。他の実装形態では、画像センサー102、オーディオセンサー104、IMU106、および/または1つまたは複数の算出構成要素110は、2つまたはそれ以上の別個のコンピューティングデバイスの一部であるか、またはそれらによって実装され得る。
【0062】
[0070] XRシステム100の1つまたは複数の算出構成要素110は、たとえば、限定はしないが、中央処理ユニット(CPU)112、グラフィックス処理ユニット(GPU)114、デジタル信号プロセッサ(DSP)116、および/または画像信号プロセッサ(ISP)118を含むことができる。いくつかの例では、XRシステム100は、たとえば、コンピュータビジョン(CV)プロセッサ、ニューラルネットワークプロセッサ(NNP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、他のプロセッサを含むことができる。XRシステム100は、たとえば、エクステンデッドリアリティ動作(たとえば、追跡、位置特定、オブジェクト検出、分類、姿勢推定、マッピング、コンテンツアンカリング、コンテンツレンダリングなど)、デバイス制御動作、画像/ビデオ処理、グラフィックスレンダリング、機械学習、データ処理、モデル化、計算、コンピュータビジョン、および/または任意の他の動作など、様々な算出動作を実施するために、1つまたは複数の算出構成要素110を使用することができる。
【0063】
[0071] いくつかの場合には、1つまたは複数の算出構成要素110は、本明細書で説明される様々な動作のいずれかを実施するために、他の電子回路またはハードウェア、コンピュータソフトウェア、ファームウェア、あるいはそれらの任意の組合せを含むことができる。いくつかの例では、1つまたは複数の算出構成要素110は、図1に示されているものよりも多いまたは少ない算出構成要素を含むことができる。その上、CPU112、GPU114、DSP116、およびISP118は、説明の目的で提供される算出構成要素の例示的な例にすぎない。
【0064】
[0072] 画像センサー102は、デジタルカメラセンサー、ビデオカメラセンサー、スマートフォンカメラセンサー、テレビジョンまたはコンピュータなどの電子装置上の画像/ビデオキャプチャデバイス、カメラなど、任意の画像および/またはビデオセンサーまたはキャプチャデバイスを含むことができる。いくつかの場合には、画像センサー102は、デジタルカメラ、ビデオカメラ、IPカメラ、スマートフォン、スマートテレビジョン、ゲームシステムなど、カメラまたはコンピューティングデバイスの一部であり得る。その上、いくつかの場合には、画像センサー102は、後方および前方センサーデバイスなど、複数の画像センサーを含むことができ、デュアルカメラまたは(たとえば、2つのカメラ、3つのカメラ、4つのカメラ、または他の数のカメラを含む)他のマルチカメラアセンブリの一部であり得る。
【0065】
[0073] いくつかの例では、画像センサー102の各画像センサーは、画像データをキャプチャし、画像データに基づいてフレームを生成し、および/あるいは画像データまたはフレームを処理のために1つまたは複数の算出構成要素110に提供することができる。フレームは、ビデオシーケンスのビデオフレームまたは静止画像を含むことができる。フレームは、シーンを表すピクセルアレイを含むことができる。たとえば、フレームは、ピクセルごとに赤、緑、および青の色成分を有する赤緑青(RGB)フレーム、ピクセルごとにルーマ成分と2つのクロマ(色)成分(クロマ赤およびクロマ青)とを有するルーマ、クロマ赤、クロマ青(YCbCr)フレーム、あるいは任意の他の好適なタイプのカラーまたはモノクロームピクチャであり得る。
【0066】
[0074] いくつかの例では、1つまたは複数の算出構成要素110は、画像センサー102、オーディオセンサー104、IMU106、および/またはコンピューティングデバイス150のうちの1つまたは複数からのデータを使用して、XR処理動作を実施することができる。たとえば、いくつかの場合には、1つまたは複数の算出構成要素110は、画像センサー102、オーディオセンサー104、IMU106、および/またはコンピューティングデバイス150からのデータに基づいて、追跡、位置特定、オブジェクト検出、オブジェクト分類、姿勢推定、形状推定、マッピング、コンテンツアンカリング、コンテンツレンダリング、画像処理、モデル化、コンテンツ生成、ジェスチャー検出、ジェスチャー認識、および/または他の動作を実施することができる。いくつかの例では、1つまたは複数の算出構成要素110は、環境の3次元(3D)マップを生成し、3D環境内のXRシステム100のロケーションを追跡するために、画像センサー102、オーディオセンサー104、IMU106、および/またはコンピューティングデバイス150のうちの1つまたは複数からのデータを使用することができる。いくつかの例では、1つまたは複数の算出構成要素110は、画像センサー102、オーディオセンサー104、IMU106、および/またはコンピューティングデバイス150からのデータに基づいて、コンピューティングデバイス150を検出し、コンピューティングデバイス150の位置を特定し、コンピューティングデバイス150をマッピングし、および/またはコンピューティングデバイス150の動作/状態を制御することができる。
【0067】
[0075] いくつかの例では、1つまたは複数の算出構成要素110は、XRシステム100および/またはコンピューティングデバイス150の相対姿勢を追跡し、推定するための1つまたは複数のアルゴリズムを実装することができる。いくつかの場合には、1つまたは複数の算出構成要素110は、画像センサー102のうちの1つまたは複数によってキャプチャされた画像データを受信することと、コンピューティングデバイス150とXRシステム100との相対姿勢を計算するために、受信された画像データに基づいて姿勢推定を実施することとを行うことができる。いくつかの例では、1つまたは複数の算出構成要素110は、センサーデータ(たとえば、画像センサー102からの画像データ、オーディオセンサー104、IMU106からのデータなど)を受信することと、コンピューティングデバイス150を追跡および/またはマッピングするためにそのようなデータを使用することとを行うことができる。いくつかの場合には、1つまたは複数の算出構成要素110は、コンピューティングデバイス150とXRシステム100との相対姿勢を計算するために1つまたは複数のコンピュータビジョンモデルを実装することができる。
【0068】
[0076] いくつかの場合には、XRシステム100は、コンピューティングデバイス150によって生成された光パターンを検出するために画像センサー102のうちの1つまたは複数を使用することができる。光パターンは、本明細書でさらに説明されるように、XRシステム100がコンピューティングデバイス150を検出し、コンピューティングデバイス150の位置を特定し、コンピューティングデバイス150をマッピングするために使用することができる識別情報出力を含むことができる。いくつかの例では、光パターンは、コンピューティングデバイス150によって放出された変化する光レベル(たとえば、減光および増光)の(1つまたは複数の)パターン、コンピューティングデバイス150によって放出された光の変化する色温度のパターン、表示パターン(たとえば、クイックレスポンス(QR)コード、バーコード、表示されたオブジェクト、表示された画像など)、および/または任意の他の光/視覚パターンを含むことができる。いくつかの場合には、光パターンは、人間の眼に可視または不可視である光を含むことができる。いくつかの例では、光パターンは、コンピューティングデバイス150によって放出されたIR光を含むことができる。
【0069】
[0077] いくつかの場合には、XRシステム100は、コンピューティングデバイス150によって生成されたオーディオパターンを検出するためにオーディオセンサー104を使用することができる。オーディオパターンは、本明細書でさらに説明されるように、XRシステム100がコンピューティングデバイス150を検出し、コンピューティングデバイス150の位置を特定し、コンピューティングデバイス150をマッピングするために使用することができる識別情報出力を含むことができる。いくつかの例では、オーディオパターンは、たとえば、モールス符号、雑音シーケンス、および/あるいは、任意の他の変調されたオーディオ、または音のパターンなど、音のパターンを含むことができる。いくつかの場合には、XRシステム100は、追跡、位置特定、マッピング、および/または他のXR機能を支援するために距離情報を測定するために、オーディオセンサー104を使用することができる。たとえば、XRシステム100は、XRシステム100とコンピューティングデバイス150との間の距離を測定するためにオーディオセンサー104を使用することができる。
【0070】
[0078] いくつかの場合には、IMU106は、XRシステム100の加速度、角速度、および/または配向を検出し、検出された加速度に基づいて測定値を生成することができる。いくつかの場合には、IMU106は、XRシステム100の配向、線速度、および/または角速度を検出し、測定することができる。たとえば、IMU106は、XRシステム100の移動ならびに/またはピッチ、ロール、およびヨーを測定することができる。いくつかの例では、XRシステム100は、3D空間内のXRシステム100の姿勢を計算するために、IMU106によって取得された測定値および/または画像センサー102のうちの1つまたは複数からの画像データを使用することができる。いくつかの場合には、XRシステム100は、追加または代替として、追跡、姿勢推定、マッピング、および/または他の動作を実施するために、オーディオセンサー104および/またはコンピューティングデバイス150からのセンサーデータを使用することができる。
【0071】
[0079] コンピューティングデバイス150は、たとえば、光パターン、オーディオパターン、無線パターン、Bluetooth信号において符号化されたコードまたはパターン、および/あるいはそれらの任意の組合せなど、パターンを出力/放出することができる1つまたは複数の出力デバイス160を含むことができる。パターンは、XRシステム100がコンピューティングデバイス150を検出し、コンピューティングデバイス150の位置を特定し、コンピューティングデバイス150をマッピングするために使用することができる識別情報出力を含むことができる。XRシステム100は、本明細書でさらに説明されるように、(1つまたは複数の)出力デバイス160によって放出されたパターンを検出することと、コンピューティングデバイス150の位置を特定し、コンピューティングデバイス150をマッピングするためにそのパターンを使用することとを行うことができる。
【0072】
[0080] (1つまたは複数の)出力デバイス160は、たとえば、限定はしないが、ディスプレイ、スピーカー、マイクロフォン、画像センサー、LEDデバイス、発光デバイス、圧力センサー、IMU、通信インターフェース(たとえば、ワイヤレス無線機など)、レーダーなど、1つまたは複数のセンサーおよび/または構成要素を含むことができる。いくつかの例では、コンピューティングデバイス150は、XRシステム100と通信するための1つまたは複数のワイヤレス通信インターフェース(図示せず)を含むことができる。いくつかの例では、通信インターフェースは、ワイヤレス通信のための、および/またはデータを送信するためのワイヤレス送信機、ワイヤレストランシーバ、または任意の他の手段を含むことができる。通信インターフェースは、Wi-Fi(登録商標)、Bluetooth、ZigBee(登録商標)、セルラーなど、XRシステム100と通信するための任意のワイヤレスプロトコルおよび/または技術を実装することができる。他の例では、コンピューティングデバイス150は、図1に示されているものよりも多いまたは少ないセンサー、(1つまたは複数の)出力デバイス、および/または(同じおよび/または異なるタイプの)構成要素を含むことができる。いくつかの場合には、コンピューティングデバイス150は、たとえば、限定はしないが、マイクロコントローラ、アクチュエータ、記憶デバイス、メモリ、キャッシュ、処理デバイスなど、図1に示されていない1つまたは複数の他の構成要素を含むことができる。
【0073】
[0081] XRシステム100およびコンピューティングデバイス150に関して図1に示されている構成要素は、説明の目的で提供される例示的な例にすぎない。他の例では、XRシステム100および/またはコンピューティングデバイス150は、図1に示されている構成要素よりも多いまたは少ない構成要素を含むことができる。XRシステム100およびコンピューティングデバイス150がいくつかの構成要素を含むように示されているが、XRシステム100およびコンピューティングデバイス150が図1に示されている構成要素よりも多いまたは少ない構成要素を含むことができることを、当業者は諒解されよう。たとえば、XRシステム100および/またはコンピューティングデバイス150は、いくつかの事例では、図1に示されていない1つまたは複数の他のメモリデバイス(たとえば、RAM、ROM、キャッシュなど)、1つまたは複数のネットワーキングインターフェース(たとえば、ワイヤードおよび/またはワイヤレス通信インターフェースなど)、1つまたは複数のディスプレイデバイス、キャッシュ、記憶デバイス、および/あるいは他のハードウェアまたは処理デバイスをも含むことができる。XRシステム100および/またはコンピューティングデバイス150とともに実装され得るコンピューティングデバイスおよび/またはハードウェア構成要素の例示的な例が、図9に関して以下で説明される。
【0074】
[0082] 前記のように、XRシステム100は、スマートデバイス(たとえば、コンピューティングデバイス150)とのXR対話を可能にすることができる。たとえば、XRシステム100は、XRシステム100を装着しているユーザが、スマート電球をオンにするためにそれを指すことを可能にすることができる。別の例として、XRシステム100は、近くの防犯カメラのビデオフィードをストリーミングし、および/またはセキュリティシステムが装備されたドア上に視覚オーバーレイ(たとえば、透明赤色輪郭、メッセージなど)をレンダリングすることができる。いくつかの例では、XRシステム100は、XRシステム100からのコンテンツを近くのスマートテレビジョンに共有し、および/またはスマートハブ/アシスタントと通信し、XRシステムを装着しているユーザがスマートハブ/アシスタントと話していることをスマートハブ/アシスタントに示すことができ、したがって、スマートハブ/アシスタントはユーザが別の人またはデバイスと話していないことを理解する。
【0075】
[0083] そのような対話を容易にするために、XRシステム100は、本明細書でさらに説明されるように、スマートデバイスの位置を特定し、スマートデバイスをマッピングすることができる。スマートデバイスの位置を特定し、スマートデバイスをマッピングすることは、XRシステム100が、スマートデバイスがXRシステム100の内部座標系において(空間的に)どこに存在するかを知ることを可能にすることができる。XRシステム100は、スマートデバイスとの対話を可能にするために、この情報を使用することができる。
【0076】
[0084] 図2は、コンピューティングデバイス150の位置を特定し、コンピューティングデバイス150をマッピングするための例示的なシステム200を示す図である。コンピューティングデバイス150は、たとえば、限定はしないが、スマートウェアラブルデバイス(たとえば、スマートウォッチ、リング、ブレスレット、グローブ、医療/フィットネス/ヘルストラッカーなど)、スマートロック、スマート自転車、スマートセキュリティシステム、スマートライト、スマートハブ、スマートカメラ、スマート冷蔵庫、スマートスピーカー、スマートプラグ、スマートアシスタント、スマート医療用センサー、スマートテレビジョン、GPSデバイス、モバイルコンピュータ、ビデオゲームコンソール、スマートアラーム、スマートスキャナ、接続されたアプライアンス、スマート機器、スマートホームデバイス、組込みシステム、あるいは任意の他のスマートデバイス、接続されたデバイス、および/またはワイヤレスデバイスなど、スマートデバイス(たとえば、IoT/接続されたデバイス)を含むことができる。
【0077】
[0085] 図2に示されている例では、XRシステム100は、識別情報出力206を出力するようにコンピューティングデバイス150をトリガするために、識別情報トリガ204をコンピューティングデバイス150に送ることができる。識別情報トリガ204は、本明細書で説明されるように、XRシステム100がコンピューティングデバイス150の位置を特定し、コンピューティングデバイス150をマッピングするために使用することができる識別情報出力206を生成するようにコンピューティングデバイス150をトリガするように構成されたメッセージおよび/またはコマンドを含むことができる。いくつかの場合には、XRシステム100は、識別情報トリガ204を要求するユーザ入力に応答して識別情報トリガ204を生成することができる。たとえば、XRシステム100のユーザは、識別情報トリガ204の生成をトリガするために、XRシステム100においてXRアプリケーション202上の制御要素を選択することができる。別の例として、XRシステム100のユーザは、識別情報トリガ204の生成を要求する話された入力を提供することができ、XRシステム100は、その話された入力を、1つまたは複数の音声認識アルゴリズムを使用して認識することができる。
【0078】
[0086] いくつかの場合には、識別情報トリガ204は、たとえば、コンピューティングデバイス150からのトリガ(たとえば、メッセージ、動作など)、コンピューティングデバイス150が近くに(たとえば、XRシステム100の近接度内に)あるという(たとえば、1つまたは複数のセンサーからのセンサーデータに基づく)決定、時間など、イベントに応答して生成され得る。いくつかの場合には、XRシステム100は、コンピューティングデバイス150が範囲および/またはエリア内にあるとき、あるいはコンピューティングデバイス150とXRシステム100とが同じローカルネットワークに接続されたおよび/または互いに(直接または間接的に)通信可能に結合されたとき、識別情報出力206をトリガするために、識別情報トリガ204を周期的に出力することができる。他の場合には、コンピューティングデバイス150は、識別情報トリガ204を生成するようにXRシステム100をトリガすることができる。たとえば、コンピューティングデバイス150が、XRシステム100がある範囲および/またはエリア内にあることを(たとえば、センサーデータに基づいて)検出した場合、コンピューティングデバイス150は、発見モードをトリガするためにメッセージをXRシステム100に送ることができる。発見モードは、コンピューティングデバイス150の位置を特定し、コンピューティングデバイス150をマッピングするために、識別情報トリガ204を生成し、識別情報出力206を探すように、XRシステム100をトリガすることができる。
【0079】
[0087] コンピューティングデバイス150は、識別情報トリガ204を受信し、識別情報出力206を出力することができる。識別情報出力206は、コンピューティングデバイス150の位置を特定し、コンピューティングデバイス150をマッピングするためにXRシステム100が検出することができる出力パターンを含むことができる。出力パターン(たとえば、識別情報出力206)は、コンピューティングデバイス150の出力デバイス160によって生成された光パターン、表示パターン、無線パターン、Bluetoothパターン、および/またはオーディオパターンを含むことができる。たとえば、いくつかの場合には、出力デバイス160は発光能力を含むことができ、出力パターンは、減光および増光する光パターンを含むことができる。減光および増光パターンは、(たとえば、可視光スペクトル内で)人間の眼に可視であるか、または波長および/または持続時間に関して人間の眼に知覚不可能であり得る。いくつかの場合には、出力パターンは、出力デバイス160によって放出されたIR光を含むことができる。別の例として、出力パターンは、出力デバイス160によって放出された光の色温度の変化のパターンを含むことができる。色温度パターンは、人間の眼に可視であるか、または人間の眼に(たとえば、波長および/または持続時間において)知覚不可能であり得る。
【0080】
[0088] 他の例では、出力パターンは、出力デバイス160によって提示/表示される表示パターンを含むことができる。表示パターンは、たとえば、コード(たとえば、QRコード(登録商標)、バーコード、鍵など)、画像、1つまたは複数の文字、レンダリングされたコンテンツアイテム(たとえば、仮想コンテンツアイテム、デジタルオブジェクト、グラフィックなど)、および/または任意の視覚パターンを含むことができる。表示パターンは、人間の眼に可視であるか、または人間の眼に(たとえば、波長および/または持続時間において)知覚不可能である。他の例では、出力パターンは、オーディオパターン(たとえば、モールス符号、音、および/または任意の他のオーディオパターン)を含むことができ、オーディオパターンは、人間の耳に知覚可能であるかまたは持続時間および/または周波数(たとえば、超音波)において人間の耳に知覚不可能であり得る。他の例では、出力パターンは、無線パターン(たとえば、何らかの特殊なコード、オンおよびオフのパターン、または低電力および高電力のパターン)を含むことができる。他の例では、出力パターンは、任意の他のタイプのパターン、あるいは、光パターン、色温度パターン、視覚パターン、および/またはオーディオパターンの組合せなど、パターンの組合せを含むことができる。
【0081】
[0089] いくつかの場合には、コンピューティングデバイス150は、コンピューティングデバイス150によって送信された(1つまたは複数の)ワイヤレス信号中で識別情報出力206を符号化することができる。たとえば、コンピューティングデバイス150は、XRシステム100と通信するためにBluetoothを使用することができる。コンピューティングデバイス150は、XRシステム100に、識別情報出力206を表すコードまたはパターンを送るために、Bluetoothを使用することができる。XRシステム100は、コンピューティングデバイス150からBluetooth通信を受信し、Bluetooth通信におけるコードまたはパターンを識別することができる。XRシステム100は、本明細書でさらに説明されるようにコンピューティングデバイス150の位置を特定するために、識別されたコードまたはパターンを使用することができる。
【0082】
[0090] いくつかの場合には、コンピューティングデバイス150は、周期的に、または識別情報トリガ204に応答して、出力パターンをもつ識別情報出力206をブロードキャストすることができる。いくつかの場合には、コンピューティングデバイス150は、コンピューティングデバイス150に関する情報、ロケーション情報、識別子など、識別情報出力206中で情報を符号化することができる。識別情報出力206は、コンピューティングデバイス150および/またはコンピューティングデバイス150に対する位置に対して近接度内に位置する、XRシステム100など、近くのデバイスによって検出され得る。いくつかの例では、近くのデバイス(たとえば、XRシステム100)による識別情報出力206の検出を可能にする近くのデバイスの距離および/または位置は、出力パターンのタイプ(たとえば、光、オーディオ、表示など)、出力パターンの構成、出力パターンがどのように放出されるかなどに依存することができる。たとえば、XRシステム100は、光/表示パターンおよび/または出力デバイス160がXRシステム100の画像センサー102のうちの1つまたは複数のビュー内にあるとき、コンピューティングデバイス150から光/表示パターンを検出することができる。別の例として、XRシステム100は、出力デバイス160とXRシステム100との間の距離が、XRシステム100のオーディオセンサー104が出力デバイス160によって放出されたオーディオパターンにおけるオーディオを検出/認識することが可能であるようなものであるとき、コンピューティングデバイス150からオーディオパターンを検出することができる。別の例として、XRシステム100は、出力デバイス160とXRシステム100との間の距離が、XRシステム100の通信インターフェースが出力デバイス160によって放出された無線パターンを検出/認識することが可能であるようなものであるとき、コンピューティングデバイス150からの無線パターンを検出することができる。
【0083】
[0091] いくつかの場合には、コンピューティングデバイス150は、たとえば、コンピューティングデバイス150のロケーション(たとえば、プライベートロケーション、パブリックロケーション、ある雑音レベルをもつロケーション、ある光または暗さレベルをもつロケーション、ある数または構成の視覚障害をもつロケーションなど)、近くのデバイスが出力デバイス160へのビューを有するべきであるかどうかを示す選好/設定、環境のタイプ、コンピューティングデバイス150が位置する部屋のサイズおよび/または構成など、1つまたは複数のファクタに基づいて、識別情報出力206における出力パターンのタイプを変動させることができる。
【0084】
[0092] たとえば、選好設定が、出力パターンが出力デバイス160のビューを有しない近くのデバイスによって(たとえば、出力デバイス160のビューをもつ画像センサーを有しない近くのデバイスによって)検出可能にされ得ることを示す場合、コンピューティングデバイス150は、近くのデバイスの画像センサーが出力デバイス160のビューを有しない(たとえば、したがって、出力デバイス160上に提示された表示パターンを検出することができない)場合でも、近くのデバイスによって検出され得るオーディオパターンおよび/または光パターンをブロードキャストすることができる。選好設定が、出力パターンが、代わりに、出力デバイス160のビューを有する近くのデバイスによって(たとえば、出力デバイス160のビューを有する(1つまたは複数の)画像センサーを有する近くのデバイスによって)のみ検出可能であるべきであることを示す場合、コンピューティングデバイス150は、近くのデバイスの画像センサーが出力デバイス160のビューを有し、したがって、出力デバイス160上に提示された表示パターンを有するとき、近くのデバイスによって検出され得る表示パターンを出力することができる。
【0085】
[0093] いくつかの例では、出力パターンは、出力パターンが識別情報出力であることを、出力パターンを検出したデバイスに示すことができるシーケンスを含むことができる。たとえば、出力パターンは、出力パターンを、他のタイプの光パターン、オーディオパターン、表示パターン、および/または同様のタイプのパターンと区別する、ビットシーケンスなどのシーケンスを含むことができる。
【0086】
[0094] XRシステム100は、コンピューティングデバイス150からの識別情報出力206を検出するために、画像センサー102および/またはオーディオセンサー104のうちの1つまたは複数を使用することができる。たとえば、識別情報出力206が光/表示パターンを含む場合、XRシステム100は、光/表示パターンを検出/キャプチャするために画像センサー102のうちの1つまたは複数を使用することができる。画像センサー102のうちの1つまたは複数は、識別情報出力206の(1つまたは複数の)画像をキャプチャすることができ、XRシステム100は、(たとえば、深層ニューラルネットワーク、特徴マッチング、光統計のダイジェストの相互相関などを介して)識別情報出力206を検出するために(1つまたは複数の)画像を使用することができる。識別情報出力206がオーディオパターンを含む場合、XRシステム100は、オーディオパターンを検出/キャプチャするためにオーディオセンサー104を使用することができる。オーディオセンサー104は、識別情報出力206におけるオーディオデータをキャプチャすることと、(たとえば、深層ニューラルネットワーク、オーディオ特徴マッチングなどを介して)識別情報出力206を検出するためにオーディオデータを使用することとを行うことができる。
【0087】
[0095] いくつかの例では、XRシステム100は、XRシステム100がコンピューティングデバイス150のある範囲内にあるとき、および/またはXRシステム100がコンピューティングデバイス150に対してあるロケーションにあるとき、識別情報出力206を検出することができる。識別情報出力206を検出することが可能であるためのXRシステム100の近接度および/またはロケーションは、出力パターンのタイプ(たとえば、表示、光、オーディオなど)、コンピューティングデバイス150および/またはXRシステム100の環境および/またはロケーション、出力パターンの構成(たとえば、表示サイズ、表示ロケーション、オーディオレベル、光レベルなど)など、前に説明されたような1つまたは複数のファクタに依存することができる。
【0088】
[0096] 画像センサー102および/またはオーディオセンサー104のうちの1つまたは複数が、識別情報出力206を検出/キャプチャすると、XRシステム100の位置特定エンジン212が、識別情報出力206とコンピューティングデバイス150との位置を特定するために位置特定を実施することができる。いくつかの例では、位置特定は、XRシステム100によって検出された識別情報出力206と、XRシステム100によって生成された追跡データ214とに基づき得る。いくつかの例では、XRシステム100の追跡エンジン210が、環境における、および/またはコンピューティングデバイス150に対するXRシステム100の位置を決定することと、追跡データ214を生成することとを行うために追跡を実施するために、画像センサー102、オーディオセンサー104、および/またはIMU106のうちの1つまたは複数からのデータを使用することができる。いくつかの例では、XRシステム100は、たとえば、位置特定、追跡、マッピング、姿勢推定など、XR機能のために、追跡データ214を使用することができる。
【0089】
[0097] いくつかの場合には、追跡データ214は、シーン/環境におけるXRシステム100の位置および/または配向、XRシステム100のシーン/環境のマップ(またはマップの一部分)を示すデータを含むことができる。いくつかの場合には、追跡データ214中のマップは、3D環境をマッピングし、XRシステム100および/またはコンピューティングデバイス150の位置および/または配向など、3D環境内の1つまたは複数の特徴/オブジェクトを位置決めすることができる。いくつかの例では、XRシステム100は、XR機能を提供し、および/または、コンピューティングデバイス150など、シーン/環境(および/またはシーン/環境中のオブジェクト)とのXRベース対話を可能にするために、追跡データ214を使用することができる。たとえば、XRシステム100は、XRシステム100のユーザが、ジェスチャーを使用して、XRシステム100上のXRインターフェースを通して、など、コンピューティングデバイス150と対話し、および/またはコンピューティングデバイス150を制御することを可能にするために、追跡データ214を使用することができる。ジェスチャーは、たとえば、限定はしないが、手ジェスチャー、視線、コンピューティングデバイス150を指すこと、コンピューティングデバイス150にタッチすること、XRシステム100の画像センサーの視野(FOV)内にコンピューティングデバイス150を配置すること、および/または任意の他のジェスチャーを含むことができる。
【0090】
[0098] いくつかの場合には、位置特定エンジン212は、コンピューティングデバイス150の位置を特定し、コンピューティングデバイス150を識別情報出力206に関連付けるために、追跡データ214と、画像センサー102および/またはオーディオセンサー104からのセンサーデータとを使用することができる。位置特定エンジン212は、識別情報出力206の位置を特定し、識別情報出力206をコンピューティングデバイス150に関連付ける、位置特定データ208を生成することができる。XRシステム100上のXRアプリケーション202が、コンピューティングデバイス150をマッピングするために位置特定データ208を使用することができる。たとえば、XRアプリケーション202は、コンピューティングデバイス150と3D環境内のコンピューティングデバイス150の位置とを含むように環境マップ220中のデバイスマップ222を更新するために、位置特定データ208を使用することができる。環境マップ220は、特徴/オブジェクトと3D環境内の対応する位置とを識別するためにXRシステム100の3D環境をマッピングすることができる。デバイスマップ222は、位置を特定され、環境マップ220内でマッピングされたコンピューティングデバイス(たとえば、コンピューティングデバイス150)のマップを含むことができる。いくつかの例では、デバイスマップ222は、位置を特定されたデバイスと、3D空間中のそれらの推定された位置とを識別することができる。
【0091】
[0099] XRシステム100は、XRシステム100のユーザが、(たとえば、XRアプリケーション202を介して)XRシステム100上でレンダリングされたインターフェースを通して、動きを通して、ジェスチャーを通して、および/または任意の他のXR入力/アクションを通して、コンピューティングデバイス150と対話し、および/またはコンピューティングデバイス150を制御することを可能にするために、環境マップ220およびデバイスマップ222を使用することができる。たとえば、XRシステム100は、XRシステム100のユーザが、XRシステム100を使用して(たとえば、ジェスチャー、動き、物理的相互作用などを介して)コンピューティングデバイス150と直観的に対話することを可能にするために、環境マップ220およびデバイスマップ222を使用することができる。例示のために、非限定的な例では、ユーザが3D空間中の特定のロケーションを指す場合、XRシステム100は、コンピューティングデバイス150が特定のロケーションに位置すると決定するために、環境マップ220およびデバイスマップ222を使用することができる。マッピングされた環境と、環境マップ220およびデバイスマップ222中のコンピューティングデバイス150のマッピングされたロケーションとに基づいて、XRシステム100は、3D環境の近くにおよび/または3D環境において他のコンピューティングデバイスがある場合でも、(たとえば、特定のロケーションを指す)ジェスチャーをコンピューティングデバイス150に関連付けることができる。いくつかの例では、XRシステム100は、ユーザが特定のロケーションを指すことを、コンピューティングデバイス150を制御するかまたはコンピューティングデバイス150と対話するための要求として解釈することができる。たとえば、XRシステム100は、ユーザが特定のロケーションを指すことを、コンピューティングデバイス150のライトをオン/オフするための要求として解釈することができる。
【0092】
[0100] いくつかの例では、XRシステム100は、コンピューティングデバイス150を制御するためのユーザ入力を(たとえば、ジェスチャー、XRシステム100上でレンダリングされたインターフェースなどを介して)検出し、コンピューティングデバイス150を制御するためのコマンドを生成する。XRシステム100は、コンピューティングデバイス150における動作/状態をトリガするためのコマンドをコンピューティングデバイス150に送ることができる。いくつかの例では、XRシステム100は、環境マップ220およびデバイスマップ222を使用して決定されたコンピューティングデバイス150のロケーションに基づいて、デバイスを制御するためのユーザ入力がコンピューティングデバイス150に対応すると決定することができる。たとえば、XRシステム100は、環境マップ220およびデバイスマップ222に基づいてコンピューティングデバイス150が特定のロケーションにあると決定することによって、ユーザが特定のロケーションにおけるどのデバイスを制御することを望むかを決定することができる。
【0093】
[0101] いくつかの例では、コンピューティングデバイス150を制御するためにXRシステム100によって生成されたコマンドは、コンピューティングデバイス150の1つまたは複数の動作および/または状態を調整するための1つまたは複数の命令を含むことができる。たとえば、いくつかの場合には、XRアプリケーション202は、オフまたはオンになるようにコンピューティングデバイス150に命令するコマンドを生成し、コンピューティングデバイス150の光レベルを調整し、音(たとえば、歌、アラーム、メッセージ、雑音、通知など)を再生または停止し、1つまたは複数の構成要素の電力状態を変更し、カメラ動作を開始または停止し、出力を生成し、コンピューティングデバイス150からのデータフィード(たとえば、ビデオ、画像、オーディオ)をXRシステム100に提供し、コンピューティングデバイス150における動作を開始または停止し、ならびに/あるいは任意の他の動作および/または状態を停止または実装することができる。コンピューティングデバイス150は、XRシステム100からコマンドを受信し、そのコマンドに関連する1つまたは複数の動作および/または状態を実装するためにそのコマンドを実行することができる。
【0094】
[0102] いくつかの場合には、XRシステム100は、周期的に、要求に応じて、および/または再位置特定トリガ時に、コンピューティングデバイス150の再位置特定を実施することができる。いくつかの例では、XRシステム100は、コンピューティングデバイス150のロケーションを動的に追跡することができる。たとえば、XRシステム100は、コンピューティングデバイス150のロケーションが前の位置特定の後に変化したケースにおいて、またはその場合、コンピューティングデバイス150のロケーションを追跡するために再位置特定を実施することができる。いくつかの場合には、XRシステム100は、周期的におよび/または必要に応じてマッピングプロセスを実施することができる。いくつかの例では、XRシステム100が、それが前にマッピングされたデバイス(たとえば、コンピューティングデバイス150)に近いと考えるとき、XRシステム100は、デバイスが依然として前にマッピングされたロケーションにあるかどうかを確認するために、識別情報出力をトリガすることができる。XRシステム100が、デバイスが予想される場所に(たとえば、前にマッピングされたロケーションに)位置しないと決定した場合、XRシステム100は、識別情報出力を、1回または複数回、または周期的にトリガすることができる。XRシステム100が識別情報出力に基づいてデバイス(たとえば、コンピューティングデバイス150)を見つけたとき、XRシステム100は、デバイスマップ222中のデバイスのロケーションを更新することができる。
【0095】
[0103] 別の例では、XRシステム100のユーザは、コンピューティングデバイス150を指すこと、コンピューティングデバイス150に向けた視線を維持すること、コンピューティングデバイス150に向けた頭部姿勢を維持すること、コンピューティングデバイス150にタッチすることなど、コンピューティングデバイス150と対話したいという要望を示すアクションを実行することができる。いくつかの場合には、アクションは、コンピューティングデバイス150のロケーションを識別、示唆、または暗示することができる。コンピューティングデバイス150がそのようなロケーションにおいてマッピングされない(または、コンピューティングデバイス150がそのようなロケーションにおいてマッピングされない)場合、XRシステム100は、マッチする識別情報出力が検出されるまで、任意の知られている/マッピングされたデバイスのための(たとえば、デバイスマップ222中のすべてのデバイスのための)識別情報出力をトリガすることができる。XRシステム100は、次いで、コンピューティングデバイス150の位置を特定し、コンピューティングデバイス150の決定されたロケーションにおいてコンピューティングデバイス150を含むようにデバイスマップ222を更新するために、検出された識別情報出力を使用することができる。
【0096】
[0104] いくつかの場合には、コンピューティングデバイス150は、XRシステム100による再位置特定をトリガすることができる。いくつかの例では、コンピューティングデバイス150は、コンピューティングデバイス150のロケーションがいつ変化したかを検出し、XRシステム100による再位置特定をトリガすることができる。たとえば、コンピューティングデバイス150は、コンピューティングデバイス150のネットワーク信号および/またはコンピューティングデバイス150のネットワーク信号の特性(たとえば、信号強度など)、センサーデータ(たとえば、コンピューティングデバイス150の画像センサーによってキャプチャされた画像データ、コンピューティングデバイス150の慣性測定ユニットによってキャプチャされた慣性データなど)に基づいて、それのロケーションが変化したことを検出することができる。いくつかの場合には、コンピューティングデバイス150が、それのロケーションが変化したことを検出したとき、コンピューティングデバイス150は、コンピューティングデバイス150のロケーションが変化したことをXRシステム100に通知することができる。たとえば、コンピューティングデバイス150は、ワイヤレス信号(たとえば、Bluetooth通信、WiFi通信など)をXRシステム100に送ることができる。ワイヤレス信号は、コンピューティングデバイス150のロケーションの変化の指示(たとえば、データ、パターンなど)を含むことができる。別の例では、コンピューティングデバイス150が、それのロケーションが変化したことを検出したとき、コンピューティングデバイス150は、XRシステム100による検出のために識別情報出力を出力することができる。識別情報出力は、XRシステム100による再位置特定をトリガすることができる。
【0097】
[0105] 前記のように、XRシステム100は、コンピューティングデバイス150からの識別情報出力206を検出するために、画像センサー102のうちの1つまたは複数によってキャプチャされた画像/ビデオデータ、および/またはオーディオセンサー104によってキャプチャされたオーディオデータを使用することができる。いくつかの例では、XRシステム100は、深層ニューラルネットワークを使用して識別情報出力206を検出することができる。たとえば、光パターン、表示パターン、無線パターン、および/またはオーディオパターンを含む識別情報出力を検出するために、XRシステム100は、関連する識別情報出力の例を含む画像データおよび/またはオーディオデータのセットに関して事前トレーニングされた深層ニューラルネットワークを使用することができる。いくつかの例では、XRシステム100は、所定のしきい値を超える、オーディオおよび/または光統計(たとえば、光レベル/パターンの統計、オーディオパターン/シーケンスの統計など)のダイジェストの相互相関を介して識別情報出力206を検出することができる。いくつかの場合には、XRシステム100は、オーディオまたは視覚特徴マッチングを介して識別情報出力206を検出することができる。たとえば、XRシステム100は、表示されたコードなど、識別情報出力206における視覚パターンをキャプチャする画像中のキーポイントを識別し、視覚パターンに対応する画像中の特徴を抽出することができる。XRシステム100は、抽出された特徴のための特徴説明を生成することができる。XRシステム100は、キーポイント、特徴、および/または特徴説明を、視覚パターンに関連するキーポイント、特徴、および/または特徴説明とマッチさせることができる。XRシステム100は、そのような特徴マッチングに基づいて視覚パターンを検出することができる。XRシステム100は、オーディオ出力を検出するために、オーディオデータを用いて同様の特徴マッチングを実施することができる。
【0098】
[0106] 図3は、コンピューティングデバイス150からの識別情報出力における視覚パターンを検出するための視覚特徴マッチングのための例示的なプロセス300を示す図である。この例では、XRシステム100の特徴抽出エンジン315が、所定の識別情報出力に関連する視覚オブジェクト306の画像302を処理することと、画像302から特徴324を抽出するために特徴抽出320を実施することとを行うことができる。特徴324は、視覚オブジェクト306の特徴に対応する特徴ベクトルと、特徴ベクトルにおける特徴の記述とを含むことができる。
【0099】
[0107] XRシステム100は、コンピューティングデバイス150からの識別情報出力の画像304をキャプチャすることができる。画像304は、コンピューティングデバイス150からの識別情報出力中に含まれる視覚オブジェクト306をキャプチャすることができる。XRシステム100は、画像304からの特徴326を抽出するために特徴抽出322を実施するために、画像304を特徴抽出エンジン315に入力することができる。特徴326は、視覚オブジェクト306の特徴に対応する特徴ベクトルと、特徴ベクトルにおける特徴の記述とを含むことができる。
【0100】
[0108] XRシステム100は、特徴324と特徴326とがマッチするかどうかを決定するために、特徴抽出320からの特徴324と特徴抽出322からの特徴326とを使用して特徴マッチング330を実施することができる。特徴マッチング330は、特徴324と特徴326とが両方とも同じ視覚オブジェクト(たとえば、視覚オブジェクト306)に対応するかどうかを決定するために、特徴324と特徴326とを比較することができる。特徴マッチング330が、特徴324と特徴326とが同じ視覚オブジェクトに対応すると決定した場合、XRシステム100は、視覚オブジェクト306が識別情報出力に対応すると決定することができる。XRシステム100は、コンピューティングデバイス150からの識別情報出力を、識別情報出力中の視覚オブジェクト306に基づいて、検出および/または識別することができる。
【0101】
[0109] いくつかの場合には、画像302と画像304とが異なる角度/ビューから視覚オブジェクト306をキャプチャし、視覚オブジェクト306が両方の角度/ビューから視覚的に識別可能である場合、XRシステム100は、画像302と画像304との間のマッチする特徴ベクトルを取得するために、ホモグラフィ変換などの変換を実施することができる。いくつかの例では、XRシステム100は、マッチを決定するために画像302中の特徴と画像304中の特徴との間の対応を決定することができる。
【0102】
[0110] いくつかの場合には、特徴324は特徴324の3Dロケーションを含むことができ、特徴326は特徴326の3Dロケーションを含むことができる。いくつかの場合には、XRシステム100は、(たとえば、特徴をマッチさせるために)特徴間の対応を決定するために特徴の3Dロケーションを使用することができる。いくつかの場合には、XRシステム100は、特徴326に関連する識別情報出力の位置を特定するのを支援するために、特徴の3Dロケーションを使用することができる。
【0103】
[0111] 図4は、ユーザジェスチャーに基づいてコンピューティングデバイス150の位置を特定するための例示的なシステム400を示す図である。この例では、ユーザジェスチャーは手ジェスチャー(たとえば、コンピューティングデバイス150を指すこと、または指でコンピューティングデバイス150にタッチすること)であり、位置特定は手追跡を使用する。しかしながら、他の例では、ユーザジェスチャーは、ユーザからの任意の他のタイプのジェスチャーであり得、位置特定は、ユーザの任意の他の関連する追跡を使用することができる。たとえば、いくつかの場合には、ジェスチャーは、コンピューティングデバイスに向けた視線を維持すること、XRシステム100の画像センサーの視野内にコンピューティングデバイス150を配置すること、ある頭部姿勢を維持することなどであり得る。いくつかの場合には、追跡は、眼/視線追跡、頭部姿勢追跡、および/または他のジェスチャー追跡を含むことができる。
【0104】
[0112] XRシステム100の追跡エンジン410は、図2に示されている追跡エンジン210に関して前に説明されたように、XRシステム100のロケーションおよび姿勢を追跡するために、画像センサー102およびIMU106からのデータを使用することができる。追跡エンジン410は、図2に示されている追跡データ214に関して前に説明されたように、XRシステム100のロケーションおよび姿勢と3D環境のマップとを含むことができる、追跡データ412を生成することができる。
【0105】
[0113] XRシステム100のユーザは、コンピューティングデバイス150の位置特定のために、コンピューティングデバイス150を指すために手402を使用する(および/または手402の指でコンピューティングデバイス150にタッチする)ことができる。いくつかの例では、XRシステム100が、コンピューティングデバイス150の位置を特定するための識別情報出力を生成するようにコンピューティングデバイス150をトリガするために識別情報トリガを送るのではなく、ユーザは、図4に示されている手ジェスチャーによって(たとえば、コンピューティングデバイス150を指すこと、および/またはコンピューティングデバイス150にタッチすることによって)コンピューティングデバイス150の位置特定およびマッピングをトリガすることができる。いくつかの場合には、XRシステム100は、動的に、手ジェスチャーを検出し、位置特定をトリガすることができる。他の場合には、XRシステム100のユーザは、XRアプリケーション202によってレンダリングされたインターフェースにおいて制御または設定を選択することなど、XRアプリケーション202によってレンダリングされたインターフェースと対話することによって、手ジェスチャーの検出(および位置特定)をトリガすることができる。
【0106】
[0114] コンピューティングデバイス150の位置を特定するために、XRシステム100の画像センサー102のうちの1つまたは複数は、コンピューティングデバイス150を指すこと、コンピューティングデバイス150にタッチすることなど、ジェスチャーを実施する手402の画像をキャプチャすることができる。他の例では、コンピューティングデバイス150の位置を特定するために、1つまたは複数の画像センサー102は、コンピューティングデバイス150および/またはユーザの任意の他の部分の画像をキャプチャすることができる。たとえば、1つまたは複数の画像センサー102は、1つまたは複数の画像センサー102の視野内にユーザによって配置された後にコンピューティングデバイス150の画像をキャプチャすることができる。別の例として、1つまたは複数の画像センサー102は、ユーザの視線および/または頭部姿勢を追跡するために、ユーザの眼または頭部の1つまたは複数の画像をキャプチャすることができる。
【0107】
[0115] XRシステム100は、アクション追跡(たとえば、アクション、アクティビティ、またはイベントを追跡すること)のためのアクション追跡エンジン414を使用することができる。たとえば、アクション追跡エンジン414は、3D空間中の手402の姿勢を推定するために手追跡を実施するために、手402の画像(および/または前述のような任意の他の画像)を使用することができる。いくつかの例では、XRシステム100はまた、アクション追跡(たとえば、手追跡、頭部姿勢追跡、視線追跡、ジェスチャー追跡、コンピューティングデバイス追跡、ユーザによる他のアクションを追跡することなど)のために、追跡エンジン410からの追跡データ412を使用することができる。たとえば、XRシステム100のアクション追跡エンジン414は、画像センサー102のうちの1つまたは複数からの手402の画像と、追跡データ412からの環境の3Dマップと、追跡データ412中で識別されたXRシステム100のロケーションおよび姿勢とを使用して、手追跡を実施することができる。
【0108】
[0116] XRシステム100の位置特定エンジン416は、コンピューティングデバイス150の位置特定を実施するために、アクション追跡エンジン414からのアクション追跡結果(たとえば、手追跡、オブジェクト追跡、ユーザアクション追跡、ジェスチャー追跡など)と、追跡エンジン410からの追跡データ412とを使用することができる。位置特定は、3D環境/空間中のコンピューティングデバイス150のロケーションを識別することができる。位置特定に基づいて、XRシステム100は、コンピューティングデバイス150のロケーションを識別する位置特定データ418を生成することができる。XRアプリケーション202は、コンピューティングデバイス150のロケーションを含むようにデバイスマップ222を更新するために、位置特定データ418を使用することができる。いくつかの例では、XRアプリケーション202は、XRシステム100によって識別されたコンピューティングデバイス150を用いて、コンピューティングデバイス150の決定されたロケーションに対応するデバイスマップ222中のロケーションをタグ付けすることができる。XRシステム100は、前に説明されたように、コンピューティングデバイス150を制御することと、それと対話することとを可能にするために、更新されたデバイスマップを使用することができる。
【0109】
[0117] いくつかの場合には、位置特定エンジン416は、三角測量または任意の位置特定アルゴリズムを使用してコンピューティングデバイス150の位置を特定することができる。いくつかの例では、コンピューティングデバイス150の位置を特定するために、位置特定エンジン416は、関心領域(ROI)中でキャプチャされたアクション(たとえば、ジェスチャーなど)を3D環境/空間と相関させるために、追跡エンジン414によって追跡されたROIを環境マップ220に相関させることができる。たとえば、位置特定エンジン416は、ROI中でキャプチャされたアクション(たとえば、ジェスチャーなど)と、いくつかの場合には、対応する動きおよび/または位置情報とを決定するために、アクション追跡エンジン414からの追跡結果(たとえば、決定された姿勢情報、動き情報など)と、追跡エンジン410からの追跡データ412とを使用することができる。いくつかの例では、アクションは、コンピューティングデバイス150のロケーションを示すことができる。位置特定エンジン416は、3D環境/空間内のアクションおよび/またはアクションに関連するオブジェクト(たとえば、手、指、頭部、眼、別のユーザ身体部位、コンピューティングデバイス150、および/または任意の他のオブジェクト)の位置を決定するために、対応する動きおよび/または位置情報を使用することができる。例位置特定エンジン416は、XRシステム100の座標系内のコンピューティングデバイス150のロケーションを決定するために、アクションおよび/または関連するオブジェクトの位置を使用することができる。いくつかの態様では、位置特定エンジン416は、コンピューティングデバイス150を環境マップ220および/またはデバイスマップ222中のロケーションと相関させるために、XRシステム100の座標系内のコンピューティングデバイス150のロケーションを使用することができる。
【0110】
[0118] いくつかの場合には、XRシステム100は、互いに対して1つまたは複数のコンピューティングデバイスおよび/またはXRシステム100の位置を特定し、1つまたは複数のコンピューティングデバイスをマッピングするために、1つまたは複数のコンピューティングデバイスを使用することができる。たとえば、XRシステム100は、XRシステム100およびXRシステム100に対する1つまたは複数のコンピューティングデバイスの位置を特定し、位置特定情報に基づいて1つまたは複数のコンピューティングデバイスをマッピングするために、1つまたは複数のコンピューティングデバイスを使用することができる。いくつかの例では、XRシステム100は、マッピングモードに入るように(1つまたは複数の)コンピューティングデバイスをリモートでトリガすることができる。トリガに基づいて、(1つまたは複数の)コンピューティングデバイスは、XRシステム100からの識別情報出力を探し始めることができる。XRシステム100からの識別情報出力を検出すると、(1つまたは複数の)コンピューティングデバイスは、XRシステム100に対するそれ自体の位置を特定し、位置特定情報をXRシステム100に中継することができる。XRシステム100は、位置特定情報をデバイスのXRシステム100のマップ(たとえば、デバイスマップ222)に変換し、(1つまたは複数の)コンピューティングデバイスを識別し/(1つまたは複数の)決定されたロケーションに関連付けることができる。
【0111】
[0119] 図5は、コンピューティングデバイス530、532、および534を使用するXRシステム100による例示的な位置特定500を示す図である。コンピューティングデバイス530、532、および534は、コンピューティングデバイス150など、スマートデバイス(たとえば、IoT/接続されたデバイスなど)を含むことができる。その上、コンピューティングデバイス530、532、および534の各々は、たとえば、限定はしないが、(1つまたは複数の)画像センサー、(1つまたは複数の)オーディオセンサー、IMU、レーダー、圧力センサーなど、1つまたは複数のセンサーを含むことができる。この例示的な例では、コンピューティングデバイス530および534は、画像/ビデオデータをキャプチャするための画像センサーをもつカメラデバイスとして示されており、コンピューティングデバイス532は、少なくとも1つのオーディオセンサーをもつスマートテレビジョンとして示されている。しかしながら、他の例では、コンピューティングデバイス530、532、および534は、(上述のセンサーの代わりに、またはそれらに加えて)他のタイプのセンサーをもつ他のタイプのデバイスを含むことができる。
【0112】
[0120] コンピューティングデバイス530、532、および534は、本明細書でさらに説明されるように、XRシステム100からの識別情報出力を検出し、XRシステム100に対するそれら自体の位置を特定するために、それらのセンサーを使用することができる。たとえば、XRシステム100を装着しているユーザ502が、コンピューティングデバイス530、532、および534から各コンピューティングデバイスのFOV内に移動するとき、コンピューティングデバイスは、XRシステム100からの識別情報出力を検出し、XRシステム100に対するそれ自体の位置を特定することができる。コンピューティングデバイスは、位置特定情報をXRシステム100に送ることができ、XRシステム100は、各コンピューティングデバイスのマッピングを取得するために、位置特定情報をXRシステム100におけるデバイスマップ(たとえば、デバイスマップ222)に変換することができる。
【0113】
[0121] 図5に示されているように、XRシステム100は、マッピングモードに入るようにコンピューティングデバイス530をリモートでトリガするために、識別情報トリガ504をコンピューティングデバイス530に送ることができる。他の例では、コンピューティングデバイス530は、周期的に、または別のイベント/トリガに基づいて、マッピングモードに入ることができる。たとえば、いくつかの場合には、コンピューティングデバイス530は、XRシステム100がコンピューティングデバイス530のFOV内にあることを検出すると、XRシステム100がコンピューティングデバイス530のしきい値範囲内にあることを検出すると、コンピューティングデバイス530にマッピングモードに入ることを要求する、ユーザ502からの話されたコマンドを検出すると、ユーザ502がコンピューティングデバイス530を使用していることがあり、コンピューティングデバイス530に対して近接度内にあり得ることを示す、ユーザ502からの音声を検出すると、XRシステム100がコンピューティングデバイス530のロケーションに向けて移動していることがある(ならびに/あるいは、将来の時間においておよび/または将来の時間ウィンドウ内にコンピューティングデバイス530のFOVおよび/または範囲内にあり得る)ことを示す、XRシステム100の検出されたロケーションを識別する別のコンピューティングデバイス(たとえば、コンピューティングデバイス532、コンピューティングデバイス534)からの通信を受信すると、および/または任意の他のイベント/トリガ時に、マッピングモードに入ることができる。
【0114】
[0122] 識別情報トリガ504を送った後に、XRシステム100は、コンピューティングデバイス530による検出のために識別情報出力510を生成することができる。この例では、識別情報出力510は、XRシステム100によって(たとえば、XRシステム100上の、およびコンピューティングデバイス530に可視のディスプレイによって)、またはXRシステム100上に表示されるパターン(たとえば、XRシステム100自体上のパターン)を表すか、または含む。しかしながら、他の例では、識別情報出力510は、図2に示されている識別情報出力206に関して前に説明されたように、任意の他のパターン(たとえば、光パターン、オーディオパターン、パターンの組合せなど)を含むことができる。
【0115】
[0123] いくつかの例では、XRシステム100は、識別情報トリガ504を送った後に1回、識別情報出力510を出力することができる。たとえば、XRシステム100は、識別情報出力510を出力することができ、ある時間量が経過するまで、またはXRシステム100が異なるロケーション/位置に移動する(ならびに/あるいは、しきい値距離および/または位置変更)まで、追加の識別情報出力を出力しないことがある。いくつかの場合には、XRシステム100は、識別情報出力510を出力し、ある時間期間の間、識別情報出力510を維持する(たとえば、識別情報出力510を放出し続ける、識別情報出力510を表示し続ける、など)ことができる。他の例では、XRシステム100は、複数回(たとえば、周期的になど)、識別情報出力510を出力することができる。
【0116】
[0124] 識別情報トリガ504を受信すると(または、前に説明されたように、マッピングモードをトリガするように構成された任意の他のイベント/トリガを検出すると)、コンピューティングデバイス530はマッピングモードに入ることができる。コンピューティングデバイス530がマッピングモードに入ると、コンピューティングデバイス530は、XRシステム100からの識別情報出力510を探索し始めることができる。図示のように、時間t1において、XRシステム100は、コンピューティングデバイス530のFOV内にある。この例における識別情報出力510は表示パターンであるので、コンピューティングデバイス530は、XRシステム100が時間t1においてコンピューティングデバイス530のFOV内にあるとき、識別情報出力510を検出することができる。しかしながら、他の例では、識別情報出力510は、オーディオパターン、出力光レベルのパターンなど、XRシステム100がコンピューティングデバイス530のFOV内にないときに検出され得る別のタイプのパターンを含むことができる。そのような例では、コンピューティングデバイス530は、XRシステム100がコンピューティングデバイス530のFOV内にない場合でも、XRシステム100が、コンピューティングデバイス530の(前に説明されたように1つまたは複数のファクタに基づいて変動することがある)ある範囲内にあるとき、識別情報出力510を検出し得る。
【0117】
[0125] コンピューティングデバイス530は、XRシステム100からの識別情報出力510を検出することと、XRシステム100に対する3D空間中のそれ自体の位置を特定するために識別情報出力510を使用することとを行うことができる。たとえば、コンピューティングデバイス530は、コンピューティングデバイス530の内部座標系内のXRシステム100に対するそれの相対ロケーションの位置を特定することができる。いくつかの例では、コンピューティングデバイス530は、識別情報出力510と、コンピューティングデバイス530の1つまたは複数のセンサーからのセンサーデータとに基づいて、XRシステム100を識別し、および/またはXRシステム100の位置を特定することができる。いくつかの場合には、コンピューティングデバイス530は、3D空間中のそれのロケーションを追跡/マッピングし、コンピューティングデバイス530の内部座標系内のXRシステム100に対するそれのロケーションを決定するために、コンピューティングデバイス530の1つまたは複数のセンサーを使用することができる。他の場合には、コンピューティングデバイス530は、3D空間中のそれのロケーションを識別するロケーション情報を用いて事前構成され得る。そのような例では、コンピューティングデバイス530は、XRシステム100に対するそれのロケーションを決定するために、事前構成されたロケーション情報を使用することができる。
【0118】
[0126] コンピューティングデバイス530がXRシステム100に対するそれ自体の位置を特定した後に、コンピューティングデバイス530は、位置特定データ520をXRシステム100に送ることができる。位置特定データ520は、XRシステム100に対するコンピューティングデバイス530のロケーションを示すことができる。たとえば、位置特定データ520は、コンピューティングデバイス530の座標系内で、コンピューティングデバイス530が、XRシステム100のある距離上/下にあるおよび/またはXRシステム100からある距離離れている(たとえば、ある範囲/近接度にある)ことを示すことができる。いくつかの場合には、XRシステム100から離れた距離を示すとき、位置特定データ520は、後ろ、前、左、または右、北、南、東、または西、あるいは方向の任意の他の指示など、離れた距離の方向をも示すことができる。いくつかの例では、位置特定データ520は、3D空間中のコンピューティングデバイス150のロケーションの1つまたは複数の座標を示すことができる。
【0119】
[0127] XRシステム100は、位置特定データ520を受信することと、コンピューティングデバイス530を位置決めし、マッピングするために位置特定データ520を使用することとを行うことができる。いくつかの例では、XRシステム100はまた、コンピューティングデバイス530に対するそれ自体の位置を特定するために位置特定データ520を使用することができる。XRシステム100に対するコンピューティングデバイス530のロケーションに基づいて、XRシステム100は、コンピューティングデバイス530のロケーションの指示を含むようにXRシステム100のデバイスマップ(たとえば、デバイスマップ222)を更新することができる。いくつかの例では、XRシステム100は、位置特定データ520中のロケーション情報をそれ自体の座標系およびマップに変換することができる。たとえば、コンピューティングデバイス530が、XRシステム100のある距離上/下にあるおよびXRシステム100からある距離離れていることを、位置特定データ520が示す場合、XRシステム100は、コンピューティングデバイス530が、XRシステム100の現在ロケーションのある距離上/下にあるおよびそこからある距離離れていると決定するために、そのような情報を使用することができる。XRシステム100は、XRシステム100の内部座標系内のコンピューティングデバイス530のロケーションを決定し、そのロケーションをコンピューティングデバイス530に関連付けるようにXRシステム100のデバイスマップを更新することができる。
【0120】
[0128] 時間t2において、XRシステム100は、マッピングモードに入るようにコンピューティングデバイス532をリモートでトリガするために、識別情報トリガ506をコンピューティングデバイス532に送ることができる。前記のように、他の例では、コンピューティングデバイス532は、周期的に、または別のイベント/トリガに基づいて、マッピングモードに入ることができる。識別情報トリガ506を送った後に、XRシステム100は、コンピューティングデバイス532による検出のために識別情報出力512を生成することができる。この例では、識別情報出力512は、XRシステム100によって(たとえば、XRシステム100上のスピーカーによって)放出されたオーディオパターンを表すか、または含む。しかしながら、他の例では、識別情報出力512は、前に説明されたように、任意の他のパターン(たとえば、光パターン、表示パターン、パターンの組合せなど)を含むことができる。
【0121】
[0129] 識別情報トリガ506を受信すると(または、前に説明されたように、マッピングモードをトリガするように構成された任意の他のイベント/トリガを検出すると)、コンピューティングデバイス532はマッピングモードに入ることができる。コンピューティングデバイス532がマッピングモードに入ると、コンピューティングデバイス532は、XRシステム100からの識別情報出力512を探索し始めることができる。この例では、コンピューティングデバイス532は、識別情報出力512におけるオーディオパターンをキャプチャ/検出するためにオーディオセンサーを使用することができる。コンピューティングデバイス532は、前に説明されたように、XRシステム100からの識別情報出力512を検出することと、XRシステム100に対する3D空間中のそれ自体の位置を特定するために識別情報出力512を使用することとを行うことができる。
【0122】
[0130] コンピューティングデバイス532がXRシステム100に対するそれ自体の位置を特定した後に、コンピューティングデバイス532は、位置特定データ522をXRシステム100に送ることができる。位置特定データ522は、XRシステム100に対するコンピューティングデバイス532のロケーションを示すことができる。XRシステム100は、位置特定データ522を受信することと、コンピューティングデバイス532を位置決めし、マッピングするために位置特定データ522を使用することとを行うことができる。いくつかの例では、XRシステム100はまた、コンピューティングデバイス532に対するそれ自体の位置を特定するために位置特定データ522を使用することができる。
【0123】
[0131] XRシステム100に対するコンピューティングデバイス532のロケーションに基づいて、XRシステム100は、次いで、コンピューティングデバイス532のロケーションの指示を含むようにXRシステム100のデバイスマップ(たとえば、デバイスマップ222)を更新することができる。いくつかの例では、XRシステム100は、位置特定データ522中のロケーション情報をそれ自体の座標系およびマップに変換することができる。たとえば、コンピューティングデバイス532が、XRシステム100のある距離上/下にあるおよびXRシステム100からある距離離れていることを、位置特定データ522が示す場合、XRシステム100は、コンピューティングデバイス532が、XRシステム100の現在ロケーションのある距離上/下にあるおよびそこからある距離離れていると決定するために、そのような情報を使用することができる。XRシステム100は、XRシステム100の内部座標系内のコンピューティングデバイス532のロケーションを決定し、そのロケーションをコンピューティングデバイス532に関連付けるようにXRシステム100のデバイスマップを更新することができる。
【0124】
[0132] コンピューティングデバイス534の位置を特定するための試みを開始するために、XRシステム100は、マッピングモードに入るようにコンピューティングデバイス534をリモートでトリガするために、識別情報トリガ508をコンピューティングデバイス534に送ることができる。他の例では、コンピューティングデバイス534は、周期的に、または別のイベント/トリガに基づいて、マッピングモードに入ることができる。
【0125】
[0133] 識別情報トリガ508を送った後に、XRシステム100は、コンピューティングデバイス534による検出のために識別情報出力514を生成することができる。この例では、識別情報出力514は、XRシステム100によって(たとえば、XRシステム100上の発光デバイスによって)放出された光パターンを表すか、または含む。しかしながら、他の例では、識別情報出力514は、前に説明されたように、任意の他のパターン(たとえば、表示パターン、オーディオパターン、パターンの組合せなど)を含むことができる。
【0126】
[0134] 識別情報トリガ508を受信すると(または、前に説明されたように、マッピングモードをトリガするように構成された任意の他のイベント/トリガを検出すると)、コンピューティングデバイス534はマッピングモードに入ることができる。コンピューティングデバイス534がマッピングモードに入ると、コンピューティングデバイス534は、XRシステム100からの識別情報出力514を探索し始めることができる。図示のように、時間t3において、コンピューティングデバイス534は、XRシステム100からの識別情報出力514を検出することができる。コンピューティングデバイス534は、XRシステム100からの識別情報出力514を検出することと、XRシステム100に対する3D空間中のそれ自体の位置を特定するために識別情報出力514を使用することとを行うことができる。たとえば、コンピューティングデバイス534は、コンピューティングデバイス534の内部座標系内のXRシステム100に対するそれの相対ロケーションの位置を特定することができる。
【0127】
[0135] コンピューティングデバイス534がXRシステム100に対するそれ自体の位置を特定した後に、コンピューティングデバイス534は、位置特定データ524をXRシステム100に送ることができる。位置特定データ524は、XRシステム100に対するコンピューティングデバイス534のロケーションを示すことができる。XRシステム100は、位置特定データ524を受信することと、コンピューティングデバイス534を位置決めし、マッピングするために位置特定データ524を使用することとを行うことができる。いくつかの例では、XRシステム100はまた、それ自体の位置を特定するために位置特定データ524を使用することができる。XRシステム100に対するコンピューティングデバイス534のロケーションに基づいて、XRシステム100は、コンピューティングデバイス534のロケーションの指示を含むようにXRシステム100のデバイスマップ(たとえば、デバイスマップ222)を更新することができる。いくつかの例では、XRシステム100は、位置特定データ524中のロケーション情報をそれ自体の座標系およびマップに変換することができる。XRシステム100は、XRシステム100の内部座標系内のコンピューティングデバイス534のロケーションを決定し、そのロケーションをコンピューティングデバイス534に関連付けるようにXRシステム100のデバイスマップを更新することができる。
【0128】
[0136] いくつかの例では、XRシステム100は、効率的にいくつかのデバイスの位置を特定し、それらのデバイスをマッピングするために、位置特定500を実装することができる。たとえば、ユーザが、ユーザの自宅など、特定のロケーションにおけるすべてのスマートデバイスの位置を特定することを希望する場合、ユーザは、XRシステム100を装着しながらそのロケーションを動き回ることができる。XRシステム100は、ユーザがそのロケーションの異なるエリアに移動するとき、スマートデバイスの位置を特定するために位置特定500を実施することができる。XRシステム100は、特定のロケーションにおけるスマートデバイスの各々をマッピングするために位置特定情報を使用することができる。スマートデバイスのマッピングに基づいてスマートデバイスの各々のロケーションを知ると、XRシステム100は、ユーザが、スマートデバイスのいずれかと対話し、それを制御するために、XRシステム100を使用することを可能にすることができる。いくつかの例では、XRシステム100を装着しているユーザは、XRシステム100を使用してスマートデバイスのいずれかと対話するかまたはそれを制御するために、ジェスチャーおよび/または入力デバイスを使用することができる。いくつかの例では、XRシステム100を装着しているユーザは、スマートデバイスのいずれかを制御するか、またはさもなければスマートデバイスのいずれかと対話するために、XRシステム100上のインターフェースと対話することができる。
【0129】
[0137] 図5に示されている例示的な位置特定500は複数のコンピューティングデバイス(たとえば、コンピューティングデバイス530、532、および534)を使用するが、位置特定500の他の例は、XRシステム100および単一の他のコンピューティングデバイス(たとえば、コンピューティングデバイス530、コンピューティングデバイス532、またはコンピューティングデバイス534)を使用して実施され得る。他の例では、図5に示されている位置特定500は、図5に示されているものよりも多いまたは少ないコンピューティングデバイスを使用して実装され得る。
【0130】
[0138] 図6は、共通ランドマークに基づくデバイスによる例示的なジョイント位置特定600を示す図である。XRシステム100は、マッピングモードに入るようにコンピューティングデバイス610をトリガするために、識別情報トリガ602をコンピューティングデバイス610に送ることができる。この例では、コンピューティングデバイス610はカメラデバイスを表す。しかしながら、コンピューティングデバイス610は、コンピューティングデバイス150など、任意のスマートデバイス(たとえば、IoT/接続されたデバイスなど)を含むことができる。
【0131】
[0139] コンピューティングデバイス610は、XRシステム100から識別情報トリガ602を受信し、マッピングモードに入ることができる。マッピングモードでは、コンピューティングデバイス610は、それ自体の座標系に対するランドマーク620の位置を特定することができる。たとえば、コンピューティングデバイス610は、ランドマーク620をキャプチャする画像データを取得することと、コンピューティングデバイス610に対するランドマーク620のロケーションを決定するために1つまたは複数の位置特定アルゴリズムを使用して画像データを処理することとを行うができる。コンピューティングデバイス610は、次いで、ロケーション情報604をXRシステム100に送ることができる。いくつかの場合には、ロケーション情報604は、前に説明されたような位置特定データを含むことができる。いくつかの例では、ロケーション情報604は、コンピューティングデバイス610に対するランドマーク620のロケーションを記述し、および/または識別することができる。XRシステム100は、本明細書でさらに説明されるように、コンピューティングデバイス610の位置を特定するために、ロケーション情報604において記述され、および/または識別されたランドマーク620のロケーションを使用することができる。いくつかの場合には、ロケーション情報604は、コンピューティングデバイス610またはXRシステム100の座標系内のまたはそれに対するランドマーク620のロケーションを記述し、および/または識別することができる。たとえば、ロケーション情報604は、コンピューティングデバイス610の座標系におけるランドマーク620のロケーションを記述し、および/または識別することができる。XRシステム100は、以下でさらに説明されるように、ランドマーク620のロケーションをコンピューティングデバイス610の座標系からXRシステム100の座標系に変換することができる。
【0132】
[0140] XRシステム100はまた、XRシステム100および/またはXRシステム100の座標系に対するランドマーク620のロケーションを決定するために、ランドマーク620の位置を特定することができる。XRシステム100は、コンピューティングデバイス610の位置を特定するために、コンピューティングデバイス610からのロケーション情報604と、XRシステム100および/またはXRシステム100の座標系に対するランドマーク620のロケーションとを使用することができる。いくつかの例では、XRシステム100は、コンピューティングデバイス610(および/またはコンピューティングデバイス610の座標系)に対するランドマーク620のロケーションをXRシステム100の座標系内のコンピューティングデバイスのロケーションに変換するために、XRシステム100(および/またはXRシステム100の座標系)に対するランドマーク620のロケーションを使用することができる。たとえば、XRシステム100は、XRシステム100の座標系に対するランドマーク620のロケーションと、コンピューティングデバイス610の座標系に対するランドマーク620のロケーションとに基づいて、XRシステム100の座標系に対するコンピューティングデバイス610のロケーションを決定することができる。この例では、XRシステム100は、コンピューティングデバイス610の座標系に対するコンピューティングデバイス610のロケーションをXRシステム100の座標系に対するコンピューティングデバイス610のロケーションに変換することができる。
【0133】
[0141] XRシステム100に対するコンピューティングデバイス610のロケーションに基づいて、XRシステム100は、コンピューティングデバイス610をマッピングすることができる。たとえば、XRシステム100は、コンピューティングデバイス610のロケーションをコンピューティングデバイス610に関連付けるために、XRシステム100においてデバイスマップ(たとえば、デバイスマップ222)を更新することができる。
【0134】
[0142] いくつかの場合には、コンピューティングデバイス610からのロケーション情報604は、ランドマーク620の特徴を記述する特徴ベクトルを含むことができる。たとえば、コンピューティングデバイス610は、ランドマーク620をキャプチャする画像データから、ランドマーク620に対応する特徴を抽出することができる。コンピューティングデバイス610は、次いで、抽出された特徴をXRシステム100に提供することができる。XRシステム100は、コンピューティングデバイス610からのロケーション情報604がランドマーク620に対応することを検証することと、ランドマーク(たとえば、ランドマーク620)についてXRシステム100によって決定された位置特定情報とコンピューティングデバイス610からのロケーション情報604とが同じランドマークに対応することを保証することとを行うために、コンピューティングデバイス610からの特徴を使用することができる。たとえば、XRシステム100は、ランドマーク620に関連する特徴ベクトルを決定することができる。XRシステム100は、それが推定する特徴ベクトルを、コンピューティングデバイス610からの特徴ベクトルと比較することができる。XRシステム100は、コンピューティングデバイス610からの特徴ベクトルがXRシステム100によって推定された特徴ベクトルと同じランドマークに対応することを検証することができる。たとえば、XRシステム100は、特徴ベクトルがマッチし、および/または対応を有するかどうかを決定することができる。
【0135】
[0143] XRシステム100は、XRシステム100がコンピューティングデバイス610の位置を特定するために間違った位置特定情報に依拠しないことを保証するために、特徴ベクトルが同じランドマークに対応することを検証することができる。たとえば、XRシステム100は、それが、同じランドマークに対するXRシステム100およびコンピューティングデバイス610のロケーションに基づいてコンピューティングデバイス610の位置を特定することを保証することができる。
【0136】
[0144] 前に説明されたように、XRシステム100は、ユーザが、ジェスチャーおよびXR入力など、いくつかのタイプのユーザ入力を使用して、XRシステム100を介して制御可能デバイスを制御し、および/またはそれらと対話することを可能にするために、制御可能デバイスをマッピングすることができる。図7は、XRシステム100を使用してコンピューティングデバイス150を制御するための例示的な使用事例700を示す図である。この例では、コンピューティングデバイス150はスマート電球を表す。XRシステム100は、コンピューティングデバイス150の状態を第1の状態710から第2の状態720に変更することを要求する、XRシステム100のユーザからの入力を検出することができる。
【0137】
[0145] たとえば、XRシステム100は、コンピューティングデバイス150を(たとえば、指、コントローラ、手、頭部、入力デバイスなどを介して)指すこと、(たとえば、コンピューティングデバイス150に近い)ある方角および/またはロケーションに手を振ること、コンピューティングデバイス150に向けた視線を維持すること、ならびに/あるいは任意の他のジェスチャーなど、ユーザによるジェスチャーを検出することができる。XRシステム100は、ジェスチャーを、コンピューティングデバイス150の状態を第1の状態710から第2の状態720に調整するための入力として解釈することができる。別の例では、XRシステム100は、XRシステム100によってレンダリングされたインターフェースを通してユーザからの入力を受信することができる。ユーザからの入力は、コンピューティングデバイス150の状態を第1の状態710から第2の状態720に調整するための要求を含むことができる。
【0138】
[0146] ユーザからの入力に基づいて、XRシステム100は、コンピューティングデバイス150の状態を第1の状態710から第2の状態720に調整するようにコンピューティングデバイス150をトリガするためのコマンド702を生成することができる。XRシステム100は、コマンド702をコンピューティングデバイス150に送ることができる。コンピューティングデバイス150は、コマンド702を受信することと、コンピューティングデバイス150の状態を第2の状態720に変更するためにコマンド702を実行することとを行うことができる。
【0139】
[0147] 前記のように、コマンド702は、コンピューティングデバイス150の状態を第1の状態710から第2の状態720に変更するためのコマンドを含む。この例において示される第1の状態710はオフ状態であり、この例において示される第2の状態720はオン状態である。したがって、図7に示されているように、XRシステム100は、コンピューティングデバイス150によって表されるスマート電球をオンにするためにコマンド702を使用することができる。他の例では、コマンド702は、コンピューティングデバイス150によって表されるスマート電球の動作/状態を任意の他の状態に変更するためのコマンドを含むことができる。たとえば、コマンド702は、スマート電球を(オン状態から)オフにすること、スマート電球の光レベルを変更すること、スマート電球の色温度を変更すること、スマート電球がオーディオ能力を有する場合にオーディオ再生(たとえば、音、音楽など)を開始/停止すること、(1つまたは複数の)別のデバイスとのスマート電球による通信および/または接続をトリガすること、(1つまたは複数の)特定の光パターンを生成すること、あるいは任意の他の状態/動作または状態/動作の組合せを実装することを行うためのコマンドを含むことができる。
【0140】
[0148] XRシステム100は、同様に、たとえば、スマートスピーカー、スマートテレビジョン、スマートロック、スマート冷蔵庫、スマートカメラ、スマートウェアラブルデバイス、スマートセキュリティシステム、スマートサーモスタット、スマートセンサー、スマートフィットネス/ヘルストラッカー、スマートハブ、スマートスイッチ(たとえば、スマートライトスイッチなど)、スマートアプライアンス、スマートプラグ、テレビジョンなど、任意の他のタイプのコンピューティングデバイス150の状態/動作を制御するためにコマンドを使用することができる。
【0141】
[0149] 図8は、接続されたまたはネットワーク化されたデバイス(たとえば、コンピューティングデバイス150などのスマートデバイス)の位置を特定し、接続されたまたはネットワーク化されたデバイスをマッピングするための例示的なプロセス800を示すフローチャートである。ブロック802において、プロセス800は、電子デバイス(たとえば、XRシステム100)によって、電子デバイスに直接または間接的に結合された接続されたデバイス(たとえば、コンピューティングデバイス150)から識別情報出力を受信することを含むことができる。いくつかの場合には、識別情報出力は、接続されたデバイスからの無線信号において反映されるか、または接続されたデバイスからの無線信号中で符号化され得る。いくつかの例では、識別情報出力は、オーディオパターン、表示パターン、光パターン、無線パターン、および/またはそれらの組合せを含むことができる。たとえば、識別情報出力は、光レベルのパターン(たとえば、減光および増光する光レベルのパターン)、色温度変化のパターン、音のパターン(たとえば、雑音、音楽、モールス符号、トーンのシーケンスなど)、ワイヤレス信号(たとえば、Bluetooth信号、WiFi信号など)中で符号化されたパターンまたはコード、表示パターン(たとえば、画像、クイックレスポンス(QR)コード、バーコード、1つまたは複数の表示された文字/シンボル、デジタルコンテンツアイテム、デジタルオブジェクト、ビデオ、仮想コンテンツ、デジタルレンダリング、グラフィック、通信コードなど)、それらの組合せなどを含むことができる。
【0142】
[0150] いくつかの場合には、光パターンは、電子デバイスによって放出された光減光および増光レベル(light dimming and brightening level)のパターン、電子デバイスによって放出された光の色温度変化(color temperature change)のパターン、ならびに/または電子デバイスによって放出された明滅光のシーケンスを含むことができる。いくつかの場合には、光パターンは、人間の眼に可視または不可視の光を含むことができる。たとえば、光パターンは、IR光またはIR光のパターンを含むことができる。いくつかの場合には、表示パターンは、電子デバイスのディスプレイデバイス上に表示されるコード(たとえば、QRコード、バーコード、鍵など)、電子デバイスのディスプレイデバイス上に表示される画像、電子デバイスのディスプレイデバイス上に表示される視覚パターン、および/または電子デバイスのディスプレイデバイス上に表示されるデジタルオブジェクトを含むことができる。いくつかの場合には、オーディオパターンは、電子デバイスによって出力されたオーディオコード、および/または電子デバイスによって出力された音のシーケンスを含むことができる。いくつかの場合には、通信コードは、電子デバイスの通信インターフェースから生成され得る。
【0143】
[0151] いくつかの例では、電子デバイスは、接続されたデバイスからの識別情報出力をトリガすることができる。いくつかの場合には、電子デバイスは、接続されたデバイスに送られた識別情報トリガ(たとえば、識別情報トリガ204)に基づいて識別情報出力をトリガすることができる。たとえば、電子デバイスは、接続されたデバイスからの識別情報出力をトリガするために、識別情報トリガを接続されたデバイスに送ることができる。例示のために、電子デバイスは、接続されたデバイスに、接続されたデバイスからの識別情報出力をトリガするように構成された信号を送り、接続されたデバイスから識別情報出力を受信することができる。いくつかの場合には、電子デバイスは、接続されたデバイスによってブロードキャストされた複数の識別情報出力からの1つまたは複数の識別情報出力を受信することができる。1つまたは複数の識別情報出力は、識別情報出力を含むことができる。
【0144】
[0152] いくつかの態様では、識別情報出力を受信することは、接続されたデバイスからの識別情報出力を検出することを含むことができる。いくつかの例では、電子デバイスは、(1つまたは複数の)画像センサー、光センサー、および/または(1つまたは複数の)オーディオセンサーなど、電子デバイス上の1つまたは複数のセンサーを使用して、識別情報出力を検出することができる。たとえば、電子デバイスは、電子デバイスにおいてオーディオセンサーによってキャプチャされた識別情報出力のオーディオデータに基づいて識別情報出力を検出することができる。別の例として、電子デバイスは、電子デバイスにおいて画像センサーによってキャプチャされた識別情報出力の画像データに基づいて識別情報出力を検出することができる。
【0145】
[0153] ブロック804において、プロセス800は、接続されたデバイスからの識別情報出力に基づいて、電子デバイスの座標系において、接続されたデバイスをマッピングすることを含むことができる。いくつかの例では、電子デバイスは、接続されたデバイスのロケーションを識別するようにデバイスマップ(たとえば、デバイスマップ222)を更新することができる。
【0146】
[0154] いくつかの例では、プロセス800は、識別情報出力に基づいて、電子デバイスに対する接続されたデバイスのロケーションを決定することと、接続されたデバイスのロケーションに基づいて、電子デバイスの座標系において、接続されたデバイスをマッピングすることとを含むことができる。
【0147】
[0155] いくつかの例では、プロセス800は、電子デバイスによって、接続されたデバイスに、接続されたデバイスからの追加の識別情報出力をトリガするように構成された信号(たとえば、メッセージ、パケット、コマンド、出力など)を送ることと、追加の識別情報出力を受信することの失敗に基づいて、電子デバイスによって、接続されたデバイスに、1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることと、1つまたは複数の追加の信号が、接続されたデバイスからの追加の識別情報出力をトリガするように構成された、接続されたデバイスから追加の識別情報出力を受信することと、追加の識別情報出力に基づいて、接続されたデバイスのロケーションを決定することと、接続されたデバイスを接続されたデバイスのロケーションに関連付けるようにデバイスマップ(たとえば、デバイスマップ222)を更新することとを含むことができる。いくつかの例では、電子デバイスの座標系において、接続されたデバイスをマッピングすることは、接続されたデバイスを接続されたデバイスのロケーションに関連付けるようにデバイスマップを更新することを含むことができる。
【0148】
[0156] いくつかの場合には、1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることは、電子デバイスが、接続されたデバイスの前に決定されたロケーション(たとえば、マッピングされたロケーション)に対してしきい値近接度内にあり、および/または、接続されたデバイスの前に決定されたロケーション(たとえば、マッピングされたロケーション)が、電子デバイスの画像センサーの視野内にある間、追加の識別情報出力を受信することの失敗を決定することと、追加の識別情報出力を受信することの失敗に基づいて、1つまたは複数の追加の信号を接続されたデバイスに送ることとを含むことができる。
【0149】
[0157] いくつかの例では、1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることは、接続されたデバイスから追加の識別情報出力を受信することなしに、所定の時間量が経過するまで、および/または、接続されたデバイスから追加の識別情報出力を受信することなしに、いくつかの追加の信号が送られるまで、1つまたは複数の追加の信号を周期的に送ることを含むことができる。
【0150】
[0158] いくつかの例では、接続されたデバイスから識別情報出力を受信することは、識別情報出力における1つまたは複数のパターン(たとえば、オーディオパターン、表示パターン、無線信号におけるパターン、および/または光パターン)を検出することと、接続されたデバイスからの識別情報出力として1つまたは複数のパターンを認識することとを含むことができる。いくつかの場合には、電子デバイスは、電子デバイスの1つまたは複数のセンサーからのデータに基づいて1つまたは複数のパターンを検出し、識別情報出力として1つまたは複数のパターン(たとえば、オーディオパターン、表示パターン、無線信号におけるパターン、および/または光パターン)を認識することができる。いくつかの例では、1つまたは複数のセンサーは、(1つまたは複数の)画像センサー、(1つまたは複数の)オーディオセンサー、および/または(1つまたは複数の)光センサーを含むことができる。いくつかの場合には、電子デバイスは、ニューラルネットワーク、視覚特徴マッチング、および/またはオーディオ特徴マッチングを使用して、1つまたは複数のパターン(たとえば、オーディオパターン、表示パターン、無線信号におけるパターン、および/または光パターン)を認識することができる。
【0151】
[0159] いくつかの例では、プロセス800は、接続されたデバイスのアクションをトリガする(たとえば、状態を調整する、動作を実施する、設定を実装する、など)ための要求を受信することと、接続されたデバイスのマッピングに基づいて、接続されたデバイスのロケーションを識別することと、電子デバイスによって、接続されたデバイスに、接続されたデバイスによるアクションをトリガするように構成されたコマンドを送ることとを含むことができる。いくつかの例では、接続されたデバイスによるアクションをトリガするための要求は、接続されたデバイスによってキャプチャされたビデオフィードを電子デバイスに送るための要求を含むことができ、プロセス800は、コマンドを接続されたデバイスに送ることと、接続されたデバイスからビデオフィードを受信することと、電子デバイスにおいてビデオフィードを表示することとを含むことができる。コマンドは、ビデオフィードを電子デバイスに送るように、接続されたデバイスをトリガするように構成され得る。
【0152】
[0160] いくつかの例では、接続されたデバイスによるアクションをトリガするための要求は、電子デバイスからのコンテンツ(たとえば、電子デバイスによってレンダリングされ、および/または電子デバイスによって生成された仮想コンテンツまたは任意の他のコンテンツ)を表示するように、接続されたデバイスをトリガするための要求を含むことができ、プロセス800は、接続されたデバイスに、コマンドと電子デバイスからのコンテンツとを含むデータを送ることを含むことができる。いくつかの場合には、コマンドは、電子デバイスからのコンテンツを表示するように、接続されたデバイスをトリガするように構成される。
【0153】
[0161] いくつかの場合には、接続されたデバイスによるアクションをトリガするための要求は、接続されたデバイスの電力モードを調整する(たとえば、接続されたデバイスをオンにする、接続されたデバイスをオフにする、接続されたデバイスをスリープ状態に設定する、接続されたデバイスの電力または動作モードを低減するかまたは増加させる、など)ための要求を含むことができ、コマンドは、接続されたデバイスの電力モードを調整するように構成され得る。
【0154】
[0162] いくつかの例では、接続されたデバイスは電球を含むことができ、接続されたデバイスによるアクションをトリガするための要求は、電球によって放出された光の輝度および/または色を調整するための要求を含むことができる。いくつかの場合には、コマンドは、電球によって放出された光の輝度および/または色を調整するように電球をトリガするように構成される。
【0155】
[0163] いくつかの例では、プロセス800は、電子デバイスに関連するユーザによるジェスチャーを検出することと、ジェスチャーに基づいて、物理的環境における1つまたは複数の接続されたデバイスからの1つまたは複数の識別情報出力をトリガすることと、1つまたは複数の識別情報出力から特定の識別情報出力を受信することと、特定の識別情報出力に基づいて、接続されたデバイスがロケーションに位置すると決定することとを含むことができる。いくつかの例では、ジェスチャーは、接続されたデバイスのロケーションを示すことができる。いくつかの例では、特定の識別情報出力は、ロケーションから発生する。いくつかの例では、プロセス800は、接続されたデバイスを接続されたデバイスのロケーションに関連付けるようにデバイスマップを更新することを含むことができる。いくつかの例では、ジェスチャーは、手ジェスチャー、視線、頭部姿勢、指さすこと、接続されたデバイスを電子デバイスのFOV内に配置すること、接続されたデバイスにタッチすること、および/または任意の他のジェスチャーを含むことができる。
【0156】
[0164] いくつかの例では、プロセス800は、マッピングモードに入るように1つまたは複数の接続されたデバイスをトリガすることと、1つまたは複数の接続されたデバイスに、デバイス識別情報出力を送ることと、1つまたは複数の接続されたデバイスから位置特定情報を受信することと、1つまたは複数の接続されたデバイスからの位置特定情報に基づいて、電子デバイスの座標系において1つまたは複数の接続されたデバイスをマッピングすることとを含むことができる。いくつかの場合には、位置特定情報は、電子デバイスに対する1つまたは複数の接続されたデバイスのロケーションを示すことができる。
【0157】
[0165] いくつかの例では、プロセス800は、マッピングモードに入るように1つまたは複数の接続されたデバイスをトリガすることと、1つまたは複数の接続されたデバイスから位置特定情報を受信することと、位置特定情報に基づく1つまたは複数の接続されたデバイスの第2のロケーションと、電子デバイスに対するランドマークの第3のロケーションとを決定することと、1つまたは複数の接続されたデバイスの第2のロケーションに基づいて、電子デバイスの座標系において1つまたは複数の接続されたデバイスをマッピングすることとを含むことができる。いくつかの場合には、位置特定情報は、接続されたデバイスに対するランドマークの第1のロケーションを示すことができる。
【0158】
[0166] いくつかの例では、プロセス800は、1つまたは複数のコンピューティングデバイスまたは装置によって実施され得る。1つの例示的な例では、プロセス800は、図1に示されているXRシステム100によって実施され得る。いくつかの例では、プロセス800は、図9に示されているコンピューティングデバイスアーキテクチャ900をもつ1つまたは複数のコンピューティングデバイスによって実施され得る。いくつかの場合には、そのようなコンピューティングデバイスまたは装置は、プロセス800のステップを行うように構成されたデバイスのプロセッサ、マイクロプロセッサ、マイクロコンピュータ、または他の構成要素を含み得る。いくつかの例では、そのようなコンピューティングデバイスまたは装置は、画像データおよび/または他のセンサー測定値をキャプチャするように構成された1つまたは複数のセンサーを含み得る。たとえば、コンピューティングデバイスは、スマートフォン、ヘッドマウントディスプレイ、モバイルデバイス、または他の好適なデバイスを含むことができる。いくつかの例では、そのようなコンピューティングデバイスまたは装置は、1つまたは複数の画像またはビデオをキャプチャするように構成されたカメラを含み得る。いくつかの場合には、そのようなコンピューティングデバイスは、画像を表示するためのディスプレイを含み得る。いくつかの例では、1つまたは複数のセンサーおよび/またはカメラは、コンピューティングデバイスとは別個であり、その場合、コンピューティングデバイスは、検知されたデータを受信する。そのようなコンピューティングデバイスは、データを通信するように構成されたネットワークインターフェースをさらに含み得る。
【0159】
[0167] コンピューティングデバイスの構成要素は、回路において実装され得る。たとえば、構成要素は、本明細書で説明される様々な動作を実施するために、1つまたは複数のプログラマブル電子回路(たとえば、マイクロプロセッサ、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、中央処理ユニット(CPU)、および/または他の好適な電子回路)を含むことができ、ならびに/あるいはコンピュータソフトウェア、ファームウェア、またはそれらの任意の組合せを含み、および/またはそれらを使用して実装され得る、電子回路または他の電子ハードウェアを含むことができ、および/またはそれらを使用して実装され得る。コンピューティングデバイスは、(出力デバイスの一例として、または出力デバイスに加えて)ディスプレイ、データを通信および/または受信するように構成されたネットワークインターフェース、それらの任意の組合せ、ならびに/あるいは(1つまたは複数の)他の構成要素をさらに含み得る。ネットワークインターフェースは、インターネットプロトコル(IP)ベースデータまたは他のタイプのデータを通信および/または受信するように構成され得る。
【0160】
[0168] プロセス800は、論理フロー図として示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組合せで実装され得る動作のシーケンスを表す。コンピュータ命令のコンテキストでは、動作は、1つまたは複数のプロセッサによって実行されたとき、具陳された動作を実施する1つまたは複数のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実施するか、または特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作が説明される順序は、限定として解釈されるものではなく、任意の数の説明される動作は、プロセスを実装するために任意の順序でおよび/または並行して組み合わせられ得る。
【0161】
[0169] さらに、プロセス800は、実行可能な命令で構成された1つまたは複数のコンピュータシステムの制御下で実施され得、1つまたは複数のプロセッサ上でまとめて実行するコード(たとえば、実行可能な命令、1つまたは複数のコンピュータプログラム、または1つまたは複数のアプリケーション)として、ハードウェア、またはそれらの組合せによって、実装され得る。上述のように、コードは、たとえば、1つまたは複数のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で、コンピュータ可読または機械可読記憶媒体に記憶され得る。コンピュータ可読または機械可読記憶媒体は非一時的であり得る。
【0162】
[0170] 図9は、本明細書で説明される様々な技法を実装することができる例示的なコンピューティングデバイスの例示的なコンピューティングデバイスアーキテクチャ900を示す。たとえば、コンピューティングデバイスアーキテクチャ900は、図1に示されているXRシステム100または図1に示されているコンピューティングデバイス150の少なくともいくつかの部分を実装することができる。バスなどの接続905を使用して互いと電気通信している、コンピューティングデバイスアーキテクチャ900の構成要素が示されている。例示的なコンピューティングデバイスアーキテクチャ900は、処理ユニット(CPUまたはプロセッサ)910とコンピューティングデバイス接続905とを含み、コンピューティングデバイス接続905は、読取り専用メモリ(ROM)920およびランダムアクセスメモリ(RAM)925など、コンピューティングデバイスメモリ915を含む様々なコンピューティングデバイス構成要素を、プロセッサ910に結合する。
【0163】
[0171] コンピューティングデバイスアーキテクチャ900は、プロセッサ910と直接接続された、プロセッサ910に極めて近接した、またはプロセッサ910の一部として統合された、高速メモリのキャッシュを含むことができる。コンピューティングデバイスアーキテクチャ900は、プロセッサ910による迅速なアクセスのために、メモリ915および/または記憶デバイス930からキャッシュ912にデータをコピーすることができる。このようにして、キャッシュは、データを待機する間のプロセッサ910遅延を回避する性能の向上を提供することができる。これらのモジュールおよび他のモジュールは、様々なアクションを実施するために、プロセッサ910を制御することができ、またはプロセッサ910を制御するように構成され得る。他のコンピューティングデバイスメモリ915も、使用のために利用可能であり得る。メモリ915は、異なる性能特性をもつ、複数の異なるタイプのメモリを含むことができる。プロセッサ910は、任意の汎用プロセッサ、および記憶デバイス930に記憶され、プロセッサ910を制御するように構成されたハードウェアまたはソフトウェアサービス、ならびにソフトウェア命令がプロセッサ設計に組み込まれる専用プロセッサを含むことができる。プロセッサ910は、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含んでいる、自己完結型システムであり得る。マルチコアプロセッサは、対称的または非対称的であり得る。
【0164】
[0172] コンピューティングデバイスアーキテクチャ900とのユーザ対話を可能にするために、入力デバイス945は、音声のためのマイクロフォン、ジェスチャーまたはグラフィカル入力のためのタッチセンシティブスクリーン、キーボード、マウス、動き入力、音声など、任意の数の入力機構を表すことができる。出力デバイス935も、ディスプレイ、プロジェクタ、テレビジョン、スピーカーデバイスなど、当業者に知られているいくつかの出力機構のうちの1つまたは複数であり得る。いくつかの事例では、マルチモーダルコンピューティングデバイスは、ユーザが、コンピューティングデバイスアーキテクチャ900と通信するために複数のタイプの入力を提供することを可能にすることができる。通信インターフェース940は、概して、ユーザ入力およびコンピューティングデバイス出力を統制および管理することができる。任意の特定のハードウェア構成上で動作することに対する制限はなく、したがって、ここでの基本的特徴は、改善されたハードウェア構成またはファームウェア構成が開発されるにつれて、それらで容易に代用され得る。
【0165】
[0173] 記憶デバイス930は、不揮発性メモリであり、磁気カセット、フラッシュメモリカード、固体メモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)925、読取り専用メモリ(ROM)920、およびそれらのハイブリッドなど、コンピュータによってアクセス可能であるデータを記憶することができるハードディスクまたは他のタイプのコンピュータ可読媒体であり得る。記憶デバイス930は、プロセッサ910を制御するためのソフトウェア、コード、ファームウェアなどを含むことができる。他のハードウェアモジュールまたはソフトウェアモジュールが企図される。記憶デバイス930は、コンピューティングデバイス接続905に接続され得る。一態様では、特定の機能を実施するハードウェアモジュールは、その機能を行うために、プロセッサ910、接続905、出力デバイス935など、必要なハードウェア構成要素に関して、コンピュータ可読媒体に記憶されたソフトウェア構成要素を含むことができる。
【0166】
[0174] 「コンピュータ可読媒体」という用語は、限定はしないが、ポータブルまたは非ポータブル記憶デバイス、光記憶デバイス、ならびに(1つまたは複数の)命令および/またはデータを記憶、含有、または搬送することが可能な様々な他の媒体を含む。コンピュータ可読媒体は、データがそこに記憶され得る非一時的媒体を含み得、それは、ワイヤレスにまたはワイヤード接続を介して伝搬する搬送波および/または一時的電子信号を含まない。非一時的媒体の例は、限定はしないが、磁気ディスクまたはテープ、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリまたはメモリデバイスを含み得る。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表し得る、コードおよび/または機械実行可能命令をその上に記憶していることがある。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介してパス、フォワーディング、または送信され得る。
【0167】
[0175] いくつかの実施形態では、コンピュータ可読記憶デバイス、媒体、およびメモリは、ビットストリームなどを含んでいるケーブル信号またはワイヤレス信号を含むことができる。しかしながら、述べられるとき、非一時的コンピュータ可読記憶媒体は、エネルギー、キャリア信号、電磁波、および信号自体などの媒体を明確に除外する。
【0168】
[0176] 本明細書で提供される実施形態および例の完全な理解を提供するために、具体的な詳細が上記の説明で提供される。ただし、実施形態はこれらの具体的な詳細なしに実施され得ることを当業者は理解されよう。説明の明快のために、いくつかの事例では、本技術は、デバイス、デバイス構成要素、ソフトウェアで具現される方法におけるステップまたはルーチン、あるいはハードウェアとソフトウェアとの組合せを備える個々の機能ブロックを含むものとして提示され得る。図に示されているおよび/または本明細書で説明される構成要素以外の追加の構成要素が使用され得る。たとえば、回路、システム、ネットワーク、プロセス、および他の構成要素は、実施形態を不要な詳細で不明瞭にしないためにブロック図の形態で構成要素として示され得る。他の事例では、実施形態を不明瞭にすることを回避するために、よく知られている回路、プロセス、アルゴリズム、構造、および技法が不要な詳細なしに示され得る。
【0169】
[0177] 個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスまたは方法として、上記で説明され得る。フローチャートは動作を連続プロセスとして説明することがあるが、動作の多くは並行してまたは同時に実施され得る。さらに、動作の順序は並べ替えられ得る。プロセスの動作が完了されるとき、プロセスは終了されるが、図中に含まれない追加のステップを有し得る。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、それの終了は呼出し関数またはメイン関数への関数の復帰に対応することができる。
【0170】
[0178] 上記で説明された例によるプロセスおよび方法は、記憶されるかまたはさもなければコンピュータ可読媒体から利用可能である、コンピュータ実行可能命令を使用して実装され得る。そのような命令は、たとえば、汎用コンピュータ、専用コンピュータ、または処理デバイスが、ある機能または機能のグループを実施することを引き起こすか、あるいはさもなければそれらを実施するように構成する、命令とデータとを含むことができる。使用されるコンピュータリソースの部分が、ネットワークを介してアクセス可能であり得る。コンピュータ実行可能命令は、たとえば、バイナリ、アセンブリ言語などの中間フォーマット命令、ファームウェア、ソースコードであり得る。命令、使用される情報、および/または説明される例による方法中に作成される情報を記憶するために使用され得るコンピュータ可読媒体の例は、磁気または光ディスク、フラッシュメモリ、不揮発性メモリを備えたUSBデバイス、ネットワーク化された記憶デバイスなどを含む。
【0171】
[0179] これらの開示によるプロセスおよび方法を実装するデバイスは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せを含むことができ、様々なフォームファクタのいずれかをとることができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実施するためのプログラムコードまたはコードセグメント(たとえば、コンピュータプログラム製品)は、コンピュータ可読または機械可読媒体に記憶され得る。(1つまたは複数の)プロセッサが、必要なタスクを実施し得る。フォームファクタの一般的な例は、ラップトップ、スマートフォン、モバイルフォン、タブレットデバイスまたは他のスモールフォームファクタパーソナルコンピュータ、携帯情報端末、ラックマウントデバイス、スタンドアロンデバイスなどを含む。本明細書で説明される機能はまた、周辺機器またはアドインカードで具現され得る。そのような機能はまた、さらなる例として、単一のデバイスにおいて実行する異なるチップまたは異なるプロセスの間で回路板上に実装され得る。
【0172】
[0180] 命令、そのような命令を伝達するための媒体、それらを実行するためのコンピューティングリソース、およびそのようなコンピューティングリソースをサポートするための他の構造は、本開示で説明される機能を提供するための例示的な手段である。
【0173】
[0181] 上記の説明では、本出願の態様がそれの特定の実施形態を参照しながら説明されたが、本出願はそれに限定されないことを、当業者は認識されよう。したがって、本出願の例示的な実施形態が本明細書で詳細に説明されているが、従来技術によって限定される場合を除いて、発明概念が、場合によっては様々に具現および採用され得、添付の特許請求の範囲が、そのような変形形態を含むように解釈されるものであることを理解されたい。上記で説明された適用例の様々な特徴および態様は、個々にまたは一緒に使用され得る。さらに、実施形態は、本明細書のより広い趣旨および範囲から逸脱することなく、本明細書で説明される環境および適用例以外に、任意の数の環境および適用例において利用され得る。したがって、本明細書および図面は、限定的なものではなく例示的なものとして考慮されるべきである。例示の目的で、方法は、特定の順序で説明された。代替実施形態では、方法は、説明された順序とは異なる順序で実施され得ることを諒解されたい。
【0174】
[0182] 本明細書で使用される、よりも小さい(「<」)、および、よりも大きい(「>」)のシンボルまたは専門用語は、本説明の範囲から逸脱することなく、それぞれ、よりも小さいかまたはそれに等しい(「≦」)、および、よりも大きいかまたはそれに等しい(「≧」)のシンボルと置き換えられ得ることを、当業者は諒解されよう。
【0175】
[0183] 構成要素がいくつかの動作を実施する「ように構成される」ものとして説明される場合、そのような構成は、たとえば、動作を実施するように電子回路または他のハードウェアを設計することによって、動作を実施するようにプログラマブル電子回路(たとえば、マイクロプロセッサ、または他の好適な電子回路)をプログラムすることによって、あるいはそれらの任意の組合せで達成され得る。
【0176】
[0184] 「に結合された」という句は、直接的にまたは間接的にのいずれかで別の構成要素に物理的に接続された任意の構成要素、および/あるいは直接的にまたは間接的にのいずれかで別の構成要素と通信している(たとえば、ワイヤードまたはワイヤレス接続および/あるいは他の好適な通信インターフェースを介して別の構成要素に接続された)任意の構成要素を指す。
【0177】
[0185] セット「のうちの少なくとも1つ」、および/またはセットのうちの「1つまたは複数」を具陳するクレームの文言または本開示における他の文言は、セットのうちの1つのメンバーまたは(任意の組合せにおける)セットのうちの複数のメンバーがクレームを満足することを示す。たとえば、「AおよびBのうちの少なくとも1つ」または「AまたはBのうちの少なくとも1つ」を具陳するクレームの文言は、A、B、またはAおよびBを意味する。別の例では、「A、B、およびCのうちの少なくとも1つ」または「A、B、またはCのうちの少なくとも1つ」を具陳するクレームの文言は、A、B、C、またはAおよびB、またはAおよびC、またはBおよびC、またはAおよびBおよびCを意味する。セット「のうちの少なくとも1つ」、および/またはセットのうちの「1つまたは複数」という文言は、セットを、セットに記載されている項目に限定しない。たとえば、「AおよびBのうちの少なくとも1つ」または「AまたはBのうちの少なくとも1つ」を具陳するクレームの文言は、A、B、またはAおよびBを意味することができ、さらに、AおよびBのセットに記載されていない項目を含むことができる。
【0178】
[0186] 本明細書で開示される例に関して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上記で説明された。そのような機能がハードウェアとして実装されるのかソフトウェアとして実装されるのかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明される機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本出願の範囲からの逸脱を生じるものと解釈されるべきではない。
【0179】
[0187] 本明細書で説明される技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明されたいかなる特徴も、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装された場合、本技法は、実行されたとき、上記で説明された方法、アルゴリズム、および/または動作のうちの1つまたは複数を実施する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、フラッシュメモリ、磁気または光学データ記憶媒体など、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または通信し、コンピュータによってアクセスされ、読み取られ、および/または実行され得るコンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
【0180】
[0188] プログラムコードは、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路など、1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明される技法のいずれかを実施するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、あるいは本明細書で説明された技法の実装に好適な任意の他の構造または装置のいずれかを指し得る。
【0181】
[0189] 本開示の例示的な例は、以下を含む。
【0182】
[0190] 態様1.1つまたは複数のデバイスの位置を特定するための装置であって、装置が、メモリと、メモリに結合された1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサは、装置に結合された接続されたデバイスから識別情報出力を受信することと、識別情報出力が、オーディオパターン、表示パターン、および光パターンのうちの少なくとも1つを備える、接続されたデバイスからの識別情報出力に基づいて、装置の座標系において、接続されたデバイスをマッピングすることとを行うように構成された、装置。
【0183】
[0191] 態様2.識別情報出力が、オーディオパターン、表示パターン、光パターン、および無線信号のうちの少なくとも1つを備える、態様1に記載の装置。
【0184】
[0192] 態様3.1つまたは複数のプロセッサが、識別情報出力に基づいて、接続されたデバイスのロケーションを決定することと、接続されたデバイスのロケーションに基づいて、装置の座標系において、接続されたデバイスをマッピングすることとを行うように構成された、態様1から2のいずれかに記載の装置。
【0185】
[0193] 態様4.1つまたは複数のプロセッサは、接続されたデバイスに、接続されたデバイスからの追加の識別情報出力をトリガするように構成された信号を送り、接続されたデバイスに、1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることと、1つまたは複数の追加の信号が、接続されたデバイスからの追加の識別情報出力をトリガするように構成された、接続されたデバイスから追加の識別情報出力を受信することと、追加の識別情報出力に基づいて、接続されたデバイスのロケーションを決定することとを行うように構成され、ここにおいて、装置の座標系において、接続されたデバイスをマッピングするために、1つまたは複数のプロセッサが、接続されたデバイスを接続されたデバイスのロケーションに関連付けるようにデバイスマップを更新するように構成された、態様1から3のいずれかに記載の装置。
【0186】
[0194] 態様5.1つまたは複数の異なる時間において1つまたは複数の追加の信号を送るために、1つまたは複数のプロセッサは、装置が、接続されたデバイスのマッピングされたロケーションに対してしきい値近接度内にある、および接続されたデバイスのマッピングされたロケーションが、装置の画像センサーの視野内にある、のうちの少なくとも1つの間、追加の識別情報出力を受信することの失敗を決定することと、追加の識別情報出力を受信することの失敗に基づいて、1つまたは複数の追加の信号を接続されたデバイスに送ることとを行うように構成された、態様1から4のいずれかに記載の装置。
【0187】
[0195] 態様6.1つまたは複数の異なる時間において1つまたは複数の追加の信号を送るために、1つまたは複数のプロセッサは、接続されたデバイスから追加の識別情報出力を受信することなしに、所定の時間量が経過する、および、接続されたデバイスから追加の識別情報出力を受信することなしに、いくつかの追加の信号が送られる、のうちの少なくとも1つまで、1つまたは複数の追加の信号を周期的に送るように構成された、態様1から5のいずれかに記載の装置。
【0188】
[0196] 態様7.接続されたデバイスから識別情報出力を受信するために、1つまたは複数のプロセッサが、装置の1つまたは複数のセンサーからのデータに基づいて、識別情報出力における1つまたは複数のパターンを検出することと、接続されたデバイスからの識別情報出力として1つまたは複数のパターンを認識することとを行うように構成された、態様1から6のいずれかに記載の装置。
【0189】
[0197] 態様8.1つまたは複数のパターンがオーディオパターンを備え、1つまたは複数のセンサーがオーディオセンサーを備える、態様1から7のいずれかに記載の装置。
【0190】
[0198] 態様9.1つまたは複数のパターンが表示パターンを備え、1つまたは複数のセンサーが画像センサーを備える、態様1から8のいずれかに記載の装置。
【0191】
[0199] 態様10.1つまたは複数のパターンが光パターンを備え、1つまたは複数のセンサーが光センサーを備える、態様1から9のいずれかに記載の装置。
【0192】
[0200] 態様11.接続されたデバイスからの識別情報出力として1つまたは複数のパターンを認識するために、1つまたは複数のプロセッサが、ニューラルネットワークおよび特徴マッチングのうちの少なくとも1つを使用して、識別情報出力として1つまたは複数のパターンを認識することを行うように構成された、態様1から10のいずれかに記載の装置。
【0193】
[0201] 態様12.1つまたは複数のプロセッサが、接続されたデバイスによるアクションをトリガするための要求を受信することと、接続されたデバイスのマッピングに基づいて、接続されたデバイスのロケーションを識別することと、接続されたデバイスに、接続されたデバイスによるアクションをトリガするように構成されたコマンドを送ることとを行うように構成された、態様1から11のいずれかに記載の装置。
【0194】
[0202] 態様13.接続されたデバイスによるアクションをトリガするための要求が、接続されたデバイスによってキャプチャされたビデオフィードを装置に送るための要求を備え、ここにおいて、1つまたは複数のプロセッサは、コマンドを接続されたデバイスに送ることと、ここにおいて、コマンドが、ビデオフィードを装置に送るように、接続されたデバイスをトリガするように構成された、接続されたデバイスからビデオフィードを受信することと、装置においてビデオフィードを表示することとを行うように構成された、態様1から12のいずれかに記載の装置。
【0195】
[0203] 態様14.接続されたデバイスによるアクションをトリガするための要求が、装置からのコンテンツを表示するように、接続されたデバイスをトリガするための要求を備え、ここにおいて、コマンドを接続されたデバイスに送るために、1つまたは複数のプロセッサは、接続されたデバイスに、コマンドと装置からのコンテンツとを備えるデータを送ること、ここにおいて、コマンドが、装置からのコンテンツを表示するように、接続されたデバイスをトリガするように構成された、を行うように構成された、態様1から13のいずれかに記載の装置。
【0196】
[0204] 態様15.接続されたデバイスによるアクションをトリガするための要求が、接続されたデバイスの電力モードを調整するための要求を備え、ここにおいて、コマンドが、接続されたデバイスの電力モードを調整するように構成された、態様1から14のいずれかに記載の装置。
【0197】
[0205] 態様16.接続されたデバイスが電球を備え、ここにおいて、接続されたデバイスによるアクションをトリガするための要求が、電球によって放出された光の輝度および色のうちの少なくとも1つを調整するための要求を備え、ここにおいて、コマンドが、電球によって放出された光の輝度および色のうちの少なくとも1つを調整するように電球をトリガするように構成された、態様1から15のいずれかに記載の装置。
【0198】
[0206] 態様17.1つまたは複数のプロセッサは、装置に関連するユーザによるジェスチャーを検出することと、ジェスチャーが、接続されたデバイスのロケーションを示す、ジェスチャーに基づいて、物理的環境における1つまたは複数の接続されたデバイスからの1つまたは複数の識別情報出力をトリガすることと、1つまたは複数の識別情報出力から特定の識別情報出力を受信することと、特定の識別情報出力がロケーションから発信する、特定の識別情報出力に基づいて、接続されたデバイスがロケーションに位置すると決定することとを行うように構成された、態様1から16のいずれかに記載の装置。
【0199】
[0207] 態様18.装置の座標系において、接続されたデバイスをマッピングするために、1つまたは複数のプロセッサが、接続されたデバイスを接続されたデバイスのロケーションに関連付けるようにデバイスマップを更新するように構成された、態様1から17のいずれかに記載の装置。
【0200】
[0208] 態様19.ジェスチャーが、1つまたは複数の接続されたデバイスを指すこと、1つまたは複数の接続されたデバイスにタッチすること、装置の画像センサーの視野内に1つまたは複数の接続されたデバイスを配置すること、手ジェスチャー、および視線のうちの少なくとも1つを備える、態様1から18のいずれかに記載の装置。
【0201】
[0209] 態様20.1つまたは複数のプロセッサは、装置に関連するユーザによるボイスコマンドを受信することと、ボイスコマンドが、接続されたデバイスのロケーションを示す、ボイスコマンドに基づいて、物理的環境における1つまたは複数の接続されたデバイスからの1つまたは複数の識別情報出力をトリガすることと、1つまたは複数の識別情報出力から特定の識別情報出力を受信することと、特定の識別情報出力がロケーションから発信する、特定の識別情報出力に基づいて、接続されたデバイスがロケーションに位置すると決定することとを行うように構成された、態様1から19のいずれかに記載の装置。
【0202】
[0210] 態様21.1つまたは複数のプロセッサは、マッピングモードに入るように1つまたは複数の接続されたデバイスをトリガすることと、1つまたは複数の接続されたデバイスに、デバイス識別情報出力を送ることと、1つまたは複数の接続されたデバイスから位置特定情報を受信することと、位置特定情報が、装置に対する1つまたは複数の接続されたデバイスのロケーションを示す、1つまたは複数の接続されたデバイスからの位置特定情報に基づいて、装置の座標系において1つまたは複数の接続されたデバイスをマッピングすることとを行うように構成された、態様1から20のいずれかに記載の装置。
【0203】
[0211] 態様22.1つまたは複数のプロセッサは、マッピングモードに入るように1つまたは複数の接続されたデバイスをトリガすることと、1つまたは複数の接続されたデバイスから位置特定情報を受信することと、位置特定情報が、1つまたは複数の接続されたデバイスに対するランドマークの第1のロケーションを示す、位置特定情報に基づく1つまたは複数の接続されたデバイスの第2のロケーションと、装置に対するランドマークの第3のロケーションとを決定することと、1つまたは複数の接続されたデバイスの第2のロケーションに基づいて、装置の座標系において1つまたは複数の接続されたデバイスをマッピングすることとを行うように構成された、態様1から21のいずれかに記載の装置。
【0204】
[0212] 態様23.識別情報出力が光パターンを備え、ここにおいて、光パターンが、装置によって放出された光減光および増光レベルのパターンと、装置によって放出された光の色温度変化のパターンと、装置によって放出された明滅光のシーケンスとのうちの少なくとも1つを備える、態様1から22のいずれかに記載の装置。
【0205】
[0213] 態様24.識別情報出力が表示パターンを備え、ここにおいて、表示パターンが、装置のディスプレイデバイス上に表示されるコードと、装置のディスプレイデバイス上に表示される画像と、装置のディスプレイデバイス上に表示される視覚パターンと、装置のディスプレイデバイス上に表示されるデジタルオブジェクトとのうちの少なくとも1つを備える、態様1から23のいずれかに記載の装置。
【0206】
[0214] 態様25.識別情報出力がオーディオパターンを備え、ここにおいて、オーディオパターンが、装置によって出力されたオーディオコードと、装置によって出力された音のシーケンスとのうちの少なくとも1つを備える、態様1から24のいずれかに記載の装置。
【0207】
[0215] 態様26.1つまたは複数のプロセッサが、接続されたデバイスに、接続されたデバイスからの識別情報出力をトリガするように構成された信号を送ることと、接続されたデバイスから識別情報出力を受信することとを行うように構成された、態様1から25のいずれかに記載の装置。
【0208】
[0216] 態様27.識別情報出力を受信するために、1つまたは複数のプロセッサが、接続されたデバイスによってブロードキャストされた複数の識別情報出力からの1つまたは複数の識別情報出力を受信すること、1つまたは複数の識別情報出力が識別情報出力を備える、を行うように構成された、態様1から26のいずれかに記載の装置。
【0209】
[0217] 態様28.装置がエクステンデッドリアリティデバイスである、態様1から27のいずれかに記載の装置。
【0210】
[0218] 態様29.装置がエクステンデッドリアリティデバイスを備える、態様1から28のいずれかに記載の装置。
【0211】
[0219] 態様30.装置がモバイルデバイスである、態様1から29のいずれかに記載の装置。
【0212】
[0220] 態様31.装置がモバイルデバイスを備える、態様1から30のいずれかに記載の装置。
【0213】
[0221] 態様32.装置が、データを表示するように構成されたディスプレイと、画像データをキャプチャするように構成されたカメラとのうちの少なくとも1つである、態様1から31のいずれかに記載の装置。
【0214】
[0222] 態様33.装置が、データを表示するように構成されたディスプレイと、画像データをキャプチャするように構成されたカメラとのうちの少なくとも1つを備える、態様1から32のいずれかに記載の装置。
【0215】
[0223] 態様34.接続されたデバイスが、電球、スピーカー、テレビジョン、マイクロフォン、1つまたは複数のセンサー、カメラ、サーモスタット、およびウェアラブルデバイスのうちの少なくとも1つである、態様1から33のいずれかに記載の装置。
【0216】
[0224] 態様35.接続されたデバイスが、電球、スピーカー、テレビジョン、マイクロフォン、1つまたは複数のセンサー、カメラ、サーモスタット、およびウェアラブルデバイスのうちの少なくとも1つを備える、態様1から34のいずれかに記載の装置。
【0217】
[0225] 態様36.識別情報出力が、受信された無線信号を備える、態様1から35のいずれかに記載の装置。
【0218】
[0226] 態様37.1つまたは複数のデバイスの位置を特定するための方法であって、方法は、電子デバイスに結合された接続されたデバイスから識別情報出力を受信することと、接続されたデバイスからの識別情報出力に基づいて、電子デバイスの座標系において、接続されたデバイスをマッピングすることとを備える、方法。
【0219】
[0227] 態様38.識別情報出力が、オーディオパターン、表示パターン、光パターン、および無線信号のうちの少なくとも1つを備える、態様37に記載の方法。
【0220】
[0228] 態様39.識別情報出力に基づいて、接続されたデバイスのロケーションを決定することと、接続されたデバイスのロケーションに基づいて、電子デバイスの座標系において、接続されたデバイスをマッピングすることとをさらに備える、態様37から38のいずれかに記載の方法。
【0221】
[0229] 態様40.接続されたデバイスに、接続されたデバイスからの追加の識別情報出力をトリガするように構成された信号を送り、接続されたデバイスに、1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることと、1つまたは複数の追加の信号が、接続されたデバイスからの追加の識別情報出力をトリガするように構成された、接続されたデバイスから追加の識別情報出力を受信することと、追加の識別情報出力に基づいて、接続されたデバイスのロケーションを決定することとをさらに備え、ここにおいて、電子デバイスの座標系において、接続されたデバイスをマッピングすることが、接続されたデバイスを接続されたデバイスのロケーションに関連付けるようにデバイスマップを更新することを備える、態様37から39のいずれかに記載の方法。
【0222】
[0230] 態様41.1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることは、電子デバイスが、接続されたデバイスのマッピングされたロケーションに対してしきい値近接度内にある、および接続されたデバイスのマッピングされたロケーションが、電子デバイスの画像センサーの視野内にある、のうちの少なくとも1つの間、追加の識別情報出力を受信することの失敗を決定することと、追加の識別情報出力を受信することの失敗に基づいて、1つまたは複数の追加の信号を接続されたデバイスに送ることとを備える、態様37から40のいずれかに記載の方法。
【0223】
[0231] 態様42.1つまたは複数の異なる時間において1つまたは複数の追加の信号を送ることは、接続されたデバイスから追加の識別情報出力を受信することなしに、所定の時間量が経過する、および、接続されたデバイスから追加の識別情報出力を受信することなしに、いくつかの追加の信号が送られる、のうちの少なくとも1つまで、1つまたは複数の追加の信号を周期的に送ることを備える、態様37から41のいずれかに記載の方法。
【0224】
[0232] 態様43.接続されたデバイスから識別情報出力を受信することが、電子デバイスの1つまたは複数のセンサーからのデータに基づいて、識別情報出力における1つまたは複数のパターンを検出することと、接続されたデバイスからの識別情報出力として1つまたは複数のパターンを認識することとを備える、態様37から42のいずれかに記載の方法。
【0225】
[0233] 態様44.1つまたは複数のパターンがオーディオパターンを備え、1つまたは複数のセンサーがオーディオセンサーを備える、態様37から43のいずれかに記載の方法。
【0226】
[0234] 態様45.1つまたは複数のパターンが表示パターンを備え、1つまたは複数のセンサーが画像センサーを備える、態様37から44のいずれかに記載の方法。
【0227】
[0235] 態様46.1つまたは複数のパターンが光パターンを備え、1つまたは複数のセンサーが光センサーを備える、態様37から45のいずれかに記載の方法。
【0228】
[0236] 態様47.接続されたデバイスからの識別情報出力として1つまたは複数のパターンを認識することが、ニューラルネットワークおよび特徴マッチングのうちの少なくとも1つを使用して、識別情報出力として1つまたは複数のパターンを認識することを備える、態様37から46のいずれかに記載の方法。
【0229】
[0237] 態様48.接続されたデバイスによるアクションをトリガするための要求を受信することと、接続されたデバイスのマッピングに基づいて、接続されたデバイスのロケーションを識別することと、接続されたデバイスに、接続されたデバイスによるアクションをトリガするように構成されたコマンドを送ることとをさらに備える、態様37から47のいずれかに記載の方法。
【0230】
[0238] 態様49.接続されたデバイスによるアクションをトリガするための要求が、接続されたデバイスによってキャプチャされたビデオフィードを電子デバイスに送るための要求を備え、方法は、コマンドを接続されたデバイスに送ることと、ここにおいて、コマンドが、ビデオフィードを電子デバイスに送るように、接続されたデバイスをトリガするように構成された、接続されたデバイスからビデオフィードを受信することと、電子デバイスにおいてビデオフィードを表示することとをさらに備える、態様37から48のいずれかに記載の方法。
【0231】
[0239] 態様50.接続されたデバイスによるアクションをトリガするための要求が、電子デバイスからのコンテンツを表示するように、接続されたデバイスをトリガするための要求を備え、ここにおいて、コマンドを接続されたデバイスに送ることは、接続されたデバイスに、コマンドと電子デバイスからのコンテンツとを備えるデータを送ること、ここにおいて、コマンドが、電子デバイスからのコンテンツを表示するように、接続されたデバイスをトリガするように構成された、を備える、態様37から49のいずれかに記載の方法。
【0232】
[0240] 態様51.接続されたデバイスによるアクションをトリガするための要求が、接続されたデバイスの電力モードを調整するための要求を備え、ここにおいて、コマンドが、接続されたデバイスの電力モードを調整するように構成された、態様37から50のいずれかに記載の方法。
【0233】
[0241] 態様52.接続されたデバイスが電球を備え、ここにおいて、接続されたデバイスによるアクションをトリガするための要求が、電球によって放出された光の輝度および色のうちの少なくとも1つを調整するための要求を備え、ここにおいて、コマンドが、電球によって放出された光の輝度および色のうちの少なくとも1つを調整するように電球をトリガするように構成された、態様37から51のいずれかに記載の方法。
【0234】
[0242] 態様53.電子デバイスに関連するユーザによるジェスチャーを検出することと、ジェスチャーが、接続されたデバイスのロケーションを示す、ジェスチャーに基づいて、物理的環境における1つまたは複数の接続されたデバイスからの1つまたは複数の識別情報出力をトリガすることと、1つまたは複数の識別情報出力から特定の識別情報出力を受信することと、特定の識別情報出力がロケーションから発信する、特定の識別情報出力に基づいて、接続されたデバイスがロケーションに位置すると決定することとをさらに備える、態様37から52のいずれかに記載の方法。
【0235】
[0243] 態様54.電子デバイスの座標系において、接続されたデバイスをマッピングすることが、接続されたデバイスを接続されたデバイスのロケーションに関連付けるようにデバイスマップを更新することを備える、態様37から53のいずれかに記載の方法。
【0236】
[0244] 態様55.ジェスチャーが、1つまたは複数の接続されたデバイスを指すこと、1つまたは複数の接続されたデバイスにタッチすること、電子デバイスの画像センサーの視野内に1つまたは複数の接続されたデバイスを配置すること、手ジェスチャー、および視線のうちの少なくとも1つを備える、態様37から54のいずれかに記載の方法。
【0237】
[0245] 態様56.電子デバイスに関連するユーザによるボイスコマンドを受信することと、ボイスコマンドが、接続されたデバイスのロケーションを示す、ボイスコマンドに基づいて、物理的環境における1つまたは複数の接続されたデバイスからの1つまたは複数の識別情報出力をトリガすることと、1つまたは複数の識別情報出力から特定の識別情報出力を受信することと、特定の識別情報出力がロケーションから発信する、特定の識別情報出力に基づいて、接続されたデバイスがロケーションに位置すると決定することとをさらに備える、態様37から55のいずれかに記載の方法。
【0238】
[0246] 態様57.マッピングモードに入るように1つまたは複数の接続されたデバイスをトリガすることと、1つまたは複数の接続されたデバイスに、デバイス識別情報出力を送ることと、1つまたは複数の接続されたデバイスから位置特定情報を受信することと、位置特定情報が、電子デバイスに対する1つまたは複数の接続されたデバイスのロケーションを示す、1つまたは複数の接続されたデバイスからの位置特定情報に基づいて、電子デバイスの座標系において1つまたは複数の接続されたデバイスをマッピングすることとをさらに備える、態様37から56のいずれかに記載の方法。
【0239】
[0247] 態様58.マッピングモードに入るように1つまたは複数の接続されたデバイスをトリガすることと、1つまたは複数の接続されたデバイスから位置特定情報を受信することと、位置特定情報が、1つまたは複数の接続されたデバイスに対するランドマークの第1のロケーションを示す、位置特定情報に基づく1つまたは複数の接続されたデバイスの第2のロケーションと、電子デバイスに対するランドマークの第3のロケーションとを決定することと、1つまたは複数の接続されたデバイスの第2のロケーションに基づいて、電子デバイスの座標系において1つまたは複数の接続されたデバイスをマッピングすることとをさらに備える、態様37から57のいずれかに記載の方法。
【0240】
[0248] 態様59.識別情報出力が光パターンを備え、ここにおいて、光パターンが、電子デバイスによって放出された光減光および増光レベルのパターンと、電子デバイスによって放出された光の色温度変化のパターンと、電子デバイスによって放出された明滅光のシーケンスとのうちの少なくとも1つを備える、態様37から58のいずれかに記載の方法。
【0241】
[0249] 態様60.識別情報出力が表示パターンを備え、ここにおいて、表示パターンが、電子デバイスのディスプレイデバイス上に表示されるコードと、電子デバイスのディスプレイデバイス上に表示される画像と、電子デバイスのディスプレイデバイス上に表示される視覚パターンと、電子デバイスのディスプレイデバイス上に表示されるデジタルオブジェクトとのうちの少なくとも1つを備える、態様37から59のいずれかに記載の方法。
【0242】
[0250] 態様61.識別情報出力がオーディオパターンを備え、ここにおいて、オーディオパターンが、電子デバイスによって出力されたオーディオコードと、電子デバイスによって出力された音のシーケンスとのうちの少なくとも1つを備える、態様37から60のいずれかに記載の方法。
【0243】
[0251] 態様62.接続されたデバイスに、接続されたデバイスからの識別情報出力をトリガするように構成された信号を送ることと、接続されたデバイスから識別情報出力を受信することとをさらに備える、態様37から61のいずれかに記載の方法。
【0244】
[0252] 態様63.識別情報出力を受信することは、接続されたデバイスによってブロードキャストされた複数の識別情報出力からの1つまたは複数の識別情報出力を受信すること、1つまたは複数の識別情報出力が識別情報出力を備える、を備える、態様37から62のいずれかに記載の方法。
【0245】
[0253] 態様64.接続されたデバイスが、電球、スピーカー、テレビジョン、マイクロフォン、1つまたは複数のセンサー、カメラ、サーモスタット、およびウェアラブルデバイスのうちの少なくとも1つである、態様37から63のいずれかに記載の方法。
【0246】
[0254] 態様65.接続されたデバイスが、電球、スピーカー、テレビジョン、マイクロフォン、1つまたは複数のセンサー、カメラ、サーモスタット、およびウェアラブルデバイスのうちの少なくとも1つを備える、態様37から64のいずれかに記載の方法。
【0247】
[0255] 態様66.識別情報出力が、受信された無線信号を備える、態様37から65のいずれかに記載の方法。
【0248】
[0256] 態様67.電子デバイスが、XRデバイスであるかまたはXRデバイスを備える、態様37から66のいずれかに記載の方法。
【0249】
[0257] 態様68.電子デバイスが、モバイルデバイスであるかまたはモバイルデバイスを備える、態様37から67のいずれかに記載の方法。
【0250】
[0258] 態様69.電子デバイスがカメラを備える、態様37から68のいずれかに記載の方法。
【0251】
[0259] 態様70.電子デバイスがディスプレイデバイスを備える、態様37から69のいずれかに記載の方法。
【0252】
[0260] 態様71.1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに態様37から70のいずれかに記載の方法を実施させる命令を記憶した非一時的コンピュータ可読媒体。
【0253】
[0261] 態様72.態様37から70のいずれかに記載の方法を実施するための手段を備える装置。
【0254】
[0262] 態様73.装置が、電子デバイスであるかまたは電子デバイスを備える、態様72に記載の装置。
【0255】
[0263] 態様74.装置がモバイルデバイスを備える、態様72から73のいずれかに記載の装置。
【0256】
[0264] 態様75.装置がカメラを備える、態様72から74のいずれかに記載の装置。
【0257】
[0265] 態様76.装置がディスプレイデバイスを備える、態様72から75のいずれかに記載の装置。
【0258】
[0266] 態様77.1つまたは複数のデバイスの位置を特定するための装置であって、装置が、メモリと、メモリに結合された1つまたは複数のプロセッサとを備え、1つまたは複数のプロセッサは、接続されたデバイスの第1の識別情報出力、装置の第2の識別情報出力、アクション追跡データおよび第1のジョイント位置特定情報のうちの少なくとも1つに基づいて、接続されたデバイスについての位置特定データを決定することと、決定された位置特定データに基づいて、装置の座標系において、接続されたデバイスをマッピングすることとを行うように構成された、装置。
【0259】
[0267] 態様78.識別情報出力が、オーディオパターン、表示パターン、および光パターンのうちの少なくとも1つを備える、態様77に記載の装置。
【0260】
[0268] 態様79.1つまたは複数のプロセッサが、接続されたデバイスからの第1の識別情報出力を検出することと、第1の位置特定情報に基づいて位置特定データを決定することとによって、接続されたデバイスについての位置特定データを決定するように構成された、態様77から78のいずれかに記載の装置。
【0261】
[0269] 態様80.1つまたは複数のプロセッサは、第2の識別情報出力を接続されたデバイスに送ることと、接続されたデバイスから位置特定情報を受信することと、位置特定情報が、装置に対する接続されたデバイスのロケーションを示す、位置特定情報に基づいて位置特定データを決定することとによって、接続されたデバイスについての位置特定データを決定するように構成された、態様77から79のいずれかに記載の装置。
【0262】
[0270] 態様81.1つまたは複数のプロセッサが、装置についての追跡データを決定することと、追跡データおよびアクション追跡データに基づいて位置特定データを決定することとを行うように構成された、態様77から80のいずれかに記載の装置。
【0263】
[0271] 態様82.1つまたは複数のプロセッサは、接続されたデバイスから第1のジョイント位置特定情報を受信することと、第1のジョイント位置特定情報が、接続されたデバイスに対するランドマークの第1のロケーションを示す、第2のジョイント位置特定情報を決定することと、第2のジョイント位置特定情報が、装置に対するランドマークの第2のロケーションを示す、第1のジョイント位置特定情報および第2のジョイント位置特定情報に基づいて位置特定データを決定することとによって、接続されたデバイスについての位置特定データを決定するように構成された、態様77から81のいずれかに記載の装置。
【0264】
[0272] 態様83.第1のジョイント位置特定情報が、ランドマークの特徴を記述する特徴ベクトルを含み、1つまたは複数のプロセッサは、第1のジョイント位置特定情報がランドマークに対応することを検証するために特徴ベクトルを使用するように構成された、態様77から82のいずれかに記載の装置。
【0265】
[0273] 態様84.装置が、XRデバイスであるかまたはXRデバイスを備える、態様77から83のいずれかに記載の装置。
【0266】
[0274] 態様85.装置が、モバイルデバイスであるかまたはモバイルデバイスを備える、態様77から84のいずれかに記載の装置。
【0267】
[0275] 態様86.1つまたは複数のデバイスの位置を特定するための方法であって、方法が、接続されたデバイスの第1の識別情報出力、電子デバイスの第2の識別情報出力、アクション追跡データおよび第1のジョイント位置特定情報のうちの少なくとも1つに基づいて、接続されたデバイスについての位置特定データを決定することと、決定された位置特定データに基づいて、電子デバイスの座標系において、接続されたデバイスをマッピングすることとを備える、方法。
【0268】
[0276] 態様87.識別情報出力が、オーディオパターン、表示パターン、および光パターンのうちの少なくとも1つを備える、態様86に記載の方法。
【0269】
[0277] 態様88.接続されたデバイスからの第1の識別情報出力を検出することと、第1の位置特定情報に基づいて位置特定データを決定することとによって、接続されたデバイスについての位置特定データを決定することをさらに備える、態様86から87のいずれかに記載の方法。
【0270】
[0278] 態様89.第2の識別情報出力を接続されたデバイスに送ることと、接続されたデバイスから位置特定情報を受信することと、位置特定情報が電子デバイスに対する接続されたデバイスのロケーションを示す、位置特定情報に基づいて位置特定データを決定することとによって、接続されたデバイスについての位置特定データを決定することをさらに備える、態様86から88のいずれかに記載の方法。
【0271】
[0279] 態様90.電子デバイスについての追跡データを決定することと、追跡データおよびアクション追跡データに基づいて位置特定データを決定することとをさらに備える、態様86から89のいずれかに記載の方法。
【0272】
[0280] 態様91.接続されたデバイスから第1のジョイント位置特定情報を受信することと、第1のジョイント位置特定情報が、接続されたデバイスに対するランドマークの第1のロケーションを示す、第2のジョイント位置特定情報を決定することと、第2のジョイント位置特定情報が、電子デバイスに対するランドマークの第2のロケーションを示す、第1のジョイント位置特定情報および第2のジョイント位置特定情報に基づいて位置特定データを決定することとによって、接続されたデバイスについての位置特定データを決定することをさらに備える、態様86から90のいずれかに記載の方法。
【0273】
[0281] 態様92.第1のジョイント位置特定情報が、ランドマークの特徴を記述する特徴ベクトルを含み、方法は、第1のジョイント位置特定情報がランドマークに対応することを検証するために特徴ベクトルを使用することをさらに備える、態様86から91のいずれかに記載の方法。
【0274】
[0282] 態様93.電子デバイスが、XRデバイスであるかまたはXRデバイスを備える、態様86から92のいずれかに記載の方法。
【0275】
[0283] 態様94.電子デバイスが、モバイルデバイスであるかまたはモバイルデバイスを備える、態様86から93のいずれかに記載の方法。
【0276】
[0284] 態様95.態様86から94のいずれかに記載の方法を実施するための手段を備える装置。
【0277】
[0285] 態様96.装置が、電子デバイスであるかまたは電子デバイスを備える、態様95に記載の装置。
【0278】
[0286] 態様97.1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに態様86から94のいずれかに記載の方法を実施させる命令を記憶した非一時的コンピュータ可読媒体。
【0279】
[0287] 態様98.接続されたデバイスが、装置に直接または間接的に結合される、態様1から36のいずれかに記載の装置。
【0280】
[0288] 態様99.接続されたデバイスが、電子デバイスに直接または間接的に結合される、態様37から70のいずれかに記載の方法。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】