(57)【特許請求の範囲】
【請求項１】
動きデータを生成する動きセンサと；
前記動きデータを所定のサンプリングレートでサンプルし、
前記動きデータにバイアス除去アルゴリズムを適用して、バイアスのない動きデータセットを生成することであって、
前記動きデータの高速フーリエ変換（ＦＦＴ）を生成し、
前記ＦＦＴから少なくとも１つの係数を除外して、簡略化されたＦＦＴを生成し、
前記簡略化されたＦＦＴに逆高速フーリエ変換（ＩＦＦＴ）を適用することによって、前記動きデータを再構築することを含むことと、
ハードウェアロジックを少なくとも部分的に含む、ロジックを備えるコントローラと；
前記バイアスのない動きデータセットを伝送するトランスミッタと；
を具備し、前記コントローラは、２０Ｈｚのレートで前記動きデータをサンプルする、装置。
【請求項２】
前記バイアス除去アルゴリズムは、４００個のサンプルの集合に適用される、
請求項１に記載の装置。
【請求項３】
当該装置に通信可能に結合される電子デバイスにおいて：
少なくとも１つのリモート動き感知デバイスからの動き追跡データを受け取る入出力インタフェースと；
前記入出力インタフェースに結合されるコントローラであって、
前記動き追跡データを受け取り、
前記動き追跡データを使用して推定位置データを生成し、
前記電子デバイスに結合されるディスプレイデバイス上に前記推定位置データを提示する、
ハードウェアロジックを少なくとも含むロジックを備えるコントローラと；
を具備する電子デバイスを更に備える、
請求項１に記載の装置。
【請求項４】
前記電子デバイス内のコントローラは、
カルマンフィルタアルゴリズムを前記動き追跡データに適用する、
ハードウェアロジックを少なくとも部分的に含むロジックを備える、
請求項３に記載の装置。
【請求項５】
前記電子デバイス内のコントローラは、
前記推定位置データを備えるビデオを前記ディスプレイデバイス上にレンダリングする、
ハードウェアロジックを少なくとも部分的に含むロジックを備える、
請求項４に記載の装置。
【請求項６】
コントローラであって：
動きセンサからの動きデータを所定のサンプリングレートでサンプルし、
前記動きデータにバイアス除去アルゴリズムを適用して、バイアスのない動きデータセットを生成することであって、
前記動きデータの高速フーリエ変換（ＦＦＴ）を生成し、
前記ＦＦＴから少なくとも１つの係数を除外して、簡略化されたＦＦＴを生成し、
前記簡略化されたＦＦＴに逆高速フーリエ変換（ＩＦＦＴ）を適用することによって、前記動きデータを再構築することを含むことと、
前記バイアスのない動きデータセットを伝送するよう、当該コントローラに結合されるトランスミッタに前記バイアスのない動きデータセットを転送する、
ハードウェアロジックを少なくとも部分的に含む、ロジックを備え、当該コントローラは、２０Ｈｚのレートで前記動きデータをサンプルする、コントローラ。
【請求項７】
前記バイアス除去アルゴリズムは、４００個のサンプルの集合に適用される、
請求項６に記載のコントローラ。
【請求項８】
当該コントローラに通信可能に結合される電子デバイスにおいて：
少なくとも１つのリモート動き感知デバイスからの動き追跡データを受け取る入出力インタフェースと；
前記入出力インタフェースに結合されるコントローラであって、
前記動き追跡データを受け取り、
前記動き追跡データを使用して推定位置データを生成し、
当該電子デバイスに結合されるディスプレイデバイス上に前記推定位置データを提示する、
ハードウェアロジックを少なくとも含むロジックを備えるコントローラと；
を具備する電子デバイスを更に備える、
請求項６に記載のコントローラ。
【請求項９】
前記電子デバイス内の前記コントローラは、
カルマンフィルタアルゴリズムを前記動き追跡データに適用する、
ハードウェアロジックを少なくとも部分的に含むロジックを備える、
請求項８に記載のコントローラ。
【請求項１０】
前記電子デバイス内の前記コントローラは、
前記推定位置データを備えるビデオを前記ディスプレイデバイス上にレンダリングする、
ハードウェアロジックを少なくとも部分的に含むロジックを備える、
請求項９に記載のコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本出願は、３５  Ｕ．Ｓ．Ｃ．  ３６５（ｂ）の下で２０１５年３月２７日出願のインド特許出願第１５８７／ＣＨＥ／２０１５号による優先権の利益を主張する。これにより、特許出願第１５８７／ＣＨＥ／２０１５号は、参照によってその全体が本明細書に組み込まれる。
【０００２】
本明細書で説明される主題は、一般に電子デバイスの分野に関し、より具体的には、電子デバイスを使用する動き追跡に関する。
【背景技術】
【０００３】
動き追跡は、運動中の身体部分の動きを分析することや理学療法、場所／位置追跡及び物体追跡の用途といった、様々な用途に有益であり得る。したがって、電子デバイスがリモートセンサからの入力に基づいて動き追跡を実装することを可能にする技術は、実用性を見つけることができる。
【図面の簡単な説明】
【０００４】
詳細な説明は添付の図面に関連して説明される。
【０００５】
【図１】一部の例に従って電子デバイスにおける動き追跡を実装するように適合され得る電子デバイスの概略図である。
【０００６】
【図２】一部の例に従って電子デバイスにおける動き追跡を実装する例示のアーキテクチャの高レベルの概略図である。
【０００７】
【図３】一部の例に従って電子デバイスにおける動き追跡を実装することができる環境の概略図である。
【０００８】
【図４Ａ】一部の例に従って電子デバイスにおける動き追跡を実装する方法の動作を例示するフローチャートである。
【図４Ｂ】一部の例に従って電子デバイスにおける動き追跡を実装する方法の動作を例示するフローチャートである。
【図５】一部の例に従って電子デバイスにおける動き追跡を実装する方法の動作を例示するフローチャートである。
【０００９】
【図６】一部の例に従って電子デバイスにおける動き追跡を実装するように適合され得る電子デバイスの概略図である。
【図７】一部の例に従って電子デバイスにおける動き追跡を実装するように適合され得る電子デバイスの概略図である。
【図８】一部の例に従って電子デバイスにおける動き追跡を実装するように適合され得る電子デバイスの概略図である。
【図９】一部の例に従って電子デバイスにおける動き追跡を実装するように適合され得る電子デバイスの概略図である。
【図１０】一部の例に従って電子デバイスにおける動き追跡を実装するように適合され得る電子デバイスの概略図である。
【発明を実施するための形態】
【００１０】
本明細書で説明されるのは、電子デバイスにおける動き追跡を実装する例示のシステム及び方法である。以下の説明では、様々な実施例の完全な理解を提供するために様々な具体的詳細が説明される。しかしながら、当業者には、様々な実施例はその具体的詳細を用いずに実施されてもよいことが理解されよう。他の例では、特定の実施例を曖昧にしないようにするために、周知の方法、手順、コンポーネント及び回路が詳細には図示されず又は説明されていないことがある。
【００１１】
上述のように、電子デバイスと通信する１つ以上の動きセンサの動きを追跡する技術を実装するように使用され得る、動き追跡アルゴリズム及び構成要素を有する電子デバイスを提供することは有益であり得る。本明細書で説明されるように、１つ以上の動きセンサアセンブリが、ユーザによって装着され得るブレスレット、衣服又は弾性バンド（elastomeric  band）等のようなウェアラブル装置に組み込まれてよい。あるいは、１つ以上の動きセンサアセンブリを、ユーザの体節に付着させるか埋め込むことができる。動作において、動きセンサアセンブリは、１つ以上の動きセンサによって生成される動きデータをサンプリングし、バイアス除去アルゴリズム（bias  elimination  algorithm）を動きデータに適用して、サンプルから、バイアス除去済み動きデータセット（debiased  motion  data  set）を生成することができる。一部の例において、バイアス除去アルゴリズムは、動きセンサアセンブリの代わりにデバイス上で実行してよい。その後、トランスミッタが、動きセンサアセンブリに通信可能に結合される電子デバイスによる受け取りのために、バイアス除去済みデータセットを送信することができる。
【００１２】
電子デバイスは、少なくともリモートの動き感知デバイスから動き追跡データを受け取る入出力インタフェースと、該入出力インタフェースに結合されるコントローラを備えることができる。コントローラは、動き追跡データを受け取り、該動き追跡データを使用して推定位置データを生成し、推定位置データを、電子デバイスに結合されるディスプレイデバイス上に提示／レンダリングするロジックを備えることができる。
【００１３】
磁力計ユニット及び電子デバイスの追加の特徴及び動作特性を図１〜１０に関連して以下で説明する。
【００１４】
図１は、一部の例に係る動き追跡モジュールを含むよう適合され得る電子デバイス１００の概略図である。様々な例において、電子デバイス１００は、ディスプレイ、１つ以上のスピーカ、キーボード、１つ以上の他のＩ／Ｏデバイス、マウス又はカメラ等を含め、１つ以上の付属の入出力デバイスを含むか、これに結合されてよい。他の例示のＩ／Ｏデバイスは、タッチスクリーン、音声活性化入力デバイス、トラックボール、地理位置デバイス、加速度計／ジャイロスコープ、バイオメトリック特徴入力デバイス及び電子デバイス１００がユーザからの入力を受け取ることを可能にする任意の他のデバイスを含んでよい。
【００１５】
電子デバイス１００は、システムハードウェア１２０及びメモリ１４０を含む。メモリ１４０はランダムアクセスメモリ及び／又は読取専用メモリとして実装されてよい。ファイルストアが電子デバイス１００に通信可能に結合されてよい。ファイルストアは、例えばｅＭＭＣ、ＳＳＤ、１つ以上のハードドライブ又は他のタイプのストレージデバイスのように、電子デバイス１００の内部にあってよい。あるいは、ファイルストアは、例えば１つ以上の外部ハードドライブ、ネットワーク取付けストレージ又は別個のストレージネットワークのように、電子デバイス１００の外部であってもよい。
【００１６】
システムハードウェア１２０は、１つ以上のプロセッサ１２２、グラフィクスプロセッサ１２４、ネットワークインタフェース１２６及びバス構造１２８を含んでよい。一実施形態において、プロセッサ１２２は、米国カルフォルニア州サンタバーバラのインテル社から入手可能なＩｎｔｅｌ（登録商標）Ａｔｏｍ（登録商標）プロセッサ、Ｉｎｔｅｌ（登録商標）Ａｔｏｍ（登録商標）ベースのシステムオンチップ（ＳＯＣ）又はＩｎｔｅｌ（登録商標）Ｃｏｒｅ２  Ｄｕｏ（登録商標）又はｉ３／ｉ５／ｉ７シリーズのプロセッサとして具現化されてよい。本明細書で使用されるとき、「プロセッサ」という用語は、これらに限られないが、マイクロプロセッサ、マイクロコントローラ、複数命令セットコンピュータ（ＣＩＳＣ）マイクロプロセッサ、縮小命令セット（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、あるいは任意の他のタイプのプロセッサ又は処理回路のような任意のタイプの演算要素を意味する。
【００１７】
グラフィクスプロセッサ１２４は、グラフィクス及び／又はビデオオペレーションを管理する補助プロセッサとして機能してよい。グラフィクスプロセッサ１２４は、電子デバイス１００のマザーボードに一体化されてよく、あるいはマザーボード上の拡張スロットを介して結合されるか、処理ユニットと同じダイ又は同じパッケージ上に配置されてよい。
【００１８】
一実施形態において、ネットワークインタフェース１２６は、Ｅｔｈｅｒｎｅｔ（登録商標）インタフェース（例えば２００２年のIEEE802.3を参照されたい）のような有線インタフェースであってよく、IEEE802.11a、b又はg互換インタフェース（例えばシステム間のLAN/MAN--Part  IIのIT電話通信及び情報交換のためのIEEE規格：Wireless  LAN  Medium  Access  Control(MAC)  and  Physical  Layer(PHY)  specifications  Amendment4:  Further  Higher  Data  Rate  Extension  in  the  2.4GHz  Band，802.11G，２００３年）のような無線インタフェースであってもよい。無線インタフェースの別の例は、汎用パケット無線サービス（ＧＰＲＳ）インタフェース（例えばＧＰＲＳハンドセット要件のガイドライン，Global  System  for  Mobile  Communications/GSM  Association，２００２年１２月，Ver.3.0.1を参照されたい）、Ｂｌｕｅｔｏｏｔｈ（登録商標）低エネルギ（BTLE）プロトコル等であろう。
【００１９】
バス構造１２８は、システムハードウェア１２０の様々なコンポーネントを接続する。一実施形態において、バス構造１２８は、メモリバス、周辺バス若しくは外部バス、及び／又は任意の様々な利用可能なバスアーキテクチャを使用するローカルバスを含む、幾つかのタイプのバス構造のうちの１つ以上であってよい。そのような利用可能なバスアーキテクチャは、これらに限定されないが、11-bitバス、業界標準アーキテクチャ（ＩＳＡ）、マイクロチャネルアーキテクチャ（ＭＳＡ）、拡張ＩＳＡ（ＥＩＳＡ）、インテリジェントドライブエレクトロニクス（ＩＤＥ）、ＶＥＳＡローカルバス（ＶＬＢ）、周辺コンポーネント相互接続（ＰＣＩ）、ユニバーサルシリアルバス（ＵＳＢ）、アドバンストグラフィクスポート（ＡＧＰ）、パーソナルコンピュータ・メモリカード・インターナショナルアソシエーションバス（ＰＣＭＣＩＡ）及び小型コンピュータシステムインタフェース（ＳＣＳＩ）、高速同期シリアルインタフェース（ＨＩＳ）又はシリアル低電力インターチップメディアバス（SＬＩＭｂｕｓ（登録商標））等を含む。
【００２０】
電子デバイス１００は、ＲＦ信号を送受信するＲＦトランシーバ１３０と、近距離通信（ＮＦＣ）無線機１３４と、ＲＦトランシーバ１３０によって受け取られる信号を処理する信号処理モジュール１３２を含んでよい。ＲＦレシーバは、例えばＢｌｕｅｔｏｏｔｈ（登録商標）又は802.11X、IEEE802.11a，b又はg互換インタフェース（例えばシステム間のLAN/MAN--Part  IIのIT電話通信及び情報交換のためのIEEE規格：Wireless  LAN  Medium  Access  Control(MAC)  and  Physical  Layer(PHY)  specifications  Amendment4:  Further  Higher  Data  Rate  Extension  in  the  2.4GHz  Band，802.11G，２００３年）のようなプロトコルによるローカル無線接続を実装してもよい。無線インタフェースの別の例は、ＷＣＤＭＡ（登録商標）、ＬＴＥ、汎用パケット無線サービス（ＧＰＲＳ）インタフェース（例えばＧＰＲＳハンドセット要件のガイドライン、Global  System  for  Mobile  Communications/GSM  Association，２００２年１２月，Ver.3.0.1を参照されたい）であろう。
【００２１】
電子デバイス１００は更に、例えばキーパッド１３６及びディスプレイ１３８のような１つ以上の入出力インタフェースを含んでよい。一部の例において、電子デバイス１００はキーパッドを有さずに、入力用にタッチパネルを使用してもよい。
【００２２】
メモリ１４０は、電子デバイス１００の動作を管理するためにオペレーティングシステム１４２を含んでよい。一実施形態において、オペレーティングシステム１４２は、システムハードウェア１２０へインタフェースを提供するハードウェアインタフェースモジュール１５４を含む。加えて、オペレーティングシステム１４２は、電子デバイス１００の動作に使用されるファイルを管理するファイルシステム１５０と、電子デバイス１００上で実行するプロセスを管理するプロセス制御サブシステム１５２を含んでよい。
【００２３】
オペレーティングシステム１４２は、システムハードウェア１２０と協働して動作してリモートソースからデータパケット及び／又はデータストリームを送受信することができる、１つ以上の通信インタフェース１４６を含む（又は管理する）ことができる。オペレーティングシステム１４２は更に、該オペレーティングシステム１４２と、メモリ１４０内に存在する１つ以上のアプリケーションモジュールとの間のインタフェースを提供するシステムコールインタフェースモジュール１４４も含んでよい。オペレーティングシステム１４２は、ＵＮＩＸ（登録商標）オペレーティングシステム又はその任意の派生形（例えばＬｉｎｕｘ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）等）として、あるいはＷｉｎｄｏｗｓ（登録商標）ブランドのオペレーティングシステム又は他のオペレーティングシステムとして具現化されてよい。
【００２４】
一部の例において、電子デバイスはコントローラ１７０を含んでよく、コントローラ１７０は、主実行環境から分離した１つ以上のコントローラを備えてもよい。そのような分離は、主プロセッサから物理的に分離したコントローラにおいて、コントローラが実装されてよいという意味で物理的なものであってよい。あるいは、信頼できる実行環境は、主プロセッサをホストする同じチップ又はチップセット上でコントローラをホストすることができるという意味で論理的であってよい。
【００２５】
例として、一部の例では、コントローラ１７０は、電子デバイス１００のマザーボード上に配置される独立の集積回路として、例えば同じＳＯＣダイ上で専用のプロセッサブロックとして実装されてよい。他の例では、信頼できる実行エンジンが、プロセッサ１２２の一部において実装されてよく、ハードウェア強化機構（hardware  enforced  mechanisms）を使用してプロセッサの残りの部分から分離される。
【００２６】
図１に図示される実施形態では、コントローラ１７０は、プロセッサ１７２、メモリモジュール１７４、動き追跡モジュール１７６及びＩ／Ｏインタフェース１７８を備える。一部の例では、メモリモジュール１７４は、持続的フラッシュメモリモジュールを備えてよく、様々な機能モジュールが、持続的メモリモジュール内にエンコードされる論理命令として、例えばファームウェア又はソフトウェアとして実装されてよい。Ｉ／Ｏモジュール１７８は、シリアルＩ／Ｏモジュール又はパラレルＩ／Ｏモジュールを備えてよい。コントローラ１７０が主プロセッサ１２２及びオペレーティングシステム１４２から分離しているので、コントローラ１７０をセキュアにすることができる。すなわち、典型的にホストプロセッサ１２２からのソフトウェア攻撃をマウントするハッカーに対して、コントローラ１７０をアクセス不可能にすることができる。一部の例では、動き追跡モジュール１７６の一部は、電子デバイス１００のメモリ１４０内に存在してよく、プロセッサ１２２のうちの１つ以上で実行可能であり得る。
【００２７】
一部の例において、動き追跡モジュール１７６は、電子デバイス１００の１つ以上の他のコンポーネントと対話して、１つ以上のリモート動き感知アセンブリから動き追跡データを受け取り、動き追跡データを処理する。図２は、電子デバイスにおける動き追跡を実装する例示のアーキテクチャの高レベルの概略図である。図２を参照すると、コントローラ２２０は、汎用プロセッサ１２２として、あるいはコントローラ１７０のような低電力コントローラとして具現化されてよい。コントローラ２２０は、レンダリングモジュール２７０、動き追跡モジュール１７６及びローカルメモリ２６０を備えてよい。上述のように、一部の例では、レンダリングモジュール２７０及び動き追跡モジュール１７６、結合ユニット（combiner  unit）２５０は、コントローラ２２０上で実行可能な論理命令として、例えばソフトウェア又はハードウェアとして実装されてよく、あるいは、ハードワイヤード論理回路にまとめられてもよい（reduce）。ローカルメモリ２６０は、揮発性及び／又は不揮発性メモリを使用して実装されてよい。
【００２８】
１つ以上の動きセンサアセンブリ２３０は、例えば有線又は無線通信接続を介して、動き追跡モジュールへ通信可能に結合されてよい。図２に図示される例は、アセンブリＡ、Ｂ．．．Ｎとして図示されるＮ個の動きセンサアセンブリを示している。アセンブリの合計数Ｎは、１と、任意の多くのセンサ数との間で変化し得る。上述のように、動きセンサは、ブレスレット、衣服、弾性バンド／パッチ等といった、ユーザによって装着され得るウェアラブル装置へ組み込まれてよい。あるいは、１つ以上の動きセンサアセンブリは、ユーザの体節へ付着されるか埋め込まれてもよい。
【００２９】
それぞれの動きセンサアセンブリ２３０は、動きセンサ２３２、コントローラ２３４及びトランスミッタ２３６を備える。それぞれの動きセンサ２３２は、ジャイロスコープ、内部測定ユニット等として実装されてよい。それぞれのコントローラ２３４は、独立の集積回路として実装されてよい。それぞれのトランスミッタ２３６は、任意の適切な無線プロトコルに従って動作する無線トランスミッタを実装してもよい。
【００３０】
図３は、一部の例に従って、電子デバイスにおける動き追跡を実装することができる環境の概略図である。図３を参照すると、複数の動きセンサアセンブリ２３０はユーザの様々な場所に配置されてよい。動きセンサアセンブリ２３０は、電子デバイス１００に通信可能に結合されてよい。
【００３１】
図４Ａ〜図４Ｂ及び図５は、一部の例に従って、電子デバイスにおける動き追跡を実装する方法の動作を示すフローチャートである。一部の例において、図４Ａ及び図４Ｂに図示される動作は、それぞれの動きセンサアセンブリ２３０によって実装されてよい。図４Ａを参照すると、動作４１０において、コントローラ２３４は、動きセンサの動きに応答して、動きセンサ２３２によって生成されるデータをサンプリングする。一部の実施例において、コントローラ２３４は動きデータを２０Ｈｚレートでサンプリングする。
【００３２】
動作４１５において、コントローラ２３４は、バイアス除去アルゴリズムを動きデータに対して実施して、バイアスのない動きデータセット（unbiased  motion  data  set）を生成する。一部の実施例において、アルゴリズムは、バイアス推定のために４００個のサンプル（400  samples）のサンプルサイズを使用する。図４Ｂは、バイアス除去アルゴリズムの一例における動作を示すフローチャートである。図４Ｂを参照すると、動作４５０において、動作４１０で収集されたサンプルデータの高速フーリエ変換（ＦＦＴ）が決定される。動作４５５において、動作４５０で計算されたＦＦＴの少なくとも１つの係数が削除される。一部の例では、ＦＦＴの第１係数を削除して、簡略化ＦＦＴを生成する。動作４６０において、動作４５５で決定された簡略化ＦＦＴの逆高速フーリエ変換ＩＦＦＴを決定することによって、データセットが再構築される。
【００３３】
図４Ｂに図示されるバイアス除去アルゴリズムは、動作４１０で収集されたサンプルからバイアス除去済み信号セットを提供する。したがって、バイアスは、状態推定アルゴリズム（例えばカルマンフィルタ）における状態ベクトルに伝搬される必要がない。状態ベクトルの減少された次元は、以前の技術と比べて最大で５倍（a  factor  of  5X）まで計算時間を減らす。さらに、バイアス除去済みジャイロスコープ信号は、姿勢（attitude）としても知られる、改善された方向推定（improved  orientation  estimation）を得ることも可能にする。姿勢表現の例は、オイラー角、四元数及び回転マトリクス（Rotation  Matrices）である。
【００３４】
図４Ａに戻ると、動作４２０において、動作４６０で再構築されたデータセットが圧縮され、動作４２５において、データ圧縮されたデータセットがトランスミッタ２３６によって伝送される。
【００３５】
図５は、動き追跡モジュール１７６によって実装される動作を図示している。図５を参照すると、動作５１０において、動作４２５でセンサアセンブリによって伝送されたデータを受け取る。動作５１５において、データが圧縮解除され、動作５２０において、推定位置データが生成される。一部の例において、カルマンフィルタアルゴリズムを使用して、動きデータ内のジッタを除去することができる。動作５２０において、推定位置データが、電子デバイスに結合されるディスプレイデバイス上に提示されてよい。一部の実施例において、推定位置／方向（orientation）データをレンダリングモジュール２７０に提示してもよく、レンダリングモジュール２７０は、ユーザ又は物体の推定方向を備える動きビデオを生成する。
【００３６】
上述のように、一部の例において、電子デバイスはコンピュータシステムとして具現化されてよい。図６は、一例によるコンピューティングシステム６００のブロック図を図示している。コンピューティングシステム６００は、相互接続ネットワーク（又はバス）６０４を介して通信する１つ以上の中央処理ユニット６０２又はプロセッサを含んでよい。プロセッサ６０２は、汎用プロセッサ、（コンピュータネットワーク６０３を介して通信されるデータを処理する）ネットワークプロセッサ、あるいは（縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサ又は複数命令セットコンピュータ（ＣＩＳＣ）を含む）他のタイプのプロセッサを含んでよい。さらに、プロセッサ６０２は、シングル又はマルチコア設計を有してよい。マルチコア設計のプロセッサ６０２は、異なるタイプのプロセッサコアを同じ集積回路（ＩＣ）ダイ上に統合することができる。また、マルチコア設計のプロセッサ６０２は、対称又は非対称のマルチプロセッサとして実装されてよい。一例では、プロセッサ６０２のうちの１つ以上が、図１のプロセッサ１０２と同じ又は同様であってよい。例えばプロセッサ６０２のうちの１つ以上が、図１〜図３に関連して説明した制御ユニット１２０を含んでもよい。また、図３〜図５に関連して説明した動作が、システム６００の１つ以上のコンポーネントによって実行されてもよい。
【００３７】
チップセット６０６も相互接続ネットワーク６０４と通信してよい。チップセット６０６はメモリ制御ハブ（ＭＣＨ）６０８を含んでよい。ＭＣＨ２０８は、（図１のメモリ１４０と同じ又は同様であってよい）メモリ６１２と通信するメモリコントローラ６１０を含んでよい。メモリ４１２は、命令のシーケンスを含め、プロセッサ６０２によって、又はコンピューティングシステム６００内に含まれる任意の他のデバイスによって実行可能なデータを記憶することができる。一例において、メモリ６１２は、ランダムアクセスメモリ（ＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、静的ＲＡＭ（ＳＲＡＭ）又は他のタイプのストレージデバイスのような、１つ以上の揮発性ストレージ（メモリ）デバイスを含んでよい。ハードディスクのような不揮発性メモリも使用してよい。複数のプロセッサ及び／又は複数のシステムメモリのような追加のデバイスが、相互接続ネットワーク６０４を介して通信してよい。
【００３８】
ＭＣＨ６０８は、ディスプレイデバイス６１６と通信するグラフィクスインタフェース６１４も含んでよい。一例では、グラフィクスインタフェース６１４は、アクセラレイテッド・グラフィクスポート（ＡＧＰ）を介してディスプレイデバイス６１６と通信してもよい。一例では、ディスプレイ６１６（フラットパネルディスプレイ等）が、例えば信号コンバータを介してグラフィクスインタフェース６１４と通信することができる。信号コンバータは、ビデオメモ又はシステムメモリ等のストレージデバイス内に記憶された画像のデジタル表現を、ディスプレイ６１６によって解釈及び表示されるディスプレイ信号に変換する。ディスプレイデバイスによって生成されるディスプレイ信号は、ディスプレイ６１６によって解釈されてその後にディスプレイ６１６に表示される前に、様々な制御デバイスを通過することがある。
【００３９】
ハブインタフェース６１８は、ＭＣＨ６０８及び入出力制御ハブ（ＩＣＨ）６２０が通信することを可能にすることができる。ＩＣＨ６２０は、コンピューティングシステム６００と通信するＩ／Ｏデバイスへのインタフェースを提供することができる。ＩＣＨ６２０は、周辺コンポーネント相互接続（ＰＣＩ）ブリッジ、ユニバーサルシリアルバス（ＵＳＢ）コントローラ、あるいは他のタイプの周辺ブリッジ又はコントローラのような、周辺ブリッジ（又はコントローラ）６２４を通してバス６２２と通信することができる。ブリッジ６２４は、プロセッサ６０２と周辺デバイスとの間のデータ経路を提供することができる。他のタイプのトポロジを使用してもよい。また、複数のバスが、例えば複数のブリッジ又はコントローラを通してＩＣＨ６２０と通信してもよい。さらに、ＩＣＨ６２０と通信する他の周辺機器は、様々な例において、一体型ドライブエレクトロニクス（ＩＤＥ）又は小型コンピュータシステムインタフェース（ＳＣＳＩ）ハードドライブ、ＵＳＢポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピーディスクドライブ、デジタル出力サポート（例えばデジタルビデオインタフェース（ＤＶＩ））又は他のデバイスを含んでよい。
【００４０】
バス６２２は、オーディオデバイス６２６、１つ以上のディスクドライブ６２８及び（例えばコンピュータネットワーク６０３と通信する）ネットワークインタフェースデバイス６３０と通信してよい。他のデバイスがバス６２２を介して通信してもよい。また、一部の例では、（ネットワークインタフェースデバイス６３０のような）様々なコンポーネントが、ＭＣＨ６０８と通信してもよい。加えて、プロセッサ６０２及び本明細書で説明される１つ以上の他のコンポーネントを組み合わせて、単一のチップを形成する（例えばシステムオンチップ（ＳＯＣ）を提供する）ことができる。さらに、他の例では、グラフィクスアクセラレータ６１６がＭＣＨ６０８内に含まれてもよい。
【００４１】
さらに、コンピューティングシステム６００は、揮発性及び／又は不揮発性メモリ（又はストレージ）を含んでよい。例えば不揮発性メモリは、読取専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電子的ＥＰＲＯＭ（ＥＥＰＲＯＭ）、ディスクドライブ（例えば６２８）、フロッピーディスク、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、フラッシュメモリ、磁気光ディスク、あるいは（例えば命令を含む）電子データを記憶する能力を有する他のタイプの不揮発性マシン読取可能媒体、のうちの１つ以上を含んでよい。
【００４２】
図７は、一例に係るコンピューティングシステム７００のブロック図である。システム７００は、１つ以上のプロセッサ７０２−１〜７０２−Ｎ（ここでは、一般に（複数の）「プロセッサ７０２」又は（１つの）「プロセッサ７０２」と呼ぶ）を含んでよい。プロセッサ７０２は相互接続ネットワーク又はバス７０４を介して通信してよい。各プロセッサは様々なコンポーネントを含んでよいが、明確性のために、そのコンポーネントの一部のみをプロセッサ７０２−１に関連して説明する。したがって、残りのプロセッサ７０２−２〜７０２−Ｎの各々は、プロセッサ７０２−１に関連して説明されるものと同じ又は同様のコンポーネントを含んでよい。
【００４３】
一例において、プロセッサ７０２−１は、１つ以上のプロセッサコア７０６−１〜７０６Ｍ（ここでは、（複数の）「コア７０６」又はより一般的に（１つの）「コア７０６」と呼ぶ）、共有キャッシュ７０８、ルータ７１０及び／又はプロセッサ制御ロジック若しくはユニット７２０を含んでよい。プロセッサコア７０６は、単一の集積回路（ＩＣ）チップ上に実装されてよい。さらに、チップは、１つ以上の共有及び／又はプライベートキャッシュ（キャッシュ７０８等）、バス又は相互接続（バス又は相互接続ネットワーク７１２等）、メモリコントローラ又は他のコンポーネントを含んでよい。
【００４４】
一例において、ルータ７１０を使用して、プロセッサ７０２−１及び／又はシステム７００の様々なコンポーネント間で通信してもよい。さらに、プロセッサ７０２−１は、２つ以上のルータ７１０を含んでもよい。さらに、多数のルータ７１０が、プロセッサ７０２−１の内部又は外部の様々なコンポーネントの間のデータルーティングを可能にするよう通信してもよい。
【００４５】
共有キャッシュ７０８は、コア７０６のような、プロセッサ７０２−１の１つ以上のコンポーネントによって使用されるデータ（例えば命令を含む）を格納してよい。例えば共有キャッシュ７０８は、プロセッサ７０２のコンポーネントによる高速アクセスのために、メモリ７１４内に記憶されるデータをローカルにキャッシュしてよい。一例において、キャッシュ７０８は、中間レベルキャッシュ（レベル２（Ｌ２）、レベル３（Ｌ３）、レベル４（Ｌ４）又は他のキャッシュレベル等）、ラストレベルキャッシュ（ＬＬＣ）及び／又はこの組合せを含んでよい。さらに、プロセッサ７０２−１の様々なコンポーネントは、共有キャッシュ７０８と直接、バス（例えばバス７１２）及び／又はメモリコントローラ又はハブを通して通信してよい。図７に図示されるように、一部の例では、コア７０６の１つ以上がレベル１（Ｌ１）キャッシュ７１６−１（ここでは、一般に「Ｌ１キャッシュ７１６」と呼ぶ）を含んでよい。一例において、制御ユニット７２０は、図２のメモリコントローラ１２２に関連して上述した動作を実装するロジックを含んでよい。
【００４６】
図８は、一例に係るプロセッサコア７０６及びコンピューティングシステムの他のコンポーネントの部分のブロック図である。一例において、図８に図示される矢印は、コア７０６を通過する命令の流れの向きを示している。１つ以上のプロセッサコア（プロセッサコア７０６等）は、図７に関連して説明したような単一の集積回路チップ（又はダイ）上で実装されてよい。さらに、チップは、１つ以上の共有及び／又はプライベートキャッシュ（例えば図７のキャッシュ７０８）、相互接続（例えば図７の相互接続７０４及び／又は１１２）、制御ユニット、メモリコントローラ又は他のコンポーネントを含んでよい。
【００４７】
図８に図示されるように、プロセッサコア７０６は、コア７０６による実行のために命令（条件分岐のある命令を含む）をフェッチするフェッチユニット８０２を含んでよい。命令は、メモリ７１４のような任意のストレージデバイスからフェッチされてよい。コア７０６は、フェッチされた命令を復号するデコードユニット８０４も含んでよい。例えばデコードユニット８０４は、フェッチされた命令を複数のｕｏｐｓ（マイクロオペレーション）へと復号してよい。
【００４８】
加えて、コア７０６はスケジュールユニット８０６を含んでよい。スケジュールユニット８０６は、（例えばデコードユニット８０４から受け取った）復号済み命令のディスパッチの準備ができるまで、例えば復号済み命令の全てのソース値が利用可能になるまで、これらの復号済み命令を記憶することに関連付けられる様々な動作を実行してよい。一例において、スケジュールユニット８０６は、復号済み命令を実行のために実行ユニット８０８に対してスケジュール及び／又は発行（又はディスパッチ）してもよい。実行ユニット８０８は、命令が（例えばデコードユニット８０４によって）復号され、（例えばスケジュールユニット８０６によって）ディスパッチされた後に、ディスパッチされた命令を実行してもよい。一例において、実行ユニット８０８は、２つ以上の実行ユニットを含んでもよい。実行ユニット８０８は、加算、減算、乗算及び／又は除算といった様々な算術演算を実行してもよく、１つ以上の算術論理ユニット（ＡＬＵ）を含んでもよい。一例において、コプロセッサ（図示せず）が、実行ユニット８０８と協働して様々な算術演算を実行してもよい。
【００４９】
さらに、実行ユニット８０８は、順不同で命令を実行してもよい。したがって、一例では、プロセッサコア７０６はアウトオブオーダープロセッサコアであってよい。コア７０６は、リタイヤユニット（retirement  unit）８１０も含んでよい。リタイヤユニット８１０は、命令がコミットされた後、これらの実行された命令をリタイヤさせてよい。一例では、実行された命令のリタイヤの結果、プロセッサの状態は、命令の実行からコミットされ、命令によって使用された物理的レジスタは、割り当て解除されること等がある。
【００５０】
コア７０６は、１つ以上のバス（例えばバス７０４及び／又は７１２）を介して、プロセッサコア７０６のコンポーネントと、（図８に関連して説明したコンポーネントのような）他のコンポーネントとの間の通信を可能にするバスユニット８１４も含んでよい。コア７０６は、該コア７０６の様々なコンポーネントによってアクセスされるデータ（電力消費状態設定に関連する値等）を記憶する、１つ以上のレジスタ８１６も含んでよい。
【００５１】
さらに、図７は、制御ユニット７２０が相互接続８１２を介してコア７０６と結合されるように図示しているが、様々な例では、制御ユニット７２０は、バス７０４を介してコアと結合される別の場所、例えばコア７０６の内部等に配置されてもよい。
【００５２】
一部の例では、本明細書で説明されるコンポーネントの１つ以上を、システムオンチップ（ＳＯＣ）デバイスとして具現化することができる。図９は、一例によるＳＯＣパッケージのブロック図を図示している。図９に図示されるように、ＳＯＣ９０２は、１つ以上のプロセッサコア９２０、１つ以上のグラフィクスプロセッサコア９３０、入出力（Ｉ／Ｏ）インタフェース９４０及びメモリコントローラ９４２を含む。ＳＯＣパッケージ９０２の様々なコンポーネントは、本明細書で他の図面に関連して説明したような相互接続又はバスに結合されてよい。また、ＳＯＣパッケージ９０２は、本明細書で他の図面に関連して説明したような、より多くの又はより少ないコンポーネントを含んでもよい。さらに、ＳＯＣパッケージ９０２の各コンポーネントは、例えば本明細書の他の図面に関連して説明したような、１つ以上の他のコンポーネントを含んでもよい。一例では、ＳＯＣパッケージ９０２（及びそのコンポーネント）は、例えば単一の半導体デバイスにパッケージ化される、１つ以上の集積回路（ＩＣ）ダイに提供される。
【００５３】
図９に図示されるように、ＳＯＣパッケージ９０２は、メモリコントローラ９４２を介してメモリ９６０（本明細書で他の図面に関連して説明したメモリと同様又は類似であってよい）に結合される。一例では、メモリ９６０（又はその一部）をＳＯＣパッケージ９０２に統合することができる。
【００５４】
Ｉ／Ｏインタフェース９４０は、例えば本明細書で他の図面に関連して説明したような相互接続及び／又はバスを介して、１つ以上のＩ／Ｏデバイス９７０に結合されてよい。Ｉ／Ｏデバイス９７０は、キーボード、マウス、タッチパッド、ディスプレイ、イメージ／ビデオキャプチャデバイス（カメラ又はカムコーダ／ビデオレコーダ等）、タッチ面又はスピーカ等のうちの１つ以上を含んでよい。
【００５５】
図１０は、一例に係る、ポイントツーポイント（ＰｔＰ）構成で編成されるコンピューティングシステム１０００を図示している。特に、図１０は、プロセッサ、メモリ及び入出力デバイスが、複数のポイントツーポイントインタフェースによって相互接続されるシステムを図示している。図２に関連して説明した動作が、システム１０００の１つ以上のコンポーネントによって実行されてよい。
【００５６】
図１０に図示されるように、システム１０００は幾つかのプロセッサを含んでよい。明確性のために、２つのプロセッサ１００２及び１００４のみが図示されている。プロセッサ１００２及び１００４はそれぞれ、メモリ１０１０及び１０１２との通信を可能にするローカルメモリコントローラハブ（ＭＣＨ）１００６及び１００８を含んでよい。ＭＣＨ１００６及び１００８は、一部の例では、図１のメモリコントローラ１２０及びロジック１２５を含んでよい。
【００５７】
一例において、プロセッサ１００２及び１００４は、図７に関連して説明したプロセッサ７０２のうちの１つであってよい。プロセッサ１００２及び１００４は、それぞれポイントツーポイント（ＰｔＰ）インタフェース回路１０１６及び１０１８を使用して、ＰｔＰインタフェース１０１４を介してデータを交換してよい。また、プロセッサ１００２及び１００４はそれぞれ、ポイントツーポイントインタフェース回路１０２６、１０２８、１０３０及び１０３２を使用して、個々のＰｔＰインタフェース１０２２及び１０２４を介してチップセット１０２０とデータを交換してよい。チップセット１０２０は更に、例えばＰｔＰインタフェース回路１０３７を使用して、高性能グラフィクスインタフェース１０３６を介して高性能グラフィクス回路１０３４とデータを交換してよい。
【００５８】
図１０に図示されるように、図１のコア１０６及び／又はキャッシュ１０８の１つ以上をプロセッサ１００４内に配置してよい。しかしながら、他の例では、図１０のシステム１０００内の他の回路、論理ユニット又はデバイス内に存在してもよい。さらに、他の例では、図１０に図示される幾つかの回路、論理ユニット又はデバイス全体に分散されてもよい。
【００５９】
チップセット１０２０は、ＰｔＰインタフェース回路１０４１を使用してバス１０４０と通信してよい。バス１０４０は、これと通信する１つ以上のデバイス、例えばバスブリッジ１０４２及びＩ／Ｏデバイス１０４３を有してよい。バス１０４４を介して、バスブリッジ１０４２は、キーボード／マウス１０４５、通信デバイス１０４６（モデム、ネットワークインタフェースデバイス又はコンピュータネットワーク１００３と通信し得る他の通信デバイス等）、オーディオＩ／Ｏデバイス及び／又はデータストレージデバイス１０４８といった、他のデバイスと通信してよい。データストレージデバイス１０４８（ハードディスクドライブ又はＮＡＮＤフラッシュベースの半導体ドライブであってよい）は、プロセッサ１００４によって実行され得るコード１０４９を記憶してよい。
【００６０】
以下の例は更なる例に関する。
【００６１】
例１は、動きデータを生成する動きセンサと、動きデータを所定のサンプリングレートでサンプルし、動きデータにバイアス除去アルゴリズムを適用してバイアスのない動きデータセットを生成するハードウェアロジックを少なくとも部分的に含む、ロジックを備えるコントローラと、バイアスのない動きデータセットを伝送するトランスミッタと、を具備する装置である。
【００６２】
例２において、例１に係る主題は、任意選択で、コントローラが２０Ｈｚのレートで動きデータをサンプルする構成を含むことができる。
【００６３】
例３において、例１−例２のいずれか１つに係る主題は、任意選択で、バイアス除去アルゴリズムが４００個のサンプルの集合に適用される構成を含むことができる。
【００６４】
例４において、例１−例３のいずれか１つに係る主題は、任意選択で、動き追跡データの高速フーリエ変換（ＦＦＴ）を生成し、ＦＦＴから少なくとも１つの係数を除外して簡略化されたＦＦＴを生成し、簡略化されたＦＦＴに逆高速フーリエ変換（ＩＦＦＴ）を適用することによって動き追跡データを再構築するハードウェアロジックを少なくとも部分的に含む、ロジックを含むことができる。
【００６５】
例５において、例１−例４のいずれか１つに係る主題は、任意選択で、少なくとも１つのリモート動き感知デバイスからの動き追跡データを受け取る入出力インタフェースと、該入出力インタフェースに結合されるコントローラであって、動き追跡データを受け取り、動き追跡データを使用して推定位置データを生成し、電子デバイスに結合されるディスプレイデバイス上に推定位置データを提示するハードウェアロジックを少なくとも含むロジックを備えるコントローラとを含むことができる。
【００６６】
例７において、例１−例２のいずれか１つに係る主題は、任意選択で、推定位置データを備えるビデオをディスプレイデバイス上にレンダリングするハードウェアロジックを少なくとも部分的に含むロジックを含むことができる。
【００６７】
例８は、動きセンサからの動きデータを所定のサンプリングレートでサンプルし、動きデータにバイアス除去アルゴリズムを適用してバイアスのない動きデータセットを生成し、該バイアスのない動きデータセットを伝送するよう、コントローラに結合されるトランスミッタに、バイアスのない動きデータセットを転送するハードウェアロジックを少なくとも部分的に含む、ロジックを備えるコントローラである。
【００６８】
例９において、例８に係る主題は、任意選択で、コントローラが２０Ｈｚのレートで動きデータをサンプルする構成を含むことができる。
【００６９】
例１０において、例８−例９のいずれか１つに係る主題は、任意選択で、バイアス除去アルゴリズムが４００個のサンプルの集合に適用される構成を含むことができる。
【００７０】
例１１において、例８−例１０のいずれか１つに係る主題は、任意選択で、動き追跡データの高速フーリエ変換（ＦＦＴ）を生成し、ＦＦＴから少なくとも１つの係数を除外して簡略化されたＦＦＴを生成し、簡略化されたＦＦＴに逆高速フーリエ変換（ＩＦＦＴ）を適用することによって、動き追跡データを再構築するハードウェアロジックを少なくとも部分的に含む、ロジックを含むことができる。
【００７１】
例１２において、例８−例１１のいずれか１つに係る主題は、任意選択で、コントローラに通信可能に結合される電子デバイスであって、少なくとも１つのリモート動き感知デバイスからの動き追跡データを受け取る入出力インタフェースと、入出力インタフェースに結合され、動き追跡データを受け取り、動き追跡データを使用して推定位置データを生成し、電子デバイスに結合されるディスプレイデバイス上に推定位置データを提示するハードウェアロジックを少なくとも含むロジックを備えるコントローラとを具備する電子デバイスを含むことができる。
【００７２】
例１３において、例１２に係る主題は、任意選択で、カルマンフィルタアルゴリズムを動き追跡データに適用するハードウェアロジックを少なくとも部分的に含むロジックを含むことができる。
【００７３】
例１４において、例１２−例１３のいずれか１つに係る主題は、任意選択で、電子デバイス内のコントローラが、推定位置データを備えるビデオをディスプレイデバイス上にレンダリングするハードウェアロジックを少なくとも部分的に含むロジックを備える構成を含むことができる。
【００７４】
例１５は、電子デバイスであり、少なくとも１つのリモート動き感知デバイスからの動き追跡データを受け取る入出力インタフェースと、入出力インタフェースに結合されるコントローラであって、動き追跡データを受け取り、動き追跡データを使用して推定位置データを生成し、電子デバイスに結合されるディスプレイデバイス上に推定位置データを提示するハードウェアロジックを少なくとも含むロジックを備えるコントローラとを具備する。
【００７５】
例１６において、例１５に係る主題は、任意選択で、カルマンフィルタアルゴリズムを動き追跡データに適用するハードウェアロジックを少なくとも部分的に含むロジックを含むことができる。
【００７６】
例１７において、例１５−例１６のいずれか１つに係る主題は、任意選択で、コントローラが、推定位置データを備えるビデオをディスプレイデバイス上にレンダリングするハードウェアロジックを少なくとも部分的に含むロジックを備える構成を含むことができる。
【００７７】
例１８は、動き追跡データを受け取り、動き追跡データを使用して推定位置データを生成し、電子デバイスに結合されるディスプレイデバイス上に前記推定位置データを提示するハードウェアロジックを少なくとも含むロジックを備えるコントローラである。
【００７８】
例１９において、例１８に係る主題は、任意選択で、カルマンフィルタアルゴリズムを動き追跡データに適用するハードウェアロジックを少なくとも部分的に含むロジックを含むことができる。
【００７９】
例２０において、例１８−例１９のいずれか１つに係る主題は、任意選択で、コントローラが、動き追跡データの高速フーリエ変換（ＦＦＴ）を生成し、ＦＦＴから少なくとも１つの係数を除外して簡略化されたＦＦＴを生成し、簡略化されたＦＦＴに逆高速フーリエ変換（ＩＦＦＴ）を適用することによって動き追跡データを再構築するハードウェアロジックを少なくとも部分的に含むロジックを備える構成を含むことができる。
【００８０】
例２１において、例１８−例２０のいずれか１つに係る主題は、任意選択で、電子デバイス内のコントローラが、推定位置データを備えるビデオをディスプレイデバイス上にレンダリングするハードウェアロジックを少なくとも部分的に含むロジックを備える構成を含むことができる。
【００８１】
「論理命令」という用語は、本明細書で参照されるとき、１つ以上の論理動作を実行するために１つ以上のマシンによって理解され得る表現に関する。例えば論理命令は、１つ以上のデータオブジェクトに対する１つ以上の動作を実行するためにプロセッサコンパイラによって解釈可能な命令を備えてよい。しかしながら、これはマシン読取可能命令の単なる例であり、実施例はこの観点に限定されない。
【００８２】
「コンピュータ読取可能媒体」という用語は、本明細書で参照されるとき、１つ以上のマシンによって知覚可能な表現を維持することができる媒体に関する。例えばコンピュータ読取可能媒体は、コンピュータ読取可能命令又はデータを格納するための１つ以上のストレージデバイスを備えてよい。そのようなストレージデバイスは、例えば光、磁気又は半導体記憶媒体のような記憶媒体を備えてよい。しかしながら、これはコンピュータ読取可能媒体の単なる例であり、実施例はこの観点に限定されない。
【００８３】
「ロジック」という用語は、本明細書で参照されるとき、１つ以上の論理動作を実行するための構造に関連する。例えば「ロジック」は、１つ以上の入力信号に基づいて１つ以上の出力信号を提供する回路を備えてよい。そのような回路は、デジタル入力を受け取ってデジタル出力を提供する有限の状態マシン、あるいは１つ以上のアナログ入力信号に応答して１つ以上のアナログ出力信号を提供する回路を備えてよい。そのような回路は、特定用途向け集積回路（ＡＳＩＣ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）で提供されてよい。また、ロジックは、マシン読取可能命令を実行するよう処理回路との組合せでメモリ内に記憶されるマシン読取可能命令を備えてよい。しかしながら、これらは、ロジックを提供することができる構造の単なる例であり、実施例はこの観点に限定されない。
【００８４】
本明細書で説明される方法の一部は、コンピュータ読取可能媒体上の論理命令として具現化されてよい。プロセッサ上で実行されると、論理命令により、プロセッサは、説明された方法を実施する特別目的のマシンとしてプログラムされる。プロセッサは、論理命令によって本明細書で説明される方法を実行するように構成されるとき、説明される方法を実行するための構造を構成する。あるいは、本明細書で説明される方法を、例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等上のロジックにまとめてもよい。
【００８５】
本明細書及び特許請求の範囲において、結合される及び接続されるという用語が、その派生語とともに使用されることがある。特定の例において、接続されるという用語は、２つ以上の要素が相互に直接物理的又は電気的な接触状態にあることを示すのに使用されることがある。結合されるという用語は、直接物理的又は電気的な接触状態にあることを意味することがある。しかしながら、結合されるという用語は、２つ以上の要素が、相互に直接的に接触していないが、依然として相互に協調するか相互作用し得ることも意味することがある。
【００８６】
本明細書における「一例」又は「一部の例」への言及は、その例と関連して説明される特定の特徴、構造又は特性が、少なくとも一実装に含まれることを意味する。本明細書の様々な箇所での「一例において」というフレーズの出現は、全て同じ例を指していてもよく、同じ例を指していなくてもよい。
【００８７】
実施例を構造的特徴及び／又は方法的動作に特有の言語で説明してきたが、特許請求に係る主題は、必ずしも説明される特定の特徴又は動作に限定されないことが理解されよう。むしろ、特定の特徴及び動作は、特許請求に係る主題を実装する例示の形式として開示される。
【図１】
0006689877.tif 000002
【図２】
0006689877.tif 000003
【図３】
0006689877.tif 000004
【図４Ａ】
0006689877.tif 000005
【図４Ｂ】
0006689877.tif 000006
【図５】
0006689877.tif 000007
【図６】
0006689877.tif 000008
【図７】
0006689877.tif 000009
【図８】
0006689877.tif 000010
【図９】
0006689877.tif 000011
【図１０】
0006689877.tif 000012