特許第6898234号(P6898234)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許6898234反射に基づくコントロールのアクティブ化
<>
  • 特許6898234-反射に基づくコントロールのアクティブ化 図000008
  • 特許6898234-反射に基づくコントロールのアクティブ化 図000009
  • 特許6898234-反射に基づくコントロールのアクティブ化 図000010
  • 特許6898234-反射に基づくコントロールのアクティブ化 図000011
  • 特許6898234-反射に基づくコントロールのアクティブ化 図000012
  • 特許6898234-反射に基づくコントロールのアクティブ化 図000013
  • 特許6898234-反射に基づくコントロールのアクティブ化 図000014
  • 特許6898234-反射に基づくコントロールのアクティブ化 図000015
  • 特許6898234-反射に基づくコントロールのアクティブ化 図000016
  • 特許6898234-反射に基づくコントロールのアクティブ化 図000017
  • 特許6898234-反射に基づくコントロールのアクティブ化 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6898234
(24)【登録日】2021年6月14日
(45)【発行日】2021年7月7日
(54)【発明の名称】反射に基づくコントロールのアクティブ化
(51)【国際特許分類】
   G06F 3/01 20060101AFI20210628BHJP
   G06F 3/0481 20130101ALI20210628BHJP
   G06F 21/60 20130101ALI20210628BHJP
   H04M 1/67 20060101ALI20210628BHJP
【FI】
   G06F3/01 510
   G06F3/0481
   G06F21/60
   H04M1/67
【請求項の数】19
【全頁数】21
(21)【出願番号】特願2017-526045(P2017-526045)
(86)(22)【出願日】2015年7月29日
(65)【公表番号】特表2017-526096(P2017-526096A)
(43)【公表日】2017年9月7日
(86)【国際出願番号】US2015042550
(87)【国際公開番号】WO2016018957
(87)【国際公開日】20160204
【審査請求日】2018年7月20日
【審判番号】不服2020-4059(P2020-4059/J1)
【審判請求日】2020年3月26日
(31)【優先権主張番号】14/449,435
(32)【優先日】2014年8月1日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100153028
【弁理士】
【氏名又は名称】上田 忠
(72)【発明者】
【氏名】リー,ビョンジュ
(72)【発明者】
【氏名】フクモト,マサアキ
【合議体】
【審判長】 稲葉 和生
【審判官】 小田 浩
【審判官】 野崎 大進
(56)【参考文献】
【文献】 特開2013−200654(JP,A)
【文献】 特開平10−097376(JP,A)
【文献】 特開平05−204526(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/033− 3/038
G06F 3/048− 3/0489
H04M 1/00
H04M 1/24− 1/82
(57)【特許請求の範囲】
【請求項1】
プロセッサが実施する方法であって、
2以上のユーザインターフェースコントロールを電子デバイスの光学的反射面に表示するステップと、
前記電子デバイスの前記光学的反射面において光学的に映し出された光学的反射像と、前記2以上のユーザインターフェースコントロールのうちの1つのユーザインターフェースコントロールが表示される前記光学的反射面における物理的位置との間の位置合わせを検出するステップと、
前記位置合わせが、前記1つのユーザインターフェースコントロールが表示される前記物理的位置において維持されている間に、選択アクションを検出するステップと、
検出された前記位置合わせ及び検出された前記選択アクションに応答して前記1つのユーザインターフェースコントロールをアクティブにするステップと
を含む方法。
【請求項2】
請求項1に記載のプロセッサが実施する方法であって、前記選択アクションは、ユーザの動きである、方法。
【請求項3】
請求項1に記載のプロセッサが実施する方法であって、前記選択アクションは、前記電子デバイスのマイクロフォンによって検出される、方法。
【請求項4】
請求項1に記載のプロセッサが実施する方法であって、前記光学的反射像は、ユーザの映し出された一部である、方法。
【請求項5】
請求項1に記載のプロセッサが実施する方法であって、前記光学的反射像は、ユーザの顔の特徴を含む、方法。
【請求項6】
請求項1に記載のプロセッサが実施する方法であって、前記電子デバイスはモバイルデバイスである、方法。
【請求項7】
請求項1に記載のプロセッサが実施する方法であって、前記位置合わせは、ユーザの視線に沿った方向で実現される、方法。
【請求項8】
請求項1に記載のプロセッサが実施する方法であって、ユーザの視点が前記電子デバイスのセンサによって決定される、方法。
【請求項9】
電子システムであって、
2以上のユーザインターフェースコントロールを表示するように構成された光学的反射面と、
前記光学的反射面において光学的に映し出された光学的反射像と、前記2以上のユーザインターフェースコントロールのうちの1つのユーザインターフェースコントロールが表示される前記光学的反射面における物理的位置との間の位置合わせを検出するように構成された位置合わせ検出器と、
前記位置合わせが、前記1つのユーザインターフェースコントロールが表示される前記物理的位置において維持されている間に、選択アクションを検出するように構成された選択入力検出器と、
検出された前記位置合わせ及び検出された前記選択アクションに応答して前記1つのユーザインターフェースコントロールをアクティブにするように構成されたユーザインターフェースコントローラと
を備えた電子システム。
【請求項10】
請求項9に記載の電子システムであって、前記選択アクションは、ユーザの動きである、電子システム。
【請求項11】
請求項9に記載の電子システムであって、前記選択アクションは、前記電子システムのマイクロフォンによって検出される、電子システム。
【請求項12】
請求項9に記載の電子システムであって、前記光学的反射像は、ユーザの映し出された一部である、電子システム。
【請求項13】
請求項9に記載の電子システムであって、前記光学的反射像は、ユーザの顔の特徴を含む、電子システム。
【請求項14】
請求項9に記載の電子システムであって、前記電子システムはモバイルデバイスである、電子システム。
【請求項15】
請求項9に記載の電子システムであって、前記位置合わせは、ユーザの視線に沿った方向で実現される、電子システム。
【請求項16】
請求項9に記載の電子システムであって、ユーザの視点が前記電子システムのセンサによって決定される、電子システム。
【請求項17】
プロセッサにコンピュータプロセスを実行させるコンピュータプログラムであって、前記コンピュータプロセスは、
2以上のユーザインターフェースコントロールを電子デバイスの光学的反射面に表示するステップと、
前記電子デバイスの前記光学的反射面において光学的に映し出された光学的反射像と、前記2以上のユーザインターフェースコントロールのうちの1つのユーザインターフェースコントロールが表示される前記光学的反射面における物理的位置との間の位置合わせを検出するステップと、
前記位置合わせが、前記1つのユーザインターフェースコントロールが表示される前記物理的位置において維持されている間に、選択アクションを検出するステップと、
検出された前記位置合わせ及び検出された前記選択アクションに応答して前記1つのユーザインターフェースコントロールをアクティブにするステップと
を含む、コンピュータプログラム。
【請求項18】
請求項17に記載のコンピュータプログラムであって、前記光学的反射面において光学的に映し出された前記光学的反射像と、前記1つのユーザインターフェースコントロールが表示される前記物理的位置とは、ユーザの視線に沿って位置合わせされる、コンピュータプログラム。
【請求項19】
請求項17又は18に記載のコンピュータプログラムを記憶した1以上のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]電子デバイスは、未許可のデータアクセスを防ぐために様々なセキュリティ機構を使用する。
【背景技術】
【0002】
たとえば、一部の電子デバイスは、デバイスに記憶されたデータへのユーザアクセスを許可する前にパスコードまたは暗証番号(pin)を提供するようにユーザに促す機能を含む。暗証番号の機密性を保護することは、いくつかの課題を提起する。たとえば、ユーザは、長過ぎるまたは複雑な暗証番号またはパスコードを容易に忘れる可能性がある。短い暗証番号は、覚えるのは容易であるが、電子デバイスがよく見える場所にいる近くの人によって「ショルダーハッキング(shoulder−hacked)」されるリスクがある。たとえば、ユーザが公共の場で暗証番号を入力するとき、近くにいる人が、そのユーザの肩越しにこっそりと見ることによって、セキュリティ暗証番号の知識を得ることがある。網膜走査および指紋検出など、他の画像に基づくセキュリティ技術は、実装が複雑であることがある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
[0002]本明細書において説明および請求される実装形態は、電子デバイスの反射面に映し出された像と反射面上の物理的場所との間の位置合わせに基づいてユーザインターフェースコントロールをアクティブにする(activate;起動する、始動する、作動させる、選択する、有効にする)ことによって、前述に対処することができる。
【課題を解決するための手段】
【0004】
[0003]本概要は、発明を実施するための形態において以下でさらに説明される簡易化された形での概念の選択を紹介するために提供される。本概要は、本特許請求の主題の主要な特徴または本質的特徴を識別することを意図されておらず、本特許請求の主題の範囲を制限するために使用されることも意図されていない。
【0005】
[0004]他の実装形態も本明細書において記載され、説明される。
【図面の簡単な説明】
【0006】
図1】[0005]非表示カーソルを使用して電子デバイスのコントロールを作動させるための例示的システムの図である。
図2】[0006]電子デバイスのコントロールを作動させる非表示カーソルの例示的使用を示す図である。
図3】[0007]電子デバイスの非表示カーソル機能の較正動作を実行するための例示的環境を示す図である。
図4】[0008]電子デバイスの非表示カーソル機能の較正動作を実行するためのもう1つの例示的環境を示す図である。
図5】[0009]図5Aは電子デバイスの反射面上の非表示カーソルの位置を識別するための例示的方法を示す図である。[0010]図5B図5Aの例示的方法をさらに示す図である。
図6】[0011]ユーザと電子デバイスの反射面との間の距離を推定するために使用可能な例示的リアルタイム較正動作を示す図である。
図7】[0012]電子デバイスの非表示カーソル機能を使用するための例示的動作を示す図である。
図8】[0013]非表示カーソルを使用して電子デバイスのコントロールを作動させるための例示的ユーザインターフェースコントロールを示す図である。
図9】[0014]記載される技術の実装において有用であり得る例示的システムを示す図である。
図10】[0015]記載される技術の実装において有用であり得るもう1つの例示的システムを示す図である。
【発明を実施するための形態】
【0007】
[0016]図1は、非表示カーソル112を使用して電子デバイス102のコントロールを作動させるための例示的システム100を示す。電子デバイス102は、たとえば、携帯電話(たとえば、スマートフォン)、タブレットコンピュータ、ラップトップ、携帯情報端末、ゲームシステム、ホームセキュリティシステム、ATM、または、反射面108(たとえば、表示画面)およびユーザ環境から情報を収集するセンサー110(たとえば、カメラ)を有する他の任意の電子デバイスであってよい。電子デバイス102は、ユーザ104が反射面108上の場所を選択して電子デバイス102のコントロールを作動させることを可能にする非表示カーソル112を利用した機能を含む。非表示カーソル112は、電子デバイス102によって電子的に生成される画像ではなく、電子デバイス102の外部のソースからの映し出された像である。
【0008】
[0017]非表示カーソル112は、たとえば、ユーザの目、鼻、口など、ユーザの顔の映し出された一部分であってよい。図1では、非表示カーソル112は、ユーザの右目122の映し出された像である。反射面108に対する非表示カーソル112(たとえば、映し出された像)の見掛けの位置は、任意の所与の時間における、所与の観測者の視点に応じた可変の位置である。本明細書では、非表示カーソルの「実際の」位置は、単一の観測点122に対する位置として定義される。図1では、観測点122は、ユーザ104の優位眼である。たとえば、ユーザ104は、非優位眼を閉じたままで優位眼で反射面を見ることによって、反射面108上の非表示カーソル112の位置を見ることができる。
【0009】
[0018]非表示カーソル機能が起動されると、センサー110は、ユーザ104の方向にある電子デバイス102の外部の環境からデータを収集する。センサー110は、たとえば、カメラ内の1つまたは複数のカメラセンサー(たとえば、CCDセンサー)、IRセンサー、深度センサー、RGBセンサーなどであってよい。一実装形態では、センサー110は、ユーザ104の顔を継続的に監視するカメラ内のCCDセンサーである。
【0010】
[0019]非表示カーソル112を使用して電子デバイス102のコントロールを作動させるために、ユーザ104は、ユーザ104が反射面108内の非表示カーソル112を見ることができるように電子デバイス102を持つ。ユーザは、優位眼(たとえば、デバイス較正中に選択された目)で非表示カーソル112を見て、非表示カーソル112が優位眼の視点から反射面108上の場所と位置合わせされるように、反射面108を方向付ける。いくつかの適用例では、反射面108の方向付けは、図1に示すように、ユーザ104が非表示カーソル112および/または反射面108内の彼の反射像114を見ることができるように電子デバイス102を持つことを伴う。他の適用例では、ユーザ104は、電子デバイス102を手に持たない。むしろ、反射面108の方向付けは、反射面108に対してユーザ104の体を方向付けること、または1つもしくは複数の軸を中心として反射面108を傾けることなど、他の調節アクションを伴う。
【0011】
[0020]ユーザ104は、非表示カーソル112と位置合わせされた場所において反射面108上に表示されたコントロール、または反射面108上で見ることができるコントロールを選択するための選択アクションを実行する。選択アクションは、たとえば、短い舌打ちまたは音声コマンドなどの可聴音、まばたき、唇の動き、タッチスクリーン入力などの検出可能な動きなどでもよい。たとえば、ユーザ104は、反射面108のキーパッド120で番号「3」を選択することを望むことがある。それを行うために、ユーザ104は、非表示カーソル112(たとえば、ユーザの左目の映し出された像)がキーパッド120上の番号「3」の上に重なるように、電子デバイス102の反射面108を方向付ける。ユーザは、次いで、非表示カーソルと番号「3」との間の位置合わせが維持されている間に選択アクションを実行することによって、番号「3」を選択する。ユーザは、たとえば、マイクロフォン130によって検出される可聴ノイズを発することによって番号「3」を選択することができる。別法として、ユーザは、反射面108の領域をタップすることによって(たとえば、反射面108がタッチスクリーンである場合)、番号「3」を選択することもできる。様々な他の選択アクションも企図される。
【0012】
[0021]選択アクションの検出に応答して、電子デバイス102は、センサー110からのデータを使用して、選択アクション時の非表示カーソル112の位置を判定する。前述のように、非表示カーソル112の位置は、観測点122を基準として定義される。
【0013】
[0022]電子デバイス102は、選択アクション時に観測点122から見たときに、そのようなコントロールがある場合には反射面108上に置かれたどのコントロールが非表示カーソル112の位置と整列する(たとえば、重なる)エリアを含むかを識別する。その項目が「選択」され、1つまたは複数の処理アクションを開始するために、電子デバイス102によって使用される。開示される技術は、ある特定のアプリケーションにアクセスするためにユーザ認証を必要とするセキュリティアプリケーションを含む様々なアプリケーション、データアクセス、および/または電子デバイス102の一般用途における使用が意図されている。たとえば、電子デバイス102は、電子デバイス102から見ることができるデータにアクセスするための認証シーケンス(たとえば、暗証番号またはパスコード)をユーザ104に促すことができる。ユーザが非表示カーソル112で選択する場所は、定義された観測点122(たとえば、ユーザの優位眼)に対応する視線116に沿って以外では見えないので、ユーザ104は、反射面108がよく見える他者に認証シーケンスを漏らすリスクなしに、公共の場において認証シーケンスを目立たないように入力することができる。たとえば、ユーザ104は、非表示カーソル112を位置合わせし、選択アクションを実行することによって、1桁の認証シーケンスを入力することができる。同じまたは同様のステップが、複数桁の認証シーケンスを入力するために繰り返され得る。
【0014】
[0023]いくつかの実装形態では、反射面108は、ユーザ104が非表示カーソル112を使用して入力を行う間、キーパッド120を表示しない。たとえば、ユーザ104は、非表示カーソル112を使用して、反射面120に表示される他のコントロールもしくは画像を選択するか、または画像を一切表示しない反射面120の部分を選択することができる。
【0015】
[0024]電子デバイス102は、たとえばパターン認識技法を含む、非表示カーソル112の位置を識別するための様々な技法を使用することができる。たとえば、センサー110は、ユーザ環境から画像データを収集するカメラであってよい。電子デバイス102は、1つまたは複数のパターン認識モジュールを使用して、たとえばユーザの顔の中心または目など、ユーザの顔の特徴を認識することができる。電子デバイス102は、次いで、保存された、または動的に確定可能な他のパラメータ(たとえば、位置情報、深度推定値など)を使用して、非表示カーソル112が反射面108上に現われる位置を推定することができる。
【0016】
[0025]図2は、電子デバイス202のコントロールを作動させる非表示カーソル212を含む例示的システム200を示す。電子デバイス202は、非表示カーソル212を使用するデバイス機能がユーザに入力を促す間にユーザ(図示せず)を監視するカメラ218を含む。電子デバイス202の反射面208(たとえば、表示画面)がユーザに対して特定の形で方向付けられると、ユーザは、反射面208で自分の顔の反射像214を見ることができる(図2のビューAに示すように)。
【0017】
[0026]較正動作(たとえば、他の図に関して以下に説明されるような)の間に、ユーザは、非表示カーソル212のカーソルソースの役割を果たす顔の特徴を選択する。非表示カーソル212の位置は、定義された観測点から見られるときに反射面208内に映し出されるカーソルソースの位置として定義される。たとえば、観測点は、ユーザの優位眼であってよい。図2において、ユーザは左目をカーソルソースとして定義してある。それに応じて、非表示カーソル212の位置は、ユーザの優位眼の視線に沿って見られるときに反射面208に映し出されるユーザの左目の位置によって与えられる。他の実装形態では、ユーザは、たとえば、ユーザの鼻の頭、ユーザの口の中心、ユーザの人差し指など、非表示カーソル112のカーソルソースの役割を果たす顔のまたは体の他の特徴を選択することができる。
【0018】
[0027]図2のビューBは、電子デバイス202の反射面208に表示されたキーパッド220を示す。ビューCは、定義された観測点から見たときの、キーパッド220上の番号「1」と非表示カーソル212との間の位置合わせを示す。非表示カーソル212と番号「1」との間の位置合わせが維持されている間に、ユーザは、選択アクションを実行して番号「1」を選択する。選択アクションは、たとえば、可聴音(短い舌打ちなど)、まばたき、唇の動き、タッチ反射面への入力などでもよい。
【0019】
[0028]選択アクションの検出に応答して、電子デバイス202は、カメラ218によって収集されたデータを分析して、反射面208に対する非表示カーソル212の位置を識別する。たとえば、電子デバイス202は、選択アクションのときに撮られたユーザの画像を分析してカメラ218の視野内のカーソルソースの位置を判定することができる。一実装形態では、この分析は、較正動作中に前に撮られたユーザの画像とユーザの新たに撮られた画像を比較する。カメラの視野内のカーソルソースの識別された位置は、定義された観測点からの視線内の対応する位置にマッピングされる。
【0020】
[0029]非表示カーソル212の位置の判定は、パターン認識および/またはユークリッド距離計算技法を含むがこれらに限定されない、様々な技法を使用する様々な異なる方法で実行することができる。
【0021】
[0030]非表示カーソル212の位置を判定した後、電子デバイス202は、非表示カーソル212の位置と重なるエリアに表示された、またはそのエリア内で見ることができる任意の内容を「選択」する。この内容の選択は、電子デバイス202の1つまたは複数のモジュールによって入力として受け取られ、電子デバイス202などへのアクセスの許可などの1つまたは複数の処理アクションを開始するために使用される。
【0022】
[0031]図3は、電子デバイス302の非表示カーソル機能の較正動作を実行するための例示的環境300を示す。較正動作300の間に、ユーザの画像314が、電子デバイス302のカメラ318で撮られる。ユーザは、カメラ318の視野内でカーソルソースを識別するため、および定義された観測点(たとえば、ユーザの視線)から見られたときのカーソルソースの反射像が反射面308上に現われる位置にカーソルソースの見掛けの位置をマッピングするための追加情報を、電子デバイス302に提供する。一実装形態では、定義された観測点は、ユーザの選択された優位眼の視線に対応する。
【0023】
[0032]電子デバイス302の非表示カーソル機能を較正するとき、ユーザは、以下に記載される例示的較正動作300のうちの1つまたは複数を単独でまたは異なる組合せで実行する。1つの例示的較正動作では、電子デバイス302は、ユーザのリアルタイム画像を反射面308に表示し、ユーザは、反射面308に表示された十字線312がユーザのリアルタイム画像の中心と合うまで、反射面308を選択的に方向付けし直す。ユーザの「顔の中心」が、十字線312と合ったとき、ユーザは選択アクションを実行し、そして、カメラ318はユーザの画像314を保存する。ユーザは、反射面308の一部に触れること、または電子デバイス302のマイクロフォンによって検出可能なノイズを立てること(たとえば、舌の「クリック」音、音声コマンドなど)などによって、様々な方法で選択アクションを実行することができる。このようにして、ユーザは、ユーザの他の画像内でその後に識別され得る基準点(たとえば、顔の中心)を電子デバイス302に提供する。たとえば、電子デバイス302は、画像314の顔の比率を使用して、その識別された「顔の中心」がユーザの他の画像上でどこに位置付けられるかを判定することができる。
【0024】
[0033]非表示カーソル機能を使用するとき、ユーザは、「自然な持ち位置」において電子デバイス302を持つ。反射像316は、ユーザが自然な持ち位置で電子デバイス302を持つときに定義された観測点から見ることができる像である。特に、反射像316の位置および方向は、画像314の位置および方向と異なる可能性がある。たとえば、ユーザは、過度に伸ばして、またはリラックスさせずに腕を伸ばすことによって、十字線312に画像314の中心を置き得る。したがって、代替の較正動作は、ユーザが画像314を反射像316にさらによく似るように変更することを可能にする。
【0025】
[0034]図3では、反射面308は、十字線312を中心とした画像314の2つの象限を表示する。1つの例示的較正では、ユーザは、自然な持ち位置で電子デバイス302を持ち、定義された観測点(たとえば、優位眼)を介して反射像316を観測する。反射像316の中心が画像314の中心と合わない場合、ユーザは、画像314を1つまたは複数の方向にシフトする。たとえば、ユーザは、反射面308を横切って所与の方向に指をドラッグしてその方向に画像314を移動させることができる。2つの顔の中心のこの位置合わせが達成された後、ユーザは、画像314の再配置を確定するための入力を行う。たとえば、ユーザは、反射面の一部に触れること(たとえば、図4に示されるように)によって、または電子デバイスのマイクロフォンによって検出される可聴ノイズを立てることによって、入力を行うことができる。この電子デバイス302は、この較正を使用して、非表示カーソル機能の動作中のその後の使用のために保存される並進係数を計算する。
【0026】
[0035]もう1つの例示的較正動作では、ユーザは、映し出された像316に対して画像314を拡大縮小する(たとえば、ズームレベルを変更する)および/または回転させる。たとえば、ユーザは、画像314が反射像316によりよく似るように、タッチスクリーン入力を行って画像314を拡大縮小する(たとえば、指でつまむ動作を使用することによって)ことができ、あるいは、画像314を回転させる(たとえば、2本の触れた指を回転させることによって)ことができ得る。ユーザが、反射像316と画像314を位置合わせするための画像314の操作を終えた後、ユーザは、画像314の再度の拡大縮小を確定するための入力を行う。電子デバイス302は、この較正を使用して、非表示カーソル機能の動作中のその後の使用のために保存される拡大縮小係数を計算する。
【0027】
[0036]ユーザは、画像314および反射像316の両方が正確に位置合わせされるまで、並進係数および拡大縮小係数を繰り返し適合させることができ得る。ユーザが、画像314の操作を終えた後、電子デバイス302は、将来使用するためにその拡大縮小係数および並進係数を保存する。
【0028】
[0037]前述の方法論(たとえば、像314の「再配置」)は、電子デバイス302が自然な持ち位置で持たれているときに定義された観測点から見られるときに基準点が現われる反射面308上の位置に、カメラ318によって観測される基準点を投影するための投影メトリックを電子デバイス302に提供する。たとえば、電子デバイス302が、ユーザのリアルタイム画像の中でユーザの顔の中心を識別する場合、電子デバイス302は、保存された拡大縮小係数および並進係数を使用し、投影メトリックを計算して、定義された観測点から見られるときにその顔の中心の反射像が反射面308上のどこに位置付けられるかを判定することができる。
【0029】
[0038]図4は、電子デバイス402の非表示カーソル機能の較正動作を実行するためのもう1つの例示的環境400を示す。図4では、ユーザは、非表示カーソルのためのカーソルソース420を定義する。一実装形態では、カーソルソース420は、ユーザの優位眼は容易に目標とされ得るため、ユーザの優位眼であるが、カーソルソース420は、他の実装形態では、鼻、口、指などのユーザの他の部分である。電子デバイス402は、反射面408にユーザの画像414を表示し、ユーザは、画像414の映し出された顔の特徴をタップしてその特徴をカーソルソース420として選択する。たとえば、ユーザが、自分の優位眼(左目)の映し出された像をタップする(図示されるように)と、その目の反射像が、非表示カーソル機能の動作中の非表示カーソルになる。
【0030】
[0039]もう1つの例示的較正動作では、ユーザは、反射面408上の位置マーカーを制御し(たとえば、ドラッグすること、コントロールボタンを押すことなどによって)、画像414内のカーソルソース420の映し出された像に位置マーカーを合わせる。位置マーカーが、カーソルソース420の反射像と位置合わせされた後、ユーザは、カーソルソース420の設定を確定するための入力を行う。たとえば、ユーザは、反射面の一部に触れることによって(たとえば、図4に示すように)、または電子デバイスのマイクロフォンによって検出される可聴ノイズを立てることによって、入力を行うことができる。
【0031】
[0040]電子デバイス402は、定義された基準点(たとえば、ユーザの顔の識別された中心)とカーソルソース420の位置との間の隔たりを定義するオフセット情報を保存する。このオフセット情報を使用して、電子デバイス402は、カメラ418によって撮られたリアルタイム画像内の識別された基準点に対するカーソルソース420の位置を後で識別することができ得る。電子デバイス402は、次いで、カメラ418の基準フレームからユーザの優位眼の基準フレームにカーソルソース420の位置を投影することができる。
【0032】
[0041]図5Aおよび図5Bは、電子デバイス502の反射面508上の非表示カーソルの位置を識別するための例示的方法500の態様を示す。本方法は、いくつかの適切な方法のうちの1つに過ぎない。初期較正中に、ユーザは、カーソルソース506の機能を果たす顔の特徴(たとえば、ユーザの優位(左)眼)を特定する。この特徴の反射像は、非表示カーソル522の機能を果たし(たとえば、図5Bに示すように)、特定の観測点に対して定義された位置を有する。図5A図5Bでは、観測点は、ユーザの優位眼の視線である。
【0033】
[0042]非表示カーソル機能を使用するために、ユーザが、反射面508で自分の反射像516を見ることができるように(たとえば、図5Bに示されるように)、ユーザは、自然な持ち位置で電子デバイス502を持つ。自然な持ち位置では、カーソルソース506は、反射面508から距離「d」にある。距離「d」は、電子デバイス502の前のまたはリアルタイムの較正動作中に推測、計算、または推定されたパラメータであってよい。「d」を識別するための例示的リアルタイム較正ステップは、図6に関して以下で説明される。他の実装形態では、距離「d」は、深度カメラ(図示せず)を使用して判定される。
【0034】
[0043]図示された方法では、ユーザの顔は平面である(たとえば、顔面平面510に沿って)と仮定される。他の実装形態では、より複雑な計算が、ユーザの顔の表面に沿うz方向のトポロジ差を説明するために使用され得る。
【0035】
[0044]第1の座標系(x,y,z)(以下「優位眼座標系」)は、カーソルソース506とxおよびy座標を共有する原点を有するように定義される。第1の座標系の原点は、距離「d」だけ反射面508の後ろに投影される点に置かれる。第2の座標系(χ’,y’,z’)(以下「カメラ座標系」)は、カメラ518とxおよびy座標を共有する原点を有するように定義される。第2の座標系の原点は、距離「f」だけ反射面508の後ろに投影される点に置かれ、「f」はカメラの焦点距離を表す。優位眼座標系(x,y,z)の原点は、距離「t」だけカメラ座標系(χ’,y’,z’)の原点から離れており、t=[t,t,t]であり、t=d−fである。基準点504は、距離「a」だけ優位眼座標系(x,y,z)の原点から離れており、a=[a,a,a]である。基準点504は、任意の特徴であってよいが、図5A図5Bではユーザの顔の中心として示される。この実装形態では、ユーザの顔は平面であると仮定されるので、a=0である。
【0036】
[0045]点(x’,y’)は、カメラ座標系(χ’,y’,z’)内の反射面508上の基準点504(たとえば、ユーザの顔の中心)の位置を表す。点(x’,y’)は、カメラ座標系(x’,y’,x’)内の反射面508に投影されたカーソルソース506の位置を表す。もう1つの点(x,y)は、優位眼座標系(x,y,z)内の反射面508に映し出されたカーソルソース506の位置を表し、一方、(x,y)は、優位眼座標系(x,y,z)内の反射面508に映し出された基準点504の位置を表す。
【0037】
[0046]優位眼座標系(x,y,z)内の非表示カーソルの位置(x,y)を計算するために、電子デバイス502は、以下の(例示的)方程式を使用することができる。
=Ax’+Ax’+B (1)
=Ay’+Ay’+B (2)
[0047]上記方程式(1)および(2)において、A=[A,A]は拡大縮小係数を表し、一方、B=[B,B]は並進係数を表す。一実装形態では、図3に関して前述した並進係数および拡大縮小係数などの並進係数(B)および拡大縮小係数(A)は、事前較正プロセスにおいて取得される。一実装形態では、拡大縮小係数(A)および並進係数(b)は、以下の方程式(3)および(4)によって与えられる。
【0038】
【数1】
【0039】
AおよびBのこれらの値を使用して、方程式1および2は、以下のような方程式(5)および(6)に変換され得る。
【0040】
【数2】
【0041】
[0048]事前較正プロセスで、電子デバイス502はまた、カメラ座標系において基準点504とカーソルソース506との間の隔たりを定義するオフセット値(dx,dy)(図5Bに示されるような)を計算し、保存することができる。
【0042】
[0049]非表示カーソル機能の動作中に、カメラ518は、ユーザが自然な持ち位置で電子デバイス502を持っている間に、ユーザの画像を記録する。電子デバイスのモジュールは、記録された画像を使用して基準点504を識別する。基準点504が、ユーザの顔の中心である(図5にあるように)とき、電子デバイスのモジュールは、記録された画像内の顔の領域530を分割し、次いで、顔の中心(たとえば、重心)を識別して、図5Bにおいて点(cx,cy)として表される、カメラ座標系内の点x’、y’の値を定義することによって、基準点504を識別する。
【0043】
[0050]オフセット値(dx,dy)および値(cx,cy)を使用して、非表示カーソルソースの位置の値(csrx,csry)は、以下のように判定され得る。
csrx=A(dx+cx)+A(cx)+B (7)
csry=A(dy+cy)+A(cy)+B (8)
ユーザの優位眼が、カーソルソース522として選択された場合、点(csrx,csry)は、(x,y)に等しい(前述の方程式(5)および(6)で定義される)。
【0044】
[0051]非表示カーソル機能の使用中に、ユーザの顔と反射面508との間の距離「d」は、初期較正中のその距離と異なり得る。そのような場合は、追加のリアルタイム較正調節が、拡大縮小係数Aを適合させるために実行され得る。1つの例示的リアルタイム較正が、図6に関して以下に論じられる。
【0045】
[0052]図6は、ユーザと電子デバイス602の反射面608との間の距離を推定するために使用可能な例示的リアルタイム較正動作600を示す。電子デバイス602のカメラ618は、非表示カーソル機能の開始時などに、ユーザの画像614を撮る。一実装形態では、ユーザは、画像614が撮られる間、自然な持ち位置で電子デバイス602を持つ。電子デバイス602のモジュールは、画像614においてユーザの顔の境界線620を識別する。
【0046】
[0053]非表示カーソル機能は、以下のようにリアルタイムで計算することができる拡大縮小係数(A)を使用する。
【0047】
【数3】
【0048】
方程式(9)において、「A」は、ユーザとの間の最初の較正距離「d」に基づく、方程式(1)および(2)にあるような、最初に計算された拡大縮小係数(A)である。カメラ618とユーザとの間の「d」は、以下の比例関係を使用して推定することができる。
【0049】
【数4】
【0050】
[0054]したがって、定数「A」のリアルタイム較正は、以下のように判定することができる。
【0051】
【数5】
【0052】
但し、「New_Face_Area」はリアルタイムで判定されたユーザの顔の面積であり、「Initial_Face_Area」は最初の較正中に判定されたユーザの顔の面積である。
【0053】
[0055]他の実装形態では、距離「d」は、顔の面積の代わりに顔の幅および/または顔の高さを測定することによって推定される。この方式で距離「d」を推定することによって、電子デバイス602は、非表示カーソルの座標(x,y)を計算するために、前述の方程式(1)および(2)において使用される定数「A」を適合させることができる。
【0054】
[0056]一実装形態では、感知デバイスが、電子デバイス602とユーザの顔との間の距離を直接測定するために使用され得る。たとえば、適切な感知デバイスは、深度カメラまたは超音波/レーザー距離センサーを含み得る。
【0055】
[0057]他方では、前述の方程式1および2に現われる定数「B」は、以下の方程式12によって示されるように、距離とは無関係に解くことができるので、距離「d」が変更されたときでも、定数「B」は再計算される必要はない。
【0056】
【数6】
【0057】
[0058]前述の方法論は、より複雑な計算を使用する実装形態など、他の実装形態において修正され得るいくらかの仮定を行う。たとえば、前述の方法論は、反射面508が平面であり、ユーザの顔の平面とおおよそ平行であることと、ユーザの顔もまた平面であることとを仮定する。本明細書に記載されない他の実装形態は、顔面平面510に対する電子デバイス502の回転および/または反射面508に対する顔面平面510の回転を説明し得る。
【0058】
[0059]もう1つの実装形態(図示せず)では、異なる数学的枠組みが、カーソルソース506が顔面平面510および反射面508から独立して移動する(たとえば、x−y平面において)ことを許されるシステムにおける非表示カーソルの位置を計算するために使用される。たとえば、ゲームシステムは、受信デバイスに対するユーザの位置および/または動きを判定する1つまたは複数のセンサーを含み得る。カーソルソース506が、ユーザの手である場合、カーソルソース506の動きは、顔面平面510から、およびゲームシステムの反射面508から独立している。この場合、様々な方程式および異なるセンサーから収集されたデータが、非表示カーソルの位置を判定するために使用され得る。このおよび他の実装形態において適用可能であり得るセンサー技術は、RGBセンサー、深度センサー、温度センサー、立体センサー、走査レーザーセンサー、超音波センサー、ミリメートル波センサーなどを含むが、これらに限定されない。
【0059】
[0060]一実装形態では、非表示カーソル機能は、ユーザがATMマシンにセキュリティ暗証番号を入力することを可能にする。ATMマシンは、通常は、大きい反射面および簡易化されたキーパッド(たとえば、「123」、「456」、「789」、および「0」から成る4列)を有するので、非表示カーソル機能の使用は、携帯電話などのモバイルデバイスに暗証番号を入力するのに一般的に十分なジェスチャと比べて顕著で大きいジェスチャを伴い得る。セキュリティ保護を向上させるために、ATMマシンは、より複雑なキーパッドと連動して非表示カーソル機能を実装することができる。たとえば、キーパッドは、次の5つの列、「1234567890」、「4567890123」、「7890123456」、「0123456789」、「3456789012」からなり得る。
【0060】
[0061]図7は、電子デバイスの非表示カーソル機能を使用するための例示的動作700を示す。位置付け動作702は、カーソルソースの反射像(すなわち、非表示カーソル)がユーザに見えるように電子デバイスの反射面を位置付ける。カーソルソースは、たとえば、顔の特徴、体の部分、または、較正動作中などにユーザによって選択された、他の動かすことができる物体でもよい。電子デバイスの反射面に映し出されたとき、カーソルソースは、非表示カーソルの機能を果たす。電子デバイスがタブレットコンピュータまたは携帯電話などの携帯用デバイスである一実装形態では、ユーザは、カーソルソースの反射像が定義された観測点から見ることができるように、電子デバイスを方向付けることによって位置付け動作702を実行する。電子デバイスが携帯用ではない他の動作では、ユーザは、反射面の位置を適合させることによって(たとえば、デバイスが静止表面に据え付けられる場合)、および/または自分の体の位置を適合させることによって、位置付け動作702を実行することができる。
【0061】
[0062]動かす動作704は、非表示カーソルが電子デバイスの反射面上のエリアに重なるように、カーソルソースを動かす。選択動作706は、重ね合わされたエリアに基づいて選択(たとえば、変数選択、項目選択など)を行う。一実装形態では、選択動作706は、ユーザによって実行される。ユーザは、可聴音(短い舌打ちなど)を立てること、まばたきすること、唇を動かすこと、タッチスクリーンに入力を行うことなどによって、選択入力を行う。アクティブにする動作708は、選択動作706に応答してユーザインターフェースコントロールを作動させる。たとえば、アクティブにする動作708は、ある種のアプリケーションへのアクセス、データアクセス、電子デバイスの一般用途などをユーザに提供することができる。
【0062】
[0063]図8は、非表示カーソルを使用して電子デバイス800のコントロールを作動させるための例示的ユーザインターフェースコントロール802を示す。ユーザインターフェースコントロール802は、たとえば、ディスプレイ入力808(たとえば、タッチスクリーン入力)、オーディオ入力806(たとえば、マイクロフォンを介する)、および視覚入力810(たとえば、カメラまたは他の画像マッピングセンサーを介する)を含む、様々なタイプのユーザ入力を受け付ける。
【0063】
[0064]選択入力検出器804は、ユーザによって実行された選択アクションを検出する。一実装形態では、選択アクションは、口頭でのコマンド、舌の「クリック」、または他のノイズなど、オーディオ入力806において検出される。もう1つの実装形態では、選択アクションは、電子デバイス800のタッチスクリーンのタップなどを介するディスプレイ入力808において検出される。さらにもう1つの実装形態では、選択アクションは、カメラからの視覚データおよび/またはユーザの口、目、または他の体の部分の動きを検出するモーション検出器からの視覚データなど、視覚入力810において検出される。
【0064】
[0065]選択アクションは、ユーザが、反射面818上の場所と非表示カーソルを位置合わせし、選択された場所で反射面818上に表示されたコントロール、または見ることができるコントロールの選択を望むことを示す。ユーザインターフェースコントロール802は、様々なハードウェアおよび/またはソフトウェア機構を使用して反射面818上のこの場所を識別する。
【0065】
[0066]選択入力検出器804は、視覚入力810を分析するようにおよびユーザの画像上の基準点を識別するようにパターン認識器812に指示する。たとえば、パターン認識器812は、顔の領域を識別し、ユーザの目、鼻、顔の中心などをさらに識別することができる。パターン認識器812が、基準点を識別した後、位置合わせ較正器816は、視覚入力810内の基準点の場所を保存された画像の対応する基準点の場所と比較する。この比較を介して、位置合わせ較正器816は、視覚入力を保存された画像によりよく似させるために使用することができるシフト、拡大縮小、および/または回転を説明する拡大縮小メトリックを判定する。
【0066】
[0067]位置合わせ較正器816は、位置合わせ検出器814に拡大縮小メトリックおよび他の保存されたオフセット情報を提供し、位置合わせ検出器814は、視覚入力810を収集するセンサーの視野内でおいてカーソルソースの位置を識別する。位置合わせ検出器814は、カーソルソースの位置を代替基準フレームに投影して、カーソルソースの反射像(すなわち、非表示カーソル)がユーザの視線に沿って反射面818上に現われる場所を判定する。
【0067】
[0068]図9は、記載された技術の実装において有用であり得る例示的システムを示す。記載された技術を実装するための図の例示的ハードウェアおよび動作環境は、ゲーム機またはコンピュータ20の形の汎用コンピューティングデバイス、携帯電話、携帯情報端末(PDA)、セットトップボックス、または他のタイプのコンピューティングデバイスなど、コンピューティングデバイスを含む。図9の実装形態では、たとえば、コンピュータ20は、処理装置21、システムメモリ22、および、処理装置21にシステムメモリを含む様々なシステム構成要素を動作可能なように結合させるシステムバス23を含む。コンピュータ20のプロセッサが、単一の中央演算処理装置(CPU)、または、並列処理環境と一般に呼ばれる、複数の処理装置を備えるように、1つのみの処理装置21が存在してもよく、または、2つ以上の処理装置21が存在してもよい。コンピュータ20は、従来のコンピュータ、分散型コンピュータ、または他の任意のタイプのコンピュータでもよく、本発明は、そのように限定されない。
【0068】
[0069]システムバス23は、メモリバスまたはメモリコントローラ、周辺バス、スイッチ型ファブリック、2地点間接続、および様々なバスアーキテクチャのいずれかを使用するローカルバスを含む、いくつかのタイプのバス構造物のいずれかでもよい。システムメモリはまた、単純にメモリと呼ばれることがあり、読取り専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。起動時などにコンピュータ20内の要素間の情報の転送を助ける基本ルーチンを含む、基本入力/出力システム(BIOS)26が、ROM24に記憶される。コンピュータ20はさらに、ハードディスク、図示せず、から読み込むおよびそこに書き込むためのハードディスクドライブ27と、取り外し可能磁気ディスク29から読み取るまたはそこに書き込むための磁気ディスクドライブ28と、CD ROM、DVD、または他の光媒体などの取り外し可能光ディスク31から読み取るまたはそこに書き込むための光ディスクドライブ30とを含む。
【0069】
[0070]ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30は、それぞれ、ハードディスクドライブインターフェース32、磁気ディスクドライブインターフェース33、および光ディスクドライブインターフェース34によって、システムバス23に接続される。ドライブおよびそれらの関連コンピュータ可読媒体は、コンピュータ20のためのコンピュータ可読命令、データ構造物、プログラムモジュールおよび他のデータの不揮発性ストレージを提供する。磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)など、コンピュータによってアクセス可能なデータを記憶することができる任意のタイプのコンピュータ可読媒体が、例示的動作環境において使用され得ることが、当業者には理解されよう。
【0070】
[0071]オペレーティングシステム35、1つまたは複数のアプリケーションプログラム36、他のプログラムモジュール37、およびプログラムデータ38を含む、いくつかのプログラムモジュールが、ハードディスク、磁気ディスク29、光ディスク31、ROM24、またはRAM25に記憶され得る。ユーザは、キーボード40およびポインティングデバイス42などの入力デバイスを介してパーソナルコンピュータ20にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナーなどを含み得る。これらのおよび他の入力デバイスは、システムバスに結合されたシリアルポートインターフェース46を介して処理装置21にしばしば接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェースによって接続され得る。モニタ47または他のタイプの表示デバイスはまた、ビデオアダプタ48などのインターフェースを介してシステムバス23に接続される。モニタに加えて、コンピュータは、通常は、スピーカーおよびプリンターなど、他の周辺出力デバイス(図示せず)を含む。
【0071】
[0072]コンピュータ20は、リモートコンピュータ49などの1つまたは複数のリモートコンピュータへの論理接続を使用するネットワーク環境において動作し得る。これらの論理接続は、コンピュータ20の一部に結合された通信デバイスによって達成され、本発明は、特定のタイプの通信デバイスに制限されない。リモートコンピュータ49は、別のコンピュータ、サーバー、ルーター、ネットワークPC、クライアント、ピアデバイスまたは他の共通ネットワークノードでもよく、メモリ記憶デバイス50のみであるが、通常は、コンピュータ20に関連して前述した要素の多くまたはすべてを含む。図9に示される論理接続は、ローカルエリアネットワーク(LAN)51およびワイドエリアネットワーク(WAN)52を含む。そのようなネットワーク環境は、すべてのタイプのネットワークである、オフィスネットワーク、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。
【0072】
[0073]LANネットワーク環境において使用されるとき、コンピュータ20は、1つのタイプの通信デバイスである、ネットワークインターフェースまたはアダプター53を介してローカルネットワーク51に接続される。WANネットワーク環境において使用されるとき、コンピュータ20は、通常は、モデム54、ネットワークアダプター、あるタイプの通信デバイス、または、ワイドエリアネットワーク52を介する通信を確立するための他の任意のタイプの通信デバイスを含む。モデム54は、内部または外部であってもよく、シリアルポートインターフェース46を介してシステムバス23に接続される。ネットワーク環境において、パーソナルコンピュータ20に関連して図示されるプログラムエンジンまたはその部分は、リモートメモリ記憶デバイスに記憶され得る。図示されたネットワーク接続は、例であり、コンピュータ間の通信リンクを確立するための通信デバイスの他の手段が使用され得ることが、理解されよう。
【0073】
[0074]例示的な一実装形態では、選択入力検出器、パターン認識器、位置合わせ較正器、位置合わせ検出器、1つまたは複数のパターン認識器、検出器、較正器、および他のモジュールは、メモリ22および/または記憶デバイス29もしくは31に記憶され、処理装置21によって処理される命令によって、実施され得る。オフセット、拡大縮小メトリック、様々な較正データ、カメラデータ、ディスプレイ入力データ、オーディオ入力データ、および他のデータは、永続的データストアとしてメモリ22および/または記憶デバイス29もしくは31に記憶され得る。さらに、ユーザインターフェースコントローラは、非表示カーソル機能を介して提供されるユーザ選択に基づいて1つまたは複数のデバイスコントロールを作動させるように構成されたハードウェアおよび/またはソフトウェアを表す。ユーザインターフェースコントローラは、汎用コンピュータおよび専門ソフトウェア(サービスソフトウェアを実行するサーバーなど)、専用コンピューティングシステムおよび専門ソフトウェア(サービスソフトウェアを実行するモバイルデバイスまたはネットワークアプライアンスなど)、あるいは他のコンピューティング構成を使用して実装され得る。
【0074】
[0075]「モジュール」、「プログラム」、「サービス」、および「エンジン」という用語は、1つまたは複数の特定の機能を実行するために実装されるコンピューティングシステム20の態様を説明するために使用され得る。場合によっては、そのようなモジュール、プログラム、サービス、またはエンジンは、システムメモリ22によって保持される命令を実行する処理装置21を介してインスタンス化され得る。異なるモジュール、プログラム、および/またはエンジンが、同じアプリケーション、サービス、コードブロック、オブジェクト、ライブラリ、ルーチン、API、機能などからインスタンス化され得ることが理解されよう。同様に、同じモジュール、プログラム、および/またはエンジンが、異なるアプリケーション、サービス、コードブロック、オブジェクト、ルーチン、API、機能などによってインスタンス化され得る。「モジュール」、「プログラム」、および「エンジン」という用語は、個々のまたはグループの実行ファイル、データファイル、ライブラリ、ドライバ、スクリプト、データベース記録などを包含するものとする。
【0075】
[0076]図10は、記載される技術を実装する際に有用であり得る別の例示的システム(モバイルデバイス1000というラベルを付けられた)を示す。モバイルデバイス1000は、プロセッサ1002、メモリ1004、ディスプレイ1006(たとえば、タッチスクリーンディスプレイ)、および他のインターフェース1008(たとえば、キーボード)を含む。メモリ1004は、一般に、揮発性メモリ(たとえば、RAM)および不揮発性メモリ(たとえば、フラッシュメモリ)の両方を含む。Microsoft Windows(登録商標)Phoneオペレーティングシステムなどのオペレーティングシステム1010が、メモリ1004内に存在し、プロセッサ1002によって実行されるが、他のオペレーティングシステムが使用され得ることを理解されたい。
【0076】
[0077]1つまたは複数のアプリケーションプログラム1012が、メモリ1004にロードされ、プロセッサ1002によってオペレーティングシステム1010上で実行される。アプリケーション1012の例は、制限なしに、パターン認識プログラム、較正プログラムなどを含む。モバイルデバイス1000は、1つまたは複数のバッテリーあるいは他の動力源によって電力を供給される、そしてモバイルデバイス1000の他の構成要素に電力を提供する、電力供給装置1016を含む。電力供給装置1016はまた、内蔵式バッテリーまたは他の動力源をオーバーライドまたは再充電する外部動力源に接続され得る。
【0077】
[0078]モバイルデバイス1000は、ネットワーク接続性(たとえば、携帯電話ネットワーク、Wi−Fi(登録商標)、BlueTooth(登録商標)など)を提供するための1つまたは複数の通信トランシーバ1030を含む。モバイルデバイス1000はまた、測位システム1020(たとえば、グローバルポジショニング衛星トランシーバ)、1つまたは複数の加速度計1022、1つまたは複数のカメラ1024、オーディオインターフェース1026(たとえば、マイクロフォン、オーディオ増幅器およびスピーカーおよび/またはオーディオジャック)、および追加のストレージ1028など、様々な他の構成要素を含む。他の構成もまた、使用され得る。
【0078】
[0079]例示的一実装形態では、選択入力検出器、パターン認識器、位置合わせ較正器、位置合わせ検出器、1つまたは複数のパターン認識器、検出器、較正器、および他のモジュールが、メモリ1004および/または記憶デバイス1028に記憶された、そして処理装置1002によって処理される命令によって、実施され得る。オフセット、拡大縮小メトリック、様々な較正データ、カメラデータ、ディスプレイ入力データ、オーディオ入力データ、および他のデータが、永続的データストアとしてのメモリ1004および/または記憶デバイス1028に記憶され得る。
【0079】
[0080]モバイルデバイス1000およびコンピュータ20(図9の)は、様々な有形コンピュータ可読記憶媒体および無形コンピュータ可読通信信号を含み得る。有形コンピュータ可読ストレージは、モバイルデバイス1000またはコンピュータ20によってアクセスすることができる、そして揮発性および不揮発性記憶媒体、取り外し可能および取り外し不能記憶媒体の両方を含む、任意の使用可能な媒体によって実施され得る。有形コンピュータ可読記憶媒体は、無形通信信号を排除し、コンピュータ可読命令、データ構造物、プログラムモジュールまたは他のデータなどの情報の記憶のための任意の方法または技術において実装される揮発性および不揮発性、取り外し可能および取り外し不能記憶媒体を含む。有形コンピュータ可読記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CDROM、デジタル多用途ディスク(DVD)または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、所望の情報を記憶するために使用され得るおよびモバイルデバイス1000またはコンピュータ20によってアクセスされ得る他の任意の有形媒体を含むが、これらに限定されない。有形コンピュータ可読記憶媒体とは対照的に、無形コンピュータ可読通信信号は、コンピュータ可読命令、データ構造物、プログラムモジュール、あるいは、搬送波または他の信号移送機構など、変調データ信号内に存在する他のデータを実施し得る。「変調データ信号」という用語は、その特性集合のうちの1つまたは複数を有するあるいは信号内の情報を符号化するための方式などにおいて変更された信号を意味する。
【0080】
[0081]本明細書に記載の発明の実装形態は、1つまたは複数のコンピュータシステムにおいて論理ステップとして実装される。本発明の論理動作は、(1)1つまたは複数のコンピュータシステムにおいて実行するプロセッサ実装ステップのシーケンスとしておよび(2)1つまたは複数のコンピュータシステム内の相互接続されたマシンまたは回路モジュールとして実装される。その実装形態は、本発明を実装するコンピュータシステムの性能要件に応じて選択できる。したがって、本明細書に記載の発明の実施形態を構成する論理動作は、動作、ステップ、オブジェクト、またはモジュールと様々に称される。さらに、論理動作は、別段の明示的な申し立てのない限り、要望どおりに任意の順番で実行、追加、および省略することができ、あるいは、特定の順番は、本質的に、本特許請求項の言語によって強制されることを理解されたい。
【0081】
[0082]前述の明細書、例、およびデータは、例示的実装形態の構造および使用の完全記述を提供する。多数の実装形態が、特許請求されている本発明の趣旨および範囲を逸脱することなしに行われ得、添付される以下の特許請求の範囲が本発明を定義する。さらに、異なる例の構造的特徴は、列挙される請求項を逸脱することなしにさらに別の実装形態において結合され得る。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10