(57)【要約】  電子デバイスは、カメラの視野内の物体を検出し、定義された観測点から見られたときの電子デバイスの反射面におけるその物体の反射像の位置を判定する。電子デバイスが、ユーザからの選択入力を検出すると、電子デバイスのコントロールが、電子デバイスの反射面上の場所と反射面上の物体の反射像との間の位置合わせに基づいて起動される。
2017526096.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサが実施する方法であって、
電子デバイスの反射面に映し出された像と前記反射面上の物理的場所との位置合わせに基づいてユーザインターフェースコントロールをアクティブにするステップ
を含む方法。
【請求項２】
請求項１に記載のプロセッサが実施する方法であって、
前記映し出された像と前記反射面上の場所との位置合わせを検出するステップと、
前記位置合わせが維持されている間に選択アクションを検出するステップと
をさらに備える、方法。
【請求項３】
請求項２に記載のプロセッサが実施する方法であって、前記選択アクションは、ユーザの動きである、方法。
【請求項４】
請求項２に記載のプロセッサが実施する方法であって、前記選択アクションは、前記電子デバイスのマイクロフォンによって検出される、方法。
【請求項５】
請求項１に記載のプロセッサが実施する方法であって、前記映し出されたはが、ユーザの映し出された一部である、方法。
【請求項６】
請求項１に記載のプロセッサが実施する方法であって、前記映し出された像は、前記ユーザの目の像である、方法。
【請求項７】
請求項１に記載のプロセッサが実施する方法であって、前記位置合わせは、ユーザの視線に沿った方向で実現される、方法。
【請求項８】
電子デバイスの反射面に映し出された像と前記反射面上の物理的場所との位置合わせに基づいて電子デバイスのコントロールをアクティブにするように構成されたユーザインターフェースコントローラ
を備えた電子システム。
【請求項９】
請求項８に記載の電子システムであって、前記ユーザインターフェースはさらに、
前記映し出された像と前記反射面上の場所との位置合わせを検出し、
前記位置合わせが維持されている間に選択アクションを検出する
ように構成された、電子システム。
【請求項１０】
請求項９に記載の電子システムであって、前記選択アクションは、ユーザの動きである、電子システム。
【請求項１１】
請求項９に記載の電子システムであって、前記選択アクションは、前記電子デバイスのマイクロフォンによって検出される、電子システム。
【請求項１２】
請求項８に記載の電子システムであって、前記映し出された像は、ユーザの映し出された一部である、電子システム。
【請求項１３】
請求項８に記載の電子システムであって、前記映し出された像は、前記ユーザの目の像である、電子システム。
【請求項１４】
請求項８に記載の電子システムであって、前記位置合わせは、ユーザの視線に沿った方向で実現される、電子システム。
【請求項１５】
コンピュータシステム上でコンピュータプロセスを実行するためのコンピュータプログラムを符号化した１つまたは複数の有形コンピュータ可読記憶媒体であって、前記コンピュータプロセスは、
電子デバイスの反射面に映し出された像と前記反射面上の物理的場所との位置合わせに基づいてユーザインターフェースコントロールをアクティブにするステップ
を含む、有形コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]電子デバイスは、未許可のデータアクセスを防ぐために様々なセキュリティ機構を使用する。
【背景技術】
【０００２】
たとえば、一部の電子デバイスは、デバイスに記憶されたデータへのユーザアクセスを許可する前にパスコードまたは暗証番号（ｐｉｎ）を提供するようにユーザに促す機能を含む。暗証番号の機密性を保護することは、いくつかの課題を提起する。たとえば、ユーザは、長過ぎるまたは複雑な暗証番号またはパスコードを容易に忘れる可能性がある。短い暗証番号は、覚えるのは容易であるが、電子デバイスがよく見える場所にいる近くの人によって「ショルダーハッキング（ｓｈｏｕｌｄｅｒ−ｈａｃｋｅｄ）」されるリスクがある。たとえば、ユーザが公共の場で暗証番号を入力するとき、近くにいる人が、そのユーザの肩越しにこっそりと見ることによって、セキュリティ暗証番号の知識を得ることがある。網膜走査および指紋検出など、他の画像に基づくセキュリティ技術は、実装が複雑であることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0002]本明細書において説明および請求される実装形態は、電子デバイスの反射面に映し出された像と反射面上の物理的場所との間の位置合わせに基づいてユーザインターフェースコントロールをアクティブにする（ａｃｔｉｖａｔｅ；起動する、始動する、作動させる、選択する、有効にする）ことによって、前述に対処することができる。
【課題を解決するための手段】
【０００４】
[0003]本概要は、発明を実施するための形態において以下でさらに説明される簡易化された形での概念の選択を紹介するために提供される。本概要は、本特許請求の主題の主要な特徴または本質的特徴を識別することを意図されておらず、本特許請求の主題の範囲を制限するために使用されることも意図されていない。
【０００５】
[0004]他の実装形態も本明細書において記載され、説明される。
【図面の簡単な説明】
【０００６】
【図１】[0005]非表示カーソルを使用して電子デバイスのコントロールを作動させるための例示的システムの図である。
【図２】[0006]電子デバイスのコントロールを作動させる非表示カーソルの例示的使用を示す図である。
【図３】[0007]電子デバイスの非表示カーソル機能の較正動作を実行するための例示的環境を示す図である。
【図４】[0008]電子デバイスの非表示カーソル機能の較正動作を実行するためのもう１つの例示的環境を示す図である。
【図５】[0009]図５Ａは電子デバイスの反射面上の非表示カーソルの位置を識別するための例示的方法を示す図である。[0010]図５Ｂは図５Ａの例示的方法をさらに示す図である。
【図６】[0011]ユーザと電子デバイスの反射面との間の距離を推定するために使用可能な例示的リアルタイム較正動作を示す図である。
【図７】[0012]電子デバイスの非表示カーソル機能を使用するための例示的動作を示す図である。
【図８】[0013]非表示カーソルを使用して電子デバイスのコントロールを作動させるための例示的ユーザインターフェースコントロールを示す図である。
【図９】[0014]記載される技術の実装において有用であり得る例示的システムを示す図である。
【図１０】[0015]記載される技術の実装において有用であり得るもう１つの例示的システムを示す図である。
【発明を実施するための形態】
【０００７】
[0016]図１は、非表示カーソル１１２を使用して電子デバイス１０２のコントロールを作動させるための例示的システム１００を示す。電子デバイス１０２は、たとえば、携帯電話（たとえば、スマートフォン）、タブレットコンピュータ、ラップトップ、携帯情報端末、ゲームシステム、ホームセキュリティシステム、ＡＴＭ、または、反射面１０８（たとえば、表示画面）およびユーザ環境から情報を収集するセンサー１１０（たとえば、カメラ）を有する他の任意の電子デバイスであってよい。電子デバイス１０２は、ユーザ１０４が反射面１０８上の場所を選択して電子デバイス１０２のコントロールを作動させることを可能にする非表示カーソル１１２を利用した機能を含む。非表示カーソル１１２は、電子デバイス１０２によって電子的に生成される画像ではなく、電子デバイス１０２の外部のソースからの映し出された像である。
【０００８】
[0017]非表示カーソル１１２は、たとえば、ユーザの目、鼻、口など、ユーザの顔の映し出された一部分であってよい。図１では、非表示カーソル１１２は、ユーザの右目１２２の映し出された像である。反射面１０８に対する非表示カーソル１１２（たとえば、映し出された像）の見掛けの位置は、任意の所与の時間における、所与の観測者の視点に応じた可変の位置である。本明細書では、非表示カーソルの「実際の」位置は、単一の観測点１２２に対する位置として定義される。図１では、観測点１２２は、ユーザ１０４の優位眼である。たとえば、ユーザ１０４は、非優位眼を閉じたままで優位眼で反射面を見ることによって、反射面１０８上の非表示カーソル１１２の位置を見ることができる。
【０００９】
[0018]非表示カーソル機能が起動されると、センサー１１０は、ユーザ１０４の方向にある電子デバイス１０２の外部の環境からデータを収集する。センサー１１０は、たとえば、カメラ内の１つまたは複数のカメラセンサー（たとえば、ＣＣＤセンサー）、ＩＲセンサー、深度センサー、ＲＧＢセンサーなどであってよい。一実装形態では、センサー１１０は、ユーザ１０４の顔を継続的に監視するカメラ内のＣＣＤセンサーである。
【００１０】
[0019]非表示カーソル１１２を使用して電子デバイス１０２のコントロールを作動させるために、ユーザ１０４は、ユーザ１０４が反射面１０８内の非表示カーソル１１２を見ることができるように電子デバイス１０２を持つ。ユーザは、優位眼（たとえば、デバイス較正中に選択された目）で非表示カーソル１１２を見て、非表示カーソル１１２が優位眼の視点から反射面１０８上の場所と位置合わせされるように、反射面１０８を方向付ける。いくつかの適用例では、反射面１０８の方向付けは、図１に示すように、ユーザ１０４が非表示カーソル１１２および／または反射面１０８内の彼の反射像１１４を見ることができるように電子デバイス１０２を持つことを伴う。他の適用例では、ユーザ１０４は、電子デバイス１０２を手に持たない。むしろ、反射面１０８の方向付けは、反射面１０８に対してユーザ１０４の体を方向付けること、または１つもしくは複数の軸を中心として反射面１０８を傾けることなど、他の調節アクションを伴う。
【００１１】
[0020]ユーザ１０４は、非表示カーソル１１２と位置合わせされた場所において反射面１０８上に表示されたコントロール、または反射面１０８上で見ることができるコントロールを選択するための選択アクションを実行する。選択アクションは、たとえば、短い舌打ちまたは音声コマンドなどの可聴音、まばたき、唇の動き、タッチスクリーン入力などの検出可能な動きなどでもよい。たとえば、ユーザ１０４は、反射面１０８のキーパッド１２０で番号「３」を選択することを望むことがある。それを行うために、ユーザ１０４は、非表示カーソル１１２（たとえば、ユーザの左目の映し出された像）がキーパッド１２０上の番号「３」の上に重なるように、電子デバイス１０２の反射面１０８を方向付ける。ユーザは、次いで、非表示カーソルと番号「３」との間の位置合わせが維持されている間に選択アクションを実行することによって、番号「３」を選択する。ユーザは、たとえば、マイクロフォン１３０によって検出される可聴ノイズを発することによって番号「３」を選択することができる。別法として、ユーザは、反射面１０８の領域をタップすることによって（たとえば、反射面１０８がタッチスクリーンである場合）、番号「３」を選択することもできる。様々な他の選択アクションも企図される。
【００１２】
[0021]選択アクションの検出に応答して、電子デバイス１０２は、センサー１１０からのデータを使用して、選択アクション時の非表示カーソル１１２の位置を判定する。前述のように、非表示カーソル１１２の位置は、観測点１２２を基準として定義される。
【００１３】
[0022]電子デバイス１０２は、選択アクション時に観測点１２２から見たときに、そのようなコントロールがある場合には反射面１０８上に置かれたどのコントロールが非表示カーソル１１２の位置と整列する（たとえば、重なる）エリアを含むかを識別する。その項目が「選択」され、１つまたは複数の処理アクションを開始するために、電子デバイス１０２によって使用される。開示される技術は、ある特定のアプリケーションにアクセスするためにユーザ認証を必要とするセキュリティアプリケーションを含む様々なアプリケーション、データアクセス、および／または電子デバイス１０２の一般用途における使用が意図されている。たとえば、電子デバイス１０２は、電子デバイス１０２から見ることができるデータにアクセスするための認証シーケンス（たとえば、暗証番号またはパスコード）をユーザ１０４に促すことができる。ユーザが非表示カーソル１１２で選択する場所は、定義された観測点１２２（たとえば、ユーザの優位眼）に対応する視線１１６に沿って以外では見えないので、ユーザ１０４は、反射面１０８がよく見える他者に認証シーケンスを漏らすリスクなしに、公共の場において認証シーケンスを目立たないように入力することができる。たとえば、ユーザ１０４は、非表示カーソル１１２を位置合わせし、選択アクションを実行することによって、１桁の認証シーケンスを入力することができる。同じまたは同様のステップが、複数桁の認証シーケンスを入力するために繰り返され得る。
【００１４】
[0023]いくつかの実装形態では、反射面１０８は、ユーザ１０４が非表示カーソル１１２を使用して入力を行う間、キーパッド１２０を表示しない。たとえば、ユーザ１０４は、非表示カーソル１１２を使用して、反射面１２０に表示される他のコントロールもしくは画像を選択するか、または画像を一切表示しない反射面１２０の部分を選択することができる。
【００１５】
[0024]電子デバイス１０２は、たとえばパターン認識技法を含む、非表示カーソル１１２の位置を識別するための様々な技法を使用することができる。たとえば、センサー１１０は、ユーザ環境から画像データを収集するカメラであってよい。電子デバイス１０２は、１つまたは複数のパターン認識モジュールを使用して、たとえばユーザの顔の中心または目など、ユーザの顔の特徴を認識することができる。電子デバイス１０２は、次いで、保存された、または動的に確定可能な他のパラメータ（たとえば、位置情報、深度推定値など）を使用して、非表示カーソル１１２が反射面１０８上に現われる位置を推定することができる。
【００１６】
[0025]図２は、電子デバイス２０２のコントロールを作動させる非表示カーソル２１２を含む例示的システム２００を示す。電子デバイス２０２は、非表示カーソル２１２を使用するデバイス機能がユーザに入力を促す間にユーザ（図示せず）を監視するカメラ２１８を含む。電子デバイス２０２の反射面２０８（たとえば、表示画面）がユーザに対して特定の形で方向付けられると、ユーザは、反射面２０８で自分の顔の反射像２１４を見ることができる（図２のビューＡに示すように）。
【００１７】
[0026]較正動作（たとえば、他の図に関して以下に説明されるような）の間に、ユーザは、非表示カーソル２１２のカーソルソースの役割を果たす顔の特徴を選択する。非表示カーソル２１２の位置は、定義された観測点から見られるときに反射面２０８内に映し出されるカーソルソースの位置として定義される。たとえば、観測点は、ユーザの優位眼であってよい。図２において、ユーザは左目をカーソルソースとして定義してある。それに応じて、非表示カーソル２１２の位置は、ユーザの優位眼の視線に沿って見られるときに反射面２０８に映し出されるユーザの左目の位置によって与えられる。他の実装形態では、ユーザは、たとえば、ユーザの鼻の頭、ユーザの口の中心、ユーザの人差し指など、非表示カーソル１１２のカーソルソースの役割を果たす顔のまたは体の他の特徴を選択することができる。
【００１８】
[0027]図２のビューＢは、電子デバイス２０２の反射面２０８に表示されたキーパッド２２０を示す。ビューＣは、定義された観測点から見たときの、キーパッド２２０上の番号「１」と非表示カーソル２１２との間の位置合わせを示す。非表示カーソル２１２と番号「１」との間の位置合わせが維持されている間に、ユーザは、選択アクションを実行して番号「１」を選択する。選択アクションは、たとえば、可聴音（短い舌打ちなど）、まばたき、唇の動き、タッチ反射面への入力などでもよい。
【００１９】
[0028]選択アクションの検出に応答して、電子デバイス２０２は、カメラ２１８によって収集されたデータを分析して、反射面２０８に対する非表示カーソル２１２の位置を識別する。たとえば、電子デバイス２０２は、選択アクションのときに撮られたユーザの画像を分析してカメラ２１８の視野内のカーソルソースの位置を判定することができる。一実装形態では、この分析は、較正動作中に前に撮られたユーザの画像とユーザの新たに撮られた画像を比較する。カメラの視野内のカーソルソースの識別された位置は、定義された観測点からの視線内の対応する位置にマッピングされる。
【００２０】
[0029]非表示カーソル２１２の位置の判定は、パターン認識および／またはユークリッド距離計算技法を含むがこれらに限定されない、様々な技法を使用する様々な異なる方法で実行することができる。
【００２１】
[0030]非表示カーソル２１２の位置を判定した後、電子デバイス２０２は、非表示カーソル２１２の位置と重なるエリアに表示された、またはそのエリア内で見ることができる任意の内容を「選択」する。この内容の選択は、電子デバイス２０２の１つまたは複数のモジュールによって入力として受け取られ、電子デバイス２０２などへのアクセスの許可などの１つまたは複数の処理アクションを開始するために使用される。
【００２２】
[0031]図３は、電子デバイス３０２の非表示カーソル機能の較正動作を実行するための例示的環境３００を示す。較正動作３００の間に、ユーザの画像３１４が、電子デバイス３０２のカメラ３１８で撮られる。ユーザは、カメラ３１８の視野内でカーソルソースを識別するため、および定義された観測点（たとえば、ユーザの視線）から見られたときのカーソルソースの反射像が反射面３０８上に現われる位置にカーソルソースの見掛けの位置をマッピングするための追加情報を、電子デバイス３０２に提供する。一実装形態では、定義された観測点は、ユーザの選択された優位眼の視線に対応する。
【００２３】
[0032]電子デバイス３０２の非表示カーソル機能を較正するとき、ユーザは、以下に記載される例示的較正動作３００のうちの１つまたは複数を単独でまたは異なる組合せで実行する。１つの例示的較正動作では、電子デバイス３０２は、ユーザのリアルタイム画像を反射面３０８に表示し、ユーザは、反射面３０８に表示された十字線３１２がユーザのリアルタイム画像の中心と合うまで、反射面３０８を選択的に方向付けし直す。ユーザの「顔の中心」が、十字線３１２と合ったとき、ユーザは選択アクションを実行し、そして、カメラ３１８はユーザの画像３１４を保存する。ユーザは、反射面３０８の一部に触れること、または電子デバイス３０２のマイクロフォンによって検出可能なノイズを立てること（たとえば、舌の「クリック」音、音声コマンドなど）などによって、様々な方法で選択アクションを実行することができる。このようにして、ユーザは、ユーザの他の画像内でその後に識別され得る基準点（たとえば、顔の中心）を電子デバイス３０２に提供する。たとえば、電子デバイス３０２は、画像３１４の顔の比率を使用して、その識別された「顔の中心」がユーザの他の画像上でどこに位置付けられるかを判定することができる。
【００２４】
[0033]非表示カーソル機能を使用するとき、ユーザは、「自然な持ち位置」において電子デバイス３０２を持つ。反射像３１６は、ユーザが自然な持ち位置で電子デバイス３０２を持つときに定義された観測点から見ることができる像である。特に、反射像３１６の位置および方向は、画像３１４の位置および方向と異なる可能性がある。たとえば、ユーザは、過度に伸ばして、またはリラックスさせずに腕を伸ばすことによって、十字線３１２に画像３１４の中心を置き得る。したがって、代替の較正動作は、ユーザが画像３１４を反射像３１６にさらによく似るように変更することを可能にする。
【００２５】
[0034]図３では、反射面３０８は、十字線３１２を中心とした画像３１４の２つの象限を表示する。１つの例示的較正では、ユーザは、自然な持ち位置で電子デバイス３０２を持ち、定義された観測点（たとえば、優位眼）を介して反射像３１６を観測する。反射像３１６の中心が画像３１４の中心と合わない場合、ユーザは、画像３１４を１つまたは複数の方向にシフトする。たとえば、ユーザは、反射面３０８を横切って所与の方向に指をドラッグしてその方向に画像３１４を移動させることができる。２つの顔の中心のこの位置合わせが達成された後、ユーザは、画像３１４の再配置を確定するための入力を行う。たとえば、ユーザは、反射面の一部に触れること（たとえば、図４に示されるように）によって、または電子デバイスのマイクロフォンによって検出される可聴ノイズを立てることによって、入力を行うことができる。この電子デバイス３０２は、この較正を使用して、非表示カーソル機能の動作中のその後の使用のために保存される並進係数を計算する。
【００２６】
[0035]もう１つの例示的較正動作では、ユーザは、映し出された像３１６に対して画像３１４を拡大縮小する（たとえば、ズームレベルを変更する）および／または回転させる。たとえば、ユーザは、画像３１４が反射像３１６によりよく似るように、タッチスクリーン入力を行って画像３１４を拡大縮小する（たとえば、指でつまむ動作を使用することによって）ことができ、あるいは、画像３１４を回転させる（たとえば、２本の触れた指を回転させることによって）ことができ得る。ユーザが、反射像３１６と画像３１４を位置合わせするための画像３１４の操作を終えた後、ユーザは、画像３１４の再度の拡大縮小を確定するための入力を行う。電子デバイス３０２は、この較正を使用して、非表示カーソル機能の動作中のその後の使用のために保存される拡大縮小係数を計算する。
【００２７】
[0036]ユーザは、画像３１４および反射像３１６の両方が正確に位置合わせされるまで、並進係数および拡大縮小係数を繰り返し適合させることができ得る。ユーザが、画像３１４の操作を終えた後、電子デバイス３０２は、将来使用するためにその拡大縮小係数および並進係数を保存する。
【００２８】
[0037]前述の方法論（たとえば、像３１４の「再配置」）は、電子デバイス３０２が自然な持ち位置で持たれているときに定義された観測点から見られるときに基準点が現われる反射面３０８上の位置に、カメラ３１８によって観測される基準点を投影するための投影メトリックを電子デバイス３０２に提供する。たとえば、電子デバイス３０２が、ユーザのリアルタイム画像の中でユーザの顔の中心を識別する場合、電子デバイス３０２は、保存された拡大縮小係数および並進係数を使用し、投影メトリックを計算して、定義された観測点から見られるときにその顔の中心の反射像が反射面３０８上のどこに位置付けられるかを判定することができる。
【００２９】
[0038]図４は、電子デバイス４０２の非表示カーソル機能の較正動作を実行するためのもう１つの例示的環境４００を示す。図４では、ユーザは、非表示カーソルのためのカーソルソース４２０を定義する。一実装形態では、カーソルソース４２０は、ユーザの優位眼は容易に目標とされ得るため、ユーザの優位眼であるが、カーソルソース４２０は、他の実装形態では、鼻、口、指などのユーザの他の部分である。電子デバイス４０２は、反射面４０８にユーザの画像４１４を表示し、ユーザは、画像４１４の映し出された顔の特徴をタップしてその特徴をカーソルソース４２０として選択する。たとえば、ユーザが、自分の優位眼（左目）の映し出された像をタップする（図示されるように）と、その目の反射像が、非表示カーソル機能の動作中の非表示カーソルになる。
【００３０】
[0039]もう１つの例示的較正動作では、ユーザは、反射面４０８上の位置マーカーを制御し（たとえば、ドラッグすること、コントロールボタンを押すことなどによって）、画像４１４内のカーソルソース４２０の映し出された像に位置マーカーを合わせる。位置マーカーが、カーソルソース４２０の反射像と位置合わせされた後、ユーザは、カーソルソース４２０の設定を確定するための入力を行う。たとえば、ユーザは、反射面の一部に触れることによって（たとえば、図４に示すように）、または電子デバイスのマイクロフォンによって検出される可聴ノイズを立てることによって、入力を行うことができる。
【００３１】
[0040]電子デバイス４０２は、定義された基準点（たとえば、ユーザの顔の識別された中心）とカーソルソース４２０の位置との間の隔たりを定義するオフセット情報を保存する。このオフセット情報を使用して、電子デバイス４０２は、カメラ４１８によって撮られたリアルタイム画像内の識別された基準点に対するカーソルソース４２０の位置を後で識別することができ得る。電子デバイス４０２は、次いで、カメラ４１８の基準フレームからユーザの優位眼の基準フレームにカーソルソース４２０の位置を投影することができる。
【００３２】
[0041]図５Ａおよび図５Ｂは、電子デバイス５０２の反射面５０８上の非表示カーソルの位置を識別するための例示的方法５００の態様を示す。本方法は、いくつかの適切な方法のうちの１つに過ぎない。初期較正中に、ユーザは、カーソルソース５０６の機能を果たす顔の特徴（たとえば、ユーザの優位（左）眼）を特定する。この特徴の反射像は、非表示カーソル５２２の機能を果たし（たとえば、図５Ｂに示すように）、特定の観測点に対して定義された位置を有する。図５Ａ〜図５Ｂでは、観測点は、ユーザの優位眼の視線である。
【００３３】
[0042]非表示カーソル機能を使用するために、ユーザが、反射面５０８で自分の反射像５１６を見ることができるように（たとえば、図５Ｂに示されるように）、ユーザは、自然な持ち位置で電子デバイス５０２を持つ。自然な持ち位置では、カーソルソース５０６は、反射面５０８から距離「ｄ」にある。距離「ｄ」は、電子デバイス５０２の前のまたはリアルタイムの較正動作中に推測、計算、または推定されたパラメータであってよい。「ｄ」を識別するための例示的リアルタイム較正ステップは、図６に関して以下で説明される。他の実装形態では、距離「ｄ」は、深度カメラ（図示せず）を使用して判定される。
【００３４】
[0043]図示された方法では、ユーザの顔は平面である（たとえば、顔面平面５１０に沿って）と仮定される。他の実装形態では、より複雑な計算が、ユーザの顔の表面に沿うｚ方向のトポロジ差を説明するために使用され得る。
【００３５】
[0044]第１の座標系（ｘ，ｙ，ｚ）（以下「優位眼座標系」）は、カーソルソース５０６とｘおよびｙ座標を共有する原点を有するように定義される。第１の座標系の原点は、距離「ｄ」だけ反射面５０８の後ろに投影される点に置かれる。第２の座標系（χ’，ｙ’，ｚ’）（以下「カメラ座標系」）は、カメラ５１８とｘおよびｙ座標を共有する原点を有するように定義される。第２の座標系の原点は、距離「ｆ」だけ反射面５０８の後ろに投影される点に置かれ、「ｆ」はカメラの焦点距離を表す。優位眼座標系（ｘ，ｙ，ｚ）の原点は、距離「ｔ」だけカメラ座標系（χ’，ｙ’，ｚ’）の原点から離れており、ｔ＝［ｔｘ，ｔｙ，ｔｚ］であり、ｔｚ＝ｄ−ｆである。基準点５０４は、距離「ａ」だけ優位眼座標系（ｘ，ｙ，ｚ）の原点から離れており、ａ＝［ａｘ，ａｙ，ａｚ］である。基準点５０４は、任意の特徴であってよいが、図５Ａ〜図５Ｂではユーザの顔の中心として示される。この実装形態では、ユーザの顔は平面であると仮定されるので、ａｚ＝０である。
【００３６】
[0045]点（ｘ’ｒ，ｙ’ｒ）は、カメラ座標系（χ’，ｙ’，ｚ’）内の反射面５０８上の基準点５０４（たとえば、ユーザの顔の中心）の位置を表す。点（ｘ’ｐ，ｙ’ｐ）は、カメラ座標系（ｘ’，ｙ’，ｘ’）内の反射面５０８に投影されたカーソルソース５０６の位置を表す。もう１つの点（ｘｐ，ｙｐ）は、優位眼座標系（ｘ，ｙ，ｚ）内の反射面５０８に映し出されたカーソルソース５０６の位置を表し、一方、（ｘｒ，ｙｒ）は、優位眼座標系（ｘ，ｙ，ｚ）内の反射面５０８に映し出された基準点５０４の位置を表す。
【００３７】
[0046]優位眼座標系（ｘ，ｙ，ｚ）内の非表示カーソルの位置（ｘｐ，ｙｐ）を計算するために、電子デバイス５０２は、以下の（例示的）方程式を使用することができる。
ｘｐ＝Ａｘｘ’ｐ＋Ａｘｘ’ｒ＋Ｂｘ  （１）
ｙｐ＝Ａｙｙ’ｐ＋Ａｙｙ’ｒ＋Ｂｙ  （２）
[0047]上記方程式（１）および（２）において、Ａ＝［Ａｘ，Ａｙ］は拡大縮小係数を表し、一方、Ｂ＝［Ｂｘ，Ｂｙ］は並進係数を表す。一実装形態では、図３に関して前述した並進係数および拡大縮小係数などの並進係数（Ｂ）および拡大縮小係数（Ａ）は、事前較正プロセスにおいて取得される。一実装形態では、拡大縮小係数（Ａ）および並進係数（ｂ）は、以下の方程式（３）および（４）によって与えられる。
【００３８】
【数１】
2017526096.tif 000003
【００３９】
ＡおよびＢのこれらの値を使用して、方程式１および２は、以下のような方程式（５）および（６）に変換され得る。
【００４０】
【数２】
2017526096.tif 000004
【００４１】
[0048]事前較正プロセスで、電子デバイス５０２はまた、カメラ座標系において基準点５０４とカーソルソース５０６との間の隔たりを定義するオフセット値（ｄｘ，ｄｙ）（図５Ｂに示されるような）を計算し、保存することができる。
【００４２】
[0049]非表示カーソル機能の動作中に、カメラ５１８は、ユーザが自然な持ち位置で電子デバイス５０２を持っている間に、ユーザの画像を記録する。電子デバイスのモジュールは、記録された画像を使用して基準点５０４を識別する。基準点５０４が、ユーザの顔の中心である（図５にあるように）とき、電子デバイスのモジュールは、記録された画像内の顔の領域５３０を分割し、次いで、顔の中心（たとえば、重心）を識別して、図５Ｂにおいて点（ｃｘ，ｃｙ）として表される、カメラ座標系内の点ｘ’ｒ、ｙ’ｒの値を定義することによって、基準点５０４を識別する。
【００４３】
[0050]オフセット値（ｄｘ，ｄｙ）および値（ｃｘ，ｃｙ）を使用して、非表示カーソルソースの位置の値（ｃｓｒｘ，ｃｓｒｙ）は、以下のように判定され得る。
ｃｓｒｘ＝Ａｘ（ｄｘ＋ｃｘ）＋Ａｘ（ｃｘ）＋Ｂｘ  （７）
ｃｓｒｙ＝Ａｙ（ｄｙ＋ｃｙ）＋Ａｙ（ｃｙ）＋Ｂｙ  （８）
ユーザの優位眼が、カーソルソース５２２として選択された場合、点（ｃｓｒｘ，ｃｓｒｙ）は、（ｘｐ，ｙｐ）に等しい（前述の方程式（５）および（６）で定義される）。
【００４４】
[0051]非表示カーソル機能の使用中に、ユーザの顔と反射面５０８との間の距離「ｄ」は、初期較正中のその距離と異なり得る。そのような場合は、追加のリアルタイム較正調節が、拡大縮小係数Ａを適合させるために実行され得る。１つの例示的リアルタイム較正が、図６に関して以下に論じられる。
【００４５】
[0052]図６は、ユーザと電子デバイス６０２の反射面６０８との間の距離を推定するために使用可能な例示的リアルタイム較正動作６００を示す。電子デバイス６０２のカメラ６１８は、非表示カーソル機能の開始時などに、ユーザの画像６１４を撮る。一実装形態では、ユーザは、画像６１４が撮られる間、自然な持ち位置で電子デバイス６０２を持つ。電子デバイス６０２のモジュールは、画像６１４においてユーザの顔の境界線６２０を識別する。
【００４６】
[0053]非表示カーソル機能は、以下のようにリアルタイムで計算することができる拡大縮小係数（Ａ）を使用する。
【００４７】
【数３】
2017526096.tif 000005
【００４８】
方程式（９）において、「Ａ０」は、ユーザとの間の最初の較正距離「ｄ」に基づく、方程式（１）および（２）にあるような、最初に計算された拡大縮小係数（Ａ）である。カメラ６１８とユーザとの間の「ｄ」は、以下の比例関係を使用して推定することができる。
【００４９】
【数４】
2017526096.tif 000006
【００５０】
[0054]したがって、定数「Ａ」のリアルタイム較正は、以下のように判定することができる。
【００５１】
【数５】
2017526096.tif 000007
【００５２】
但し、「Ｎｅｗ＿Ｆａｃｅ＿Ａｒｅａ」はリアルタイムで判定されたユーザの顔の面積であり、「Ｉｎｉｔｉａｌ＿Ｆａｃｅ＿Ａｒｅａ」は最初の較正中に判定されたユーザの顔の面積である。
【００５３】
[0055]他の実装形態では、距離「ｄ」は、顔の面積の代わりに顔の幅および／または顔の高さを測定することによって推定される。この方式で距離「ｄ」を推定することによって、電子デバイス６０２は、非表示カーソルの座標（ｘｐ，ｙｐ）を計算するために、前述の方程式（１）および（２）において使用される定数「Ａ」を適合させることができる。
【００５４】
[0056]一実装形態では、感知デバイスが、電子デバイス６０２とユーザの顔との間の距離を直接測定するために使用され得る。たとえば、適切な感知デバイスは、深度カメラまたは超音波／レーザー距離センサーを含み得る。
【００５５】
[0057]他方では、前述の方程式１および２に現われる定数「Ｂ」は、以下の方程式１２によって示されるように、距離とは無関係に解くことができるので、距離「ｄ」が変更されたときでも、定数「Ｂ」は再計算される必要はない。
【００５６】
【数６】
2017526096.tif 000008
【００５７】
[0058]前述の方法論は、より複雑な計算を使用する実装形態など、他の実装形態において修正され得るいくらかの仮定を行う。たとえば、前述の方法論は、反射面５０８が平面であり、ユーザの顔の平面とおおよそ平行であることと、ユーザの顔もまた平面であることとを仮定する。本明細書に記載されない他の実装形態は、顔面平面５１０に対する電子デバイス５０２の回転および／または反射面５０８に対する顔面平面５１０の回転を説明し得る。
【００５８】
[0059]もう１つの実装形態（図示せず）では、異なる数学的枠組みが、カーソルソース５０６が顔面平面５１０および反射面５０８から独立して移動する（たとえば、ｘ−ｙ平面において）ことを許されるシステムにおける非表示カーソルの位置を計算するために使用される。たとえば、ゲームシステムは、受信デバイスに対するユーザの位置および／または動きを判定する１つまたは複数のセンサーを含み得る。カーソルソース５０６が、ユーザの手である場合、カーソルソース５０６の動きは、顔面平面５１０から、およびゲームシステムの反射面５０８から独立している。この場合、様々な方程式および異なるセンサーから収集されたデータが、非表示カーソルの位置を判定するために使用され得る。このおよび他の実装形態において適用可能であり得るセンサー技術は、ＲＧＢセンサー、深度センサー、温度センサー、立体センサー、走査レーザーセンサー、超音波センサー、ミリメートル波センサーなどを含むが、これらに限定されない。
【００５９】
[0060]一実装形態では、非表示カーソル機能は、ユーザがＡＴＭマシンにセキュリティ暗証番号を入力することを可能にする。ＡＴＭマシンは、通常は、大きい反射面および簡易化されたキーパッド（たとえば、「１２３」、「４５６」、「７８９」、および「０」から成る４列）を有するので、非表示カーソル機能の使用は、携帯電話などのモバイルデバイスに暗証番号を入力するのに一般的に十分なジェスチャと比べて顕著で大きいジェスチャを伴い得る。セキュリティ保護を向上させるために、ＡＴＭマシンは、より複雑なキーパッドと連動して非表示カーソル機能を実装することができる。たとえば、キーパッドは、次の５つの列、「１２３４５６７８９０」、「４５６７８９０１２３」、「７８９０１２３４５６」、「０１２３４５６７８９」、「３４５６７８９０１２」からなり得る。
【００６０】
[0061]図７は、電子デバイスの非表示カーソル機能を使用するための例示的動作７００を示す。位置付け動作７０２は、カーソルソースの反射像（すなわち、非表示カーソル）がユーザに見えるように電子デバイスの反射面を位置付ける。カーソルソースは、たとえば、顔の特徴、体の部分、または、較正動作中などにユーザによって選択された、他の動かすことができる物体でもよい。電子デバイスの反射面に映し出されたとき、カーソルソースは、非表示カーソルの機能を果たす。電子デバイスがタブレットコンピュータまたは携帯電話などの携帯用デバイスである一実装形態では、ユーザは、カーソルソースの反射像が定義された観測点から見ることができるように、電子デバイスを方向付けることによって位置付け動作７０２を実行する。電子デバイスが携帯用ではない他の動作では、ユーザは、反射面の位置を適合させることによって（たとえば、デバイスが静止表面に据え付けられる場合）、および／または自分の体の位置を適合させることによって、位置付け動作７０２を実行することができる。
【００６１】
[0062]動かす動作７０４は、非表示カーソルが電子デバイスの反射面上のエリアに重なるように、カーソルソースを動かす。選択動作７０６は、重ね合わされたエリアに基づいて選択（たとえば、変数選択、項目選択など）を行う。一実装形態では、選択動作７０６は、ユーザによって実行される。ユーザは、可聴音（短い舌打ちなど）を立てること、まばたきすること、唇を動かすこと、タッチスクリーンに入力を行うことなどによって、選択入力を行う。アクティブにする動作７０８は、選択動作７０６に応答してユーザインターフェースコントロールを作動させる。たとえば、アクティブにする動作７０８は、ある種のアプリケーションへのアクセス、データアクセス、電子デバイスの一般用途などをユーザに提供することができる。
【００６２】
[0063]図８は、非表示カーソルを使用して電子デバイス８００のコントロールを作動させるための例示的ユーザインターフェースコントロール８０２を示す。ユーザインターフェースコントロール８０２は、たとえば、ディスプレイ入力８０８（たとえば、タッチスクリーン入力）、オーディオ入力８０６（たとえば、マイクロフォンを介する）、および視覚入力８１０（たとえば、カメラまたは他の画像マッピングセンサーを介する）を含む、様々なタイプのユーザ入力を受け付ける。
【００６３】
[0064]選択入力検出器８０４は、ユーザによって実行された選択アクションを検出する。一実装形態では、選択アクションは、口頭でのコマンド、舌の「クリック」、または他のノイズなど、オーディオ入力８０６において検出される。もう１つの実装形態では、選択アクションは、電子デバイス８００のタッチスクリーンのタップなどを介するディスプレイ入力８０８において検出される。さらにもう１つの実装形態では、選択アクションは、カメラからの視覚データおよび／またはユーザの口、目、または他の体の部分の動きを検出するモーション検出器からの視覚データなど、視覚入力８１０において検出される。
【００６４】
[0065]選択アクションは、ユーザが、反射面８１８上の場所と非表示カーソルを位置合わせし、選択された場所で反射面８１８上に表示されたコントロール、または見ることができるコントロールの選択を望むことを示す。ユーザインターフェースコントロール８０２は、様々なハードウェアおよび／またはソフトウェア機構を使用して反射面８１８上のこの場所を識別する。
【００６５】
[0066]選択入力検出器８０４は、視覚入力８１０を分析するようにおよびユーザの画像上の基準点を識別するようにパターン認識器８１２に指示する。たとえば、パターン認識器８１２は、顔の領域を識別し、ユーザの目、鼻、顔の中心などをさらに識別することができる。パターン認識器８１２が、基準点を識別した後、位置合わせ較正器８１６は、視覚入力８１０内の基準点の場所を保存された画像の対応する基準点の場所と比較する。この比較を介して、位置合わせ較正器８１６は、視覚入力を保存された画像によりよく似させるために使用することができるシフト、拡大縮小、および／または回転を説明する拡大縮小メトリックを判定する。
【００６６】
[0067]位置合わせ較正器８１６は、位置合わせ検出器８１４に拡大縮小メトリックおよび他の保存されたオフセット情報を提供し、位置合わせ検出器８１４は、視覚入力８１０を収集するセンサーの視野内でおいてカーソルソースの位置を識別する。位置合わせ検出器８１４は、カーソルソースの位置を代替基準フレームに投影して、カーソルソースの反射像（すなわち、非表示カーソル）がユーザの視線に沿って反射面８１８上に現われる場所を判定する。
【００６７】
[0068]図９は、記載された技術の実装において有用であり得る例示的システムを示す。記載された技術を実装するための図の例示的ハードウェアおよび動作環境は、ゲーム機またはコンピュータ２０の形の汎用コンピューティングデバイス、携帯電話、携帯情報端末（ＰＤＡ）、セットトップボックス、または他のタイプのコンピューティングデバイスなど、コンピューティングデバイスを含む。図９の実装形態では、たとえば、コンピュータ２０は、処理装置２１、システムメモリ２２、および、処理装置２１にシステムメモリを含む様々なシステム構成要素を動作可能なように結合させるシステムバス２３を含む。コンピュータ２０のプロセッサが、単一の中央演算処理装置（ＣＰＵ）、または、並列処理環境と一般に呼ばれる、複数の処理装置を備えるように、１つのみの処理装置２１が存在してもよく、または、２つ以上の処理装置２１が存在してもよい。コンピュータ２０は、従来のコンピュータ、分散型コンピュータ、または他の任意のタイプのコンピュータでもよく、本発明は、そのように限定されない。
【００６８】
[0069]システムバス２３は、メモリバスまたはメモリコントローラ、周辺バス、スイッチ型ファブリック、２地点間接続、および様々なバスアーキテクチャのいずれかを使用するローカルバスを含む、いくつかのタイプのバス構造物のいずれかでもよい。システムメモリはまた、単純にメモリと呼ばれることがあり、読取り専用メモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含む。起動時などにコンピュータ２０内の要素間の情報の転送を助ける基本ルーチンを含む、基本入力／出力システム（ＢＩＯＳ）２６が、ＲＯＭ２４に記憶される。コンピュータ２０はさらに、ハードディスク、図示せず、から読み込むおよびそこに書き込むためのハードディスクドライブ２７と、取り外し可能磁気ディスク２９から読み取るまたはそこに書き込むための磁気ディスクドライブ２８と、ＣＤ  ＲＯＭ、ＤＶＤ、または他の光媒体などの取り外し可能光ディスク３１から読み取るまたはそこに書き込むための光ディスクドライブ３０とを含む。
【００６９】
[0070]ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ディスクドライブ３０は、それぞれ、ハードディスクドライブインターフェース３２、磁気ディスクドライブインターフェース３３、および光ディスクドライブインターフェース３４によって、システムバス２３に接続される。ドライブおよびそれらの関連コンピュータ可読媒体は、コンピュータ２０のためのコンピュータ可読命令、データ構造物、プログラムモジュールおよび他のデータの不揮発性ストレージを提供する。磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）など、コンピュータによってアクセス可能なデータを記憶することができる任意のタイプのコンピュータ可読媒体が、例示的動作環境において使用され得ることが、当業者には理解されよう。
【００７０】
[0071]オペレーティングシステム３５、１つまたは複数のアプリケーションプログラム３６、他のプログラムモジュール３７、およびプログラムデータ３８を含む、いくつかのプログラムモジュールが、ハードディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４、またはＲＡＭ２５に記憶され得る。ユーザは、キーボード４０およびポインティングデバイス４２などの入力デバイスを介してパーソナルコンピュータ２０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナーなどを含み得る。これらのおよび他の入力デバイスは、システムバスに結合されたシリアルポートインターフェース４６を介して処理装置２１にしばしば接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースによって接続され得る。モニタ４７または他のタイプの表示デバイスはまた、ビデオアダプタ４８などのインターフェースを介してシステムバス２３に接続される。モニタに加えて、コンピュータは、通常は、スピーカーおよびプリンターなど、他の周辺出力デバイス（図示せず）を含む。
【００７１】
[0072]コンピュータ２０は、リモートコンピュータ４９などの１つまたは複数のリモートコンピュータへの論理接続を使用するネットワーク環境において動作し得る。これらの論理接続は、コンピュータ２０の一部に結合された通信デバイスによって達成され、本発明は、特定のタイプの通信デバイスに制限されない。リモートコンピュータ４９は、別のコンピュータ、サーバー、ルーター、ネットワークＰＣ、クライアント、ピアデバイスまたは他の共通ネットワークノードでもよく、メモリ記憶デバイス５０のみであるが、通常は、コンピュータ２０に関連して前述した要素の多くまたはすべてを含む。図９に示される論理接続は、ローカルエリアネットワーク（ＬＡＮ）５１およびワイドエリアネットワーク（ＷＡＮ）５２を含む。そのようなネットワーク環境は、すべてのタイプのネットワークである、オフィスネットワーク、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。
【００７２】
[0073]ＬＡＮネットワーク環境において使用されるとき、コンピュータ２０は、１つのタイプの通信デバイスである、ネットワークインターフェースまたはアダプター５３を介してローカルネットワーク５１に接続される。ＷＡＮネットワーク環境において使用されるとき、コンピュータ２０は、通常は、モデム５４、ネットワークアダプター、あるタイプの通信デバイス、または、ワイドエリアネットワーク５２を介する通信を確立するための他の任意のタイプの通信デバイスを含む。モデム５４は、内部または外部であってもよく、シリアルポートインターフェース４６を介してシステムバス２３に接続される。ネットワーク環境において、パーソナルコンピュータ２０に関連して図示されるプログラムエンジンまたはその部分は、リモートメモリ記憶デバイスに記憶され得る。図示されたネットワーク接続は、例であり、コンピュータ間の通信リンクを確立するための通信デバイスの他の手段が使用され得ることが、理解されよう。
【００７３】
[0074]例示的な一実装形態では、選択入力検出器、パターン認識器、位置合わせ較正器、位置合わせ検出器、１つまたは複数のパターン認識器、検出器、較正器、および他のモジュールは、メモリ２２および／または記憶デバイス２９もしくは３１に記憶され、処理装置２１によって処理される命令によって、実施され得る。オフセット、拡大縮小メトリック、様々な較正データ、カメラデータ、ディスプレイ入力データ、オーディオ入力データ、および他のデータは、永続的データストアとしてメモリ２２および／または記憶デバイス２９もしくは３１に記憶され得る。さらに、ユーザインターフェースコントローラは、非表示カーソル機能を介して提供されるユーザ選択に基づいて１つまたは複数のデバイスコントロールを作動させるように構成されたハードウェアおよび／またはソフトウェアを表す。ユーザインターフェースコントローラは、汎用コンピュータおよび専門ソフトウェア（サービスソフトウェアを実行するサーバーなど）、専用コンピューティングシステムおよび専門ソフトウェア（サービスソフトウェアを実行するモバイルデバイスまたはネットワークアプライアンスなど）、あるいは他のコンピューティング構成を使用して実装され得る。
【００７４】
[0075]「モジュール」、「プログラム」、「サービス」、および「エンジン」という用語は、１つまたは複数の特定の機能を実行するために実装されるコンピューティングシステム２０の態様を説明するために使用され得る。場合によっては、そのようなモジュール、プログラム、サービス、またはエンジンは、システムメモリ２２によって保持される命令を実行する処理装置２１を介してインスタンス化され得る。異なるモジュール、プログラム、および／またはエンジンが、同じアプリケーション、サービス、コードブロック、オブジェクト、ライブラリ、ルーチン、ＡＰＩ、機能などからインスタンス化され得ることが理解されよう。同様に、同じモジュール、プログラム、および／またはエンジンが、異なるアプリケーション、サービス、コードブロック、オブジェクト、ルーチン、ＡＰＩ、機能などによってインスタンス化され得る。「モジュール」、「プログラム」、および「エンジン」という用語は、個々のまたはグループの実行ファイル、データファイル、ライブラリ、ドライバ、スクリプト、データベース記録などを包含するものとする。
【００７５】
[0076]図１０は、記載される技術を実装する際に有用であり得る別の例示的システム（モバイルデバイス１０００というラベルを付けられた）を示す。モバイルデバイス１０００は、プロセッサ１００２、メモリ１００４、ディスプレイ１００６（たとえば、タッチスクリーンディスプレイ）、および他のインターフェース１００８（たとえば、キーボード）を含む。メモリ１００４は、一般に、揮発性メモリ（たとえば、ＲＡＭ）および不揮発性メモリ（たとえば、フラッシュメモリ）の両方を含む。Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）Ｐｈｏｎｅオペレーティングシステムなどのオペレーティングシステム１０１０が、メモリ１００４内に存在し、プロセッサ１００２によって実行されるが、他のオペレーティングシステムが使用され得ることを理解されたい。
【００７６】
[0077]１つまたは複数のアプリケーションプログラム１０１２が、メモリ１００４にロードされ、プロセッサ１００２によってオペレーティングシステム１０１０上で実行される。アプリケーション１０１２の例は、制限なしに、パターン認識プログラム、較正プログラムなどを含む。モバイルデバイス１０００は、１つまたは複数のバッテリーあるいは他の動力源によって電力を供給される、そしてモバイルデバイス１０００の他の構成要素に電力を提供する、電力供給装置１０１６を含む。電力供給装置１０１６はまた、内蔵式バッテリーまたは他の動力源をオーバーライドまたは再充電する外部動力源に接続され得る。
【００７７】
[0078]モバイルデバイス１０００は、ネットワーク接続性（たとえば、携帯電話ネットワーク、Ｗｉ−Ｆｉ（登録商標）、ＢｌｕｅＴｏｏｔｈ（登録商標）など）を提供するための１つまたは複数の通信トランシーバ１０３０を含む。モバイルデバイス１０００はまた、測位システム１０２０（たとえば、グローバルポジショニング衛星トランシーバ）、１つまたは複数の加速度計１０２２、１つまたは複数のカメラ１０２４、オーディオインターフェース１０２６（たとえば、マイクロフォン、オーディオ増幅器およびスピーカーおよび／またはオーディオジャック）、および追加のストレージ１０２８など、様々な他の構成要素を含む。他の構成もまた、使用され得る。
【００７８】
[0079]例示的一実装形態では、選択入力検出器、パターン認識器、位置合わせ較正器、位置合わせ検出器、１つまたは複数のパターン認識器、検出器、較正器、および他のモジュールが、メモリ１００４および／または記憶デバイス１０２８に記憶された、そして処理装置１００２によって処理される命令によって、実施され得る。オフセット、拡大縮小メトリック、様々な較正データ、カメラデータ、ディスプレイ入力データ、オーディオ入力データ、および他のデータが、永続的データストアとしてのメモリ１００４および／または記憶デバイス１０２８に記憶され得る。
【００７９】
[0080]モバイルデバイス１０００およびコンピュータ２０（図９の）は、様々な有形コンピュータ可読記憶媒体および無形コンピュータ可読通信信号を含み得る。有形コンピュータ可読ストレージは、モバイルデバイス１０００またはコンピュータ２０によってアクセスすることができる、そして揮発性および不揮発性記憶媒体、取り外し可能および取り外し不能記憶媒体の両方を含む、任意の使用可能な媒体によって実施され得る。有形コンピュータ可読記憶媒体は、無形通信信号を排除し、コンピュータ可読命令、データ構造物、プログラムモジュールまたは他のデータなどの情報の記憶のための任意の方法または技術において実装される揮発性および不揮発性、取り外し可能および取り外し不能記憶媒体を含む。有形コンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、所望の情報を記憶するために使用され得るおよびモバイルデバイス１０００またはコンピュータ２０によってアクセスされ得る他の任意の有形媒体を含むが、これらに限定されない。有形コンピュータ可読記憶媒体とは対照的に、無形コンピュータ可読通信信号は、コンピュータ可読命令、データ構造物、プログラムモジュール、あるいは、搬送波または他の信号移送機構など、変調データ信号内に存在する他のデータを実施し得る。「変調データ信号」という用語は、その特性集合のうちの１つまたは複数を有するあるいは信号内の情報を符号化するための方式などにおいて変更された信号を意味する。
【００８０】
[0081]本明細書に記載の発明の実装形態は、１つまたは複数のコンピュータシステムにおいて論理ステップとして実装される。本発明の論理動作は、（１）１つまたは複数のコンピュータシステムにおいて実行するプロセッサ実装ステップのシーケンスとしておよび（２）１つまたは複数のコンピュータシステム内の相互接続されたマシンまたは回路モジュールとして実装される。その実装形態は、本発明を実装するコンピュータシステムの性能要件に応じて選択できる。したがって、本明細書に記載の発明の実施形態を構成する論理動作は、動作、ステップ、オブジェクト、またはモジュールと様々に称される。さらに、論理動作は、別段の明示的な申し立てのない限り、要望どおりに任意の順番で実行、追加、および省略することができ、あるいは、特定の順番は、本質的に、本特許請求項の言語によって強制されることを理解されたい。
【００８１】
[0082]前述の明細書、例、およびデータは、例示的実装形態の構造および使用の完全記述を提供する。多数の実装形態が、特許請求されている本発明の趣旨および範囲を逸脱することなしに行われ得、添付される以下の特許請求の範囲が本発明を定義する。さらに、異なる例の構造的特徴は、列挙される請求項を逸脱することなしにさらに別の実装形態において結合され得る。
【図１】
2017526096.tif 000009
【図２】
2017526096.tif 000010
【図３】
2017526096.tif 000011
【図４】
2017526096.tif 000012
【図５Ａ】
2017526096.tif 000013
【図５Ｂ】
2017526096.tif 000014
【図６】
2017526096.tif 000015
【図７】
2017526096.tif 000016
【図８】
2017526096.tif 000017
【図９】
2017526096.tif 000018
【図１０】
2017526096.tif 000019
【国際調査報告】
2017526096.tif 000020
2017526096.tif 000021