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

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

▶ アーク リソー ホールディングス, エルエルシーの特許一覧

特表2022-521360ポインティングコントローラを使用したスマートデバイスとの相互作用
<>
  • 特表-ポインティングコントローラを使用したスマートデバイスとの相互作用 図1
  • 特表-ポインティングコントローラを使用したスマートデバイスとの相互作用 図2
  • 特表-ポインティングコントローラを使用したスマートデバイスとの相互作用 図3
  • 特表-ポインティングコントローラを使用したスマートデバイスとの相互作用 図4
  • 特表-ポインティングコントローラを使用したスマートデバイスとの相互作用 図5
  • 特表-ポインティングコントローラを使用したスマートデバイスとの相互作用 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-06
(54)【発明の名称】ポインティングコントローラを使用したスマートデバイスとの相互作用
(51)【国際特許分類】
   G06F 3/0346 20130101AFI20220330BHJP
   G06F 3/01 20060101ALI20220330BHJP
   G06F 3/0488 20220101ALI20220330BHJP
【FI】
G06F3/0346 425
G06F3/01 570
G06F3/0346 426
G06F3/0488
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021571059
(86)(22)【出願日】2020-02-15
(85)【翻訳文提出日】2021-10-12
(86)【国際出願番号】 IB2020051292
(87)【国際公開番号】W WO2020170105
(87)【国際公開日】2020-08-27
(31)【優先権主張番号】62/807,094
(32)【優先日】2019-02-18
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】322003156
【氏名又は名称】アーク リソー ホールディングス, エルエルシー
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】マーティン, ナサニエル ジェイムズ
(72)【発明者】
【氏名】ブルース, チャールズ ジェイムズ
(72)【発明者】
【氏名】ジョーンズ, ルイス アントニー
【テーマコード(参考)】
5B087
5E555
【Fターム(参考)】
5B087AA07
5B087AA09
5B087AB02
5B087DD03
5E555AA64
5E555AA76
5E555BA04
5E555BA38
5E555BB04
5E555BB38
5E555BC08
5E555BE17
5E555CA10
5E555CA12
5E555CA17
5E555CA42
5E555CA44
5E555CB16
5E555CB21
5E555CB66
5E555CC05
5E555DA08
5E555DA09
5E555DB16
5E555DC19
5E555DC21
5E555DD07
5E555EA11
5E555EA22
5E555FA00
(57)【要約】
ユーザによって装着されるポインティングコントローラは、種々の接続されるスマートデバイスの直感的制御を可能にする。ユーザは、スマートデバイス(または代理物体)の方向をポイントし、制御のためのデバイスを選択するための所定のアクションを実施することによって、制御されるべきデバイスを示し得る。いったん選択されると、ユーザは、種々のジェスチャもしくはポインティングコントローラに統合された1つまたはそれを上回る制御要素との相互作用を実施することによって、スマートデバイスと相互作用し得る。スマートデバイスは、スマートデバイス上の視覚または聴覚インジケータを使用して、もしくは触覚、聴覚、または視覚的フィードバックを提供する、ユーザに近接するポインティングコントローラもしくは他のデバイスに制御信号を送信することによって、フィードバックを提供し得る。
【特許請求の範囲】
【請求項1】
ポインティングコントローラを使用してスマートデバイスとの相互作用を制御するための方法であって、前記方法は、
前記ポインティングコントローラの状態感知デバイスからセンサデータを取得することと、
前記センサデータおよび記憶された腕モデルに基づいて、3次元空間を通してポインティングベクトルの移動を追跡することと、
前記スマートデバイスを選択された状態にするために、前記ポインティングベクトルと前記スマートデバイスと関連付けられる前記3次元空間内の座標との交差部を検出することと、
拡張現実ディスプレイデバイスに、前記スマートデバイスと関連付けられる仮想メニューを表示させることと、
前記スマートデバイスが、前記選択された状態にあるとき、前記仮想メニューと関連付けられる前記ポインティングコントローラとの制御相互作用を検出することと、
前記制御相互作用に基づいて、前記スマートデバイスの動作を制御するためのコマンドを発生させることと
を含む、方法。
【請求項2】
前記スマートデバイスと関連付けられる前記座標は、前記スマートデバイスの物理的場所を備える、請求項1に記載の方法。
【請求項3】
前記スマートデバイスと関連付けられる前記座標は、前記スマートデバイスと関連付けられる実または仮想代理デバイスの場所を備える、請求項1に記載の方法。
【請求項4】
前記交差部を検出することは、
前記ポインティングベクトルと整合される中心軸と、前記ポインティングコントローラの場所に近接する原点と、前記ポインティングベクトルの原点からの距離に伴って増加する半径とを有するポインティング円錐を発生させることと、
前記ポインティング円錐が前記スマートデバイスと関連付けられる前記座標と重複することに応答して、前記ポインティングベクトルとの前記交差部を検出することと
を含む、請求項1に記載の方法。
【請求項5】
前記制御相互作用を検出することは、前記ポインティングコントローラの指間ボタンのアクティブ化を検出することを含む、請求項1に記載の方法。
【請求項6】
前記制御相互作用を検出することは、
前記ポインティングコントローラのスライダ制御インターフェースとの相互作用を検出することと、
前記スライダ制御インターフェースとの相互作用に応答して、前記仮想メニュー内の異なるメニューアイテムの間をナビゲートすることと、
前記ポインティングコントローラの指間ボタンのアクティブ化の検出に応答して、メニューアイテムを選択することと
を含む、請求項1に記載の方法。
【請求項7】
前記制御相互作用を検出することは、前記スマートデバイスの制御機能を示す前記ポインティングコントローラを用いて行われるジェスチャを検出することを含む、請求項1に記載の方法。
【請求項8】
ポインティングベクトルの移動を追跡することは、前記ポインティングコントローラと統合されるカメラに基づいて、追跡を実施することを含む、請求項1に記載の方法。
【請求項9】
前記ポインティングベクトルの移動を追跡することは、
前記ポインティングコントローラが屋内にあるかまたは屋外にあるかを検出することと、
前記ポインティングコントローラが屋内にあるかまたは屋外にあるかに応じて、前記腕モデルのパラメータを調節することと
を含む、請求項1に記載の方法。
【請求項10】
前記ポインティングベクトルの移動を追跡することは、
前記ポインティングコントローラのユーザが座っているかまたは立っているかを検出することと、
前記ポインティングコントローラのユーザが座っているかまたは立っているかに応じて、前記腕モデルのパラメータを調節することと
を含む、請求項1に記載の方法。
【請求項11】
前記ポインティングベクトルの移動を追跡することは、
前記ポインティングコントローラのユーザと関連付けられる疲労レベルを検出することと、
前記検出された疲労レベルに応じて、前記腕モデルのパラメータを調節することと
を含む、請求項1に記載の方法。
【請求項12】
前記ポインティングベクトルの移動を追跡することは、
前記スマートデバイスと関連付けられる前記3次元空間内の前記座標が、前記ポインティングコントローラからの閾値距離を上回ると決定することと、
指し伸ばした位置にあるような前記腕に対応する前記腕モデルのパラメータを発生させることと、
前記腕モデルのパラメータに基づいて、前記移動を追跡することと
を含む、請求項1に記載の方法。
【請求項13】
前記ポインティングベクトルの移動を追跡することは、
前記スマートデバイスと関連付けられる前記3次元空間内の前記座標が、前記ポインティングコントローラからの閾値距離を下回ると決定することと、
身体の近傍の弛緩した位置にあるような前記腕に対応する前記腕モデルのパラメータを発生させることと、
前記腕モデルのパラメータに基づいて、前記移動を追跡することと
を含む、請求項1に記載の方法。
【請求項14】
前記スマートデバイスをスマート照明として認識することをさらに含み、
前記ポインティングコントローラとの前記制御相互作用を検出することは、前記ポインティングコントローラのタッチインターフェース上のスワイピングジェスチャを検出することを含み、
前記コマンドを発生させることは、前記スワイピングジェスチャの方向に応じて、前記照明の調光を制御することを含む、
請求項1に記載の方法。
【請求項15】
ポインティングコントローラを使用してスマートデバイスとの相互作用を制御するための命令を記憶する非一過性コンピュータ可読記憶媒体であって、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
前記ポインティングコントローラの状態感知デバイスからセンサデータを取得することと、
前記センサデータおよび記憶された腕モデルに基づいて、3次元空間を通してポインティングベクトルの移動を追跡することと、
前記スマートデバイスを選択された状態にするために、前記ポインティングベクトルと前記スマートデバイスと関連付けられる前記3次元空間内の座標との交差部を検出することと、
拡張現実ディスプレイデバイスに、前記スマートデバイスと関連付けられる仮想メニューを表示させることと、
前記スマートデバイスが、前記選択された状態にあるとき、前記仮想メニューと関連付けられる前記ポインティングコントローラとの制御相互作用を検出することと、
前記制御相互作用に基づいて、前記スマートデバイスの動作を制御するためのコマンドを発生させることと
を含むステップを実施させる、非一過性コンピュータ可読記憶媒体。
【請求項16】
前記スマートデバイスと関連付けられる前記座標は、前記スマートデバイスの物理的場所を備える、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項17】
前記スマートデバイスと関連付けられる前記座標は、前記スマートデバイスと関連付けられる実または仮想代理デバイスの場所を備える、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項18】
前記交差部を検出することは、
前記ポインティングベクトルと整合される中心軸と、前記ポインティングコントローラの場所に近接する原点と、前記ポインティングベクトルの原点からの距離に伴って増加する半径とを有するポインティング円錐を発生させることと、
前記ポインティング円錐が前記スマートデバイスと関連付けられる前記座標と重複することに応答して、前記ポインティングベクトルとの前記交差部を検出することと
を含む、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項19】
前記制御相互作用を検出することは、前記ポインティングコントローラの指間ボタンのアクティブ化を検出することを含む、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項20】
前記制御相互作用を検出することは、
前記ポインティングコントローラのスライダ制御インターフェースとの相互作用を検出することと、
前記スライダ制御インターフェースとの相互作用に応答して、前記仮想メニュー内の異なるメニューアイテムの間をナビゲートすることと、
前記ポインティングコントローラの指間ボタンのアクティブ化の検出に応答して、メニューアイテムを選択することと
を含む、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項21】
前記制御相互作用を検出することは、前記スマートデバイスの制御機能を示す前記ポインティングコントローラを用いて行われるジェスチャを検出することを含む、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項22】
ポインティングベクトルの移動を追跡することは、前記ポインティングコントローラと統合されるカメラに基づいて、追跡を実施することを含む、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項23】
前記ポインティングベクトルの移動を追跡することは、
前記ポインティングコントローラが屋内にあるかまたは屋外にあるかを検出することと、
前記ポインティングコントローラが屋内にあるかまたは屋外にあるかに応じて、前記腕モデルのパラメータを調節することと
を含む、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項24】
前記ポインティングベクトルの移動を追跡することは、
前記ポインティングコントローラのユーザが座っているかまたは立っているかを検出することと、
前記ポインティングコントローラのユーザが座っているかまたは立っているかに応じて、前記腕モデルのパラメータを調節することと
を含む、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項25】
前記ポインティングベクトルの移動を追跡することは、
前記ポインティングコントローラのユーザと関連付けられる疲労レベルを検出することと、
前記検出された疲労レベルに応じて、前記腕モデルのパラメータを調節することと
を含む、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項26】
前記ポインティングベクトルの移動を追跡することは、
前記スマートデバイスと関連付けられる前記3次元空間内の前記座標が、前記ポインティングコントローラからの閾値距離を上回ると決定することと、
指し伸ばした位置にあるような前記腕に対応する前記腕モデルのパラメータを発生させることと、
前記腕モデルのパラメータに基づいて、前記移動を追跡することと
を含む、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項27】
前記ポインティングベクトルの移動を追跡することは、
前記スマートデバイスと関連付けられる前記3次元空間内の前記座標が、前記ポインティングコントローラからの閾値距離を下回ると決定することと、
身体の近傍の弛緩した位置にあるような前記腕に対応する前記腕モデルのパラメータを発生させることと、
前記腕モデルのパラメータに基づいて、前記移動を追跡することと
を含む、請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項28】
前記スマートデバイスをスマート照明として認識することをさらに含み、
前記ポインティングコントローラとの前記制御相互作用を検出することは、前記ポインティングコントローラのタッチインターフェース上のスワイピングジェスチャを検出することを含み、
前記コマンドを発生させることは、前記スワイピングジェスチャの方向に応じて、前記照明の調光を制御することを含む、
請求項15に記載の非一過性コンピュータ可読記憶媒体。
【請求項29】
追跡デバイスであって、
1つ以上のプロセッサと、
ポインティングコントローラを使用してスマートデバイスとの相互作用を制御するための命令を記憶する非一過性コンピュータ可読記憶媒体であって、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
前記ポインティングコントローラの状態感知デバイスからセンサデータを取得することと、
前記センサデータおよび記憶された腕モデルに基づいて、3次元空間を通してポインティングベクトルの移動を追跡することと、
前記スマートデバイスを選択された状態にするために、前記ポインティングベクトルと前記スマートデバイスと関連付けられる前記3次元空間内の座標との交差部を検出することと、
拡張現実ディスプレイデバイスに、前記スマートデバイスと関連付けられる仮想メニューを表示させることと、
前記スマートデバイスが、前記選択された状態にあるとき、前記仮想メニューと関連付けられる前記ポインティングコントローラとの制御相互作用を検出することと、
前記制御相互作用に基づいて、前記スマートデバイスの動作を制御するためのコマンドを発生させることと
を含むステップを実施させる、非一過性コンピュータ可読記憶媒体と
を備える、追跡デバイス。
【請求項30】
前記スマートデバイスと関連付けられる前記座標は、前記スマートデバイスの物理的場所を備える、請求項29に記載の追跡デバイス。
【請求項31】
前記スマートデバイスと関連付けられる前記座標は、前記スマートデバイスと関連付けられる実または仮想代理デバイスの場所を備える、請求項29に記載の追跡デバイス。
【請求項32】
前記交差部を検出することは、
前記ポインティングベクトルと整合される中心軸と、前記ポインティングコントローラの場所に近接する原点と、前記ポインティングベクトルの原点からの距離に伴って増加する半径とを有するポインティング円錐を発生させることと、
前記ポインティング円錐が前記スマートデバイスと関連付けられる前記座標と重複することに応答して、前記ポインティングベクトルとの前記交差部を検出することと
を含む、請求項29に記載の追跡デバイス。
【請求項33】
前記制御相互作用を検出することは、前記ポインティングコントローラの指間ボタンのアクティブ化を検出することを含む、請求項29に記載の追跡デバイス。
【請求項34】
前記制御相互作用を検出することは、
前記ポインティングコントローラのスライダ制御インターフェースとの相互作用を検出することと、
前記スライダ制御インターフェースとの相互作用に応答して、前記仮想メニュー内の異なるメニューアイテムの間をナビゲートすることと、
前記ポインティングコントローラの指間ボタンのアクティブ化の検出に応答して、メニューアイテムを選択することと
を含む、請求項29に記載の追跡デバイス。
【請求項35】
前記制御相互作用を検出することは、前記スマートデバイスの制御機能を示す前記ポインティングコントローラを用いて行われるジェスチャを検出することを含む、請求項29に記載の追跡デバイス。
【請求項36】
ポインティングベクトルの移動を追跡することは、前記ポインティングコントローラと統合されるカメラに基づいて、追跡を実施することを含む、請求項29に記載の追跡デバイス。
【請求項37】
前記ポインティングベクトルの移動を追跡することは、
前記ポインティングコントローラが屋内にあるかまたは屋外にあるかを検出することと、
前記ポインティングコントローラが屋内にあるかまたは屋外にあるかに応じて、前記腕モデルのパラメータを調節することと
を含む、請求項29に記載の追跡デバイス。
【請求項38】
前記ポインティングベクトルの移動を追跡することは、
前記ポインティングコントローラのユーザが座っているかまたは立っているかを検出することと、
前記ポインティングコントローラのユーザが座っているかまたは立っているかに応じて、前記腕モデルのパラメータを調節することと
を含む、請求項29に記載の追跡デバイス。
【請求項39】
前記ポインティングベクトルの移動を追跡することは、
前記ポインティングコントローラのユーザと関連付けられる疲労レベルを検出することと、
前記検出された疲労レベルに応じて、前記腕モデルのパラメータを調節することと
を含む、請求項29に記載の追跡デバイス。
【請求項40】
前記ポインティングベクトルの移動を追跡することは、
前記スマートデバイスと関連付けられる前記3次元空間内の前記座標が、前記ポインティングコントローラからの閾値距離を上回ると決定することと、
指し伸ばした位置にあるような前記腕に対応する前記腕モデルのパラメータを発生させることと、
前記腕モデルのパラメータに基づいて、前記移動を追跡することと
を含む、請求項29に記載の追跡デバイス。
【請求項41】
前記ポインティングベクトルの移動を追跡することは、
前記スマートデバイスと関連付けられる前記3次元空間内の前記座標が、前記ポインティングコントローラからの閾値距離を下回ると決定することと、
身体の近傍の弛緩した位置にあるような前記腕に対応する前記腕モデルのパラメータを発生させることと、
前記腕モデルのパラメータに基づいて、前記移動を追跡することと
を含む、請求項29に記載の追跡デバイス。
【請求項42】
前記スマートデバイスをスマート照明として認識することをさらに含み、
前記ポインティングコントローラとの前記制御相互作用を検出することは、前記ポインティングコントローラのタッチインターフェース上のスワイピングジェスチャを検出することを含み、
前記コマンドを発生させることは、前記スワイピングジェスチャの方向に応じて、前記照明の調光を制御することを含む、
請求項29に記載の追跡デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、参照することによって本明細書に組み込まれる、2019年2月18日に出願された米国仮出願第62/807,094号の利益を主張する。
【0002】
本開示は、スマートデバイスを制御することに関し、より具体的には、ポインティングコントローラを使用してスマートデバイスとの相互作用を制御することに関する。
【背景技術】
【0003】
ユーザは、従来、デバイス自体の上での制御を通して、またはスマートフォンアプリケーションもしくはウェブポータル上でアクセス可能なユーザインターフェースを通して、サーモスタット、スピーカ、および照明システム等のスマートデバイスを構成する。これらのインターフェースにアクセスすることは、ユーザにとって常に便宜的であるわけではなく、非効率的であり得る。音声制御デバイスは、付加的制御レベルを提供するが、静かな状況において望ましくなく、騒音の多い環境において望ましくない場合がある。
【発明の概要】
【課題を解決するための手段】
【0004】
方法、非一過性コンピュータ可読記憶媒体、および追跡デバイスが、ポインティングコントローラを使用して、スマートデバイスとの相互作用を制御する。センサデータが、ポインティングコントローラの状態感知デバイスから取得される。ポインティングベクトルの移動が、センサデータおよび記憶された腕モデルに基づいて、3次元空間を通して追跡される。ポインティングベクトルとスマートデバイスと関連付けられる3次元空間内の座標との交差部が、スマートデバイスを選択された状態にするために検出される。拡張現実ディスプレイデバイスが、スマートデバイスと関連付けられる仮想メニューを表示する。仮想メニューと関連付けられるポインティングコントローラとの制御相互作用が、スマートデバイスが、選択された状態にあるとき、検出され、コマンドが、制御相互作用に基づいて、スマートデバイスの動作を制御するために発生される。
【0005】
ある実施形態では、スマートデバイスと関連付けられる座標は、スマートデバイスの物理的場所を備える。別の実施形態では、スマートデバイスと関連付けられる座標は、スマートデバイスと関連付けられる実または仮想代理デバイスの場所を備える。
【0006】
ある実施形態では、ポインティングベクトルとスマートデバイスと関連付けられる座標との交差部を検出するステップは、ポインティングベクトルと整合される中心軸と、ポインティングコントローラの場所に近接する原点と、ポインティングベクトルの原点からの距離に伴って増加する半径とを有する、ポインティング円錐を発生させるステップを含む。交差部は、ポインティング円錐がスマートデバイスと関連付けられる座標と重複することに応答して検出される。
【0007】
ある実施形態では、制御相互作用を検出するステップは、ポインティングコントローラの指間ボタンのアクティブ化を検出するステップを含む。さらに、ある実施形態では、制御相互作用を検出するステップは、ポインティングコントローラのスライダ制御インターフェースとの相互作用を検出するステップと、スライダ制御インターフェースとの相互作用に応答して、仮想メニュー内の異なるメニューアイテムの間をナビゲートするステップと、ポインティングコントローラの指間ボタンのアクティブ化の検出に応答して、メニューアイテムを選択するステップとを含む。別の実施形態では、制御相互作用を検出するステップは、スマートデバイスの制御機能を示す、ポインティングコントローラを用いて行われるジェスチャを検出するステップを含む。
【0008】
ある実施形態では、ポインティングベクトルの移動を追跡するステップは、ポインティングコントローラと統合されるカメラに基づいて、追跡を実施するステップを含む。
【0009】
ある実施形態では、ポインティングベクトルの移動を追跡するステップは、ポインティングコントローラが屋内にあるかまたは屋外にあるかを検出するステップと、ポインティングコントローラが屋内にあるかまたは屋外にあるかに応じて、腕モデルのパラメータを調節するステップとを含む。別の実施形態では、ポインティングベクトルの移動を追跡するステップは、ポインティングコントローラのユーザが座っているかまたは立っているかを検出するステップと、ポインティングコントローラのユーザが座っているかまたは立っているかに応じて、腕モデルのパラメータを調節するステップとを含む。別の実施形態では、ポインティングベクトルの移動を追跡するステップは、ポインティングコントローラのユーザと関連付けられる疲労レベルを検出するステップと、検出された疲労レベルに応じて、腕モデルのパラメータを調節するステップとを含む。
【0010】
ある実施形態では、ポインティングベクトルの移動を追跡するステップは、スマートデバイスと関連付けられる3次元空間内の座標が、ポインティングコントローラからの閾値距離を上回ると決定するステップと、指し伸ばした位置にあるような腕に対応する腕モデルのパラメータを発生させるステップと、腕モデルのパラメータに基づいて、移動を追跡するステップとを含む。
【0011】
ある実施形態では、ポインティングベクトルの移動を追跡するステップは、スマートデバイスと関連付けられる3次元空間内の座標が、ポインティングコントローラからの閾値距離を下回ると決定するステップと、身体の近傍の弛緩した位置にあるような腕に対応する腕モデルのパラメータを発生させるステップと、腕モデルのパラメータに基づいて、移動を追跡するステップとを含む。
【0012】
ある実施形態では、追跡デバイスは、スマートデバイスをスマート照明として認識し、ポインティングコントローラのタッチインターフェース上のスワイピングジェスチャを検出するステップを含む、ポインティングコントローラとの制御相互作用を検出し、スワイピングジェスチャの方向に応じて、照明の調光を制御するステップを含む、コマンドを発生させる。
【0013】
付加的実施形態が、当業者に明白となるであろう。
【図面の簡単な説明】
【0014】
開示される実施形態は、他の利点および特徴を有し、これは、付随の図面と併せて想定されるとき、以下の本発明の発明を実施するための形態および添付される請求項からより容易に明白となるであろう。
【0015】
図1】図(Figure)(または「図(FIG.)」)1は、スマートデバイス制御システムの例示的実施形態を図示する。
【0016】
図2図2は、ポインティングコントローラの例示的実施形態を図示する。
【0017】
図3図3は、追跡デバイスの例示的実施形態を図示する。
【0018】
図4図4は、ポインティングコントローラからの相互作用を処理するための制御処理モジュールの例示的実施形態を図示する。
【0019】
図5図5は、ポインティングコントローラを使用して相互作用に基づいてスマートデバイスを制御するためのプロセスの例示的実施形態を図示する。
【0020】
図6図6は、隣接する指の間で握持するための形状因子を伴うポインティングコントローラの例示的実施形態を図示する。
【発明を実施するための形態】
【0021】
図および以下の説明は、例証のみとしての好ましい実施形態に関する。以下の議論から、本明細書に開示される構造および方法の代替実施形態が、請求されるものの原理から逸脱することなく採用され得る、実行可能な代替として容易に認識されるであろうことに留意されたい。
【0022】
ここで、いくつかの実施形態が、詳細に参照され、その実施例が、付随の図に図示される。なるべく、実行可能な場合は常に、類似または同様の参照番号が、図に使用され得、類似または同様の機能性を示し得ることに留意されたい。図は、例証のみの目的のために開示されるシステム(または方法)の実施形態を描写する。当業者は、以下の説明から、本明細書に例証される構造および方法の代替実施形態が、本明細書に説明される原理から逸脱することなく採用され得ることを容易に認識するであろう。
【0023】
ユーザによって装着されるポインティングコントローラは、種々の接続されるスマートデバイスの直感的制御を可能にする。ユーザは、スマートデバイス(または代理物体)の方向をポイントし、制御のためのデバイスを選択するための所定のアクションを実施することによって、制御されるべきデバイスを示してもよい。いったん選択されると、ユーザは、種々のジェスチャもしくはポインティングコントローラに統合された1つまたはそれを上回る制御要素との相互作用を実施することによって、スマートデバイスと相互作用してもよい。スマートデバイスは、スマートデバイス上の視覚または聴覚インジケータを使用して、もしくは触覚、聴覚、または視覚的フィードバックを提供する、ユーザに近接するポインティングコントローラもしくは他のデバイスに制御信号を送信することによって、フィードバックを提供してもよい。
【0024】
図1は、一実施形態による、スマートデバイス制御システム100のブロック図である。スマートデバイス制御システム100は、ネットワーク130を介して接続される、スマートデバイス140と、追跡デバイス110と、ポインティングコントローラ120とを含む。代替構成では、異なる、および/または付加的コンポーネントが、スマートデバイス制御システム100内に含まれてもよい。
【0025】
スマートデバイス140は、種々の構成設定に基づいて、1つまたはそれを上回る機能を実施することが可能な接続対応電子デバイスを備える。スマートデバイス140の実施例は、例えば、スマートサーモスタット、スマートロック、スマート冷蔵庫、スマートスピーカ、スマート照明コントローラ、スマート医療機器、または他のデバイスを含む。スマートデバイス140は、概して、少なくともプロセッサ、記憶媒体、および通信インターフェースを含む、ハードウェアを備える。加えて、スマートデバイス140は、その動作に関連する種々の環境条件を検出するための1つまたはそれを上回るセンサを含んでもよい。例えば、スマートサーモスタットは、温度センサおよび湿度センサを含んでもよい。スマートデバイス140は、概して、直接ユーザ入力、検出された環境条件、検出されたイベント、もしくはそれらの組み合わせに応答して、1つまたはそれを上回る制御出力を提供する。例えば、スマートサーモスタットは、所望の範囲内で周囲温度を制御するために、加熱および/または冷却システムを制御してもよい。スマート照明システムは、接続された電球をオンまたはオフにすること、光出力の色、もしくは電球と関連付けられるオン/オフパターンを制御してもよい。スマートデバイス140は、これが、ユーザの所望の動作を知的に予測するためのあるレベルの自動化制御を提供することを可能にする、ソフトウェアまたはファームウェアを実行してもよい。スマートデバイス140はさらに、他の接続されたデバイスが、スマートデバイス140にコマンド入力を提供する、またはスマートデバイス140からのステータス情報もしくは他の情報に関してクエリを行うことを可能にする、アプリケーションプログラミングインターフェース(API)を含んでもよい。APIは、スマートフォン、遠隔コントローラ、またはバックエンドサーバ等の別のネットワーク接続デバイスのアプリケーションインターフェースもしくはウェブインターフェースを介してアクセス可能であってもよい。
【0026】
ポインティングコントローラ120は、ユーザジェスチャおよびポインティングコントローラ120に統合された制御要素との相互作用を捕捉する、制御デバイスを備える。ある実施形態では、ポインティングコントローラ120は、これが手、手首、または腕上に装着されることを可能にする形状因子を有する。例えば、一実施形態では、ポインティングコントローラ120は、図6に図示されるように、これが2本の隣接する指の間に握持されることを可能にする形状因子を有する。他の実施形態では、ポインティングコントローラ120は、これが単一の指上に装着されることを可能にするリング形状因子を備えてもよい。別の実施形態では、ポインティングコントローラ120は、複数の指を横断して装着されるナックルダスタを備えてもよい。また他の実施形態では、ポインティングコントローラ120は、手首または腕の周囲に装着され得るバンドを備える。
【0027】
ポインティングコントローラ120は、ポインティングコントローラ120の位置および配向感知を可能にするための種々のセンサと、ポインティングコントローラ120を装着するユーザから直接入力を受信するための制御インターフェースとを含む。例えば、ポインティングコントローラ120は、ポインティングまたは手の振り等の人間のジェスチャを捕捉してもよく、ポインティングコントローラ120上の制御要素との相互作用を捕捉してもよい。異なるジェスチャが、異なる制御入力をスマートデバイス140に提供するために利用されてもよい。有益なこととして、ポインティングコントローラ120は、下記にさらに詳細に説明されるであろうように、ユーザが、自然な方法でスマートデバイス140と相互作用することを可能にする。
【0028】
追跡デバイス110は、ポインティングコントローラ120によって検出されたジェスチャおよび他の相互作用を処理し、スマートデバイス140を制御するための制御入力を発生させるために、ポインティングコントローラ120と併せて動作する、コンピューティングデバイスを備える。ある実施形態では、追跡デバイス110は、制御入力を提供するために、スマートデバイス140のAPIとインターフェースをとる。例えば、追跡デバイス110は、ポインティングコントローラ120のセンサから位置追跡データを受信し、追跡データに基づいて、ポインティングコントローラ120のポインティング方向および/またはポインティングコントローラ120を装着するユーザによって行われる特定のジェスチャを決定してもよい。追跡デバイス110はさらに、スマートデバイス140の場所および/または追跡コントローラ120の環境内の他の物体についての情報を取得してもよい。加えて、追跡デバイス110は、ポインティングコントローラ120上の制御要素とのユーザ相互作用を示す制御データを受信してもよい。追跡デバイス110は、次いで、検出されたポインティング方向、スマートデバイス140および/または他の物体の場所、ならびにポインティングコントローラ120の制御要素との相互作用に基づいて、スマートデバイス140の側面を制御するための制御出力を発生させる。
【0029】
ある実施形態では、追跡デバイス110は、ポインティングコントローラ120とインターフェースをとり、必ずしもディスプレイを含むわけではないコンピューティングデバイスを含む、スマートデバイス140とインターフェースをとるためのアプリケーションを実行する、スマートフォン、タブレット、頭部搭載型ディスプレイデバイス、または他のデバイスを備える。代替として、追跡デバイス110は、上記に説明されるポインティングコントローラ120の形状因子のうちのいずれかにおいてポインティングコントローラ120と統合されてもよい。
【0030】
特定の実施形態では、追跡デバイス110は、オーディオ、画像、ビデオ、またはそれらの組み合わせ等のデジタルコンテンツを提示する、ディスプレイシステムを含んでもよい。ここでは、追跡デバイス110は、例えば、統合されたディスプレイを有する頭部搭載型装置またはスマートフォンもしくはタブレット等の別個のディスプレイとして具現化される、拡張現実ディスプレイデバイスを備えてもよい。拡張現実用途では、追跡デバイス110は、実世界の視認者のビューとともに、情報および/または仮想物体の提示を可能にする。本オーバーレイは、例えば、ユーザが実世界ビューと並行してレンダリングされた提示を視認することを可能にする半透明ディスプレイ、仮想物体または情報を実世界ビュー上に投影する投影システム、もしくは実世界ビューを捕捉し、これをオーバーレイされた提示と組み合わせ、ディスプレイを介してユーザに組み合わせられたビューを提示するカメラフィードを通して実装されてもよい。
【0031】
例示的使用事例では、ポインティングコントローラ120および追跡デバイス110は、ユーザが、自然かつ直感的な運動を使用してスマートデバイス140と相互作用することを可能にしてもよい。例えば、ユーザは、スマートデバイス140をポイントし、ポインティングコントローラ120との所定の相互作用を実施し、例えば、照明をオンにする、サーモスタットを設定する、スピーカの音量を変更する、または他の機能等のスマートデバイス140の機能をアクティブ化してもよい。他の実施形態では、ユーザは、スマートデバイス140と関連付けられる実世界物体または仮想物体を備え得る、代理デバイスにポイントすることによって、スマートデバイスを制御してもよい。ここでは、例えば、ユーザは、スマートサーモスタットと関連付けられるラジエータにポイントし、スマートサーモスタットにラジエータの温度を制御させてもよい。別の実施例では、ユーザは、スマートスイッチと関連付けられる白熱電球にポイントし、スマートスイッチに白熱電球の動作を制御させてもよい。また他の実施形態では、追跡コントローラ110の拡張現実ディスプレイ内の仮想物体が、スマートデバイス140を制御するための代理デバイスとしての役割を果たしてもよい。例えば、ユーザは、スマートサーモスタットと関連付けられる仮想メニューまたは仮想アイコンにポイントし、スマートサーモスタットの機能性を制御してもよい。
【0032】
ネットワーク130は、有線および/または無線通信システムの両方を使用する、ローカルエリアならびに/もしくは広域ネットワークの任意の組み合わせを含んでもよい。一実施形態では、ネットワーク130は、標準的通信技術および/またはプロトコルを使用し、Bluetooth(登録商標)、Bluetooth Low Energy、WiFi Direct、WiFi、セルラーネットワーク技術、もしくは有線通信プロトコルのうちの1つまたはそれを上回るものを含んでもよい。ネットワーク130は、異なるデバイスの間の異なるタイプの接続を包含してもよい。例えば、追跡デバイス110は、Bluetooth(登録商標)接続を介してポインティングコントローラと通信してもよく、WiFi接続を介してスマートデバイス140と通信してもよい。いくつかの実施形態では、ネットワーク130の通信リンクの全てまたはいくつかは、任意の好適な技法を使用して暗号化されてもよい。
【0033】
図2は、ポインティングコントローラ120の例示的実施形態を図示する、ブロック図である。ある実施形態では、ポインティングコントローラ120は、制御ユニット210と、状態感知モジュール220と、制御要素230と、電力サブシステム240と、無線インターフェース250と、出力デバイス260とを備える。代替実施形態では、ポインティングコントローラ120は、付加的または異なるコンポーネントを備える。
【0034】
状態感知モジュール220は、例えば、位置、配向、運動、環境条件、またはポインティングコントローラ120の状態についての他の情報を含み得る、ポインティングコントローラの状態の感知を可能にするデータを捕捉するための電子デバイスを備える。例えば、一実施形態では、状態感知モジュール220は、配向または角速度を感知するためのジャイロスコープと、加速度を感知するための加速度計とを有する、6自由度(6DOF)慣性測定ユニット(IMU)を備えてもよい。別の実施形態では、状態感知モジュール220は、上記に説明されるようなジャイロスコープと、加速度計とを含み、磁場(例えば、地球の磁場)を検出するための磁気計をさらに含む、9自由度(9DOF)IMUを備えてもよい。磁気計は、地理的方位に対するポインティングコントローラ120の配向を検出するためのコンパスとして利用されてもよい。IMUはさらに、直接感知によって取得されたデータを処理し、加速度データから速度または位置を算出する等、測定値を他の有用なデータに変換してもよい。
【0035】
別の実施形態では、状態感知モジュール220は、ポインティングコントローラ120の位置および配向を追跡し、IMUデータ内に蓄積している場合がある任意のドリフトを補正するために好適な環境の画像を捕捉する、1つまたはそれを上回るカメラを備えてもよい。ここでは、画像データは、スケール不変特徴変換(SIFT)アルゴリズムおよび空間の既存のマップを使用して、同時位置特定およびマッピング(SLAM)技法を使用して、カメラによって可視である具体的に作り出された追跡マーカを使用して、または他の画像ベースの追跡技法を使用して処理されてもよい。捕捉された画像に基づいてポインティングコントローラ120の位置および配向を導出するための追跡アルゴリズムは、ポインティングコントローラ120自体に対して実施されてもよい、または画像は、ポインティングコントローラ120の電力消費を低減させるために、処理のために追跡デバイス110に提供されてもよい。
【0036】
別の実施形態では、状態感知モジュール220は、環境内の既知の位置におけるアンカデバイスから、または追跡デバイス110からのビーコンを検出する、無線周波数(RF)送受信機を備えてもよい。3次元空間内の正確な位置が、種々のビーコン信号の飛行時間に基づく三角測量技法を使用して算出される、またはアンカデバイスのアレイからの受信信号強度インジケーション(RSSI)から算出されることができる。
【0037】
別の実施形態では、状態感知モジュール220は、追跡デバイス110または他の外部デバイスに対するポインティングコントローラ120の位置を取得する(例えば、ポインティングコントローラ120、追跡デバイス110、もしくは両方におけるアンテナのアレイを使用して、電波の方向を決定する)、Bluetooth(登録商標)方向探知モジュールを含んでもよい。
【0038】
ある実施形態では、状態感知モジュール220は、大気圧を測定する気圧センサを備えてもよい。ポインティングコントローラ120の高さが、下記にさらに詳細に説明されるように、検出された圧力に基づいて推定されてもよい。
【0039】
ある実施形態では、状態感知モジュール220は、下記にさらに詳細に説明されるように、追跡デバイス110に対するポインティングコントローラ120の位置を取得するために(例えば、ポインティングコントローラ120、追跡デバイス110、または両方におけるアンテナのアレイを使用して、電波の方向を決定するために)、Bluetooth(登録商標)方向探知を利用してもよい。
【0040】
さらなる実施形態では、状態感知モジュール220は、下記にさらに詳細に説明されるように、ポインティングコントローラ120と追跡デバイス110または他の基準デバイスとの間の距離を表す音響飛行時間を決定するために使用され得る、超音波パルス送信機ならびに/もしくはマイクロホンを備えてもよい。
【0041】
別の実施形態では、状態感知モジュール220は、完全に省略されてもよく、代替技法が、ポインティングコントローラ120のポインティング方向を決定するために使用されてもよい。例えば、状態感知モジュール220の代わりに、(例えば、貼り付け式、低費用、低電力デバイスとして)スマートデバイス140または代理物体と統合される、もしくはその上に取り付けられる受信機によって検出可能なIR信号を放出する、赤外線(IR)モジュール(図示せず)が、含まれてもよい。
【0042】
制御要素230は、ユーザからの制御入力を検出するための1つまたはそれを上回る制御装置を含む。制御要素230は、例えば、タッチセンサ(例えば、静電容量タッチセンサ)、他のセンサまたはトランスデューサ、もしくは物理的ボタン、ダイヤル、スイッチ、または他の制御機構を含んでもよい。特定の実施形態では、制御要素230は、スライダ制御インターフェース232と、指間ボタン234とを含む。他の実施形態では、異なる、または付加的制御要素230が、採用されてもよい。
【0043】
スライダ制御インターフェース232は、ユーザの親指または他の指によってアクセス可能なタッチ感応パッドを備える。タッチ感応パッドは、タッチに応答して生じる静電容量または抵抗の変化を検出し、それによって、タッチ感応パッドが、タッチの存在もしくは不在およびパッドの面積内のタッチの場所を検出することを可能にする、感知要素のアレイを備えてもよい。いくつかの実施形態では、タッチ感応パッドは、加えて、タッチによって印加される力の感知を可能にするために、タッチ力センサを含んでもよい。ユーザは、親指または他の指を用いてタッピングもしくはスワイピング等の種々のジェスチャを実施することによって、スライダ制御インターフェース232と相互作用してもよい。スワイピングは、(例えば、ポインティング方向に平行な)指の軸に沿って前方または後方方向において、指の軸に略垂直な(例えば、ポインティング方向に垂直な)軸に沿って、もしくは時計回りまたは反時計回り方向における円運動において実施されてもよい。図6の形状因子では、スライダコントローラインターフェース232は、人差し指および中指の底部を横断して延びる表面上のポインティングコントローラ120の底部側上に位置付けられてもよい。
【0044】
指間ボタン234は、これが、2本の指をともに押し合うことによって選択され得るように位置付けられる、タッチ感応および/または圧力感応パッドを備えてもよい。例えば、図6の形状因子では、指間ボタン234は、ポインティングコントローラ120が、人差し指と中指との間に保持されるとき、これが、人差し指または中指の側に隣接するように、曲面の内部上にあってもよい。ある実施形態では、指間ボタン234は、タッチ感応パッドに印加される力を検出する、力感応抵抗器を備える。代替として、指間ボタン234は、上記に議論されるスライダコントローラインターフェース232のタッチ感応パッドと同様に動作してもよい。その設置に起因して、指間ボタンは、中指および人差し指(または隣接する指の他の対)が、相互に向かって押圧され、少なくとも閾値圧力が、指間ボタンのタッチ感応ならびに/もしくは圧力感応パッドに印加される、「挟持ジェスチャ」を検出するために使用されてもよい。
【0045】
電力サブシステム240は、電力を貯蔵し、ポインティングコントローラ120に供給する。例えば、電力サブシステム240は、バッテリ、バッテリを充電するための充電回路、ポインティングコントローラ120の他のコンポーネントに供給される電圧を制御するための1つまたはそれを上回る電圧調整器を備えてもよい。ある実施形態では、電力サブシステム240は、バッテリを効率的に利用するために、異なる電力モード(例えば、完全電力モード、低電力モード、およびスリープモード)の間で切り替えるためにポインティングコントローラ120を制御してもよい。
【0046】
無線インターフェース250は、ネットワーク130を介して追跡デバイス110と無線で通信する。ある実施形態では、無線インターフェース250は、例えば、Bluetooth(登録商標)インターフェース、Bluetooth low energyインターフェース、WiFiリンク、または他の無線インターフェースを備えてもよい。無線インターフェース250は、ピアツーピア接続を介して追跡デバイス110と直接通信してもよい、またはローカルエリアネットワーク、広域ネットワーク、もしくはそれらの組み合わせを経由して、1つまたはそれを上回る中間デバイスを介して追跡デバイス110と通信してもよい。ある実施形態では、無線インターフェース250は、スマートデバイス140と直接通信してもよい。
【0047】
出力デバイス260は、追跡デバイス110からの制御信号に応答して、または直接ポインティングコントローラ120上のアクションに応答して、ポインティングコントローラ120からの出力を提供するための種々のデバイスを含む。出力デバイス260は、例えば、触覚フィードバックデバイス(例えば、線形共振アクチュエータもしくは偏心質量振動モータ)、1つまたはそれを上回る発光ダイオード(LED)、もしくはオーディオ出力デバイスを含んでもよい。
【0048】
制御ユニット210は、状態感知モジュール220、制御要素230、電力サブシステム240、および無線インターフェース250からの入力を処理し、ポインティングコントローラ120の種々の機能を制御する。ある実施形態では、制御ユニット210は、プロセッサと、プロセッサによって実行されると、プロセッサに、本明細書に説明されるコントローラ210に起因する機能を実行させる命令を記憶する、非一過性コンピュータ可読記憶媒体とを備える。代替として、または加えて、制御ユニット210は、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)として具現化されるデジタル論理を備えてもよい。
【0049】
制御ユニット210は、状態感知モジュール220および制御要素230からの未加工データを処理し、運動イベントまたは相互作用イベントを検出し、次いで、未加工データの代わりに、処理されたイベントを追跡デバイス110に送信し、それによって、通信リンク130にわたる帯域幅を低減させてもよい。例えば、制御ユニット210は、状態感知モジュール220のIMUから未加工加速度計、ジャイロスコープ、および/または磁気計データを取得し、センサ融合アルゴリズムを適用し、検出された配向(例えば、ロール、ピッチ、ならびにヨー値)を決定してもよい。さらに、制御ユニット210は、未加工タッチデータ(例えば、静電容量または抵抗感知)を処理し、アナログ-デジタル変換およびフィルタリング等の処理を実施し、タッチの検出ならびにタッチの位置もしくは力を示すタッチ検出イベントを発生させてもよく、これは、追跡デバイス110に送信される。
【0050】
代替として、制御ユニット210は、状態感知モジュール220および制御要素230からの未加工データのみを追跡デバイス110に送信してもよく、上記に説明される処理は、代わりに、追跡デバイス110上で実施されてもよい。別の実施形態では、制御ユニット210は、未加工および処理されたイベントデータの両方を追跡デバイス110に送信してもよい。
【0051】
ある実施形態では、ポインティングコントローラ120の他のコンポーネントは、シリアル周辺インターフェース(SPI)バス、パラレルバス、またはI2Cバス等のデータバスを介して制御ユニット210と結合されてもよい。さらに、ポインティングコントローラ120のコンポーネントは、制御ユニットによって検出可能な割り込み信号を発生させ、ユーザ入力に対する短待ち時間応答を可能にしてもよい。
【0052】
図3は、追跡デバイス110の実施形態を図示する、ブロック図である。図示される実施形態では、追跡デバイス110は、プロセッサ310と、記憶媒体320と、無線インターフェース330と、カメラ345および状態感知モジュール342を含むセンサ340と、ディスプレイ352およびオーディオ出力デバイス354を含む出力デバイス350とを備える。代替実施形態は、付加的または異なるコンポーネントを含んでもよい。例えば、いくつかの実施形態では、ディスプレイ能力を伴わない追跡デバイス110は、必ずしもディスプレイ、カメラ345、またはコンテンツ提示モジュール322を含むわけではない。
【0053】
無線インターフェース330は、ネットワーク130を介してポインティングコントローラ120と無線で通信する。ある実施形態では、無線インターフェース330は、例えば、Bluetooth(登録商標)インターフェース、WiFiインターフェース、または両方を備えてもよい。無線インターフェース330は、ピアツーピア接続を介してポインティングコントローラ120と直接通信してもよい、またはローカルエリアネットワーク、広域ネットワーク、もしくはそれらの組み合わせを経由して、1つまたはそれを上回る中間デバイスを介してポインティングコントローラ120と通信してもよい。無線インターフェース330はさらに、ネットワーク130を介してスマートデバイス140と通信してもよい。
【0054】
ある実施形態では、無線インターフェース330は、ポインティングコントローラ120への伝送情報およびコマンドを受信し、種々の電力モードに入るようにポインティングコントローラ120を制御するステップ、すなわち、バッテリステータス、温度、または他の診断情報等のポインティングコントローラ120のステータスについての詳細な情報を要求するステップ、ポインティングコントローラ120のファームウェアを更新するステップ、具体的振動パターンに従ってポインティングコントローラ120上の触覚アクチュエータをアクティブ化するステップ、またはポインティングコントローラ120上の特定のボタンもしくは制御入力をアクティブ化するステップ等のポインティングコントローラ120上で検出されたイベントに直接応答するようにポインティングコントローラ120上の触覚アクチュエータを構成するステップ等のアクションを実施してもよい。無線インターフェース330はさらに、ポインティングコントローラ120の状態感知モジュール220からの追跡データ、ポインティングコントローラ120の制御要素230からの制御データ、またはポインティングコントローラ120の電力サブシステム240からのバッテリ情報等の情報を含む、ポインティングコントローラ120からの伝送を周期的に受信してもよい。
【0055】
センサ340は、追跡デバイス110の動作環境と関連付けられる種々の条件を検出する。例えば、カメラ345は、追跡デバイス110のビュー内の実世界環境のリアルタイムビデオを捕捉する。カメラからの画像データは、世界の拡張現実ビューを提示するために、仮想物体または情報と組み合わせられてもよい。カメラ345は、従来の画像カメラ、深度カメラまたはLIDARカメラ等の非視覚的カメラ、もしくはそれらの組み合わせを含んでもよい。
【0056】
センサ340はまた、追跡デバイス110の移動および配向を感知するために、状態感知モジュール342を含んでもよい。状態感知モジュール342は、類似するコンポーネントを含んでもよく、上記に議論されるポインティングコントローラ120の状態感知モジュール220と同様に動作してもよい。例えば、状態感知モジュール342は、IMU、無線周波数(RF)送受信機、Bluetooth(登録商標)方向探知モジュール、気圧センサ、超音波パルス送信機および/またはマイクロホン、もしくは他のセンサのうちの1つまたはそれを上回るものを含んでもよい。
【0057】
センサ340は、随意に、例えば、場所センサ(例えば、全地球測位システム)または温度センサ等の種々の条件を検出するための他のセンサを含んでもよい。
【0058】
出力デバイス350は、デジタルコンテンツを提示するための追跡デバイス110からの出力を提供するための種々のデバイスを含む。ある実施形態では、出力デバイス350は、少なくとも、ディスプレイ352と、オーディオ出力デバイス354とを含んでもよい。代替実施形態では、出力デバイス350は、例えば、触覚フィードバックデバイスおよび1つまたはそれを上回る発光ダイオード(LED)等のユーザにフィードバックを提供するための付加的出力デバイスを含んでもよい。オーディオ出力デバイス354は、提示されるデジタルコンテンツと関連付けられるオーディオを再生するために、1つまたはそれを上回る統合されたスピーカもしくは1つまたはそれを上回る外部スピーカを接続するためのポートを含んでもよい。ディスプレイデバイス352は、LEDディスプレイパネル、LCDディスプレイパネル、または他のタイプのディスプレイ等の画像もしくはビデオコンテンツを提示するための電子デバイスを備える。ディスプレイデバイス352は、仮想または拡張現実環境のシミュレーションを提示するために、没入的な方法でデジタルコンテンツを提示する様式で構成されてもよい。例えば、ディスプレイデバイス352は、異なる画像を左眼および右眼に提示し、3次元環境の外観を作成する、立体視ディスプレイを備えてもよい。ある実施形態では、ディスプレイデバイス352は、仮想物体および/または環境を描写するレンダリングされたグラフィックを、カメラ345から捕捉されたコンテンツと組み合わせるデジタルコンテンツを提示し、実世界の場面上にオーバーレイされた仮想物体を伴う拡張現実提示を可能にしてもよい。
【0059】
記憶媒体320(例えば、非一過性コンピュータ可読記憶媒体)は、本明細書に説明される追跡デバイス110に起因する機能を実行するためにプロセッサ310によって実行可能な命令を記憶する。ある実施形態では、記憶媒体320は、コンテンツ提示モジュール322と、制御処理モジュール324とを含む。代替実施形態では、記憶媒体320は、付加的または異なるモジュールを含んでもよい。
【0060】
コンテンツ提示モジュール322は、ディスプレイ352および/またはオーディオ出力デバイス354を介してデジタルコンテンツを提示する。表示されるコンテンツは、3次元空間内の仮想現実または拡張現実環境を備えてもよい。表示されるコンテンツは、カメラ345によって捕捉された実世界画像と組み合わせられ得る仮想物体を含んでもよい。コンテンツ提示モジュール322は、制御処理モジュール324から受信された情報に基づいて、そのコンテンツを適合させてもよい。
【0061】
制御処理モジュール324は、無線インターフェース330を介してポインティングコントローラ120から受信された入力を処理し、スマートデバイス140のための制御コマンドを発生させ得る、および/またはコンテンツ提示モジュール322の出力を制御し得る、処理された入力データを発生させる。例えば、制御処理モジュール324は、状態感知モジュール220、342から受信された追跡データに基づいて、コンテンツ提示モジュール322によって表示される仮想環境内のポインティングコントローラ120の位置を追跡してもよい。さらに、制御処理モジュール324は、制御要素230からの入力を処理し、制御要素230に対して実施されるジェスチャを検出してもよい。制御処理モジュール324は、ポインティングコントローラ120の検出された追跡および検出されたジェスチャに基づいて、スマートデバイス140に出力するためのコマンドを決定してもよい、ならびに/もしくはコンテンツ提示モジュール322に、アクションに応答して提示を更新させてもよい。制御処理モジュール324の実施例が、下記にさらに詳細に説明される。
【0062】
図4は、制御処理モジュール324の例示的実施形態を図示する。制御処理モジュール324は、追跡モジュール402と、腕モデル404と、ジェスチャ認識モジュール406と、物体相互作用モジュール408と、メニューナビゲーションモジュール410と、較正モジュール412とを備える。代替実施形態は、異なる、または付加的モジュールを含んでもよい。
【0063】
追跡モジュール402は、ユーザの手に対するポインティングコントローラ120の位置および配向を推論する。追跡デバイス110が頭部搭載型ディスプレイに統合される実施形態では、行為者の頭部の位置は、追跡デバイス110が、頭部位置に対して固定されるため、追跡デバイス110の位置から直接推論されることができる。特に、追跡モジュール402は、状態感知モジュール220からの追跡データに基づいて、ポインティングコントローラ120の配向を決定し、追跡デバイス110からのセンサデータ(例えば、状態感知モジュール342からの追跡データ)に基づいて、環境に対する追跡デバイス110に関する位置および配向を取得する。追跡モジュール402は、次いで、ポインティングコントローラ120の配向、追跡デバイス110の位置および配向、ならびにポインティングコントローラ120を動作させるユーザの姿勢をモデル化する腕モデル404に基づいて、環境に対するポインティングコントローラ120の位置を推定する。
【0064】
ポインティングコントローラ120の配向および計算された位置に基づいて、追跡モジュール402は、ポインティングコントローラ120の位置を起点とし、検出された配向に対応する方向に延在する、ポインティングベクトルを発生させ、連続的に更新する。1本またはそれを上回る指上に装着されるポインティングコントローラ120の場合では、ポインティングベクトルは、指と整合されるポインティングコントローラ120を通して中心軸に沿って延在してもよい。ポインティングベクトルは、追跡デバイス110によって追跡される仮想環境内の3次元座標に従って規定されてもよい。したがって、ポインティングベクトルは、仮想環境内の場面に対するポインティング方向を提供する。ポインティングベクトルは、例えば、地面平面に対する第1の角度(すなわち、ピッチ角)および地面平面に垂直な垂直面に対する第2の角度(すなわち、ヨー角)を含む角度の対を備えてもよい。ある実施形態では、ポインティングベクトルの軸を中心とする配向角(すなわち、ロール角)もまた、ポインティングベクトルとともに追跡されてもよい。
【0065】
ある実施形態では、追跡モジュール402は、ポインティングベクトルの周囲のポインティング円錐を計算してもよい。ここでは、円錐は、ポインティングコントローラ120を起点とし、ポインティングベクトルと整合される中心軸を有し、ポインティングコントローラ120からの距離に伴って増加する直径を有する。円錐角は、ユーザまたは開発者によって調節可能であってもよい、もしくはハードコードされたパラメータであってもよい。加えて、円錐角は、物体との検出された相互作用のコンテキストに基づいて、自動的に更新されてもよい。例えば、ともに近接する多数の物体を伴う環境と相互作用するとき、円錐角は、遠く離れている少数の物体を伴う環境に対して自動的に低減されてもよい。追跡モジュール402は、ユーザが、ポインティングコントローラ120を移動させる際、ポインティングベクトル、ポイント円錐、および配向角を更新する。
【0066】
ある実施形態では、追跡モジュール402は、少なくとも部分的に、ポインティングコントローラ120の状態感知モジュール220からのIMUデータに基づいて、追跡を実施する。
【0067】
ある実施形態では、追跡モジュール402は、少なくとも部分的に、状態感知モジュール220および/または追跡デバイス110の気圧センサからの大気圧データに基づいて、追跡を実施してもよい。シングルエンド感知に関して、基準圧力値が、較正プロセスの間にベースライン高さに対応して決定されてもよい。追跡モジュール402は、続けて、大気圧読取値を取得し、圧力の変化に基づいて、ベースライン高さからの垂直オフセットを算出してもよい。別の実施形態では、追跡モジュール402は、差動感知を使用して、ポインティングコントローラ120の垂直位置を推定する。本実施形態では、差圧が、ポインティングコントローラ120の圧力センサから取得された大気圧測定値と外部追跡デバイス110内の圧力センサから取得された大気圧測定値との間で算出される。差動センサ測定値は、天候または他の因子に起因する自然な大気変動を補償するためにフィルタリングされてもよい。
【0068】
別の実施形態では、追跡モジュール402は、部分的に、ポインティングコントローラ120および追跡デバイス110の両方において受信された無線信号の相対的RSSIに基づいて、ポインティングコントローラ120を追跡してもよい。相対的RSSIは、追跡デバイス110とポインティングコントローラ120との間の距離を推定するために使用されてもよい。距離推定はさらに、ポインティングコントローラ120および追跡デバイス110内(またはポインティングコントローラ120、ARヘッドセット、ならびにモバイル電話等の複数のデバイス間)のアンテナの放出および感度パターンをモデル化することによって改良されてもよい。
【0069】
別の実施形態では、追跡モジュール402は、追跡デバイス110に対するポインティングコントローラ120の位置を取得するために(例えば、ポインティングコントローラ120、追跡デバイス110、または両方におけるアンテナのアレイを使用して、電波の方向を決定するために)、Bluetooth(登録商標)方向探知データを利用してもよい。一実施形態では、ポインティング方向のロールおよびピッチ成分は、統合されたIMUから取得され、ヨー方向は、Bluetooth(登録商標)方向探知から取得される。別の実施形態では、ロール、ピッチ、およびヨーは、ポインティングコントローラ120の他のコンポーネントから取得されてもよく、Bluetooth(登録商標)方向探知は、他の測定値の間の不一致が、存在する場合、補正を実施するために使用されてもよい。別の実施形態では、統計誤差性質が、(例えば、誤差が、いくつかの相対的配合において一貫する場合)決定され、統計誤差性質に基づいて、相対的配向についての情報を決定してもよい。また別の実施形態では、Bluetooth(登録商標)方向探知は、(例えば、ARビューア内の2つまたはそれを上回るアンテナアレイからの)剛性体上の複数の点を決定するために利用されてもよく、加えて、必ずしもRSSIに依拠することなく、ポインティングコントローラ120と追跡デバイス110との間の距離を推定し得る。
【0070】
さらなる実施形態では、追跡モジュール402は、ポインティングコントローラ120内の超音波パルス送信機およびマイクロホンと追跡デバイス110との間の距離を表す音響飛行時間に基づいて、追跡を実施してもよい。ある実施形態では、追跡モジュール402は、検出された距離が、最大閾値距離(例えば、1.5メートル)を下回るときのみ、追跡算出において音響飛行時間からの推定された距離を利用する。別の実施形態では、ドップラ偏移効果が、追跡デバイス110に対するポインティングコントローラ120の速度を推定するために検出されてもよい。ここでは、速度推定値は、推測航法を使用してIMUデータから決定された速度推定値における誤差を補償するために利用されてもよい。別の実施形態では、音響飛行時間に基づいて推定された距離は、圧力差に起因する音速の変動を補償するために、気圧データに基づいて調節されてもよい。
【0071】
腕モデル404のパラメータは、初期化プロセスにおいて決定されてもよく、下記に説明されるであろうように、追跡の間に更新されてもよい。腕モデル404の入力パラメータは、例えば、ユーザの身長、人間の寸法比の標準化モデル、関節角モデル、および経時的に変化し得る種々の動作条件を含んでもよい。ユーザの身長は、身長を打ち込むようにユーザに要求するユーザプロンプトに応答して、初期化プロセスの間にユーザから手動で取得されてもよい。代替として、身長は、地面に対する追跡デバイス110の推定された位置に基づいて、自動的に推定されてもよい。例えば、視覚的分析が、身長を推定するために、追跡デバイス110のカメラ345によって捕捉された画像データに対して実施されてもよい。ユーザの身長に基づいて、追跡モジュール402は、人間の寸法比の標準化モデルに基づいて、身長を手、前腕、腕、肩、および首のサイズにマッピングする、事前に取り込まれたルックアップテーブルにおいてルックアップを実施してもよい。次いで、人体モデルの組み合わせられた寸法およびポインティングコントローラ120の検出された配向を使用して、追跡モジュール402は、関節角モデルを適用し、種々の腕姿勢の相対的確率を予測することができる。最も確率の高い姿勢が、選択されてもよく、追跡モジュール402は、姿勢から追跡デバイス110に対するポインティングコントローラ120の位置を推定してもよい。
【0072】
ある実施形態では、追跡モジュール402によって導出される付加的情報が、ユーザの姿勢をより正確に予測し、望ましくない結果を排除するために組み込まれることができる。例えば、関節角モデルによって発生される最も可能性の高い予測された姿勢が、検出された実世界物体の既知の場所と交差するユーザの腕(不可能な結果)を予測する場合、追跡モジュール402は、代わりに、検出された物体と交差する腕を予測しない、次に最も確率の高い予測を選択してもよい。
【0073】
別の実施形態では、追跡モジュール402は、異なるコンテキストにおいて腕モデル404の異なるパラメータを適用することによって追跡の正確度を改良するために、ユーザの現在の場所および/または移動履歴についての情報を利用してもよい。例えば、人々は、屋内にいるときよりも屋外にいるときにより広範なジェスチャを使用する傾向があるため、追跡モジュール402は、ユーザが屋内にいるかまたは屋外にいるかに応じて、腕モデル404のパラメータを調節してもよい。追跡モジュール402は、捕捉された画像または他のセンサデータの画像分析に基づいて、ユーザが屋内にいるかまたは屋外にいるかかを検出してもよい。1つの技法では、追跡モジュール402は、ユーザのある距離内(例えば、ユーザの上方5メートル以下)の天井面の存在または不在に基づいて、ユーザが屋内にいるかもしくは屋外にいるかを決定してもよく、これは、捕捉された画像からの、または他のセンサからの画像分析に基づいて検出されてもよい。別の実施形態では、追跡モジュール402は、追跡デバイス110の規定された距離内の平面表面の数を測定し、数が、所定の閾値を超える場合、ユーザが屋内にいると決定し、数が、閾値を超えない場合、ユーザが屋外にいると決定してもよい。また別の実施形態では、場所センサ(例えば、全地球測位システムデバイス)が、追跡デバイス110の地理的場所を決定するために使用されてもよい。次いで、マップサービスからのマップデータを利用して、追跡モジュール402は、場所が、建物と一致する場合、ユーザが屋内にいると決定する、または別様にユーザが屋外にいると決定してもよい。また別の実施形態では、遠隔源から追跡デバイス110によって受信された無線信号(例えば、GPS信号またはセルラーデータ信号)の無線信号強度が、ユーザが屋内にいるかもしくは屋外にいるかを決定するために使用されてもよい。例えば、無線信号強度が、所定の閾値を上回るとき、追跡モジュール402は、ユーザが屋外にいると決定し、無線信号強度が、閾値を下回るとき、追跡モジュール402は、ユーザが屋内にいると決定する。また別の実施形態では、追跡モジュール402は、ユーザが屋内にいるかまたは屋外にいるかを検出するために、カメラ345によって検出された局所的光源の輝度ならびに/もしくは波長の分析を実施してもよい。例えば、日光の色温度の周囲の高輝度の光は、ユーザが屋外にいる可能性が高いことを示す一方、白熱電球と一貫する色温度は、ユーザが屋内にいることを示す。
【0074】
別の実施形態では、腕モデル404のパラメータは、ユーザが座っているかまたは立っているかに基づいて適合されてもよい。ここでは、追跡モジュール402は、上記に説明されるように、地面に対する追跡デバイス110の高さを検出し、高さがユーザの立位身長を有意に下回る(例えば、閾値差を上回る)かどうかを検出することによって、ユーザが座っているかまたは立っているかを決定してもよい。
【0075】
ある実施形態では、追跡モジュール402はさらに、ポインティングコントローラ120の位置をより良好に予測するために、ユーザの疲労レベルを推定してもよい。ここでは、追跡モジュール402は、ユーザが自身の手首をある閾値高さにして過ごす時間の量を追跡することによって疲労レベルをモデル化してもよく、疲労のレベルは、時間に伴って増加する。ユーザは、疲労が増加するにつれて、腕をより低く保つことを好み得るため、腕モデル404のパラメータは、予測された疲労レベルが増加するにつれて、追跡モジュール402に、検出された位置を下向きに調節させてもよい。ある実施形態では、追跡モジュール402は、特定のユーザの疲労特性をモデル化するために、機械学習アプローチを適用してもよい。
【0076】
ある実施形態では、追跡モジュール402は、ポインティングコントローラ120、手、前腕、または腕の位置を感知するために、カメラ345からの画像データを利用してもよい。追跡モジュール402は、感知された位置を利用し、追跡デバイス110に対するポインティングコントローラ120の配向および位置を再較正し、下記にさらに詳細に説明されるような追跡データにおける蓄積されたドリフトを考慮してもよい。さらに、追跡モジュール402は、腕の長さまたは予測された関節角等の推定されたパラメータを更新することによって腕モデル404の正確度を改良するために、画像データからの感知された位置を適用してもよい。腕の位置はさらに、状態感知モジュール220の加速度計からの連続する加速度値の積分から推定されてもよい。
【0077】
ある実施形態では、追跡モジュール402はさらに、ポインティングコントローラ120の位置を推論するために、仮想物体(または既知の場所における実世界物体)についての位置情報を利用してもよい。例えば、物体が、接近している(例えば、閾値距離を下回る)場合、手が、身体に近接する弛緩した位置にあることが推論され得る。一方、物体が、遠く離れている(例えば、閾値距離を上回る)場合、手が、指し伸ばした位置にあることが推論され得る。追跡モジュール402は、推論された腕位置に基づいて、腕モデル404のパラメータを調節してもよい。
【0078】
追跡デバイス110が頭部搭載型ではない(例えば、追跡デバイス110がハンドヘルドスマートフォンまたはタブレットとして具現化される)場合では、ユーザの頭部の位置は、追跡デバイス110の追跡される位置に対して未知であり得る。この場合では、較正技法が、追跡デバイス110の位置に対するユーザの頭部の位置を推定するために適用されてもよい。例えば、一実施形態では、追跡デバイス110上のユーザインターフェースが、アプリケーションの較正相の間にユーザの鼻に追跡デバイス110をタッチするようにユーザをプロンプトする。代替として、追跡デバイス110のカメラが、ユーザの顔の画像を捕捉してもよく、顔追跡アルゴリズムが、初期頭部位置に対応するような顔の中心点を検出するために適用されてもよい。また別の実施形態では、頭部位置の垂直成分は、自身の身長を打ち込むようにユーザをプロンプトすることによって手動で取得されることができる、またはユーザの身長は、追跡デバイス110によってアクセス可能なリンクされた健康追跡アプリケーションもしくはオンラインサービスから取得されてもよい。
【0079】
いったん較正されると、追跡モジュール402は、3次元空間内に固定されるように頭部位置の垂直成分を推定し、追跡デバイス110の垂直運動が、本位置に対して3次元空間内で追跡されてもよい。代替として、追跡デバイス110のカメラ345が、地形の高さの変化を検出するために処理される画像を捕捉してもよい。ユーザの推定された頭部位置は、地面の上方のほぼ固定された垂直位置にあるように、地形の高さの検出された変化に基づいて更新されてもよい。
【0080】
水平平面では、追跡モジュール402は、追跡デバイス110の追跡される位置からの固定された水平オフセットであるように頭部位置を推定してもよい。したがって、追跡デバイス110が、移動し、水平平面において回転する際、頭部位置は、追跡デバイス110の追跡される位置からの固定された水平距離において推定される。
【0081】
再較正が、ユーザが、座位から立位に(または逆もまた同様である)に変化する場合に実施されてもよい。本変化は、ユーザによって手動で示されてもよい、または追跡デバイス110(ならびに/もしくはポインティングコントローラ120)の垂直位置の適切な偏移が検出されるときに自動的に検出されてもよい。例えば、追跡デバイス110のカメラ345が、地面に対する追跡デバイス110の高さを検出するために処理され得、ユーザが座る、または立ち上がるときを検出するために使用され得る画像を捕捉してもよい。
【0082】
代替実施形態では、ユーザの頭部位置は、完全に固定されるように仮定されてもよい。ここでは、固定オフセットにおいて追跡デバイス110の水平運動を追跡するために水平平面における頭部位置を推定する代わりに、頭部位置は、代わりに、追跡デバイス110の運動を追跡することなく、3次元空間内の固定された垂直および水平位置の両方に留まるように推定されてもよい。
【0083】
また別の実施形態では、上記に説明される技法を組み合わせる、ハイブリッドモデルが、使用されてもよい。ここでは、追跡デバイス110に対する初期頭部場所が、最初に、上記に説明される較正技法を使用して(例えば、ディスプレイデバイスをユーザの鼻にタッチするようにユーザをプロンプトすることによって)較正される。追跡モジュール402は、最初に、これが3次元空間内の固定された位置に維持されるように頭部位置を推定する、「定常」モードに設定されてもよい。追跡デバイス110の位置は、これが3次元空間を通して移動する際、状態感知モジュール342を使用して追跡され、追跡デバイス110と固定された推定された頭部位置との間の距離が、算出される。推定された頭部場所と追跡デバイス110との間の距離が、所定のアクティブ化半径(例えば、ユーザの完全に延在された腕の推定された長さにほぼ等しい)を超えると、追跡モジュール402は、「歩行」モードに切り替わる。「歩行」モードでは、頭部位置は、代わりに、追跡デバイス110の検出された位置の後方の固定された距離であるように推定される。追跡デバイス110が、その運動が閾値速度を下回って下降し、閾値時間周期にわたって閾値速度を下回ったままであることを検出すると、追跡モジュール402は、頭部の推定された位置が固定された状態になり、追跡デバイス110の位置に基づいてもはや更新されない、「定常モード」に戻るように切り替わる。
【0084】
代替として、「歩行モード」にあるとき、追跡デバイス110に対する頭部位置は、代わりに、ばね質量またはばね質量ダンパモデルを使用して推定されてもよい。本実施形態では、ディスプレイ追跡110の検出された位置の後方の頭部の推定された距離は、経時的に変動し得るが、追跡デバイス110が、長い時間周期にわたって安定しているとき、固定された位置に安定化する。追跡デバイス110が、本実施形態において、スマートフォンと頭部との間の距離が、非アクティブ化半径を下回って下降することを検出すると、追跡モジュール402は、「定常」モードに戻るように切り替わる。
【0085】
ジェスチャ認識モジュール406は、ポインティングコントローラ120を用いてユーザによって行われるジェスチャを検出する。ジェスチャの実施例は、例えば、所定の運動においてポインティングコントローラ120を移動させること、または特定の様式でスライダ制御インターフェース232ならびに/もしくは指間ボタンと相互作用すること(例えば、単回タッピング、二回タッピング、長期接触を維持すること、または特定のパターンにおける相互作用の組み合わせ)を含んでもよい。ここでは、挟持ジェスチャは、ユーザが中指および人差し指(またはポインティングコントローラ120と接触する他の指)をともに押し合い、それによって、1本またはそれを上回る指を、少なくとも閾値時間周期にわたって閾値量の圧力を伴ってポインティングコントローラ120上の指間ボタン234と接触するように設置させるときに検出されてもよい。挟持ジェスチャは、指を分離する、または印加された圧力を緩和することによって解除されてもよい。いくつかの実施形態では、ジェスチャ認識モジュール406は、挟持ジェスチャの力または時間周期を捕捉してもよく、これらの捕捉されたパラメータに応じて、異なるアクションをとってもよい。スワイピングジェスチャは、ユーザが、スライダコントローラインターフェース232上でスワイピング運動を実施するときに検出されてもよい。本ジェスチャは、典型的には、ポインティングコントローラ120を装着する手の上の親指(または他の指)を用いて実施されてもよいが、代替として、対向する手の上の指によって実施され得る。ここでは、スワイピングジェスチャは、いずれかの方向におけるポインティングコントローラ120を保持する1本またはそれを上回る指に平行な線に沿った、もしくはいずれかの方向における1本またはそれを上回る指に略垂直な線に沿った、線形スワイピングジェスチャを備えてもよい。代替として、スワイピングジェスチャは、スライダコントローラインターフェース232の平面内の基準点を中心として時計回りまたは反時計回り方向に実施される、半径方向スワイピングジェスチャを備えてもよい。いくつかの実施形態では、ジェスチャ認識モジュール408は、スワイピングジェスチャの力、速度、または距離を捕捉し、これらの捕捉されたパラメータに応じて、異なるアクションをとってもよい。他のタイプのジェスチャもまた、種々のタスクを実施するために認識されてもよい。
【0086】
物体相互作用モジュール408は、ポインティングベクトルまたは円錐が、スマートデバイス140、既知の場所における異なる実世界物体、または追跡デバイス110のディスプレイ上に表示されている場面内の仮想物体に対応し得る、物体と交差するときを決定する。例えば、物体相互作用モジュール408は、実世界および仮想物体によって占有される場所を表す座標を記憶し、ポインティングベクトルまたは円錐が物体のうちの1つによって占有される座標と交差するときを検出する。ポインティングベクトルまたは円錐が複数の物体と交差する場合では、物体相互作用モジュール406は、ポインティングコントローラ120に最も近接する物体を選択することをデフォルトにしてもよい。別の実施形態では、追跡モジュール402は、ポインティングベクトルが、複数の物体と交差するとき、ユーザが近傍の物体(例えば、5メートルを下回って離れる)または遠い物体(例えば、5メートルを上回って離れる)にポイントすることを意図しているかどうかを知的に予測してもよい。例えば、追跡モジュール402は、腕がユーザの眼と実質的に整合されるように検出され、腕が完全に延在されるとき、ユーザが遠い物体にポイントすることを意図していると推論してもよい。追跡モジュール402は、腕が屈曲され、眼レベルの下方の位置に保持されるとき、ユーザが近接する物体にポイントすることを意図していると推論してもよい。
【0087】
ある実施形態では、視覚的インジケータ(例えば、視覚的外側光彩またはハロー効果、影付き輪郭、境界ボックス、もしくは類似物)が、ポイントされている物体と関連付けて拡張現実ディスプレイ内に表示される。随意に、例えば、物体識別子、ポインティングコントローラ120から選択された物体までの距離、物体のステータス等の選択された物体についての詳細な情報もまた、表示されてもよい。さらに、オブジェクトが、ポイントされるとき、物体相互作用モジュール406は、ポインティングコントローラ120の触覚モータを、アクションの物理的フィードバックを提供するために振動させてもよい。代替として、他の視覚的またはオーディオフィードバックも、物体が選択されるときを示すために提供されてもよい。
【0088】
物体相互作用モジュール408は、ユーザが特定の物体にポイントしているときに実施されるジェスチャまたは制御相互作用と関連付けられるコマンドを決定してもよい。例えば、物体相互作用モジュール408は、ユーザが、物体をポイントしているとき、確認相互作用(例えば、指間ボタン234をアクティブ化する挟持ジェスチャ)を検出してもよい。ここでは、物体相互作用モジュール408は、スマートデバイス140またはスマートデバイス140と関連付けられる代理物体が、ポインティングベクトルもしくは円錐に基づいて選択されると、相互作用が実施されるときのスマートデバイス140の選択を確認してもよい。選択を確認することに応じて、物体相互作用モジュール408は、ネットワーク130を介してスマートデバイス140への接続を確立してもよい。物体相互作用モジュール408は、次いで、スマートデバイス140の種々の機能を制御するためにユーザによって実施されるジェスチャまたは制御要素の選択を検出してもよい。ここでは、所定のジェスチャのセットが、スマートデバイス140の異なる制御機能と関連付けられてもよい。それらの機能へのジェスチャのマッピングは、スマートデバイス140の自然な制御を可能にするために、直感的方法で構成されてもよい。例えば、スマートサーモスタットを制御するために、ユーザは、手を上向きにポイントし、または移動させ、手を時計回り方向に回し、もしくは手を上向きに傾け、温度を上昇させ、手を下向きにポイントし、または移動させ、手を反時計回り方向に回し、もしくは手を下向きに傾け、温度を低下させてもよい。代替として、ポインティングコントローラ120上のスライダ制御インターフェース232は、スワイプの方向に基づいて、温度を制御してもよい。
【0089】
別の例示的相互作用では、ユーザは、光出力強度を増加または減少させる、もしくは電球の色温度を変更するようにスマート照明調光器を制御するためのジェスチャを実施してもよい。例えば、追跡デバイス110は、ポインティングコントローラ120が照明をポイントしているときを検出してもよい。ポインティングコントローラ120は、ポインティングベクトルが、照明の位置と交差し、照明が選択されていることを示すと、触覚、可聴、または視覚的フィードバック信号をトリガする。ポインティングコントローラ120は、ユーザが、スライダコントローラインターフェース232上に親指を保持し、光の輝度を増加させるために1つの方向に親指をドラッグし、輝度を減少させるために対向する方向に親指をドラッグするときを検出してもよい。親指を解除することは、輝度の変更を停止させてもよく、照明から離れる方向にポインティングベクトルを移動させることは、制御要素230とのさらなる相互作用が、照明のための制御信号をもはや発生させないように、照明を選択解除された状態にさせてもよい。
【0090】
ある実施形態では、選択解除アクションが、選択されたスマートデバイス140を選択解除するために実施されてもよい。ある実施形態では、選択解除は、スマートデバイス140または関連付けられる代理物体をから離れるようにポイントすることによって実施されてもよい。ある実施形態では、触覚または他のフィードバックが、相互作用が完了していることを確認するために出力されてもよい。
【0091】
メニューナビゲーションモジュール410は、スマートデバイス140または関連付けられる代理物体が選択されること、もしくは、例えば、物体が選択されている間にスライダ制御インターフェースがタップされること等の別のアクションまたはアクションの組み合わせに応答して、ディスプレイデバイス352上に提示されるメニューを発生させる。メニューは、ユーザが、スマートデバイス140と関連付けられる高度な構成設定を閲覧および/または修正することを可能にしてもよい。ある実施形態では、ホイールまたはスライダインターフェースが、ユーザが、スワイピングジェスチャを使用してパラメータを迅速に修正することを可能にするために表示されてもよい。
【0092】
較正モジュール412は、コンテンツ提示モジュール362によって提示される仮想環境内の位置および配向に対するポインティングコントローラ120の相対的位置ならびに配向を初期化するために、ポインティングコントローラ120を較正するための較正プロセスを実施する。ポインティングコントローラ120のロールおよびピッチは、仮想環境の垂直軸に沿った下向き方向にマッピングされる(状態感知モジュール220によって感知されるような)重力の検出された方向を用いて、状態感知モジュール220から検出されることができる。ポインティングコントローラ120の水平方向(ヨー)は、種々の技法を使用して、較正の間に基準方向に対して感知されることができる。本基準方向は、較正プロセスの間に追跡デバイス110の前向き方向と整合されてもよい。
【0093】
一実施形態では、ポインティングコントローラ120の状態感知モジュール220内の磁気計が、磁北を検出するためのコンパスとして動作してもよい。追跡デバイス110内の磁気計が、磁北を同様に検出してもよく、較正モジュール412は、これらの基準方向を整合させるための較正を実施してもよい。
【0094】
別の実施形態では、ポインティングコントローラ120の場所および配向が、追跡デバイス110のカメラもしくは他の外部カメラによって捕捉される1つまたはそれを上回る画像に対して実施される画像(視覚的もしくは深度)分析に基づいて検出されることができる。較正モジュール412は、次いで、検出された追跡データおよび画像データから決定された場所ならびに位置を使用して、較正を実施してもよい。
【0095】
別の実施形態では、較正モジュール412は、真正面をポイントし、次いで、具体的ジェスチャ(例えば、指間ボタン234もまた押圧しながらのスライダ制御インターフェース232上の二回タップ)を実施するようにユーザに指示することによって較正を実施する。ポインティングコントローラ120が、状態感知モジュール220によって検出されるように、略水平ではないときの、意図せぬアクションは、ジェスチャが、検出されるとき、本ジェスチャを無視することによって拒否されてもよい。較正モジュール412は、次いで、仮想環境内の真っ直ぐ前の方向にマッピングされる基準方向として方向を設定してもよい。
【0096】
別の実施形態では、較正は、既知である、または画像処理デバイスによって捕捉される画像から検出され得る場所における少数の実世界物体にポイントするようにユーザに指示することによって実施されてもよい。ここでは、ユーザが標的をポイントしているときを決定するために、ポインティングコントローラ120のピッチは、ピッチベクトルを標的にほぼ合致させるべきであり、加えて、ポインティングコントローラ120は、ほぼ静止して保持されるべきである。較正モジュール412は、次いで、仮想環境内のこれらの物体の既知の位置を使用して、較正を実施してもよい。ある実施形態では、本較正段階は、物体と相互作用するためにポインティングコントローラ120を使用する方法をユーザに訓練するためのユーザチュートリアルの一部として実施され得る。
【0097】
ポインティングコントローラ120の状態感知モジュール220に依拠しないまた他の実施形態(例えば、ポインティング方向のIRベースの検出を使用する実施形態)では、較正モジュール412は、省略されてもよい。
【0098】
一特定の実施形態では、追跡デバイス110は、(遠近誤差を最小限にするために)遠く離れて位置する標的物体を表示するように構成され、プロンプトが、標的物体をポイントするようにユーザに指示するために表示される。較正モジュール412は、(例えば、角回転率が所定の閾値を下回ることを検出することによって)ポインティングコントローラ120がほぼ定常であるときを検出し、現在のポインティング方向が標的物体の方向であることを決定する。ある実施形態では、追跡デバイス110は、較正を通してユーザを誘導するために、視覚的インジケータを提供してもよい。例えば、追跡デバイス110は、ポインティングコントローラ120が、短い周期の時間にわたって定常であり、加えて、ポインティングコントローラ120のピッチが、ユーザに対する標的のピッチにほぼ合致するとき、「充填」し始める視覚的インジケータ(例えば、進行バーアニメーション、視覚的インジケータのサイズの変更等)を表示してもよい。本時間の間、較正モジュール412は、ポインティングコントローラ120の検出された配向を記録し、追跡デバイス110のヨーに対するポインティングコントローラ120のヨー(方位)の差異を決定する。ユーザが、較正周期の間にポインティングコントローラ120を移動させる、またはピッチが、許容される範囲から外れる場合、進行は、リセットされる。いったん較正プロセスが、完了すると、標的物体は、ディスプレイから消去されてもよく、較正値は、記憶される。上記に説明される較正プロセスは、正確度を改良するために、異なるヨー(方位)および/またはピッチにおける標的物体を用いて複数回繰り返されることができる。較正プロセスは、加えて、較正を改良するために、異なる深度における標的物体を用いて、または1つの方向に向いたままであるが、その視界の周辺に標的を設置したままであるようにユーザに命令することによって実施されることができる。
【0099】
別の実施形態では、追跡デバイス110は、ポインティングコントローラ120の画像の輪郭を表示し、平坦な水平面上に追跡デバイス110を設置し、次いで、画像の輪郭と整合される追跡デバイス110のディスプレイ画面上にポインティングコントローラ120を設置するようにユーザに指示してもよい。較正モジュール412は、ポインティングコントローラ120のピッチが閾値角度を下回るとき、および追跡デバイス110ならびにポインティングコントローラ120の両方が閾値時間周期にわたって静止して保持されるときを検出する。これらの条件が、検出されると、較正モジュール412は、ポインティングコントローラ120および追跡デバイス110の検出されたヨーの間の差異を較正オフセットとして記憶する。動作時、本較正オフセットは、ポインティングコントローラ120のヨー測定値から減算される。
【0100】
いったん較正されると、較正モジュール412は、試験標的を表示し、ユーザが、較正が正しく実施されたことを確実にすることを可能にすることによって、ユーザが、較正を検証することを可能にしてもよい。別の実施形態では、較正モジュール412は、使用の間に連続的自動較正を実施してもよい。較正モジュール412は、異なるタイプの物体と関連付けられる焦点のセットを記憶してもよい。ここでは、物体の焦点は、ユーザがその物体タイプをポイントしようと試みるとき、ユーザがポインティングに関する優先傾向を有する可能性が高い所与の物体タイプの物体上の点を表す。単純な形状に関して、焦点は、均一な密度を仮定して、物体の質量の中心を算出することによって計算されてもよい。複雑な形状に関して、焦点は、形状を「包む」凸包の質量の中心を算出することによって計算されてもよい。他のタイプの機能的物体に関して、焦点は、物体タイプに基づいて手動で割り当てられてもよい、または外部追跡システムを使用して異なるタイプの物体に関して学習されてもよい。これらのタイプの物体に関して、焦点は、相互作用の点に向かって偏倚されてもよい。例えば、コンピュータモニタに関して、焦点は、画面の中心に対応し、スタンドを無視してもよい。自転車に関して、焦点は、ハンドルバーにより近接する点に向かって中心質量から偏倚されてもよい。ピアノに関して、焦点は、鍵盤により近接する点に向かって質量の中心から偏倚されてもよい。扉に関して、焦点は、取っ手/押板により近接する点に向かって質量の中心から偏倚されてもよい。
【0101】
ある実施形態では、物体の焦点は、距離に伴って変化してもよい。例えば、遠い距離から、人々は、物体の目的にかかわらず、物体の中心をポイントする可能性が高いであろう。したがって、ある実施形態では、物体の質量の中心は、物体が所定の距離を上回って離れるとき、焦点として使用されてもよい。しかしながら、物体により近接するとき、人々は、機能的物体上の相互作用の点に向かう傾向があるが、より単純な物体に関して質量の中心をポイントし続け得る。したがって、ある実施形態では、物体タイプに基づいて事前に割り当てされた焦点が、物体が所定の距離よりも近接するときに使用されてもよい。物体が選択される度に、較正モジュール412は、物体の焦点の方向と、物体が選択される瞬間におけるポインティングコントローラ120の実際のポインティング方向との間の差異を決定してもよい。これらの差異(および特に、ヨー成分)が、1つの方向において一貫して偏倚される場合、較正モジュール412は、誤較正を検出し得る。ある実施形態では、誤較正は、例えば、いくつかの物体選択のヨー成分が1つの方向において一貫して偏倚された後等、いったん十分な信頼レベルに到達するときのみ検出される。誤較正を検出することに応じて、較正モジュール412は、誤較正を補正するために、較正パラメータを調節することができる。本再較正は、瞬間的に実施される、または(ユーザが任意の「ジャンプ」を被ることを防止するために)数秒にわたって漸進的に適用されてもよい。
【0102】
図5は、ポインティングコントローラ120を使用してスマートデバイス140を制御するプロセスの例示的実施形態を図示する、フローチャートである。追跡デバイス110は、ポインティングコントローラ120の位置および配向と関連付けられる追跡データを取得する(502)。追跡データは、それから位置が導出され得る運動データを含んでもよく、IMUデータ、画像データ、RFビーコンデータ、またはそれらの組み合わせの形態であってもよい。追跡デバイス110は、追跡データに基づいて、ポインティングコントローラ120を装着するユーザのポインティング方向と関連付けられるポインティングベクトルを追跡する(504)。ポインティングベクトルは、ポインティング方向の軸に沿ったポインティングコントローラ120からの距離に伴って広くなる線または円錐を備えてもよい。追跡デバイス110は、追跡されたポインティングベクトルと、スマートデバイス140と関連付けられる物体場所との交差部を検出することに基づいて、スマートデバイス140の選択を検出し(506)、スマートデバイス140を選択された状態にする。ここでは、物体場所は、スマートデバイス140自体の場所であってもよい、またはスマートデバイス140と関連付けられる実世界もしくは仮想代理物体の場所であってもよい。ある実施形態では、追跡デバイス110は、ポインティング方向が、物体場所と交差するとき、所定の相互作用(例えば、ジェスチャまたはポインティングコントローラ上のインターフェース制御装置の選択)を検出することに応答して、選択を確認する。スマートデバイス140の選択に応じて、追跡デバイス110は、スマートデバイス140への接続を確立し(508)、これがコマンドをスマートデバイス140に通信すること、および/またはスマートデバイス140からステータス情報を受信することを可能にする。追跡デバイス140は、検出された相互作用に基づいて、スマートデバイス140を制御するためのコマンドを発生させる(510)。例えば、追跡デバイス110は、ポインティングコントローラを使用して実施される1つまたはそれを上回る相互作用(例えば、所定のジェスチャもしくはインターフェース制御装置との相互作用)を検出し、スマートデバイス140と関連付けられる制御コマンドへの相互作用のマッピングを決定する。追跡デバイスは、続けて、スマートデバイス140を選択解除し、スマートデバイス140を非選択状態に戻すために、ポインティングコントローラ120と関連付けられる相互作用を検出してもよい(512)。例えば、追跡デバイス110は、ユーザが、スマートデバイス140と関連付けられる物体場所の方向から離れた方向にポイントすること、またはスマートデバイス140を選択解除することと関連付けられる異なる所定のジェスチャを実施することを検出することに応答して、スマートデバイス140を選択解除してもよい。
【0103】
代替実施形態では、制御処理モジュール324の1つまたはそれを上回るコンポーネントが、追跡デバイス110上の代わりに、ポインティングコントローラ120上で実装されてもよい。例えば、ある実施形態では、追跡モジュール402およびジェスチャ認識モジュール406の機能は、代わりに、ポインティングコントローラ120によって実施されてもよい。本実施形態では、追跡結果および検出されたジェスチャは、未加工追跡ならびに制御要素データを通信する代わりに、追跡デバイス110に直接通信されてもよい。代替として、他の実施形態では、制御処理モジュール324の1つまたはそれを上回るコンポーネントが、別個の通信可能に結合されるデバイス上で実装されてもよい。例えば、モバイルデバイス、パーソナルコンピュータ、またはゲームコンソールが、ポインティングコントローラ120から未加工追跡および制御要素データを受信し、未加工データを処理するための制御処理モジュール324の機能を実施し、処理された制御情報を追跡デバイス110に送信し、追跡デバイス110にディスプレイデバイス352上のディスプレイを更新させてもよい。また別の実施形態では、制御処理モジュール324の1つまたはそれを上回るコンポーネントが、ポインティングコントローラ120および追跡デバイス110に通信可能に結合される、遠隔サーバ(例えば、クラウドサーバ)上で実施されてもよい。
【0104】
また他の実施形態では、追跡デバイス110は、省略され、ポインティングコントローラ120は、変調された赤外線(IR)信号を使用することによって、ユーザが相互作用することを意図するスマートデバイス140または代理デバイスを決定する。ここでは、ポインティングコントローラ120内に位置する送信機が、指とほぼ整合される方向において、かつ精密な標的化を可能にするために十分に幅狭のビーム角を伴って、変調された信号を伝送する。信号は、スマートデバイス140、代理デバイス、またはスマートデバイス140もしくは代理デバイスに取り付けられるビーコンデバイスによって受信および復調される。受信デバイスは、次いで、ネットワーク130を通して、または新しいIR信号を再伝送することによって、ポインティングコントローラ120に戻るようにシグナリングしてもよい。代替として、スマートデバイス140(または代理デバイスもしくは取り付けられるビーコンデバイス)内に位置する送信機が、ポインティングコントローラ120内に位置する方向感応センサによって受信および復調される信号を伝送する。いったん標的デバイスが、識別および選択されると、発生されたコマンド510は、ネットワーク130を通してスマートデバイス140に送信されることができる。いくつかの実施形態では、コマンドは、代替として、IRチャネルを経由して直接通信されてもよい。
【0105】
IRベースのソリューションの場合では、伝送されるビームまたは受信機光学系は、通常、1つの物体を選択するために十分に幅狭であろう。複数の物体が照明される場合では、追跡デバイス110は、IR照明強度または照明の持続時間を調べることによって、曖昧性を解消しようと試みることができる。曖昧性解消が、感知レベルにおいて可能ではない場合、追跡デバイス110は、(光学、聴覚、または触覚フィードバックを通してポインティングが曖昧であったことを示すことによって)ユーザにフィードバックを提供し、それによって、ユーザが、意図される標的物体を明白にポイントすることを可能にしてもよい。
【0106】
またさらなる実施形態では、外部カメラ、深度探知、または測距システムが、天井もしくは壁搭載モジュール内に位置してもよく、ポインティングコントローラ120を追跡する、またはポインティングコントローラ120の使用を伴わずに姿勢推定および手追跡を直接実施するために利用されてもよい。
【0107】
付加的考慮事項
本明細書全体を通して、いくつかの実施形態は、その派生語とともに、表現「結合される」を使用した。本明細書に使用されるような用語「結合される」は、必ずしも、2つまたはそれを上回る要素が直接物理的に、または電気的に接触することに限定されない。むしろ、用語「結合される」はまた、相互と直接接触しないが、なおも依然として相互と協働もしくは相互作用する、2つまたはそれを上回る要素を包含し得る。
【0108】
同様に、本明細書に使用されるように、用語「~を備える(comprises)」、「~を備える(comprising)」、「~を含む(includes)」、「~を含む(including)」、「~を有する(has)」、「~を有する(having)」、またはそれらの任意の他の変形例は、非排他的包含を網羅することを意図している。例えば、要素のリストを構成するプロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されず、明確に列挙されない、もしくはそのようなプロセス、方法、物品、または装置に固有の他の要素を含み得る。
【0109】
加えて、「the」、「a」、または「an」の使用は、本明細書の実施形態の要素およびコンポーネントを説明するために採用される。これは、単に、便宜上、かつ本発明の一般的意味を与えるために行われる。本説明は、1つまたは少なくとも1つを含むように熟読されるべきであり、単数形はまた、別様にこれを意味しないことが明白ではない限り、複数形を含む。
【0110】
最後に、本明細書に使用されるように、「一実施形態(one embodiment)」または「ある実施形態(an embodiment)」の任意の言及は、実施形態に関連して説明される特定の要素、特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。本明細書の種々の箇所における語句「一実施形態では(in one embodiment)」の表出は、必ずしも全てが同一の実施形態を指すわけではない。
【0111】
本開示を熟読することに応じて、当業者は、本明細書の原理から開示されるような説明される実施形態に関するなおも付加的な代替構造および機能的設計を理解するであろう。したがって、特定の実施形態および用途が、例証ならびに説明されたが、開示される実施形態が、本明細書に開示される精密な構造およびコンポーネントに限定されないことを理解されたい。当業者に明白であろう種々の修正、変更、および変形例が、範囲から逸脱することなく、本明細書に開示される方法ならびに装置の配列、動作、および詳細において行われ得る。
図1
図2
図3
図4
図5
図6
【国際調査報告】