(57)【特許請求の範囲】
【請求項１】
ユーザとユーザデバイスの空間的対話を実施するための装置であって、
前記ユーザデバイスの少なくとも1つのプロセッサを含み、
前記少なくとも1つのプロセッサに、
画像追跡器に、第1の座標系において、前記ユーザデバイスに相対した前記ユーザの顔の位置および配向を検出および追跡させることと、
センサ追跡器に、第2の座標系において、ターゲットに相対した前記ユーザデバイスの位置および配向を検出および追跡させることと、
前記第1の座標系と前記第2の座標系をグローバル座標系にマッピングすることと、
前記ユーザの前記顔の前記検出された位置および配向と、前記ユーザデバイスの前記検出された位置および配向と、前記グローバル座標系とに基づいて、前記ユーザの前記顔を連続的に追跡することと、
前記ユーザの少なくとも注視を含む前記ユーザからの入力を受信することであって、前記ユーザの注視は、連続的に追跡されている前記ユーザの前記顔に少なくとも部分的に基づいて決定される、受信することと、
前記ユーザからの前記入力と前記ユーザデバイスの前記位置または配向とに基づいて、前記ユーザデバイスのユーザインターフェースに表示される前記ターゲットの表示を操作することであって、前記ターゲットの前記表示の前記操作は、前記ユーザの前記注視に基づいた前記ターゲットの前記表示の分解図の表示を含む、操作することと
を行わせるように構成される、装置。
【請求項２】
前記センサ追跡器が、
前記ユーザデバイスの動きを検出すること、
前記ユーザデバイスの動きを追跡すること、
前記ターゲットを検出すること、または
前記ターゲットの動きを連続的に追跡すること
を行うように構成される、請求項1に記載の装置。
【請求項３】
前記画像追跡器が、
前記ユーザの前記顔を検出すること、
前記ユーザの前記顔の動きを追跡すること、または
前記ユーザが瞬きしたかどうかを判断するように、および前記ユーザが瞬きしたことに基づいて前記ユーザデバイスをトリガすること
を行うように構成される、請求項1に記載の装置。
【請求項４】
前記少なくとも1つのプロセッサが、前記ユーザデバイスの前の3つの自由度および前記ユーザデバイスの後ろの3つの自由度に対応する情報を使用するようにさらに構成される、請求項1に記載の装置。
【請求項５】
前記第1の座標系が、前記ユーザデバイスの前の顔対デバイス座標系である、請求項1に記載の装置。
【請求項６】
前記第2の座標系が、前記ユーザデバイスの後ろのデバイス対ターゲット座標系である、請求項1に記載の装置。
【請求項７】
前記グローバル座標系が、実世界座標系を含む、請求項1に記載の装置。
【請求項８】
ユーザとユーザデバイスの空間的対話を実施するための方法であって、
前記ユーザデバイスに相対した前記ユーザの顔の位置および配向を、第1の座標系において検出および追跡するステップと、
ターゲットに相対した前記ユーザデバイスの位置および配向を、第2の座標系において検出および追跡するステップと、
前記第1の座標系と前記第2の座標系をグローバル座標系にマッピングするステップと、
前記ユーザの前記検出された顔、前記ユーザデバイスの前記検出された位置、および前記グローバル座標系に基づいて、前記ユーザの前記顔を連続的に追跡するステップと、
前記ユーザの少なくとも注視を含む前記ユーザからの入力を受信するステップであって、前記ユーザの注視は、連続的に追跡されている前記ユーザの前記顔に少なくとも部分的に基づいて決定される、ステップと、
前記ユーザからの前記入力と前記ユーザデバイスの前記位置または配向とに基づいて、前記ユーザデバイスのユーザインターフェースに表示される前記ターゲットの表示を操作するステップであって、前記ターゲットの前記表示の前記操作は、前記ユーザの前記注視に基づいた前記ターゲットの前記表示の分解図の表示を含む、ステップと
を含む方法。
【請求項９】
前記ユーザデバイスの動きを検出するステップ、
前記ユーザデバイスの動きを追跡するステップ、
前記ターゲットを検出するステップ、または
前記ターゲットの動きを連続的に追跡するステップ
のうちの少なくとも1つをさらに含む、請求項8に記載の方法。
【請求項１０】
前記ユーザの前記顔を検出するステップ、
前記ユーザの前記顔の動きを追跡するステップ、または
前記ユーザが瞬きしたかどうかを判断し、前記ユーザが瞬きしたことに基づいて前記ユーザデバイスをトリガするステップ
のうちの少なくとも1つをさらに含む、請求項8に記載の方法。
【請求項１１】
前記ユーザデバイスの前の3つの自由度および前記ユーザデバイスの後ろの3つの自由度に対応する情報を使用するステップをさらに含む、請求項8に記載の方法。
【請求項１２】
前記第1の座標系が、前記ユーザデバイスの前の顔対デバイス座標系である、請求項8に記載の方法。
【請求項１３】
前記第2の座標系が、前記ユーザデバイスの後ろのデバイス対ターゲット座標系である、請求項8に記載の方法。
【請求項１４】
前記グローバル座標系が、実世界座標系を含む、請求項8に記載の方法。
【請求項１５】
ユーザとユーザデバイスの空間的対話を実施するための装置であって、
第1の座標系において、前記ユーザデバイスに相対した前記ユーザの顔の位置および配向を検出および追跡するための手段と、
第2の座標系において、ターゲットに相対した前記ユーザデバイスの位置および配向を検出および追跡するための手段と、
前記第1の座標系と前記第2の座標系をグローバル座標系にマッピングするための手段と、
前記ユーザの前記検出された顔、前記ユーザデバイスの前記検出された位置、および前記グローバル座標系に基づいて、前記ユーザの前記顔を連続的に追跡するための手段と、
前記ユーザの少なくとも注視を含む前記ユーザからの入力を受信するための手段であって、前記ユーザの注視は、連続的に追跡されている前記ユーザの前記顔に少なくとも部分的に基づいて決定される、手段と、
前記ユーザからの前記入力と前記ユーザデバイスの前記位置または配向とに基づいて、前記ユーザデバイスのユーザインターフェースに表示される前記ターゲットの表示を操作するための手段であって、前記ターゲットの前記表示の前記操作は、前記ユーザの前記注視に基づいた前記ターゲットの前記表示の分解図の表示を含む、手段と
を備える装置。
【請求項１６】
前記ユーザデバイスの動きを検出するための手段、
前記ユーザデバイスの動きを追跡するための手段、
前記ターゲットを検出するための手段、または
前記ターゲットの動きを連続的に追跡するための手段
のうちの少なくとも1つをさらに備える、請求項15に記載の装置。
【請求項１７】
前記ユーザの前記顔を検出するための手段、
前記ユーザの前記顔の動きを追跡するための手段、または
前記ユーザが瞬きしたかどうかを判断し、前記ユーザが瞬きしたことに基づいて前記ユーザデバイスをトリガするための手段
のうちの少なくとも1つをさらに備える、請求項15に記載の装置。
【請求項１８】
前記ユーザデバイスの前の3つの自由度および前記ユーザデバイスの後ろの3つの自由度に対応する情報を使用するための手段をさらに備える、請求項15に記載の装置。
【請求項１９】
前記第1の座標系が、前記ユーザデバイスの前の顔対デバイス座標系である、請求項15に記載の装置。
【請求項２０】
前記第2の座標系が、前記ユーザデバイスの後ろのデバイス対ターゲット座標系である、請求項15に記載の装置。
【請求項２１】
前記グローバル座標系が、実世界座標系を含む、請求項15に記載の装置。
【請求項２２】
1つまたは複数の命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記１つまたは複数の命令が、
ユーザデバイスに、第1の座標系において、前記ユーザデバイスに相対したユーザの顔の位置および配向を検出および追跡させる少なくとも1つの命令と、
前記ユーザデバイスに、第2の座標系において、ターゲットに相対した前記ユーザデバイスの位置および配向を検出および追跡させる少なくとも1つの命令と、
前記ユーザデバイスに、前記第1の座標系と前記第2の座標系をグローバル座標系にマッピングさせる少なくとも1つの命令と、
前記ユーザデバイスに、前記ユーザの前記顔の前記検出された位置および配向と、前記ユーザデバイスの前記検出された位置および配向と、前記グローバル座標系とに基づいて、前記ユーザの前記顔を連続的に追跡させる少なくとも1つの命令と、
前記ユーザデバイスに、前記ユーザの少なくとも注視を含む前記ユーザからの入力を受信させる少なくとも1つの命令であって、前記ユーザの注視は、連続的に追跡されている前記ユーザの前記顔に少なくとも部分的に基づいて決定される、少なくとも1つの命令と、
前記ユーザデバイスに、前記ユーザからの前記入力と前記ユーザデバイスの前記位置または配向とに基づいて、前記ユーザデバイスのユーザインターフェースに表示される前記ターゲットの表示を操作させる少なくとも1つの命令であって、前記ターゲットの前記表示の前記操作は、前記ユーザの前記注視に基づいた前記ターゲットの前記表示の分解図の表示を含む、少なくとも1つの命令と
を含む、非一時的コンピュータ可読記憶媒体。
【請求項２３】
前記ユーザデバイスに、前記ユーザデバイスの動きを検出させる少なくとも1つの命令、
前記ユーザデバイスに、前記ユーザデバイスの動きを追跡させる少なくとも1つの命令、
前記ユーザデバイスに、前記ターゲットを検出させる少なくとも1つの命令、または
前記ユーザデバイスに、前記ターゲットの動きを連続的に追跡させる少なくとも1つの命令
をさらに含む、請求項22に記載の非一時的コンピュータ可読記憶媒体。
【請求項２４】
前記ユーザデバイスに、前記ユーザの前記顔を検出させる少なくとも1つの命令、
前記ユーザデバイスに、前記ユーザの前記顔の動きを追跡させる少なくとも1つの命令、または
前記ユーザデバイスに、前記ユーザが瞬きしたかどうかを判断するように、および前記ユーザが瞬きしたことに基づいて前記ユーザデバイスをトリガさせる少なくとも1つの命令
をさらに含む、請求項22に記載の非一時的コンピュータ可読記憶媒体。
【請求項２５】
前記ユーザデバイスに、前記ユーザデバイスの前の3つの自由度および前記ユーザデバイスの後ろの3つの自由度に対応する情報を使用させる少なくとも1つの命令をさらに含む、請求項22に記載の非一時的コンピュータ可読記憶媒体。
【請求項２６】
前記第1の座標系が、前記ユーザデバイスの前の顔対デバイス座標系であり、
前記第2の座標系が、前記ユーザデバイスの後ろのデバイス対ターゲット座標系である、請求項22に記載の非一時的コンピュータ可読記憶媒体。
【請求項２７】
前記ユーザデバイスに、前記ユーザデバイスの前の3つの自由度に対応する情報を使用させる少なくとも1つの命令をさらに含む、請求項22に記載の非一時的コンピュータ可読記憶媒体。
【請求項２８】
前記ユーザデバイスに、前記ユーザデバイスの後ろの3つの自由度に対応する情報を使用させる少なくとも1つの命令をさらに含む、請求項22に記載の非一時的コンピュータ可読記憶媒体。
【請求項２９】
前記ユーザデバイスに、前記ユーザが前記ユーザデバイスに対して動いたと判断させる少なくとも1つの命令をさらに含む、請求項22に記載の非一時的コンピュータ可読記憶媒体。
【請求項３０】
前記ユーザデバイスに、前記ユーザデバイスが前記ターゲットに対して動いたと判断させる少なくとも1つの命令をさらに含む、請求項22に記載の非一時的コンピュータ可読記憶媒体。
【請求項３１】
前記画像追跡器が、前記少なくとも1つのプロセッサに結合されたハードウェアコンポーネント、前記少なくとも1つのプロセッサによって実行されるソフトウェアモジュール、ハードウェアとソフトウェアとの組み合わせを含み、
前記センサ追跡器が、前記少なくとも1つのプロセッサに結合されたハードウェアコンポーネント、前記少なくとも1つのプロセッサによって実行されるソフトウェアモジュール、ハードウェアとソフトウェアとの組み合わせを含む、請求項1に記載の装置。
【請求項３２】
操作することを行うように構成された前記少なくとも1つのプロセッサが、前記ユーザの前記注視に基づいて、前記ターゲットの前記表示のズームレベルの増加を表示するように構成された少なくとも1つのプロセッサを含む、請求項1に記載の装置。
【請求項３３】
操作することを行うように構成された前記少なくとも1つのプロセッサが、前記ターゲットの前記表示のx線ビューを表示するように構成された少なくとも1つのプロセッサを含む、請求項1に記載の装置。
【請求項３４】
操作することを行うように構成された前記少なくとも1つのプロセッサが、前記ユーザの前記注視の方向に基づいて、前記ターゲットの前記表示の詳細のレベルを変更するように構成された少なくとも1つのプロセッサを含む、請求項1に記載の装置。
【請求項３５】
前記ターゲットの前記表示の前記ズームレベルが、前記ユーザの前記注視の方向に基づいて増加される、請求項32に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第119条に基づく優先権の主張
本特許出願は、本出願の譲受人に譲渡され、参照により本明細書に明確に全体が組み込まれている、本出願と同じ発明者によって2013年11月8日に出願された、「SPATIAL INTERACTION USING FACE TRACKING」と題する仮出願第61/902,025号に対する優先権を主張する。
【背景技術】
【０００２】
ハンドヘルドユーザデバイスとの空間的対話(spatial interaction)は、かなり多くのユーザが、そのようなデバイスをオートフォーカスカメラデバイスとして選んでいるという点で、ますます普及している。ただし、これらのユーザデバイスの使用は一般に、たとえばタブレット、ファブレット、スマートフォンなどの軽量ユーザデバイスであっても、ユーザがユーザデバイスを両手で握って保持することを必要とする。これらおよび他のユーザデバイスを拡張現実環境において使用することは、より一層困難な場合がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
概して、本明細書で開示する主題の一実装形態は、ユーザとユーザデバイスとの間の空間的対話を実施するための装置を含む。装置は、ユーザデバイスに相対したユーザの顔の位置および配向を、第1の座標系において検出および追跡するように構成された論理と、ターゲットに相対したユーザデバイスの位置および配向を、第2の座標系において検出および追跡するように構成された論理とを含む。装置は、第1の座標系と第2の座標系をグローバル座標系の中に組み合わせ、ユーザの顔の検出された位置および配向と、ユーザデバイスの検出された位置および配向と、グローバル座標系とを使用して、ユーザの顔を連続的に追跡するように構成された論理も含む。
【０００４】
本明細書で開示する主題の別の実装形態は、ユーザとユーザデバイスの空間的対話を実施するための方法を含む。方法は、第1の座標系における、ユーザデバイスに相対したユーザの顔の位置および配向を、第1の座標系において検出および追跡するステップと、第2の座標系における、ターゲットに相対したユーザデバイスの位置および配向を、第2の座標系において検出および追跡するステップと、第1の座標系と第2の座標系をグローバル座標系の中に組み合わせるステップと、ユーザの検出された顔、ユーザデバイスの検出された位置、およびグローバル座標系を使用して、ユーザの顔を連続的に追跡するステップとを含む。
【０００５】
本明細書で開示する主題の別の実装形態は、ユーザとユーザデバイスの空間的対話を実施するための装置を含む。装置は、第1の座標系における、ユーザデバイスに相対したユーザの顔の位置および配向を、第1の座標系において検出および追跡するための手段と、第2の座標系における、ターゲットに相対したユーザデバイスの位置および配向を、第2の座標系において検出および追跡するための手段と、第1の座標系と第2の座標系をグローバル座標系の中に組み合わせるための手段と、ユーザの検出された顔、ユーザデバイスの検出された位置、およびグローバル座標系を使用して、ユーザの顔を連続的に追跡するための手段とを備える。
【０００６】
本明細書で開示する主題の別の実装形態は、機械によってアクセスされると、第1の座標系における、ユーザデバイスに相対したユーザの顔の位置および配向を、第1の座標系において検出および追跡すること、第2の座標系における、ターゲットに相対したユーザデバイスの位置および配向を、第2の座標系において検出および追跡すること、第1の座標系と第2の座標系をグローバル座標系の中に組み合わせること、ならびにユーザの検出された顔、ユーザデバイスの検出された位置、およびグローバル座標系を使用して、ユーザの顔を連続的に追跡することを含む動作を機械に実施させるデータを含むコンピュータ可読記憶媒体を含む。
【０００７】
この「発明の概要」は、請求項の範囲または意味を解釈または限定するために使用されることはないという理解により、提出するものである。この「発明の概要」は、特許請求される主題の重要な特徴または必須の特徴を識別するものとはせず、また、特許請求される主題の範囲を決定する際の助けとして使用されるものともしない。
【図面の簡単な説明】
【０００８】
【図１】本明細書に記載する技術の実装形態による拡張現実環境を示す図である。
【図２】本明細書に記載する技術の代替実装形態による拡張現実環境を示す図である。
【図３】本明細書に記載する技術の別の実装形態による、図2に示す拡張現実環境を示す図である。
【図４】本明細書に記載する技術の別の実装形態による、図2に示す拡張現実環境を示す図である。
【図５】本明細書に記載する技術の別の実装形態による、図2に示す拡張現実環境を示す図である。
【図６】本明細書に記載する技術の別の実装形態による、図2に示す拡張現実環境を示す図である。
【図７】本明細書に記載する技術の実装形態による拡張現実システムのハイレベルブロック図である。
【図８】本明細書に記載する技術の実装形態による、図7に示す対話論理のハイレベルブロック図である。
【図９】本明細書に記載する技術の実装形態による、図7に示す拡張現実環境を動作させる方法のフローチャートである。
【発明を実施するための形態】
【０００９】
「発明を実施するための形態」では、添付の図を参照する。図では、参照番号の最も左の数字は、その参照番号が最初に現れる図を識別する。同様の特徴および構成要素を参照するために図面を通して同じ番号が使用される。
【００１０】
本明細書に記載する技術は、たとえば、拡張現実環境における、ユーザデバイスのスクリーン側とユーザデバイスのカメラ側との間の対話のための機構を含む。本明細書で使用する「拡張現実」という用語は、実世界映像をコンピュータ生成データと組み合わせ、実世界上にグラフィックス、オーディオ、および他の知覚入力を重ねるどの環境も意味することを意図している。
【００１１】
拡張現実環境においてユーザデバイスを動作させることは、とりわけ、ユーザデバイスが拡張現実シーンに空間的に位置合せされるべきであるので、困難な場合がある。ただし、ユーザはユーザデバイスを両手で握って保持するので、オンスクリーンメニュー、ラベル、ウィジェットなどはユーザの手でアクセスされる必要があるために、ユーザデバイス向けに限られた入力モダリティしかない。
【００１２】
一態様では、ユーザデバイス中のカメラが、一定であり得る画像ストリームをユーザデバイスのユーザ側(または前)から、および画像ストリームをユーザデバイスのターゲット側(または後ろ)から受信する。カメラは、ユーザの顔にある目、口、鼻孔、頬などを検出し得る。一態様では、ユーザデバイスは、ユーザデバイスに相対した、ユーザについての座標系を獲得し、ターゲットに相対した、ユーザデバイスの座標系を獲得し、2つの座標系をグローバル座標系の中に組み合わせる。ユーザデバイスは次いで、ユーザが動いたかどうか、および/またはユーザデバイスが動いたかどうかを判断する。ユーザおよび/またはユーザデバイスの動きは、拡張現実環境におけるユーザの対話を制御するための入力モダリティとして使用される。
【００１３】
1つまたは複数の実装形態において、ユーザデバイスは、ユーザデバイスの前およびユーザデバイスの後ろにおける6つの自由度を解釈する。ユーザデバイスは、これらの自由度の各々を別々の入力モダリティにマップし、12個の入力モダリティを得る。入力モダリティは、声、唇の動き、目の動き、音声、ジェスチャー、笑み、注視、頭の動き、顔の動き、体の動き、キーボード入力、デジタル化タブレットからの入力などを含み得る。入力モダリティはまた、ユーザデバイスとターゲットとの間の対話空間に影響し得る、ユーザの顔、ユーザの頭の位置、ユーザデバイスに対するユーザの近接度などから推論することができる情報を含み得る。
【００１４】
1つまたは複数の態様において、ユーザデバイスの前およびユーザデバイスの後ろにおけるマッピングにより、拡張現実環境は、ユーザデバイスを保持しているユーザ(ターゲットに歩み寄っている)または自分の頭を動かしているユーザ(顔追跡を使用する)によって制御される。1つまたは複数の実装形態において、ユーザデバイスの前およびユーザデバイスの後ろにおけるマッピングはまた、他の入力モダリティと組み合わせることができる。たとえば、ユーザの顔姿勢は、シーン中にレイキャスティングされ得る。ユーザの顔姿勢は次いで、ユーザからの声入力と組み合わせることができる。代替として、ユーザの顔姿勢は、ユーザの瞬き入力、音声入力、注視入力と、ならびにユーザデバイスの位置および/または配向と組み合わせることができる。音声入力は、シーン中のオブジェクトを指すのに使用することができる。ユーザの注視は、ユーザが実際にどこを見ているかを判断するのに使用することができる。さらに別の入力モダリティは、空間中でのユーザデバイスの位置および/または配向を含み得る。
【００１５】
1つまたは複数の実装形態において、ユーザデバイスは、ユーザデバイスに相対したユーザの顔を検出および追跡する。ユーザデバイスは、ターゲットに相対したユーザデバイスも検出および追跡する。ユーザデバイスは次いで、ユーザデバイスに対するユーザの顔の近接度および向きをマップする。
【００１６】
ユーザデバイスに対するユーザの顔の近接度および向きのマッピングは、ユーザデバイスのディスプレイに示される情報の詳細レベルを変えることによって遂行することができる。たとえば、ユーザデバイスに対するユーザの近接度によって、ユーザデバイスの後ろの拡張現実シーン中に示される詳細は、それに応じて、より詳しく、またはより詳しくなくなるように適合され得る。
【００１７】
ユーザデバイスに対するユーザの顔の近接度および向きのマッピングは、自動化分解線図および/またはx線技術を使用して、拡張現実シーン中のターゲットオブジェクトの内側を見ることによって遂行することができる。たとえば、ターゲット上の1つまたは複数のオブジェクトの自動化3次元(3D)モデルを生成することは、オブジェクトを、オブジェクトの部分が互いに対してどのように分解するかを符号化する分解グラフに編成することを含み得る。自動化3次元(3D)モデルにより、ユーザは、直接制御とよりハイレベルの対話モードの両方を使用して、分解図を対話によって探査することができる。
【００１８】
一実装形態では、ユーザの注視は、ターゲット上で、分解した部分が動く経路を直接制御することができる。別の実装形態では、ユーザの注視と分解したモデルとの間の関係は1次制御として使用することができ、別のモダリティ(たとえば、声、タッチなど)は、分解線図中のユーザの注視の交点近くの、分解した部分の状態を変える2次制御として使用することができる。
【００１９】
ユーザデバイスに対するユーザの顔の近接度および向きのマッピングはまた、透明および/または半透明ユーザインターフェース要素、すなわち、ターゲット上のオブジェクト中の対象領域の上に、その外見および/またはその対話挙動を変えるために置かれる「マジックレンズ」を使用して遂行することができる。この、いわゆる「マジックレンズ」は、マッピングを支援するために、1つまたは複数のオブジェクトの上部を見るのに使用することができる。
【００２０】
図1は、本明細書に記載する技術の1つまたは複数の実装形態による拡張現実環境100を示す。拡張現実環境100において、実世界のユーザのビューは、仮想コンピュータ生成グラフィックスで強化される。グラフィックスは、ユーザの視点から実世界に整列されて見えるように、空間的に位置合せされ、拡張現実環境100に空間的に拡張する。
【００２１】
図示する拡張現実環境100は、ユーザ102、ユーザデバイス104、およびターゲット106を含む。ターゲット106からのシーンが、ユーザデバイス104上のディスプレイ112に示される。図示する環境100は、座標系114、座標系116、および座標系118も含む。
【００２２】
1つまたは複数の実装形態において、拡張現実環境100は、ゲーム用設定、教育用設定、工業デザイン、スポーツおよび娯楽、医療環境、または拡張現実技術の使用から利益を受け得る他の適切な環境において使用することができる。
【００２３】
1つまたは複数の実装形態において、ユーザ102は、ユーザデバイス104のどの人間ユーザであってもよい。したがって、ユーザ102は、様々な入力モダリティを使用してユーザデバイス104と対話することができる。当然ながら、ユーザ102は、たとえば、人間の制御の下でユーザデバイス104と対話することが可能なロボットなど、どの機械的デバイスであってもよい。
【００２４】
1つまたは複数の実装形態において、ユーザデバイス104は、たとえば電話、タブレットコンピュータ、「ファブレット(電話+タブレット)」コンピュータ、スマートフォン、ラップトップおよびデスクトップコンピュータなど、どのユーザ機器であってもよい。1つまたは複数の実装形態において、ユーザデバイス104は、1つまたは複数の配向検知モジュール、カメラ、ワイヤレストランシーバ、グラフィックスエンジン、プロセッサ、ユーザインターフェース(たとえばディスプレイ112、キーパッド)、目の動き検出モジュール、手の動き検出モジュール、声検出モジュール、音声認識モジュール、表情認識モジュール、頭部追跡モジュールなどを含む。
【００２５】
1つまたは複数の実装形態において、ターゲット106は、場所、オブジェクト、全体的向き、人、または他の類似項目であってよい。ターゲット106は固定であっても、または動いていてもよい。
【００２６】
図示するディスプレイ112は、テキスト、画像などを表示することが可能なタッチスクリーンディスプレイ、ホログラフィックディスプレイなどであってよい。
【００２７】
図示する座標系114は、(ユーザデバイスの前にある)顔対デバイス(face-to-device)座標系である。座標系114は、空間中のユーザの配向に相対したユーザ102についての座標系である。1つまたは複数の実装形態において、座標系114は、ユーザデバイス104に対するユーザ102の顔の位置および配向を検出および追跡する。
【００２８】
図示する座標系116は、(ユーザデバイスの後ろにある)デバイス対ターゲット座標系である。座標系116は、空間中のユーザデバイスの配向に相対したユーザデバイス104についての座標系である。1つまたは複数の実装形態において、座標系114は、ターゲット106に対するユーザデバイス104の位置および配向を検出および追跡する。
【００２９】
座標系114および座標系116は、組み合わされて座標系118を生成する。図示する座標系118は、グローバル座標系(または実世界座標系)である。ユーザデバイス104は、配向が相対配向であるかまたは絶対配向であるかを判断するのに、座標系118を使用する。
【００３０】
ユーザデバイス104は、ユーザ102が動いたかどうか、ユーザデバイス104が動いたかどうか、またはユーザ102とユーザデバイス104の両方が動いたかどうかを判断するのにも座標系118を使用する。一態様では、ユーザデバイス104は、ユーザ102が動いたかどうか、ユーザデバイス104が動いたかどうか、またはユーザ102とユーザデバイス104の両方が動いたかどうかを、センサを使わずに判断する。一般に、センサは、ユーザデバイス104が動いたか否かを判断するだけでよい。
【００３１】
図1に示す配置を用いると、ユーザ102は、自分の頭を動かし、自分の頭を回し、ユーザデバイス104を動かし、ユーザデバイス104を回転させる場合があるとともに、ユーザデバイス104は動きを検出し、解釈することができるので、ユーザデバイス104に対するユーザ102の顔の6つのポーズ自由度を計算することが可能である。1つまたは複数の実装形態において、ユーザデバイス104は、これらの自由度の各々を別々の入力モダリティにマップし、12個の入力モダリティを得る。
【００３２】
図2は、本明細書に記載する技術の実装形態による拡張現実環境200を示す。図示する拡張現実環境200は、ユーザ102、ユーザデバイス104、およびターゲット106を含む。ユーザデバイス104は、ユーザデバイス104のディスプレイ112上に、ターゲット106からのオブジェクト202を表示している。図示する拡張現実環境200において、オブジェクト202はコーヒーメーカーである。ユーザ102は、オブジェクト202を閉塞側から観察する。図示する拡張現実環境200において、ユーザ102は、自分の頭を矢印204の向きに沿って動かす。矢印204の向きに沿った動きは、入力モダリティのソースであり、オブジェクト202はアクションオブジェクトである。
【００３３】
ユーザデバイス104の前のユーザ102の位置が、オブジェクト202の配向にマップされる。図示した実装形態では、ディスプレイ上のスクリーンに対するユーザ102の頭部ポーズは、オブジェクト202の配向に、反対向きにマップされる。したがって、ユーザ102が、自分の頭を矢印204の向きに沿って右に動かすと、オブジェクト202は左を向く。こうすることにより、ユーザ102は、オブジェクト202を様々な角度から観察することができる。さらに、ユーザデバイス104がターゲット106に向かって動くと、オブジェクト202は物理空間において同じ位置に留まる。ただし、ユーザ102とユーザデバイス104との間の配向が変わると、オブジェクト202の配向は変えられる。
【００３４】
図3も、ユーザ102、ユーザデバイス104、およびターゲット106を含む拡張現実環境200を示す。ユーザデバイス104は、ユーザデバイス104のディスプレイ112上に、ターゲット106からのオブジェクト202を表示している。ただし、図3において、ユーザ102は、コーヒーカップ304として示されるオブジェクト202の部分およびその基底構造をあらわにするように、矢印302の向きに沿って横に動いている。コーヒーカップ304は、ユーザ102に対するオブジェクト202の可視性を最適化するために、ユーザ102の頭部姿勢に従って並べられる。この実装形態において、ユーザデバイス104は、ユーザ102がどこを見ているかを表示することができる。
【００３５】
1つまたは複数の態様において、ユーザ102の注視は、ある入力モダリティを与え、矢印302の向きに沿ったユーザ102の動きは別の入力モダリティを与える。ユーザデバイス104は、ユーザデバイス104に対するユーザ102の顔の近接度および向きを、オブジェクト202の詳細レベルを変えるようにマップする。図示した実装形態では、ユーザデバイス104は、ユーザ102の注視を、コーヒーカップ304をより詳しく示すようにオブジェクト202の詳細レベルを調節するのに使用する。一実装形態では、ユーザデバイス104中のカメラ(図示せず)が、オブジェクト202の対象領域を分解させて、ユーザ102がコーヒーカップ304を見ることができるようにする。
【００３６】
図4は、ユーザ102、ユーザデバイス104、およびターゲット106を含む拡張現実環境200を示す。ユーザデバイス104は、ユーザデバイス104のディスプレイ112上に、ターゲット106からのオブジェクト202を表示している。ただし、拡張現実環境200のこの実装形態では、ラベルおよび/または仮想オブジェクト(図示せず)が使用される。図示されていないが、オブジェクト202上のラベルは、ユーザ102の頭部ポーズに従って掲示板方式で並べられ得る。ただし、ラベルは、ユーザ102がオブジェクト202を実際に見ることができるように、視線に従って、およびユーザ102に向かって並べられるべきである。さらに、ラベルは、ユーザ102の視線中に直接閉塞するべきでも、オブジェクト202と衝突するべきでもない。
【００３７】
1つまたは複数の実装形態において、ユーザデバイス104は、ユーザ102の注視および/または視線(すなわち、衝突情報)を、ユーザ102がオブジェクト202を効果的に見ることを可能にするようにラベルの位置および/または配向を変えるための入力モダリティとして使用する。ユーザデバイス104はユーザ102の瞬きを検出することができ、瞬きは次いで、どのラベルをスイッチオンおよびオフするようにマップされてもよい。一例として、ユーザ102の視線に対する近接度が最も近いラベルを、ユーザデバイス104上でのレンダリングから除外してもよい。
【００３８】
図5は、セマンティックズームが実装される拡張現実環境200を示す。図5に示す拡張現実環境200も、ユーザ102、ユーザデバイス104、およびターゲット106を含む。ユーザデバイス104は、ユーザデバイス104のディスプレイ112上に、ターゲット106からのオブジェクト202を表示している。ただし、図5に示される実装形態では、ユーザ102の頭部ポーズの中心点502にある、オブジェクト202の部分は、ユーザ102がターゲット106により近づくことなく、オブジェクト202の拡大検査をユーザ102に対して可能にするように、矢印504に沿ってズームアップされる。ユーザ102の注視は、オブジェクト202にズームインするのに使用することができる。
【００３９】
図5に示す拡張現実環境200はまた、ユーザ102が動いたかどうか(ある入力モダリティ)、またはユーザデバイス104が動いたかどうか(別の入力モダリティ)を判断することができる。ユーザデバイス104上の別個のユーザインターフェースが、これらの入力モダリティを別個にマップするのに使われ得る。
【００４０】
たとえば、ユーザデバイス104は、座標系114(顔対デバイス)、座標系116(デバイス対ターゲット)、およびグローバル座標系118(すべて図1に示される)を使用して、ユーザ102および/またはユーザデバイス104の配向が相対配向であるかまたは絶対配向であるかを判断することができる。ユーザデバイス104は、ユーザ102が動いたかどうか、ユーザデバイス104が動いたかどうか、または両方とも動いたかどうかを判断するための配向差を計算することができる。この計算は、センサを使わずに遂行することができ、このことは、センサはユーザデバイス104が動いたかどうかを判断するだけでよいので、有利である。
【００４１】
図6は、適切なマジックレンズ(図示せず)が実装される、本明細書に記載する技術の別の実装形態による拡張現実環境200を示す。たとえば、図示した実装形態では、オブジェクト202の部分が、オブジェクト202のバウンディングボリューム602と交差した、ユーザ102の頭部ポーズに基づいて強調表示される。
一般に、マジックレンズはスクリーンと整列されるので、従来のマジックレンズを使用する2つの自由度のみがある。いくつかの実装形態によると、座標内で1つまたは複数のモダリティを使用すると、マジックレンズはそれに従って動くことができる。たとえば、実世界スクリーン上に実際に示される、異なるレイヤが存在する場合がある。その結果、追加モダリティは、マジックレンズの内容を切り替え、マジックレンズを最大で6つの自由度で動かすことができるようにする。6つの自由度は、ユーザ102の注視またはユーザ102の視線を使用して可能にされる。
【００４２】
図7は、本明細書に記載する技術の実装形態による拡張現実システム700のハイレベルブロック図を示す。1つまたは複数の実装形態において、拡張現実システム700は、ユーザ座標系を使用して、ユーザデバイスに対するユーザの顔の位置および配向を検出および追跡し、ユーザデバイス座標系を使用して、ターゲットに対するユーザデバイスの位置および配向を検出および追跡し、ユーザ座標系およびユーザデバイス座標系をグローバル座標系にマップする。拡張現実システム700はまた、ユーザの検出された顔、ユーザデバイスの検出された位置、およびグローバル座標系を使用して、ユーザの顔を連続的に追跡する。
【００４３】
図示するシステム700は、任意選択の慣性測定ユニット(IMU)704と、1つまたは複数のプロセッサ706と、メモリ708と、対話論理710と、レンダラ712と、合成器714と、グラフィック処理ユニット(GPU)716とを有するユーザデバイス702を含む。
【００４４】
1つまたは複数の実装形態において、ユーザデバイス702はカメラである。この実装形態において、ユーザデバイス702はカメラ正面718およびカメラ背面720を含む。カメラ正面718は、ユーザ102など、ユーザデバイス702のユーザに面する。カメラ背面720は、ターゲット106など、画像のターゲットが位置するシーンに面する。
【００４５】
図示するカメラ正面718は画像722を捕捉する。図示するカメラ背面720は画像724を捕捉する。
【００４６】
図示するプロセッサ706は、顔検出器726、顔追跡器728、および瞬き検出器730を含む。図示する顔検出器726、顔追跡器728、および瞬き検出器730は画像722を処理する。
【００４７】
一態様では、図示する顔検出器726は、画像722中のユーザ102の顔を検出する。図示する顔追跡器728は、顔検出器726の出力を使用して、ユーザ102の顔の動きを追跡する。図示する顔追跡器728はまた、ポーズ顔モジュール732を使用して、ユーザ102が自分の顔にポーズをつけているかどうかを判断する。図示する瞬き検出器730は、顔追跡器728の出力を使用して、ユーザ102が瞬きしたかどうか(すなわち、目が開いている/閉じている)を判断し、この判断を、瞬きトリガモジュール734用に使用する。ポーズ顔モジュール732出力と瞬きトリガモジュール734出力の両方が対話論理710に与えられる。対話論理710については後でより詳細に説明する。
【００４８】
図示するプロセッサ706は、画像ターゲット検出器736、画像追跡器738、およびセンサ追跡器740も含む。図示する画像ターゲット検出器736、画像追跡器738、およびセンサ追跡器740は画像724を処理する。たとえば、図示する画像ターゲット検出器736は、オブジェクト202など、画像724中のターゲットを検出する。図示する画像追跡器738は、画像ターゲット検出器736出力を使用して、ターゲットの動きを追跡する。図示する画像追跡器738は、画像ターゲット検出器736出力を使用して、ターゲットの動きを追跡する。図示する画像追跡器738はまた、ポーズデバイスモジュール742を使用して、ユーザデバイス702がポーズをとっているかどうかを判断する。
【００４９】
図示するセンサ追跡器740は、ユーザデバイス702の動きを追跡する。図示するセンサ追跡器740は、任意選択で、ユーザデバイス702についての慣性情報を慣性測定ユニット(IMU)704から受信し、ユーザデバイス702が動いたかどうかを判断する。図示するセンサ追跡器740は、この判断をポーズデバイスモジュール742に与える。代替として、センサ追跡器740は、ユーザデバイス702の位置を判断するための技法を実装してよい。そのような技法は、三角測量、Wi-Fi測位などを含む、ネットワークからのデータを使用することを含み得る。
【００５０】
画像追跡器738出力とポーズデバイス742出力の両方が、対話論理710に与えられる。対話論理710出力はレンダラ712に与えられる。図示するレンダラ712は、画像722および画像724中のシーンの視覚要素を生成することが可能な、どの適切な技術を使用しても実装することができる。レンダラ712出力は合成器714に与えられる。
【００５１】
1つまたは複数の実装形態において、ユーザデバイス702は、ユーザデバイス104と同じか、または同様である。ユーザデバイス702中のカメラは、電荷結合デバイス(CCD)ベースの画像検出器、相補型金属酸化膜半導体(CMOS)ベースの画像検出器、または他の適切な画像検出器を含み得る。
【００５２】
1つまたは複数の実装形態において、慣性測定ユニット(IMU)704は、ユーザデバイス702の動きを検出する。慣性測定ユニット(IMU)704は、ユーザデバイス702の速さ、配向、および重力を測定し報告することが可能な、どのデバイスであってもよい。慣性測定ユニット(IMU)704は、たとえば、加速度計、ジャイロスコープ、および/または磁力計の組合せを使用することができる。
【００５３】
1つまたは複数の実装形態において、プロセッサ706は、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラム可能ゲートアレイ(FPGA)、プログラム可能論理デバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、または情報の算出または他の操作を実施することができる他のどの適切なエンティティでもある。プロセッサ706は、情報を処理するために使用することができる。プロセッサ706は、特殊目的論理回路要素によって補完されても、または特殊目的論理回路要素に組み込まれてもよい。
【００５４】
1つまたは複数の実装形態において、メモリ708は、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラム可能読取り専用メモリ(PROM)、消去可能PROM(EPROM)、レジスタ、ハードディスク、取外し可能ディスク、CD-ROM、DVD、または情報、コンピュータプログラム、および/またはプロセッサ706によって実行されるべき命令を記憶するために使用される他の任意の適切な記憶デバイスである。メモリ708は、本明細書に記載する技術を実装するのに使用される1つまたは複数のコンピュータプログラム用の実行環境を作成するコードを記憶することができる。
【００５５】
図示する合成器714は、レンダラ712から取得された視覚要素を組み立てて単一の画像にすることが可能な、どの適切な技術を使用しても実装することができる。1つまたは複数の実装形態において、合成器714は、ユーザデバイス702のスクリーンに表示するために、視覚要素を単一の画像にデジタルにまとめる。
【００５６】
図示するグラフィック処理ユニット(GPU)716は、画像722および724がユーザデバイス702のスクリーンに表示され得るように、プロセッサ706およびメモリ708から受信された情報を処理することが可能な、どの適切な技術を使用しても実装することができる。
【００５７】
1つまたは複数の実装形態において、ポーズ顔モジュール732は、ユーザ102の顔の変換における3つの自由度、およびユーザ102の顔の3つの配向度を与える。
【００５８】
1つまたは複数の実装形態において、瞬きトリガモジュール734は、ユーザ102の目が開いているか、または閉じているかを示す、ブール値のオン/オフおよび/または目の開/閉信号を生成することができる。これらの信号は、ユーザデバイス702のスクリーン上のラベルをオンおよび/またはオフにするのに使用することができる。
図示する顔検出器726、顔追跡器728、および瞬き検出器730は、どの適切な外見ベースの顔認識技法を使用しても実装することができる。適切な外見ベースの顔認識技法は、直接相関技法、固有顔技法などを含む。図示する顔検出器726および顔追跡器728は、センサなしで実装することができる。
【００５９】
図8は、1つまたは複数の実装形態による対話論理710のハイレベルブロック図を示す。図示する対話論理710は、ポーズ顔モジュール732、瞬きトリガモジュール734、ポーズデバイスモジュール742、および他の入力モダリティ802から入力を受信する。図示する対話論理710は、レンダラ712に出力を与える。1つまたは複数の実装形態において、対話論理710は、ユーザ102の顔の配向における位置、ユーザ102の顔の外見(たとえば、瞬きおよび笑み)、ならびにユーザデバイス702位置および配向の変化を、拡張現実環境(たとえば、拡張現実環境100および200)におけるアクションを与えるために解釈する。
【００６０】
1つまたは複数の実装形態において、他の入力モダリティ802は通常、声、唇の動き、目の動き、音声、ジェスチャー、頭、顔、および体の動き、キーボード、デジタル化タブレットなどを含む。他の入力モダリティ802はまた、ユーザ102の顔から推論され得る、および/またはユーザデバイス702とターゲット106との間の対話空間に影響し得る情報を含み得る。たとえば、他の入力モダリティ802は、ユーザ102の頭の位置、ユーザデバイス702に対するユーザ102の近接度などから推論され得る。他の入力モダリティ802も、シーンを向いている側のユーザデバイス702の後ろの対話空間に対して影響を与える。
【００６１】
対話論理710は、配向および変換フィルタ804、制約ソルバ806、時間コヒーレンシモジュール808、対話オブジェクトモジュール810、グローバル座標系モジュール812、ならびに空間的対話モジュール814も含み、それらの出力はマッパー816に与えられる。
【００６２】
図示する配向および変換フィルタ804は、たとえば、ユーザデバイス702および/またはユーザ102に、3つの変換自由度を与えるのに使用することができる。図示する配向および変換フィルタ804はまた、たとえば、ユーザデバイス702および/またはユーザ102に、3つの配向自由度を与えるのに使用することができる。
【００６３】
図示する制約ソルバ806は、画像722および/または724の実際のサイズおよび/またはピクセル比を変更するのに使用することができる。
【００６４】
図示する時間コヒーレンシモジュール808は、ユーザデバイス702の、ユーザ102に面している側についてのタイミングが、ユーザデバイス702の、ターゲット106に面している側についてのタイミングと一致することを確実にすることができる。
【００６５】
図示した実装形態では、顔ポーズモジュール732、瞬きトリガ734、および他の入力モダリティ802は、対話オブジェクトモジュール810にマップされる。対話オブジェクトは、ユーザデバイス702によって追跡されている対話型仮想および物理オブジェクトの再表現であり得る。図示する対話オブジェクトモジュール810は、拡張現実システム700を通して説明される、追跡されるオブジェクトの、物理学に基づく空間表現(ストレージおよび論理)を与える。
【００６６】
1つまたは複数の実装形態において、対話オブジェクトモジュール810はグローバル座標系モジュール812にマップされる。
【００６７】
図示する空間的対話モジュール814は、対話オブジェクトモジュール810中で対話オブジェクトを保持し、アップデートさせ続け、構成可能アクションをレンダリングシステム712において可視的にさせるマッパー816にデータ出力を与える。データ出力は、対話オブジェクト810の間の近接度であってよい。
【００６８】
図示するマッパー816は、何がレンダリングされるべきであるか、および/または何がユーザデバイス702のスクリーンに表示されるべきであるかに関する判断を行うことができる。さらに、マッパー816は、ユーザデバイス702上で音が再生されるべきであるかどうかを判断することができる。
【００６９】
例示的拡張現実方法
図8は、1つまたは複数の実装形態による対話論理710のハイレベルブロック図を示す。図示する対話論理710は、ポーズ顔モジュール732、瞬きトリガモジュール734、ポーズデバイスモジュール742、および他の入力モダリティ802から入力を受信する。図示する対話論理710は、レンダラ712に出力を与える。1つまたは複数の実装形態において、対話論理710は、ユーザ102の顔の配向における位置、ユーザ102の顔の外見(たとえば、瞬きおよび笑み)、ならびにユーザデバイス702位置および配向の変化を、拡張現実環境(たとえば、拡張現実環境100および200)におけるアクションを与えるために解釈する。
【００７０】
1つまたは複数の実装形態において、他の入力モダリティ802は通常、声、唇の動き、目の動き、音声、ジェスチャー、頭、顔、および体の動き、キーボード、デジタル化タブレットなどを含む。他の入力モダリティ802はまた、ユーザ102の顔から推論され得る、および/またはユーザデバイス702とターゲット106との間の対話空間に影響し得る情報を含み得る。たとえば、他の入力モダリティ802は、ユーザ102の頭の位置、ユーザデバイス702に対するユーザ102の近接度などから推論され得る。言い換えると、他の入力モダリティ802は、シーンを向いている側のユーザデバイス702の後ろの対話空間に対して影響を与え得る。
【００７１】
対話論理710は、配向および変換フィルタ804、制約ソルバ806、時間コヒーレンシモジュール808、対話オブジェクトモジュール810、グローバル座標系モジュール812、ならびに空間的対話モジュール814も含み、それらの出力はマッパー816に与えられる。
【００７２】
図示する配向および変換フィルタ804は、たとえば、ユーザデバイス702および/またはユーザ102に、3つの変換自由度を与えるのに使用することができる。図示する配向および変換フィルタ804はまた、たとえば、ユーザデバイス702および/またはユーザ102に、3つの配向自由度を与えるのに使用することができる。
【００７３】
図示する制約ソルバ806は、画像722および/または724の実際のサイズおよび/またはピクセル比を変更するのに使用することができる。
【００７４】
図示する時間コヒーレンシモジュール808は、ユーザデバイス702の、ユーザ102に面している側についてのタイミングが、ユーザデバイス702の、ターゲット106に面している側についてのタイミングと一致することを確実にすることができる。
【００７５】
図示した実装形態では、顔ポーズモジュール732、瞬きトリガ734、および他の入力モダリティ802は、対話オブジェクトモジュール810にマップされる。対話オブジェクトは、ユーザデバイス702によって追跡されている対話型仮想および物理オブジェクトの再表現であり得る。図示する対話オブジェクトモジュール810は、拡張現実システム700を通して説明される、追跡されるオブジェクトの、物理学に基づく空間表現(ストレージおよび論理)を与える。
【００７６】
1つまたは複数の実装形態において、対話オブジェクトモジュール810はグローバル座標系モジュール812にマップされる。
【００７７】
図示する空間的対話モジュール814は、対話オブジェクトモジュール810中で対話オブジェクトを保持し、アップデートさせ続け、構成可能アクションをレンダリングシステム712において可視的にさせるマッパー(816)にデータ出力を与える。データ出力は、対話オブジェクト810の間の近接度であってよい。
図示するマッパー816は、顔ポーズ配向および変換(座標)、ならびにデバイス配向および変換(座標)が互いとマージされるように、連続的に同じときに(すなわち、同時に)稼動している顔追跡器728および画像追跡器738からのデータをマージする。マッパー816は、何がレンダリングされるべきであるか、および/または何がユーザデバイス702のスクリーンに表示されるべきであるかに関する判断を行うことができる。さらに、マッパー816は、ユーザデバイス702上で音が再生されるべきであるかどうかを判断することができる。
【００７８】
図9は、本明細書に記載する技術の実装形態による、拡張現実環境700がどのように動作するかという方法のフローチャートである。
【００７９】
ブロック902において、方法900は、ユーザデバイスに対する、ユーザの顔の位置および配向を検出および追跡する。一態様では、ユーザデバイス702は、ユーザデバイス702のユーザ102側から画像ストリームを受信する。1つまたは複数の実装形態において、顔検出器726は、ユーザデバイス702に対する、ユーザ102の顔の位置および配向を検出する。1つまたは複数の実装形態において、顔追跡器728は、ユーザデバイス702に対する、ユーザ102の顔の位置および配向を追跡する。
【００８０】
ブロック904において、方法900は、シーン中のターゲットに対する、ユーザデバイスの位置および配向を検出および追跡する。一態様では、ユーザデバイス702は、ターゲット106から画像ストリームを受信する。1つまたは複数の実装形態において、画像ターゲット検出器736は、ターゲット106に対する、ユーザデバイス104の位置および配向を検出する。1つまたは複数の実装形態において、画像追跡器738は、ターゲット106に対する、ユーザデバイス702の位置および配向を追跡する。
【００８１】
ブロック906において、方法900は、ユーザ座標系とユーザデバイス座標系を、グローバル座標系の中に組み合わせる。1つまたは複数の実装形態において、対話論理710は、座標系114と座標系116を座標系118に組み合わせる。1つまたは複数の実装形態において、対話論理710は、ポーズ配向および変換座標114とユーザデバイス702配向および変換座標116が互いに座標系118の中に組み合わされるように、顔追跡器728および画像追跡器738からのデータをマージする。
【００８２】
ブロック908において、方法900は、ユーザデバイスに対する、ユーザの顔の検出された位置および配向と、ユーザの顔の検出された位置および配向と、グローバル座標系とを使用して、ユーザの顔を連続的に追跡する。1つまたは複数の実装形態において、顔追跡器728は、ユーザデバイス702に対する、ユーザ102の顔の検出された位置および配向と、ユーザ102の顔の検出された位置および配向と、座標系118とを使用して、ユーザの顔を連続的に追跡する。
【００８３】
本明細書に記載する技術の態様および関連図面は、技術の特定の実装形態を対象とする。本明細書に記載する技術の範囲から逸脱することなく、代替的な実装形態を考案することができる。さらに、関連する詳細を不明瞭にしないように、技術のよく知られている要素については詳細に説明しないか、または省略する。
【００８４】
様々な方法のステップおよび決定が、この開示では連続的に説明されていることがあるが、これらのステップおよび決定のいくつかは、別個の要素によって連携してもしくは並行して、非同期的にもしくは同期的に、パイプライン方式で、またはその他の方法で、行われ得る。この説明がステップおよび決定を列挙するのと同じ順序でそれらが行われることは、そのように明示されている、さもなければ文脈から明らかである、または本質的に要求される場合を除いて、特に必要ではない。しかしながら、選択された変形では、ステップおよび決定は、上述の順序で行われることに留意されたい。さらに、本明細書に記載する技術に従ってすべての実装形態/変形では、すべての図示したステップおよび決定が必要とされるとは限らず、本明細書に記載する技術によるいくつかの実装形態/変形では、特に図示していないいくつかのステップおよび決定が、望ましいまたは必要であることがある。
【００８５】
様々な異なる技術および技法のいずれかを使用して情報および信号が表現され得ることを当業者なら理解されよう。たとえば、上の記述の全体を通して参照される場合のあるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはこれらの任意の組合せによって表される場合がある。
【００８６】
さらに、本明細書に開示する実装形態との関連で述べた様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、またはこれらの組合せとして実装される場合があることを、当業者なら認識するであろう。ハードウェアとソフトウェアのこのような互換性をわかりやすく示すために、様々な例示的構成要素、ブロック、モジュール、回路、およびステップを、概してその機能性に関して上述した。そのような機能性がハードウェアとして実装されるかソフトウェアとして実装されるかまたはハードウェアとソフトウェアの組合せとして実装されるかは、特定の応用例と、システム全体に課される設計制約とに依存する。当業者は、説明された機能性を各々の特定の応用分野について様々な方式で実装し得るが、そのような実装判断は、本明細書に記載する本技術の範囲からの逸脱を引き起こすと解釈されるべきではない。
【００８７】
本明細書に開示する実装形態と関連して説明する様々な例示的論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブルロジックデバイス、個別のゲートもしくはトランジスタ論理、個別のハードウェア部品、または本明細書に記載した機能を行うように設計されたこれらの任意の組合せを用いて、実装または実施される場合がある。汎用プロセッサはマイクロプロセッサであり得るが、代替実施形態では、プロセッサは、任意の従来型プロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装することができる。
【００８８】
本明細書に開示される態様に関して記述される方法またはアルゴリズムのステップは、ハードウェアにおいて直接具現されるか、プロセッサによって実行されるソフトウェアモジュールにおいて実装されるか、またはその2つの組合せで実装される場合がある。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において既知の任意の他の形の記憶媒体に存在することができる。例示的記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサと一体化されてもよい。プロセッサおよび記憶媒体は、ASIC内に存在する場合がある。ASICは、アクセス端末中に存在する場合がある。代替として、プロセッサおよび記憶媒体は、アクセス端末に個別の構成要素として存在し得る。
【００８９】
開示された実装形態の上記の説明は、当業者が、本明細書に記載する技術を作成または使用することができるように与えられる。これらの実装形態への様々な修正が当業者には容易に明らかになり、本明細書で定義される一般的な原理は、本明細書に記載する技術の趣旨または範囲を逸脱することなく他の実装形態に適用され得る。したがって、本明細書に記載する技術の態様は、本明細書において示される実装形態に限定されることを意図するものではなく、本明細書において開示された原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００９０】
100  拡張現実環境、環境
102  ユーザ
104  ユーザデバイス
106  ターゲット
112  ディスプレイ
114  座標系
116  座標系
118  座標系
200  拡張現実環境
202  オブジェクト
304  コーヒーカップ
502  中心点
602  バウンディングボリューム
700  拡張現実システム、システム
702  ユーザデバイス
704  慣性測定ユニット(IMU)
706  プロセッサ
708  メモリ
710  対話論理
712  レンダラ
714  合成器
716  グラフィック処理ユニット(GPU)
718  カメラ正面
720  カメラ背面
722  画像
724  画像
726  顔検出器
728  顔追跡器
730  瞬き検出器
732  ポーズ顔モジュール
734  瞬きトリガモジュール
736  画像ターゲット検出器
738  画像追跡器
740  センサ追跡器
742  ポーズデバイスモジュール、ポーズデバイス
802  他の入力モダリティ
804  配向および変換フィルタ
806  制約ソルバ
808  時間コヒーレンシモジュール
810  対話オブジェクトモジュール、対話オブジェクト
812  グローバル座標系モジュール
814  空間的対話モジュール
816  マッパー
【図１】
0006591411.tif 000002
【図２】
0006591411.tif 000003
【図３】
0006591411.tif 000004
【図４】
0006591411.tif 000005
【図５】
0006591411.tif 000006
【図６】
0006591411.tif 000007
【図７】
0006591411.tif 000008
【図８】
0006591411.tif 000009
【図９】
0006591411.tif 000010