(57)【要約】  センサフュージョンアルゴリズム技法が記載される。１つ又はそれよりも多くの技法において、ホストデバイス及びアクセサリデバイスの挙動は、ホストデバイス及びアクセサリデバイスの互いに対する向きに基づき制御される。少なくとも２つの異なる種類のセンサから取得される生の測定値に基づき、ホストデバイスのための組合わせ空間位置及び／又は向きを取得し得る。加えて、アクセサリデバイスのための空間的位置及び／又は向きは、アクセサリデバイスの１つ又はそれよりも多くのセンサを用いて確認される。次に、ホストコンピューティングデバイスのための組合わせ空間的位置及びアクセサリデバイスの確認された空間的位置に基づき、ホストコンピューティングデバイスに対するアクセサリデバイスの向き（又は位置）を計算し得る。次に、ホストコンピューティングデバイス及び／又はアクセサリデバイスの挙動を制御するために、計算される相対的な向きを様々の方法において用い得る。
2015520838.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピューティングデバイスによって実施される方法であって、
前記ホストコンピューティングデバイスの少なくとも２つの異なる種類のセンサを使用して、前記ホストコンピューティングデバイスのための多数の生の空間的位置を独立して計算すること、
前記ホストコンピューティングデバイスのための組合わせ空間的位置を取得するために、前記多数の生の空間的位置を処理すること、
アクセサリデバイスの１つ又はそれよりも多くのセンサを使用して、前記ホストコンピューティングデバイスに接続される前記アクセサリデバイスのための空間的位置を確認すること、及び
前記ホストコンピューティングデバイスのための前記組合わせ空間的位置及び前記アクセサリデバイスのための前記確認された空間的位置に基づき、前記ホストコンピューティングデバイスに対する前記アクセサリデバイスの向きを計算することを含む、
方法。
【請求項２】
アプリケーションプログラミングインターフェース（ＡＰＩ）を介した前記ホストコンピューティングデバイスの１つ又はそれよりも多くのアプリケーションによる使用のために、前記計算される向きを晒すことを更に含む、請求項１に記載の方法。
【請求項３】
前記ホストコンピューティングデバイスのための前記多数の生の空間的位置を計算することは、前記多数の生の空間的位置の１つを計算するためにジャイロスコープを使用することを含む、請求項１に記載の方法。
【請求項４】
前記ホストコンピューティングデバイスのための前記多数の生の空間的位置を計算することは、前記多数の生の空間的位置の１つを計算するために、加速度計及び磁力計を組み合わて使用することを含む、請求項１に記載の方法。
【請求項５】
前記アクセサリデバイスのための前記空間的位置は、前記アクセサリデバイスの加速度計を介して確認される、請求項１に記載の方法。
【請求項６】
前記異なる種類のセンサは、前記ホストコンピューティングデバイスのジャイロスコープ、加速度計、及び磁力計を含む、請求項１に記載の方法。
【請求項７】
前記組合わせ空間的位置を取得するために前記多数の生の空間的位置を処理することは、前記組合わせ空間的位置の誤りを減少させるために、前記多数の生の空間的位置の間を補間することを含む、請求項１に記載の方法。
【請求項８】
前記計算すること、前記処理すること、前記確認すること、及び前記計算することは、少なくとも部分的にハードウェア内でセンサフュージョンモジュールを実施するよう構成される、前記ホストコンピューティングデバイスの１つ又はそれよりも多くのマイクロコントローラを介して遂行される、請求項１に記載の方法。
【請求項９】
計算される前記向きに基づき、前記ホストコンピューティングデバイスの１つ又はそれよりも多くの挙動を制御することを更に含む、請求項１に記載の方法。
【請求項１０】
前記ホストコンピューティングデバイスの前記１つ又はそれよりも多くの挙動を制御することは、計算される前記向きに基づき、１つ又はそれよりも多くのセンサの感度を選択的に調節することを含む、請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はセンサフュージョンアルゴリズム技法に関する。
【背景技術】
【０００２】
モバイル環境において使用者に利用可能にされる機能性を増大させるために、モバイルコンピューティングデバイスが開発されている。例えば、ｅメールを確認したり、ウェブサイトを閲覧したり、テキストを書いたり、アプリケーションと相互作用したり等するために、使用者は、携帯電話、タブレットコンピュータ、又は他のモバイルコンピューティングデバイスと相互作用し得る。一部のモバイルコンピューティングデバイスは異なる入力技法を提供し、機能性を拡張したり等するために、様々のアクセサリデバイスと繋がって相互作用し得る。モバイルコンピューティングデバイスの開発者が直面する１つの挑戦は、アクセサリデバイスとの相互作用及び挙動を管理することである。例えば、ホストコンピューティングデバイスはアクセサリデバイスがどのように挙動するかに対する限定的な制御を有し、よって、アクセサリデバイスの作動はホストコンピューティングデバイスの動作と時折干渉し得る。その上、ホストコンピューティングデバイスと一致する方法において応答しないアクセサリデバイスは、使用者体験に悪影響を与え得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
よって、アクセサリデバイスのための挙動及び相互作用の一体的な管理は、モバイルコンピューティングデバイスの開発者にとって挑戦的な考慮の対象であり得る。
【課題を解決するための手段】
【０００４】
センサフュージョンアルゴリズム技法が開示される。１つ又はそれよりも多くの実施態様において、ホストデバイス及びアクセサリデバイスの挙動は、ホストデバイス及びアクセサリデバイスの互いに対する向きに基づき制御される。少なくとも２つの異なる種類のセンサから取得される生の測定値に基づき、ホストデバイスのための空間的位置及び／又は向きの組み合わせを取得し得る。加えて、アクセサリデバイスの１つ又はそれよりも多くのセンサを用いて、アクセサリデバイスのための空間的位置及び／又は向きが確認される。次に、ホストコンピューティングデバイスのための空間的位置／向きとアクセサリデバイスのための確認された空間的位置／向きとの組み合わせに基づき、ホストデバイスに対するアクセサリデバイスの向き（又は位置）を計算し得る。次に、ホストコンピューティングデバイス及び／又はアクセサリデバイスの挙動を制御するために、計算される相対的な向きを様々の方法において用い得る。
【０００５】
この概要は、以下に発明を実施する形態において更に記載する一揃いの着想を簡素化された形態において導入するために提供されている。この概要は、請求項中の主題の鍵となる機能又は本質的な機能を特定することを意図せず、請求項中の主題の範囲を決定する補助として用いられることも意図しない。
【０００６】
添付の図面を参照して発明を実施するための形態を記載する。図面中、参照番号の最も左の桁は、その参照番号が最初に現れる図面を特定している。記述及び図面中の異なる場合における同じ参照番号の使用は、類似の又は同一の品目を指し得る。図面中に表示される実体は、１つ又はそれよりも多くの実体を示し得る。よって、議論中の実体の単数又は複数の形態を交換可能に参照し得る。
【図面の簡単な説明】
【０００７】
【図１】ここに記載する技法を利用するよう動作可能である例示的な実施における環境を示す図である。
【図２】図１のコンピューティングデバイスの例示的な実施をより詳細に示す図である。
【図３】図１のアクセサリデバイスの例示的な実施をより詳細に示す図である。
【図４】１つ又はそれよりも多くの実施態様に従ったコンピューティングデバイスに対するアクセサリデバイスの例示的な向きを示す図である。
【図５】１つ又はそれよりも多くの実施態様に従ったコンピューティングデバイスに対するアクセサリデバイスの例示的な向きを示す図である。
【図６】１つ又はそれよりも多くの実施態様に従ったコンピューティングデバイスに対するアクセサリデバイスの例示的な向きを示す図である。
【図７】１つ又はそれよりも多くの実施態様に従ったコンピューティングデバイスに対するアクセサリデバイスの例示的な向きを示す図である。
【図８】１つ又はそれよりも多くの実施態様に従ったコンピューティングデバイスに対するアクセサリデバイスの例示的な向きを示す図である。
【図９】１つ又はそれよりも多くの実施態様に従ったコンピューティングデバイスに対するアクセサリデバイスの例示的な向きを示す図である。
【図１０】１つ又はそれよりも多くの実施態様に従った入力デバイスに対するコンピューティングデバイスの幾つかの例示的な回転的な向きを示す図である。
【図１１】１つ又はそれよりも多くの実施態様に従った例示的な手順を示すフロー図である。
【図１２】１つ又はそれよりも多くの実施態様に従った例示的な手順を示すフロー図である。
【図１３】ここに記載する技法の実施態様を実施するために、図１乃至１２を参照して記載するようないずれの種類のコンピューティングデバイスとしても実施し得る、例示的なデバイスの様々のコンポーネントを含む例示的なシステムを示す図である。
【発明を実施するための形態】
【０００８】
概観
従来、ホストコンピューティングデバイスは、アクセサリデバイスがどのように挙動するかに対する限定的な制御を有し得る。よって、アクセサリの作動はホストコンピューティングデバイスの動作と干渉することがあり、それは使用者体験を損ね得る。従って、アクセサリデバイスのための挙動及び相互作用の統合的な管理がモバイルコンピューティングデバイスの開発者にとって考慮すべき事柄であり得る。
【０００９】
センサフュージョンアルゴリズム技法を記載する。１つ又はそれよりも多くの実施態様において、ホストデバイス及びアクセサリデバイスの挙動は、ホストデバイス及びアクセサリデバイスの相互に対する向きに基づき制御される。少なくとも２つの異なる種類のセンサから得られる生の測定値に基づき、ホストデバイスのための空間的位置及び／又は向きの組み合わせを取得し得る。加えて、アクセサリデバイスのための空間的位置及び／又は向きがアクセサリデバイスの１つ又はそれよりも多くのセンサを用いて確認される。次に、ホストコンピューティングデバイスのための組合わせ空間的位置及び／又は向きとアクセサリデバイスの確認された空間的位置／向きとに基づき、ホストコンピューティングデバイスに対するアクセサリデバイスの向き（又は位置）を計算し得る。次に、ホストコンピューティングデバイス及び／又はアクセサリデバイスの挙動を制御するために、計算される相対的な向きを様々の方法において用い得る。
【００１０】
以下の議論では、先ず、ここに記載する技法を利用する例示的な環境及びデバイスを記載する。次に、例示的な環境においてデバイスによって遂行し得る並びに他の環境時において他のデバイスによって遂行し得る例示的な手順を記載する。結果的に、例示的な手順の実行は、例示的な環境／デバイスに限定されず、例示的な環境／デバイスは、例示的な手順の実行に限定されない。
【００１１】
動作環境の実施例
図１は、ここに記載する技法を利用するよう動作可能である例示的な実施における環境１００の例示である。例示する環境１００は、可撓ヒンジ１０６を介してアクセサリデバイス１０４に物理的に且つ通信的に結合されるコンピューティングデバイス１０２の実施例を含む。コンピューティングデバイス１０２を様々の方法において構成し得る。例えば、コンピューティングデバイス１０２を、携帯電話、例示するようなタブレットコンピュータ等のような、モバイル使用のために構成し得る。よって、コンピューティングデバイス１０２は、実質的なメモリ及びプロセッサを備える完全リソースデバイスから限定的なメモリ及び／又は処理資源を備える低リソースデバイスにまで及び得る。コンピューティングデバイス１０２は、コンピューティングデバイス１０２に１つ又はそれよりも多くの動作を遂行させるソフトウェアにも関し得る。
【００１２】
コンピューティングデバイス１０２は、例えば、入力／出力モジュール１０８を含むものとして例示されている。入力／出力モジュール１０８は、コンピューティングデバイス１０２の入力を処理すること及び出力を表現することに関する機能性の代表である。アクセサリデバイス１０４及び／又はディスプレイデバイス１１０のタッチスクリーン機能性等を通じて認識し得るジェスチャ（身振り）を特定し且つジェスチャに応答する動作を遂行させるために、入力／出力モジュール１０８によって、入力デバイスのキー、ディスプレイデバイス１１０によって表示される仮想キーボードのキーに応答する機能に関する入力のような、様々の異なる入力を処理し得る。よって、入力／出力モジュール１０８は、キー押込み、ジェスチャ等を含む入力の種類間の区分を認識し且つ活用することによって、様々の異なる入力技法をサポートし得る。
【００１３】
例示の実施例において、アクセサリデバイス１０４は、ＱＷＥＲＴＹ配列のキーを有するキーボードとして構成される装置であるが、他の配列のキーも想定される。更に、ゲームコントローラ、楽器を模倣する構成、電力アダプタ等のような、アクセサリデバイス１０４のための非従来的な構成も想定される。よって、アクセサリデバイス１０４は、様々の異なる機能性をサポートする様々の異なる構成を取り得る。異なる時に異なるアクセサリデバイスをコンピューティングデバイスに接続し得る。その上、異なる選択可能なモード、ソフトウェア／ファームウェアアップデート、モジュール式アドオンデバイス／コンポーネント等のような、異なる構成及び能力を取るために、特定のアクセサリデバイスの機能性も採用し得る。これはキー又はアクセサリ用の他の制御装置が配置される方法における変化を引き起こし得るし、アクセサリからの入力がホスト及びアプリケーションによって取り扱われる方法も変更し得る。例えば、アクセサリデバイスは、キー／制御装置の種類、表示されるラベル、及び異なる時に異なる構成を取る制御装置の位置を適合的に切り替えることによって、キーボードとして並びにゲームコントローラとして動作可能であり得る。
【００１４】
前述のように、アクセサリデバイス１０４は、この実施例では、可撓ヒンジ１０６の使用を通じて、コンピューティングデバイス１０２に物理的に且つ通信的に結合される。可撓ヒンジ１０６は、アクセサリデバイス１０４をホストコンピューティングデバイス１０２に接続し且つ／或いは取り付けるのに適したインターフェースの１つの例示的な実施例を表している。可撓ヒンジ１０６は、ヒンジによって支持される回転動作が、ピンによって支持される機械的な回転とは対照的に、ヒンジを形成する材料の撓み（例えば、曲がり）を通じて達成される点において可撓であるが、その実施態様（ピンによって支持される機械的な回転）も想定される。更に、１つの方向（例えば、図面における垂直方向）における動作をサポートするが、コンピューティングデバイス１０２に対するアクセサリデバイス１０２の横方向の動作のような他の方向における動作を制限するよう、この可撓回転を構成し得る。電力状態、アプリケーション状態等を変更するために用いられるセンサを整列させることのような、コンピューティングデバイス１０２に対するアクセサリデバイス１０４の一貫した整列をサポートするために、これを用い得る。
【００１５】
例えば、１つ又はそれよりも多くの織物の層を用いて、可撓ヒンジ１０６を形成し得る。可撓ヒンジ１０６は、アクセサリデバイス１０４をコンピューティングデバイス１０２に並びにその逆に通信的に結合するよう、可撓トレースとして形成される導体を含む。例えば、キー押込みの結果をコンピューティングデバイス１０２に通信し、コンピューティングデバイスから電力を受け取り、認証を行い、補助的な電力をコンピューティングデバイス１０２に提供する等のために、この通信を用い得る。多数の異なるアクセサリデバイス１０４をサポートするために、可撓ヒンジ１０６又は他のインターフェースを様々の方法において構成し得る。その更なる議論を以下の図面に関して見出し得る。
【００１６】
図１に更に例示するように、コンピューティングデバイス１０２は、異なる機能性をデバイスに提供する様々のアプリケーション１１２を含み得る。オペレーティングシステム、多数のオフィス生産性モジュールを統合する生産性統合ソフトウェア、ウェブブラウザ、ゲーム、マルチメディアプレーヤ、ワードプロセッサ、表計算プログラム、写真マネージャ等を非限定的に含む、コンピューティングデバイスに典型的に関連付けられる様々のアプリケーション１１２が想定される。コンピューティングデバイス１０２は、コンピューティングデバイス１０２の操作に応答して対応する入力を感知するよう構成される、多数のホストセンサ１１４を更に含む。同様に、アクセサリデバイス１０４は、アクセサリデバイス１０４の操作に応答して生成される対応する入力を感知するよう構成される、１つ又はそれよりも多くのアクセサリセンサ１１６を含む。
【００１７】
ここに記載する技法によれば、ホストセンサ１１４及びアクセサリセンサ１１６から取得される入力を処理し、且つ／或いは適切なセンサフュージョンアルゴリズムに従って組み合わせて、アクセサリデバイス１０４及びコンピューティングデバイス１０２の互いに対する向きを決定し得る。一般的に、多数の異なる種類のセンサからの位置及び／又は向きに関する入力は、向きを計算するために組み合わせにおいて処理される。次に、ホスト及びアクセサリの挙動を制御し且つ様々の対応する操作を行うために、計算した向きを用い得る。以下の図面に関してより詳細に議論するように、向きを決定するのに適した様々の異なる種類のセンサ及びアルゴリズムを利用し得る。
【００１８】
更に例示するために、図１の例示的なコンピューティングデバイス１０２を概ね符号２００で描写する図２を考察する。描写する実施例において、コンピューティングデバイス１０２は、アクセサリデバイス１０４が取り付けられていない、独立型（スタンドアローン）構成において示されている。図１において議論したコンポーネントに加えて、図２の例示的なコンピューティングデバイスは、更に、処理システム２０２と、コンピュータ読取可能な媒体２０４とを含み、それらは、処理コンポーネント、媒体、メモリ、並びにコンピューティングデバイスと関連付けられ且つ広範囲のデバイス機能性を提供するよう利用され得る記憶装置コンポーネント及び／又はデバイスの、様々の異なる種類及び組み合わせを代表する。少なくとも幾つかの実施態様において、処理システム２０２及びコンピュータ読取可能な媒体は、汎用コンピューティング操作のために利用し得る処理電力及びメモリ／記憶装置を提示する。より一般的には、コンピューティングデバイス１０２を、様々の処理システム及びコンピュータ読取可能な媒体を利用する任意の適切なコンピューティングシステム及び／又はデバイスとして構成し得る。それらの追加的な詳細及び実施例を、図１３の例示的なコンピューティングシステムとの関係において議論する。
【００１９】
コンピューティングデバイス１０２は、１つ又はそれよりも多くのマイクロコントローラ２０６を通じて選択的なデバイス機能性も実施し得る。マイクロコントローラ２０６は、所定の組の指定のタスクを遂行するよう設計されるハードウェアデバイス／システムを提示する。マイクロコントローラ２０６は、処理コンポーネント、Ｉ／Ｏデバイス／周辺装置、様々の種類のメモリ（ＲＯＭ、ＲＡＭ、フラッシュ、ＥＥＰＲＯＭ）、プログラマブル論理等のような内蔵リソースを有する、それぞれのオンチップシステム／回路を提示し得る。少なくとも部分的にハードウェア内で実施され且つ対応するタスクを遂行する異なる埋込みアプリケーション／機能性を提供するために、異なるマイクロコントローラを構成し得る。マイクロコントローラ２０６は、汎用処理システム及びコンピューティングデバイス又はアクセサリデバイスの他のアプリケーション／コンポーネントの操作の外側の幾つかのタスクの実行を可能にする。一般的に、マイクロコントローラの電力消費は、デバイスのための汎用処理システムを操作することに比べて低い。
【００２０】
更に描写するように、コンピューティングデバイス１０２は、更に、センサフュージョンモジュール２０８と、挙動モジュール２１０と、ここに記載するセンサフュージョンアルゴリズム技法の特徴を実施するセンサフュージョンアプリケーションプログラミングインターフェース（ＡＰＩ）２１２とを含み得る。センサフュージョンモジュール２０８は、多数のセンサからの入力に基づき向きを導き出すよう、上述及び下述のような適切なセンサフュージョンアルゴリズムを適用する機能性を概ね提示する。センサフュージョンモジュール２０８は、様々のセンサを介して供給される位置／向き等に関する入力を集め、それらの入力を処理し、且つコンピューティングデバイス１０２及びアクセサリデバイス１０４の空間関係を示す対応する向きを計算するよう動作し得る。
【００２１】
挙動モジュール２１０は、計算される向きに基づきコンピューティングデバイス１０２及び／又はアクセサリデバイス１０４と関連付けられる様々の異なる挙動を制御し且つ／或いは変更する機能性を提示する。これは、ほんの数例を挙げれば、電力状態／消費を管理すること、動作モード又はデバイス状態を選択すること、１つ又はそれよりも多くのセンサの感度を調節すること、ホストデバイス、アクセサリデバイス、及び／又は周辺デバイス間の相互作用を制御すること、デバイス機能性を変更すること、ネットワーク接続を使用可能／使用不能にすること、アプリケーションを活性化／非活性化すること、及び／又はアプリケーション状態を設定することを含み得るが、これらに限定されない。計算される向きに基づき制御し得る挙動のこれらの及び他の実施例を、以下に議論する例示的な手順に関連してより詳細に記載する。
【００２２】
センサフュージョンアプリケーションプログラミングインターフェース（ＡＰＩ）２１２は、アプリケーション１１２による使用のためのコンピュータの向きに関する情報を晒す機能性を提示する。例えば、アプリケーション１１２は、向き情報をオンデマンド式に要求し且つ／或いはセンサフュージョンモジュール２０８及び／又は関連する通知システムからの向き最新情報を定期取得するよう、センサフュージョンＡＰＩを利用し得る。次に、センサフュージョンＡＰＩは、アプリケーション１１２の代わりにセンサフュージョンモジュール２０８と相互作用して、向き情報をアプリケーション１１２に伝達させる。アプリケーション１１２は、向き情報を様々の方法において用い得る。それらの実施例を、以下の図１２の例示的な手順の議論中に見出し得る。
【００２３】
前述のように、ここに記載する技法を実施するために、様々の異なる種類のセンサを利用し得る。ホストコンピューティングデバイスは、向き情報を提供するために用いられるセンサの配列を含み得る。一例として、非限定的に、図２の例示的なコンピューティングデバイス１０２のためのホストセンサ１１４は、ジャイロスコープ２１４、加速度計２１６、磁力計２１８、及びホール効果センサ２２０を含むものとして描写されている。位置及び／又は向きに関する情報を導き出すのに適した様々の他のセンサ２２２も利用し得る。
【００２４】
図３は、可撓ヒンジ１０６をより詳細に示すものとして、図１のアクセサリデバイス１０４の例示的な実施３００を描写している。この実施例において、アクセサリデバイス１０４は、コンピューティングデバイスから取り外されたものとして描写されている。ここでは、アクセサリデバイス１０４とコンピューティングデバイス１０２との間の通信的且つ物理的な接続をもたらすよう構成される入力デバイスの接続部分３０２が示されている。この実施例において、接続部分３０２は、コンピューティングデバイス１０２のハウジング内の通路内に収容されるよう構成される高さ及び断面を有するが、その精神及び範囲から逸脱することなく、この配置を逆転させ得る。接続部分３０２は、コンピューティングデバイスへのアクセサリデバイスの取付け／接続を検出し得るインターフェースをもたらす。少なくとも幾つかの実施態様において、このインターフェースは、ここに記載するようなアクセサリデバイス１０４の相互作用及び／又は制御のための通信も可能にする。例えば、コンピューティングデバイス１０２、センサフュージョンモジュール２０８、及び／又は挙動モジュール２１０は、インターフェースを通じてアクセサリデバイスと通信し、様々のアクセサリデバイスから入力を取得し且つアクセサリデバイスの挙動を指図し得る。
【００２５】
接続部分３０２は、可撓ヒンジ１０６の使用を通じてキーを含むアクセサリデバイス１０４の一部に可撓に接続される。よって、接続部分３０２がコンピューティングデバイスに物理的に接続されるとき、接続部分３０２及び可撓ヒンジ１０６の組み合わせは、本のヒンジ（のどぎれ）と同様に、コンピューティングデバイス１０２に対するアクセサリデバイス１０４の動作をサポートする。本来的に、様々の向きをサポートし得る。それらの幾つかの実施例を以下の段落において記載する。
【００２６】
接続部分３０２は、この実施例において、磁性結合デバイス３０４，３０６、機械的に結合する突起３０８，３１０、及び複数の通信接点３１２を含むものとして例示されている。磁性結合デバイス３０４，３０６は、１つ又はそれよりも多くの磁石の使用を通じて、コンピューティングデバイス１０２の相補的な磁性結合デバイスに磁気的に結合するよう構成される。このようにして、磁力の使用を通じてアクセサリデバイス１０４をコンピューティングデバイス１０２に物理的に固定し得る。接続部分３０２は、アクセサリデバイス１０４とコンピューティングデバイス１０２との間の機械的な物理的接続を形成するよう、機械的に結合する突起３０８，３１０も含む。通信接点２１２は、様々の種類の通信を促進するためにデバイス間の通信結合を形成するよう、コンピューティングデバイス１０２の対応する通信接点と接触するよう構成される。
【００２７】
実施態様が動作し得る例示的な環境を議論したが、１つ又はそれよりも多くのの実施態様に従って幾つかの例示的な向きを次に考察する。
【００２８】
例示的なデバイスの向き
以下の議論は幾つかの例示的なデバイスの向きを提示する。詳述したように、異なるデバイスの向きは、異なるデバイス電力状態、異なるアプリケーション状態と関連付けられ得るし、異なる挙動を引き起し得る等であり得る。上述の及び下述のセンサフュージョンアルゴリズム技法を用いて、例示的な向き並びに他の向きを決定し得る。次に、ホスト及び／又はアクセサリのための異なる挙動を導き出すために、決定された向きを用い得る。
【００２９】
図４は、向き４００を取るよう、アクセサリデバイス１０４がコンピューティングデバイス１０２のディスプレイデバイス１１０に対して配置されるようにアクセサリデバイス１０４を回転し得ることを例示している。向き４００において、アクセサリデバイス１０４は、アクセサリデバイス１０４がディスプレイデバイス１１１１０を損傷から保護し得るよう、カバーとして作用し得る。実施において、向き４００は、コンピューティングデバイス１０２の閉鎖位置に対応し得る。
【００３０】
図５は、コンピューティングデバイスが向き５００を取るよう、入力デバイス１０４がコンピューティングデバイス１０２から離れる方向に回転したことを例示している。向き５００は、コンピューティングデバイス１０２とアクセサリデバイス１０４との間に導入される間隙５０２を含む。実施においては、例えば、間隙５０２が導入されるようにコンピューティングデバイス１０２をアクセサリデバイス１０４から僅かに離れる方向に撓ませるコンピューティングデバイス１０２及び／又はアクセサリデバイス１０４との不注意な接触によって、使用者は意図せずに向き５００をもたらし得る。
【００３１】
図６は、コンピューティングデバイス１０２の例示的な向き６００を例示している。向き６００において、アクセサリデバイス１０４は、表面に対して平坦に配置され、コンピューティングデバイス１０２は、例えば、コンピューティングデバイス１０２の背面に配置されるキックスタンド６０２の使用を通じて、ディスプレイデバイス１１０を見ることを許容するよう、ある角度に配置される。向き６００は、キーボードのキー、トラックパッド等を使用することのように、アクセサリデバイス１０４を介して入力を受け入れ得るタイピング配置に対応し得る。
【００３２】
図７は、概ね番号７００で、コンピューティングデバイス１０２の更なる例示的な向きを例示している。向き７００において、コンピューティングデバイス１０２は、ディスプレイデバイス１１０がアクセサリデバイス１０４に背を向けるように向けられている。この実施例において、キックスタンド６０２は、例えば、アクセサリデバイス１０４の背面との接触を介して、コンピューティングデバイス１０２を支持し得る。ここに明示的に例示していないが、アクセサリデバイス１０４の前面を覆って保護するようカバーを利用し得る。描写する向きでは、デバイスとホストとの間の角度７０２が達成される。上で議論し且つ下で議論するように、異なる位置／向きに対応する様々の異なる角度を達成し得る。
【００３３】
図８は、例示的な向き８００を例示しており、そこでは、コンピューティングデバイス１０２の背面に対して配置されるよう、例えば、コンピューティングデバイス１０２のディスプレイデバイス１１０の反対側に配置されるコンピューティングデバイス１０２の背面ハウジングに対して配置されるよう、アクセサリデバイス１０４も回転させ得る。この実施例では、コンピューティングデバイス１０２に対する接続部分２０２の向きを通じて、可撓ヒンジ１０６は接続部分３０２を「包み込む」(“wrap  around”)ようにさせられて、アクセサリデバイス１０４をコンピューティングデバイス１０２の背面に位置付ける。
【００３４】
この包み込みは、コンピューティングデバイス１０２の背面の一部を露出させられたままにさせる。これは、例示的な向き８００において、コンピューティングデバイス１０２の背面の有意な部分がアクセサリデバイス１０４によって覆われているとしても、コンピューティングデバイス１０２の背面に位置付けられるカメラ８０２を用いられることを許容することのような、様々の機能性のために活用され得る。図８に例示する実施例に加えて、アクセサリデバイス１０４に対してある角度８０４に向けられるよう、コンピューティングデバイス１０２のディスプレイデバイス１１０を決定し得る。一般的に、アクセサリデバイス１０４が異なる位置に操作されるとき、角度８０４は変化し得る。例えば、図８に示すような角度８０４を約３６０度であるよう決定し得る。他の向きは他の角度に対応し得る。角度範囲を構築し、異なる挙動を引き起こし得る定められたモード又は状態と関連付け得る。よって、ホストとアクセサリとの間の現時の角度に対応する特定のモード／状況に基づき、挙動を制御し得る。
【００３５】
図９は、概ね番号９００で、コンピューティングデバイス１０２の更なる例示的な向きを例示している。向き９００において、コンピューティングデバイス１０２は側方に、例えば、コンピューティングデバイス１０２が配置される表面９０２に対してポートレイト向きに回転される。ディスプレイデバイス１１０は見え、アクセサリデバイス１０４はディスプレイデバイス１１０に背を向ける向きに回転させられた状態にある。少なくとも幾つかの実施において、アクセサリデバイス１０４の幅は、コンピューティングデバイス１０２の幅よりも狭くあり得る。追加的に又は代替的に、ヒンジ１０６に最も近い縁が最も外側の縁よりも広いように、アクセサリデバイス１０４の幅をテーパ状にし得る。これは、ディスプレイデバイス１１０の面が向き９００において後方に傾き、適切な見る角度をもたらすことを可能にし得る。
【００３６】
図１０は、アクセサリデバイス１０４に対する様々の異なる角度範囲内でコンピューティングデバイス１０２を回転させ得ることを例示している。ここに詳述するように、異なる角度範囲を異なる電力状態、異なるアプリケーション状態等に関連付け得る。
【００３７】
角度範囲１０００が例示されており、それはコンピューティングデバイス１０２のための閉塞位置に対応する。よって、コンピューティングデバイス１０２がアクセサリデバイス１０４に対して角度範囲１０００内の角度に位置付けられるならば、コンピューティングデバイス１０２が閉塞位置にあるよう決定し得る。閉塞位置は、コンピューティングデバイス１０２及びアクセサリデバイス１０４のための様々の機能性／挙動を閉塞状態に基づき相応して変更し得る、関連する閉塞状態を含み得る。
【００３８】
更に例示されているのは、コンピューティングデバイス１０２のためのタイピング向きに対応し得る角度範囲１００２である。よって、コンピューティングデバイス１０２がアクセサリデバイス１０４に対して角度範囲１００２内のある角度に位置付けられるならば、コンピューティングデバイス１０２はタイピング向きにあると決定され得る。この向き内では、コンピューティングデバイス１０２及び／又はアクセサリデバイス１０４を、コンピューティングデバイス１０２及びアクセサリデバイス１０４のための機能性／挙動をタイピング状態に基づき相応してカスタマイズし得る、タイピング電力状態に配置し得る。
【００３９】
図１０は、コンピューティングデバイス１０２のための見る位置に対応する角度範囲１００４を更に例示している。よって、コンピューティングデバイス１０２がアクセサリデバイス１０４に対して角度範囲１００４内のある角度に位置付けられるならば、コンピューティングデバイス１０２は見る向きにあると決定され得る。この向きでは、コンピューティングデバイス１０２及びアクセサリデバイス１０４のための機能性／挙動を、見る状態に基づき相応して制御し得る。
【００４０】
上記で議論した向き、角度範囲、電力状態等は、例示の目的のためだけに提示されている。請求される実施態様の精神及び範囲内で多種多様の異なる向き、デバイス状態、及び角度範囲を実施し得ることが想定される。
【００４１】
幾つかの例示的なデバイス向きを議論したので、１つ又はそれよりも多くの実施態様に従った幾つかの例示的な手順を次に考察する。
【００４２】
例示的な手順
以下の議論は、前述のシステム及びデバイスを利用して実施し得るセンサフュージョンアルゴリズム技法を記載する。手順の各々の特徴を、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにおいて実施し得る。それらの手順は、１つ又はそれよりも多くのデバイスによって遂行される動作を特定する一組のブロックとして示され、それぞれのブロックによる動作を遂行するために図示のオーダに必ずしも限定されない。以下の議論の一部では、図１の例示的な動作環境、図２−３の例示的なデバイス、及び図４−１０に示される例示的な向きを、それぞれ参照し得る。
【００４３】
図１１は、例示的な手順１１００を描写しており、そこでは、ホストに対するアクセサリの向きが計算される。少なくとも幾つかの実施態様では、例えば、センサフュージョンモジュール２０８及び／又は挙動モジュール２１０の使用を含む或いはさもなければ活用する図２のコンピューティングデバイス１０２のような、適切に構成されるコンピューティングデバイスによって、その手順を遂行し得る。
【００４４】
ホストコンピューティングデバイスのための生の空間的位置は、少なくとも２つの異なる種類のセンサを用いて独立して計算される（ブロック１１０２）。生の空間的位置は、ホストコンピューティングデバイスのための組合わせ空間的位置を得るために処理される（ブロック１１０４）。
【００４５】
例えば、指定のセンサフュージョンアルゴリズムを実施するよう、センサフュージョンモジュール２０８を構成し得る。一般的に、センサフュージョンアルゴリズムは、コンピューティングデバイス１０２によって利用される異なる種類のホストセンサ１１４の配列からの情報を統合する。多数の異なる感知技法及び多数の異なる種類のセンサの統合は、位置の決定の改良をもたらし得るし、個々の技法及びセンサが導入し得る誤差をならし得る。少なくとも幾つかの実施態様において、センサフュージョンアルゴリズムは、異なる夫々のセンサを用いてコンピューティングデバイス１０２の生の空間的位置の少なくとも２つの独立した計算結果を計算するよう構成される。次に、組合わせ空間的位置を生成するために、生の位置の多数の独立した計算を用い得る。独立した計算結果の各々は、上述及び下述の様々の種類のホストセンサ１１４の１つ又はそれよりも多くを利用し得る。異なる独立した計算結果のために用いられるセンサの少なくとも一部は、異なる種類である。よって、センサフュージョンアルゴリズムは、様々の異なるホストセンサ１１４から入力を取得し、この情報を組み合わせて、コンピューティングデバイス１０２の位置を決定する。
【００４６】
１つのアプローチにおいて、コンピューティングデバイス１０２は、生の位置の独立した計算結果のうちの１つを取得するために用い得るジャイロスコープ２１４を含む。一般的に、ジャイロスコープは、向き及び回転を計算するために角運動量の原理を使用する。三次元空間内の運動を認識するためにジャイロスコープ２１４を用い得る。ジャイロスコープ２１４は地球のような基準物体／点に対する位置の決定を可能にし得る。センサフュージョンモジュール２０８は、ジャイロスコープ２１４から取得される入力を用いて、コンピューティングデバイスのための生の空間的位置を計算するよう動作し得る。生の空間的位置を、基準物体／点（例えば、地球）に対するｘ軸、ｙ軸、及びｘ軸を用いて定められる三次元座標系内の座標として表現し得る。
【００４７】
具体的には、コンピューティングデバイスの角度的な位置付けを決定するために、ジャイロスコープから取得される角速度入力を処理し得る。初期的に、ジャイロスコープのローパス定数オフセットを除去するために、ジャイロスコープからの入力をフィルタリングし得る。ジャイロスコープが非ゼロ位置から動かず、計算結果における誤りを防止するために除去されるならば、そのようなローパス定数オフセットを創り出し得る。コンピューティングデバイスのための生の空間的位置を記述する変換を取得するために、アルゴリズムは、ジャイロスコープの多数の軸（例えば、ｘ軸、ｙ軸、及びｚ軸）に亘って積分を行い得る。この処理は、ジャイロスコープからの角速度入力をルンゲ−クッタ積分アルゴリズム（又は他の適切なアルゴリズム）を通じて積分し、対応するインパルスデータを取得することを含み得る。インパルスデータを異なる軸のための四元数として表現し得る。それは、共に乗じられるときに、それらの夫々の軸／座標系に対するコンピューティングデバイス１０２と地球（又は他の選択的な基準物体／点）との間の変換を記述する四元数をもたらす。これはコンピューティングデバイス１０２のための生の空間的位置の１つの独立したバージョンを提供する。
【００４８】
加速度計２１６及び磁力計２１８を組み合わせて用いて、生の空間的位置の他の独立した計算結果を取得し得る。ここで、加速度計２１６は、デバイスの自由度のうちの２つ（例えば、ｘ軸及びｙ軸に対する位置）を導出するために利用し得る３軸加速度計として構成される。ローパスにおいて、加速のベクトルは、地球の中心を指して約１ｇ下である。加速度計２１６を介して測定される加速の成分を３つの軸の各々に亘って分散されるものとして取得し得る。次いで、地球の中心を指すローパスベクトルに対する加速度計／デバイス軸の角度を計算するために、加速の成分を用い得る。これはデバイスの傾き又は向きに関する３つの自由度のうちの２つをもたらす。具体的には、記載したばかりの加速度計処理は、コンピューティングデバイス１０２のｘ軸及びｙ軸の傾き／向きを決定するために用いられる。
【００４９】
次に、デバイスの傾き／向きに対する残余の自由度を決定するために、磁力計２１８を利用し得る。コンパスのように作用するよう磁力計２１８を初期化／構成し得る。このアプローチでは、地面（例えば、地表）と平行なベクトルを計算するために、磁力計２１８を用い得る。このベクトルは磁北を指す。ｚ軸に対するデバイスの回転を決定するためにこのベクトルを用い得る。次に、それらの夫々の軸／座標系に対するコンピューティングデバイス１０２と地球（又は他の選択的な基準物体／点）との間の変換を記述する他の四元数を構築するために、加速度計からのｘ軸及びｙ軸の並びに磁力計２１８からのｚ軸に対するデバイスの回転を用い得る。これはコンピューティングデバイス１０２のための生の空間的位置を取得し得る他の独立した方法を提供する。異なるセンサ及びセンサの組み合わせを用いる他の実施例が想定される。例えば、コンピューティングデバイス１０２の位置／向きを計算する他の種類のセンサデータとの組み合わせにおいて或いは単独で用い得る何らかの位置決めデータをもたらすために、衛星航法システム（ＧＰＳ）無線を用い得る。
【００５０】
従って、生の空間的位置に関する少なくとも２つの結果が前述の実施例の技法又は他の適切な技法を用いて計算される。多数の独立した計算結果を様々の方法において組み合わせるようセンサフュージョンアルゴリズムを更に構成し得る。組み合わせることは、誤りを減少させ或いは排除し且つ／或いは結果をならすために、２つ又はそれよりも多くの生の空間的位置の間を補間することを概ね含む。補間は、２つ又はそれよりも多くの独立して取得される生の空間的位置に基づき、コンピューティングデバイスのための組合わせ空間的位置をもたらす。
【００５１】
一例として、非限定的に、ジャイロスコープを用いて取得される結果は、他のセンサ及び位置決定技法に対して短期的にはより正確であり得る。しかしながら、ジャイロスコープ計算結果と関連する小さな積分誤差が時間の経過と共に蓄積し、長期的には誤った結果をもたらし得る益々より大きなオフセットを創り出し得る。よって、他の独立して取得される結果でジャイロスコープ結果を補間することは、ジャイロスコープ結果における予期される積分誤差を効果的に調節し得る。１つのアプローチでは、ジャイロスコープ結果に向かって偏り(bias)を加え得る正規化線形補間が利用される。何故ならば、これらの結果は初期的により正確であり、より少ないノイズに晒されるからである。ジャイロスコープ結果を抑制し且つ組合わせ結果のための偏りを時間の経過と共にジャイロスコープ結果から離れる方向に並びに他の結果に向かってゆっくり調節するために、加速度計／磁力計からの結果のような他の独立した結果を補間に含め得る。これは組合わせ結果として数学的にならされた変換をもたらす。
【００５２】
ホストコンピューティングデバイスに接続されるアクセサリデバイスのための空間的位置は、アクセサリデバイスの１つ又はそれよりも多くのセンサを用いて確認される（ブロック１１０６）。コンピューティングデバイス１０２に関して記載した技法を非限定的に含む任意の適切な方法において、アクセサリデバイス１０４のための空間的位置を計算し得る。異なるアクセサリのためのアクセサリセンサ１１６は、ここに記載する様々の種類のセンサのいずれかを含み得る。従って、１つ又はそれよりも多くのアクセサリセンサ１１６からの適切な入力に基づきアクセサリの空間的位置を確認するために異なる対応する技法を用い得る。アクセサリに含められるセンサの種類に基づき異なるアクセサリのためにも異なる技法を用い得る。一般的に、アクセサリとの適切なインターフェースに亘るアクセサリの異なるセンサから入力を取得し且つその入力に基づき対応する空間的位置を計算するためにセンサフュージョンモジュール２０６を構成し得る。
【００５３】
１つの具体的な実施例において、センサフュージョンモジュール２０６は、アクセサリデバイス１０４と関連付けられる加速度計２１６を用いて空間的位置を計算し得る。このアプローチでは、アクセサリデバイス１０４のｘ軸及びｙ軸に対する傾き／向きを決定するために加速度計２１６を利用し得る。これは、上述のような関連付けられる加速度計を用いて、コンピューティングデバイス１０２のための同じ種類の情報の計算結果と比較可能な方法において起こり得る。
【００５４】
幾つかの配置では、既知の場所を介してコンピューティングデバイスのインターフェースに接続可能な接続部分３０２を用いてコンピューティングデバイス１０２に接続するようアクセサリデバイス１０４を構成し得る。例えば、前述のヒンジの実施例では、既知の場所及びホストデバイスへの接続の性質に基づきアクセサリデバイスの位置に関する少なくとも幾つかの情報を構築し得る。よって、ホストに対するアクセサリの位置を決定するために、そのような場合にはアクセサリデバイス１０４のための２つの自由度（例えば、ｘ軸及びｙ軸の位置／ピッチ及びロール）を使用すれば十分であり得る。しかしながら、前述のような磁力計２１８を用いて或いは他のセンサ及び技法を用いて、幾つかの実施態様におけるアクセサリデバイス１０４のために、ｚ軸に対する回転も計算し得ることが印されなければならない。例えばボールソケット型の接続によってホストデバイスに接続されるときでさえ、アクセサリを依然として三次元において操作し得る構成において、これを利用し得る。
【００５５】
ホストコンピューティングデバイスに対するアクセサリデバイスの向きは、ホストコンピューティングデバイスのための組合わせ空間的位置及びアクセサリデバイスのための確認された空間的位置に基づき計算される（ブロック１１０８）。計算される向きは、図４−１０に関して議論した異なる向きのいずれか並びに他の可能な向きに対応し得る。ここで、互いに対するデバイスの向きに関する情報を導出するために、コンピューティングデバイス１０２のための組合わせ空間的位置とアクセサリデバイス１０４の確認された空間的位置との間を比較し得る。具体的には、組合わせ空間的位置は、コンピューティングデバイス１０２のための座標系内の軸が地球又は他の基準のための基準座標系と関連付けられる軸に対してどのように向けられるかの間の変換を示す。同様に、アクセサリデバイス１０４のための確認された空間的位置は、アクセサリデバイスのための座標系内の軸が基準座標系の軸に対してどのように向けられるかの間の変換を示す。従って、基準座標系と無関係であるコンピューティングデバイス１０２に対するアクセサリデバイス１０４の変換を計算するために、これらの２つの位置を用い得る。
【００５６】
一例として、幾つかの場合には、図１０に提示されるように、コンピューティングデバイス１０２に対するアクセサリデバイス１０４の角度として向きを定め得る。前にも議論したように、異なる角度を、上述の所与の実施例の閉塞状態、タイピング状態、見る状態のような、異なる相互作用状態と関連付け得る。例えばｘ、ｙ、ｚ座標を用いて、他の適切な方法において向きを表現し得る。
【００５７】
選択的に、コンピューティングデバイス１０２のホール効果センサ２２０を用いて、計算された向きを検証し得る。コンピューティングデバイス１０２とアクセサリデバイス１０４との間の近接性を検出するために磁力を利用するようホール効果センサ２２０を構成し得る。例えば、ホール効果センサ２２０は、コンピューティングデバイス１０２及び／又はアクセサリデバイス１０４と共に含められる１つ又はそれよりも多くの磁石に基づき近接性を測定し得る。コンピューティングデバイス１０２が閉塞位置まで回転させられるとき、アクセサリデバイス１０４の磁石と整列し且つそれを検出するようホール効果センサ２２０を構成し得る。コンピューティングデバイス１０２が開放位置においてアクセサリデバイスから離れて位置付けられるとき、ホール効果センサ２２０は磁石を検出し得ないかもしれないし、或いはコンピューティングデバイス１０２がアクセサリデバイス１０４に対して異なる角度に回転されるとき、検出される磁力は変化するかもしれない。ホール効果センサ２２０は、向きを決定し得る他の方法を提供する。よって、他のセンサを用いて計算した向きが正確であるか否かの追加的な確認としてホール効果センサ２２０を用い得る。デバイスの電源を切ったり或いは向きに基づき異なるコンポーネントのスイッチを切ったり等のように、幾つかの種類の挙動を引き起こし且つ／或いは制御する前に、この追加的な確認を行い得る。
【００５８】
ホストコンピューティングデバイス１０２及びアクセサリデバイス１０４の１つ又はそれよりも多くの挙動は、計算される向きに基づき制御される（ブロック１１１０）。ホストに対するアクセサリの計算される向きに基づき様々の挙動及び応答的作用を推進し得る。センサフュージョンモジュール２０８からの向き結果を取得し且つ相応して様々の挙動を制御するよう、挙動モジュール２１０を構成し得る。
【００５９】
挙動を制御することは、少なくとも、コンピューティングデバイス１０２及び／又はアクセサリデバイス１０４のための電力管理操作を含み得る。一般的に、電力管理操作は、電力消費を制御してバッテリ寿命を引き延ばすよう構成される。例えば、挙動モジュール２１０は、電力モード／状態の変更が特定の向きに基づき起こるようにさせる。これは決定される向きに従ってデバイス及び／又は選択的なコンポーネントのトグルをオン／オフすることを含み得る。例えば、閉塞状態では、ホスト及びアクセサリの両方の電源を切ったり或いはそられの両方をスリープモードに置き得る。他の実施例では、向きが見る状態に対応するときにアクセサリの電源を切り得る。アクセサリデバイス１０４は、タイピング状態が検出されるときのような特定の向きにおいて自動的にスリープ状態から覚め得る。計算される向きに対応して起こり得る様々の他の電力管理の実施例も想定される。
【００６０】
他の実施例において、挙動を管理することは、向きに従ってデバイスのための異なるセンサを選択的に調節し且つ／或いは使用可能／使用不能にすることを含み得る。一例として、ホストの背面を覆うようホストを完全に回るアクセサリの回転は、ゲームプレイモードを示し得る。この配置では、ゲームプレイのための加速度計２１６の使用はあるかもしれないのに対し、アクセサリからのキーボード／タイピング入力のためのタッチ機能性の使用はないかもしれない。従って、この配置では、加速度計２１６の感度を増大させ／作動させ、タッチ感度を減少させ或いは使用不能にさせ得る。タイピングモードでは、逆が当て嵌まり、加速度計２１６を使用不能にし或いはより少ない感度に調節させ、タッチ感度を増大させ或いは再度使用可能にし得る。よって、向きに基づきセンサの感度を調節し得るし、特定のセンサの電源をオン／オフにし得る。制御されるセンサは、向きの計算に含められるセンサ並びにホスト又はアクセサリの他のセンサを含み得る。
【００６１】
更に他の実施例では、アクセサリ及び／又はホストのために活性化される機能性を向きに基づき変更し得る。例えば、背面に回り込むよう配置される(wrapped  around)ときゲームコントローラとして作用し且つタイピング向きにあるときにキーボードタイプ入力をもたらすよう変換するように、アクセサリを構成し得る。更なる実施例では、見る向きにおけるアクセサリデバイスに亘る入力によって、アクセサリを介してページをスクロールしたり捲ったりするジェスチャを読み取ることを使用可能にし得るし、他の状態／向きのために使用不能にし得る。アクセサリによってもたらされる機能性のこれらの種類の変化は、異なる向きに従って異なる制御、機能、及びジェスチャを選択的に晒し、使用可能にし、構成し、或いはその他の方法において活性化することによって起こり得る。
【００６２】
向きに基づきホストコンピューティングデバイスのジェスチャ、タッチキー、及び他の機能性を活性化する比較可能な変化も起こり得る。例えば、ディスプレイ１１０上の媒体コンテンツの操作のためのジェスチャを幾つかの向き（例えば、見る状態又はゲームする状態）において活性化し、他のシナリオでは不活性化し得る。向きに基づきコンピューティングデバイスのために活性化／不活性化される機能性に行い得る変更の幾つかの追加的な実施例は、ネットワーク接続を使用可能／使用不能に選択的にし、且つ／或いは計算される向きに基づきアクセサリデバイス及び／又は周辺デバイス（例えば、プリンタ、ストリーミングメディアデバイス、記憶装置デバイス）とホストとの相互作用を選択的に制御することを含む。
【００６３】
加えて、計算される向きに基づきアプリケーション１１２の挙動も制御し得る。例えば、向きに基づき異なるアプリケーション１１２を選択的に活性化させ或いは不活性化させるよう挙動モジュール２１０を構成し得る。これはフォアグラウンドプロセス及びバックグラウンドプロセスにおいて動作するアプリケーション間をトグルすること、特定のアプリケーションを起動し終了させること、最小化／最大化すること等を含み得る。アプリケーション１１２は、アプリケーションが様々の方法において利用し得る計算される向きの最新情報を抽出し且つ／或いは定期取得し得る。それらの幾つかの詳細を以下の図面に関連して提供する。従って、計算される向きに基づき多種多様な挙動を制御し得る。それらのうちの上記に列挙した具体的な挙動は幾つかの例示的な実施例に過ぎない。
【００６４】
図１２は、計算される向きがアプリケーションによって使用者のために晒される例示的な手順１２００を描写している。少なくとも幾つかの実施態様において、センサフュージョンアプリケーションプラグラミングインターフェース（ＡＰＩ）２１２を含む或いはさもなければ利用する図２の例示的なコンピューティングデバイス１０２のような、適切に構成されるコンピューティングデバイスによって、その手順を行い得る。
【００６５】
ホストコンピューティングデバイスに対するアクセサリデバイスの向きがホストコンピューティングデバイスのための組合わせ空間的位置及びアクセサリデバイスのための確認された空間的位置に基づき計算される（ブロック１２０２）。これは上述の図１１の例示的な手順１１００に関して議論したような指定のセンサフュージョンアルゴリズムに従って起こり得る。
【００６６】
計算される向きを取得するために１つ又はそれよりも多くのアプリケーションによって操作されるインターフェースが晒される（ブロック１２０４）。計算される向きは、インターフェースを介してアプリケーションからの要求を受信することに応答して、アプリケーションに供給される（ブロック１２０６）。具体的には、コンピューティングデバイス１０２は、計算される向き情報をアプリケーションに供給するよう動作可能なセンサフュージョンアプリケションプログラミングインターフェース（ＡＰＩ）２１２を含み得る。１つのアプローチにおいて、センサフュージョンＡＰＩは、個別の供給に応答して、向き情報をオンデマンド式に供給し得る。追加的に又は代替的に、向き更新情報を定期取得するようアプリケーションの登録を促進するようセンサフュージョンＡＰＩを構成し得る。定期取得の要求に応答して、ＡＰＩは、センサフュージョンモジュール２０８及び／又は向き変更が起こったときに登録済みアプリケーションに通知メッセージを供給するよう構成される関連する通知システムにアプリケーションを登録する。次に、アプリケーション１１２は、向きの更新情報を記述する通知メッセージを通知システムを介して受信し得る。
【００６７】
センサフュージョンＡＰＩは、向き及び／又は関連情報を様々のフォーマットにおいてアプリケーションに供給し得る。例えば、向きは、上述の方法において計算されるようなコンピューティングデバイス１０２に対するアクセサリデバイス１０４の変換の形態であり得る。この場合には、向き角度又は計算された向きに対応して決定された向き状態のようなアプリケーションのために適切なフォーマットにおいて情報を取得するために、アプリケーションが供給される向き情報を処理し得る。追加的に又は代替的に、センサフュージョンモジュール２０８は、アプリケーションの代わりに向き状態を計算するよう動作し得る。よって、センサフュージョンＡＰＩを介して供給される情報は、アプリケーションによって直接的に使用可能であり得る状態名又は識別子を含み得る。
【００６８】
アプリケーション１１２は、ＡＰＩを通じて供給される向き情報を様々の方法において利用し得る。例えば、アプリケーション１１２は、向きに基づきアプリケーションのためのユーザインターフェース又はユーザインターフェースの機能性を選択的に変更し得る。これは、異なる制御装置、メニュー、ジェスチャ、及び／又は異なる夫々の向きのための入力モードを活性化することを含み得る。例えば、１つの向き（タイピング／キーボード入力向き）において現れるナビゲーションメニューが見る向きにおいて消失し得る。更に、向きに基づく様々のモード及びモード間の切替えを含むようアプリケーション１１２を構成し得る。例えば、メッセージングアプリケーションは、計算される向きに従って、テキスト入力モードからビデオモードに切り替わり得る。他の実施例において、アプリケーションは、特定の入力が異なる向きにおいて解釈される方法を変更し得る。例えば、タイピング向きにおけるボタン押込みを英数字入力のために用い得るのに対し、見る向きにおいてはコンテンツ制御機能のために同じボタンを用い得る。向きが変わるに応じて、他のボタン、キー、及び他の制御装置も選択的に使用可能又は使用不能にし得る。様々の他の実施例も想定される。
【００６９】
前述の実施例の手順を考察したので、１つ又はそれよりも多くの実施態様において技法の特徴を実施するために利用し得る例示的なシステム及びデバイスの議論を次に考察する。
【００７０】
例示的なシステム及びデバイス
図１３は、ここに記載する様々の技法を実施し得る１つ又はそれよりも多くのコンピューティングシステム及び／又はデバイスを代表する例示的なコンピューティングデバイス１０２を含む例示的なシステムを概ね番号１３００に例示している。例えば、使用者の１つ又はそれよりも多くの手によって把持され且つ支持され得るような形状及び大きさにされるハウジングの使用を通じてモバイル構造を取るよう、コンピューティングデバイス１０２を構成し得る。それらの例示的な実施例は、携帯電話、携帯ゲーム及び音楽デバイス、及びタブレットコンピュータを含むが、他の実施例も想定される。
【００７１】
例示されるような例示的なコンピューティングデバイス１３０２は、処理システム１３０４と、１つ又はそれよりも多くのコンピュータ読取可能な媒体１３０６と、互いに通信的に結合される１つ又はそれよりも多くのＩ／Ｏインターフェース１３０８とを含む。図示されていないが、コンピューティングデバイス１３０２は、様々のコンポーネントを互いに結合するシステムバス又は他のデータ及び命令移転システムを更に含み得る。システムバスは、メモリバス又はメモリコントローラ、周辺機器用バス、ユニバーサルシリアルバス、及び／又は様々のバスアーキテクチャのいずれかを利用するプロセッサ又はローカルバスのうちのいずれか１つ、或いはそれらの組み合わせを含み得る。制御線及びデータ線のような様々の他の実施例も想定される。
【００７２】
処理システム１３０４は、ハードウェアを用いる１つ又はそれよりも多くの動作を遂行する機能性の代表である。従って、処理システム１３０４は、プロセッサ、機能ブロック等として構成し得る、ハードウェア素子１３１０を含むものとして例示されいている。これは１つ又はそれよりも多くの半導体を用いて形成されるアプリケーション特異的な集積回路又は他の論理デバイスとしてのハードウェア内の実施を含み得る。ハードウェア素子１３１０は、それらを形成する材料又はそこで利用される処理機構によって限定されない。例えば、半導体及び／又はトランジスタ（例えば、電子集積回路（ＩＣｓ））でプロセッサを構成し得る。そのような脈絡において、プロセッサ実行可能な指令は、電子的に実行可能な指令であり得る。
【００７３】
コンピュータ読取可能な記憶媒体１３０６は、メモリ／記憶装置１３１２を含むものとして例示されている。メモリ／記憶装置１３１２は、１つ又はそれよりも多くのコンピュータ読取可能な媒体と関連付けられるメモリ／記憶容量を提示する。メモリ／記憶装置コンポーネント１３１２は、（ランダムアクセスメモリ（ＲＭＡ）のような）揮発性媒体及び／又は（読出し専用記憶装置（ＲＯＭ）、フラッシュメモリ、光ディスク、磁気ディスク等のような）非揮発性媒体を含み得る。メモリ／記憶装置コンポーネント１３１２は、固定媒体（例えば、ＲＡＭ，ＲＯＭ，固定ハードドライブ等）及び取外し可能な媒体（例えば、フラッシュメモリ、取り外し可能なハードドライブ、光ディスク等）を含み得る。以下に更に記載するように、コンピュータ読取可能な媒体１３０６を様々の他の方法において構成し得る。
【００７４】
入力／出力インターフェース１３０８は、使用者が命令及び情報をコンピューティングデバイス１０２に入力するのを可能にし且つ様々の入力／出力デバイスを用いて情報が使用者及び／又は他のコンポーメント若しくはデバイスに提示されるのも可能にする機能性の代表である。入力デバイスの実施例は、キーボード、カーソル制御デバイス（例えば、マウス）、マイクロフォン、スキャナ、タッチ機能性（例えば、物理的な接触を検出するよう構成される容量性の又は他のセンサ）、（例えば、接触を含まない動作をジェスチャとして認識する赤外周波数のような可視的又は可視的な波長を利用し得る）カメラ等を含む。出力デバイスの実施例は、ディスプレイデバイス（例えば、モニタ又はプロジェクタ）、スピーカ、プリンタ、ネットワークカード、感覚応答デバイス等を含む。よって、使用者相互作用をサポートするよう、コンピューティングデバイス１３０２を様々の方法において構成し得る。
【００７５】
コンピューティングデバイス１３０２は、コンピューティングデバイス１３０２から物理的に且つ通信的に取り外し可能なアクセサリデバイス１３１４に通信的に且つ物理的に結合されるものとして更に例示されている。このようにして、様々の異なるアクセサリデバイスを、多種多様な機能性をサポートするよう多種態様な構造を有するコンピューティングデバイス１３０２に結合し得る。この実施例において、アクセサリデバイス１３１４は、押圧感応キー、機械的切替えキー、ボタン等として構成し得る、１つ又はそれよりも多くの制御装置１３１６を含む。
【００７６】
アクセサリデバイス１３１４は、様々の機能性をサポートするよう構成し得る１つ又はそれよりも多くのモジュールを含むものとして更に例示さている。例えば、入力が意図されているか否かを決定する、入力が静止圧力を示しているか否かを決定する、コンピューティングデバイス１３０２との動作のためにアクセサリデバイス１３１４の認証をサポートする等のために、制御装置１３１６から受信されるアナログ及び／又はデジタル信号を処理するよう、１つ又はそれよりも多くのモジュール１３１８を構成し得る。
【００７７】
様々の技法をソフトウェア、ハードウェア素子、又はプログラムモジュールの一般的な脈絡においてここに記載し得る。一般的に、そのようなモジュールは、特定のタスクを遂行し或いは特定の抽象データ型を実施する、ルーチン、プログラム、物体、素子、コンポーネント、データ構造等を含む。ここで用いられるとき、「モジュール」、「機能性」、及び「コンポーメント」という用語は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせを概ね表す。ここに記載する技法の機能は、プラットフォームに依存であり、それは様々のプロセッサを有する様々の商業的なコンピューティングプラットフォーム上で実施し得ることを意味する。
【００７８】
既述のモジュール及び技法の実施を何らかの形態のコンピュータ読取可能な媒体の上に記憶させ或いはそれらに亘って伝達し得る。コンピュータ読取可能な媒体は、コンピューティングデバイス１３０２によってアクセスされ得る様々の媒体を含み得る。一例として、非限定的に、コンピュータ読取可能な媒体は、「コンピュータ読取可能な記憶媒体」及び「コンピュータ読取可能な信号媒体」を含み得る。
【００７９】
「コンピュータ読取可能な記憶媒体」は、単なる信号送信、搬送波、又は信号自体と対照的に、情報の持続性及び／又は非一過性の記憶を可能にする媒体及び／又はデバイスを指し得る。よって、コンピュータ読取可能な記憶媒体は、非信号支持媒体を指す。コンピュータ読取可能な記憶媒体は、コンピュータ読取可能な指令、データ指令、プログラムモジュール、論理素子／回路、又は他のデータのような情報の記憶に適した方法又は技術において実施される、揮発性及び非揮発性の、取外可能及び取外不能な、媒体及び／又は記憶装置のような、ハードウェアを含む。コンピュータ読取可能な記憶媒体の実施例は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多目的ディスク（ＤＶＤ）若しくは他の光記憶装置、ハードディスク、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は他の記憶装置、有形媒体、又は所望の情報を記憶するのに適し且つコンピュータによってアクセスされ得る製造品を含み得るが、これらの限定されない。
【００８０】
「コンピュータ読取可能な信号媒体」は、例えばネットワークを介してコンピューティングデバイス１３０２のハードウェアに指令を送信するよう構成される信号支持媒体を指し得る。信号媒体は、コンピュータ読取可能な指令、データ構造、プログラムモジュール、又は、搬送波、データ信号、若しくは他の輸送機構のような変調データ信号内の他のデータを具現し得る。信号媒体は、任意の情報給送媒体も含む。「変調データ信号」という用語は、信号中の情報を符号化するような方法において設定され或いは変更されるその特性のうちの１つ又はそれよりも多くの特性を有する信号を意味する。一例として、非限定的に、通信媒体は、有線ネットワーク又は直接線接続のような有線媒体、並びに音響、ＲＦ、赤外線、及び他の無線媒体のような無線媒体を含む。
【００８１】
前述のように、ハードウェア素子１３１０及びコンピュータ読取可能な媒体１３０６は、１つ又はそれよりも多くの指令を遂行することのような、ここに記載する技法のうちの少なくとも幾つかの特徴を実施するよう幾つかの実施態様において利用し得るハードウェア形態において実施される、モジュール、プログラマブルデバイス論理、及び／又は固定デバイス論理を代表する。ハードウェアは、集積回路又はオンチップシステムのコンポーネント、マイクロコントローラデバイス、アプリケーション特異的な集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、結合プログラム可能論理回路（ＣＰＬＤ）、及びシリコン又は他のハードウェア内の他の実施を含み得る。この脈絡において、ハードウェアは、ハードウェアによって具現される指令及び／又は論理によって定められるプログラムタスクを遂行する処理デバイス、並びに実行のための指令を記憶するために利用されるハードウェア、例えば、前述のコンピュータ読取可能な記憶媒体として動作し得る。
【００８２】
ここに記載する様々の技法を実施するためにも前述の組み合わせを利用し得る。従って、ソフトウェア、ハードウェア、又は実行可能なモジュールを、何らかの形態のコンピュータ読取可能な記憶媒体上に具現される１つ又はそれよりも多くの指令及び／又は論理として、且つ／或いは１つ又はそれよりも多くのハードウェア素子１３１０によって実施し得る。ソフトウェア及び／又はハードウェアモジュールに対応する特定の指令及び／又は機能を実施するようコンピューティングデバイス１３０２を構成し得る。従って、ソフトウェアとしてコンピューティングデバイス１３０２によって実行可能であるモジュールの実施を、少なくとも部分的にハードウェア内で、例えば、処理システム１３０４のハードウェア素子１３０１及び／又はコンピュータ読取可能な記憶媒体の使用を通じて達成し得る。ここに記載する技法、モジュール、及び実施例を実施するために、１つ又はそれよりも多くの製造品（例えば、１つ又はそれよりも多くのコンピューティングデバイス１３０２及び／又は処理システム１３０４）によって、それらの指令及び／又は機能を実行可能／動作可能であり得る。
【００８３】
結論
構造的な機能及び／又は方法論的な技術に特異な言語において例示的な実施態様を記載したが、付属の請求項において定められる実施は、記載した特異な機能又は技術に必ずしも限定されないことが理解されなければならない。むしろ、特異の機能及び技術は、請求項中の機能を実施する例示的な形態として開示されている。
【図１】
2015520838.tif 000003
【図２】
2015520838.tif 000004
【図３】
2015520838.tif 000005
【図４】
2015520838.tif 000006
【図５】
2015520838.tif 000007
【図６】
2015520838.tif 000008
【図７】
2015520838.tif 000009
【図８】
2015520838.tif 000010
【図９】
2015520838.tif 000011
【図１０】
2015520838.tif 000012
【図１１】
2015520838.tif 000013
【図１２】
2015520838.tif 000014
【図１３】
2015520838.tif 000015
【国際調査報告】
2015520838.tif 000016
2015520838.tif 000017