(57)【要約】【解決手段】  ヒューマンインターフェースデバイス（ＨＩＤ）ソースデバイスを用いて、マルチタッチデータ等のインターフェースデータを提供するようにＨＩＤシンクデバイスを設定するシステム、デバイスおよび方法を説明する。ＨＩＤソースデバイスは、インターフェースデータを生成するべく、ＨＩＤシンクデバイス内のデータモジュールをイネーブルするとしてよい。ＨＩＤソースデバイスは、インターフェースデータを受信した後、出力データを生成し、出力データをＨＩＤシンクデバイスに提供するとしてよい。【選択図】  図１
2014534522.tif 000002
【特許請求の範囲】
【請求項１】
ヒューマンインターフェースデバイスソースデバイス（ＨＩＤソースデバイス）において、
インターフェースデータを生成するデータモジュールを有するヒューマンインターフェースデバイスシンクデバイス（ＨＩＤシンクデバイス）を、前記インターフェースデータを提供するように、補助チャネル（ＡＵＸチャネル）を介して、設定する段階と、
前記ＡＵＸチャネルを介して前記データモジュールをイネーブルする段階と、
前記ＡＵＸチャネルを介して前記インターフェースデータを受信する段階と
を備える方法。
【請求項２】
前記インターフェースデータはマルチタッチデータを含む請求項１に記載の方法。
【請求項３】
前記ＡＵＸチャネルは高速補助チャネル（（Ｆ）ＡＵＸチャネル）を含む請求項１または２に記載の方法。
【請求項４】
前記ＨＩＤソースデバイスにおいて、
前記インターフェースデータに応じて出力データを生成する段階と、
前記出力データを前記ＨＩＤシンクデバイスに提供する段階と
をさらに備える請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記インターフェースデータを提供するように前記ＨＩＤシンクを設定する段階は、データアクセス方法を設定する段階を有する請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記データアクセス方法は、割り込みベースのデータアクセス方法、ポーリングベースのデータアクセス方法、または、インターリーブデータアクセス方法の少なくとも１つを含む請求項５に記載の方法。
【請求項７】
前記インターフェースデータを提供するように前記ＨＩＤシンクを設定する段階は、および前記データモジュールをイネーブルする段階は、一回の書き込み処理を有する請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記インターフェースデータを受信する段階は、
前記ＨＩＤソースデバイスにおいて、
割り込みの理由を読み出す段階と、
前記割り込みの理由を読み出す段階に応じて前記インターフェースデータを読み出す段階と、
前記割り込みの理由をクリアする段階と
を有する請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記インターフェースデータを受信する段階は、
前記ＨＩＤソースデバイスにおいて、
レポートを要求する段階と、
レポート利用可能性フラグについてポーリングする段階と、
前記レポート利用可能性フラグを検出することに応じて前記インターフェースデータを読み出す段階と、
前記レポート利用可能性フラグをクリアする段階と
を有する請求項１から７のいずれか一項に記載の方法。
【請求項１０】
前記インターフェースデータを受信する段階は、前記ＨＩＤシンクデバイスの少なくとも１つのレジスタから前記インターフェースデータを取得する段階を有する
請求項１から７のいずれか一項に記載の方法。
【請求項１１】
ヒューマンインターフェースデバイスソースデバイス（ＨＩＤソースデバイス）において、
インターフェースデータを生成するデータモジュールを有するヒューマンインターフェースデバイスシンクデバイス（ＨＩＤシンクデバイス）を、前記インターフェースデータを提供するように、補助チャネル（ＡＵＸチャネル）を介して、設定する手順と、
前記ＡＵＸチャネルを介して前記データモジュールをイネーブルする手順と、
前記ＡＵＸチャネルを介して前記インターフェースデータを受信する手順と
を実行させるためのプログラム。
【請求項１２】
前記インターフェースデータはマルチタッチデータを含む請求項１１に記載のプログラム。
【請求項１３】
前記ＡＵＸチャネルは高速補助チャネル（（Ｆ）ＡＵＸチャネル）を含む請求項１１または１２に記載のプログラム。
【請求項１４】
前記ＨＩＤソースデバイスにおいて、
前記インターフェースデータに応じて出力データを生成する手順と、
前記出力データを前記ＨＩＤシンクデバイスに提供する手順と
をさらに実行させるための請求項１１から１３のいずれか一項に記載のプログラム。
【請求項１５】
前記インターフェースデータを提供するように前記ＨＩＤシンクを設定する手順は、データアクセス方法を設定する手順を有する請求項１１から１４のいずれか一項に記載のプログラム。
【請求項１６】
前記データアクセス方法は、割り込みベースのデータアクセス方法、ポーリングベースのデータアクセス方法、または、インターリーブデータアクセス方法の少なくとも１つを含む請求項１５に記載のプログラム。
【請求項１７】
前記インターフェースデータを提供するように前記ＨＩＤシンクを設定する手順および前記データモジュールをイネーブルする手順は、一回の書き込み処理を有する請求項１１から１６のいずれか一項に記載のプログラム。
【請求項１８】
前記インターフェースデータを受信する手順は、
前記ＨＩＤソースデバイスにおいて、
割り込みの理由を読み出す手順と、
前記割り込みの理由を読み出す段階に応じて前記インターフェースデータを読み出す手順と、
前記割り込みの理由をクリアする手順と
を有する請求項１１から１７のいずれか一項に記載のプログラム。
【請求項１９】
前記インターフェースデータを受信する手順は、
前記ＨＩＤソースデバイスにおいて、
レポートを要求する手順と、
レポート利用可能性フラグについてポーリングする手順と、
前記レポート利用可能性フラグを検出することに応じて前記インターフェースデータを読み出す手順と、
前記レポート利用可能性フラグをクリアする手順と
を有する請求項１１から１７のいずれか一項に記載のプログラム。
【請求項２０】
前記インターフェースデータを受信する手順は、前記ＨＩＤシンクデバイスの少なくとも１つのレジスタから前記インターフェースデータを取得する手順を有する請求項１１から１７のいずれか一項に記載のプログラム。
【請求項２１】
インターフェースデータを取得するデータモジュールを有するヒューマンインターフェースデバイスシンクデバイス（ＨＩＤシンクデバイス）と、
前記インターフェースデータを提供し、そして、補助チャネル（ＡＵＸチャネル）を介して、割り込みまたはフラグの一方を用いて、前記インターフェースデータの利用可能性を通達する、前記ＨＩＤシンクデバイスに含まれているロジックと
を備える装置。
【請求項２２】
前記ＨＩＤシンクデバイスはさらに、複数のレジスタ領域を有する請求項２１に記載の装置。
【請求項２３】
前記ロジックは、前記インターフェースデータを、前記複数のレジスタ領域のうち少なくとも１つに格納することによって、前記インターフェースデータを提供する請求項２２に記載の装置。
【請求項２４】
前記ロジックは、前記複数のレジスタ領域のうち少なくとも１つにおいてビットを設定することによって、前記フラグを用いて前記インターフェースデータの前記利用可能性を通達する請求項２２に記載の装置。
【請求項２５】
前記ロジックは、ヒューマンインターフェースデバイスソースデバイス（ＨＩＤソースデバイス）によって設定されることに応じて、前記インターフェースデータを提供する請求項２１に記載の装置。
【請求項２６】
インターフェースデータを取得するデータモジュールを有するヒューマンインターフェースデバイスシンクデバイス（ＨＩＤシンクデバイス）と、
補助チャネル（ＡＵＸチャネル）によって前記ＨＩＤシンクデバイスに通信可能に結合されているヒューマンインターフェースデバイスソースデバイス（ＨＩＤソースデバイス）と
を備え、
前記ＨＩＤソースデバイスは、前記ＡＵＸチャネルを用いて、
前記インターフェースデータを提供するように前記ＨＩＤシンクデバイスを設定し、
前記データモジュールをイネーブルし、
前記インターフェースデータを受信するシステム。
【請求項２７】
前記ＨＩＤソースデバイスはさらに、
前記インターフェースデータに応じて出力データを生成し、
前記ＡＵＸチャネルを介して前記ＨＩＤシンクデバイスに前記出力データを供給する請求項２６に記載のシステム。
【請求項２８】
前記インターフェースデータを提供するように前記ＨＩＤシンクデバイスを設定するべく、前記ＨＩＤソースデバイスは、割り込みベースのデータアクセス方法、ポーリングベースのデータアクセス方法、または、インターリーブデータアクセス方法の少なくとも１つを含むデータアクセス方法を設定する請求項２６または２７に記載のシステム。
【請求項２９】
前記割り込みベースのデータアクセス方法を用いて前記インターフェースデータを受信するべく、前記ＨＩＤソースデバイスは、
割り込みの理由を読み出し、
前記割り込みの理由を読み出すことに応じて前記インターフェースデータを読み出し、
前記割り込みの理由をクリアする請求項２８に記載のシステム。
【請求項３０】
前記ポーリングベースのデータアクセス方法を用いて前記インターフェースデータを受信するべく、前記ＨＩＤソースデバイスは、
レポートを要求し、
レポート利用可能性フラグについてポーリングし、
前記レポート利用可能性フラグを検出することに応じて前記インターフェースデータを読み出し、
前記レポート利用可能性フラグをクリアする請求項２８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連出願＞
本願は、米国仮特許出願第６１／５５１，７１２号（出願日：２０１１年１０月２６日）に基づく優先権および恩恵を主張する。
【背景技術】
【０００２】
近年開発されたディスプレイインターフェース方式、例えば、ＤｉｓｐｌａｙＰｏｒｔ（商標）（ＤＰ）ディスプレイインターフェースプロトコルまたはディスプレイインターフェース規格（例えば、ＤｉｓｐｌａｙＰｏｒｔ（商標）バージョン１．２（２００９年１２月）を参照のこと）は、古い規格であるビデオグラフィクスアレイ（ＶＧＡ）およびデジタルビデオインターフェース（ＤＶＩ）等に代わるものとして設計され、イーサネット（登録商標）、ＵＳＢおよびＰＣＩ  Ｅｘｐｒｅｓｓ等の他のデータ通信プロトコルと同様にパケット化されたデータ送信を利用している。例えば、ＤＰは、外部（例えば、ボックス間）および内部（例えば、ラップトップディスプレイパネル）の両方のディスプレイ接続をサポートしており、差動対が画素データおよびクロック信号を送信するＤＶＩ規格およびＬＶＤＳ（Ｌｏｗ−ｖｏｌｔａｇｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｓｉｇｎａｌｉｎｇ）規格とは異なり、ＤＰプロトコルではクロックが埋め込まれた小型データパケットを送信する。データパケットを利用することでさらに、ＤＰ等のインターフェース規格が、インターフェース自体を大きく変更することなく追加機能を追加することによって、拡張可能となる。Ｅｍｂｅｄｄｅｄ  ＤｉｓｐｌａｙＰｏｒｔ（商標）（ｅＤＰ）は、ＤＰ規格に対する同類規格（例えば、Ｅｍｂｅｄｄｅｄ  ＤｉｓｐｌａｙＰｏｒｔ（商標）バージョン１．３（２０１１年２月）を参照のこと）であり、内部接続（例えば、グラフィクスプロセッサとノートブックディスプレイパネルとの間）のための標準化されたディスプレイパネルインターフェースを提供し、ＬＶＤＳ規格に代わるものとして構成されている。
【図面の簡単な説明】
【０００３】
本明細書で説明する内容は、添付図面において、一例として図示されているのであり、限定するためではない。図示を簡略化しつつ明瞭にするため、図中の構成要素は必ずしも実寸に即したものではない。例えば、分かり易いように、一部の構成要素の寸法は他の構成要素に比べて強調されているとしてよい。さらに、適切であると考えられる場合、参照符号は、対応する構成要素または同様の構成要素を指し示すべく、複数の図面にわたって繰り返し利用する。図面は以下の通りである。
【図１】ディスプレイインターフェースシステムの一例を示す図である。
【図２】ディスプレイインターフェースシステムの一例を示す図である。
【図３】レジスタのレイアウトの一例を示す図である。
【図４】レジスタのレイアウトの一例を示す図である。
【図５】レジスタのレイアウトの一例を示す図である。
【図６】ディスプレイインターフェースプロセスの一例を示す図である。
【図７】ディスプレイインターフェースプロセスの一例を示す図である。
【図８】ディスプレイインターフェースプロセスの一例を示す図である。
【図９】ディスプレイインターフェースプロセスの一例を示す図である。
【図１０】ディスプレイインターフェースプロセスの一例を示す図である。
【図１１】ディスプレイインターフェースプロセスの一例を示す図である。
【図１２】ディスプレイインターフェースプロセスの一例を示す図である。
【図１３】データ方式の一例を示す図である。
【図１４】システムの一例を示す図である。
【図１５】本開示の少なくとも一部の実施形態に応じて全てが配置されたデバイスの一例を示す図である。
【発明を実施するための形態】
【０００４】
添付した図面を参照しつつ以下では実施形態または実施例を１以上説明する。具体的な構成および構造を説明するが、この説明は例示を目的としたものに過ぎないと理解されたい。当業者であれば、本明細書の意図および範囲から逸脱することなく他の構成および構造を用いることも可能であると認めるであろう。本明細書で説明する技術および／または構造は本明細書で説明するもの以外にも他のさまざまな他のシステムおよび用途において利用し得ることは当業者には明らかであろう。
【０００５】
以下の説明は、例えば、ノートブック型またはデスクトップ型のコンピュータ等、アーキテクチャで利用され得るさまざまな実施形態を記載しているが、本明細書で説明した技術および／または構造の実施例は、特定のアーキテクチャおよび／またはコンピューティングシステムに限定されるものではなく、同様の目的を実現するべく任意のアーキテクチャおよび／またはコンピューティングシステムで実現され得る。例えば、複数の集積回路（ＩＣ）チップおよび／またはパッケージを利用するさまざまなアーキテクチャ、および／または、セットトップボックス、スマートフォン等のさまざまなコンピューティングデバイスおよび／または消費者向け電子（ＣＥ）機器で本明細書に説明する技術および／または構造を実現するとしてよい。さらに、以下の説明ではロジック実装、システムコンポーネントの種類および相関関係、ロジックパーティション化／統合方法等、具体的且つ詳細な内容を数多く記載するが、請求の対象となる主題はこれらの具体的且つ詳細な内容を採用することなく実施され得る。また、例えば、制御構造および完全ソフトウェア命令シーケンス等の一部の内容は、本明細書の開示内容をあいまいにしないよう詳細な説明を省略している場合がある。
【０００６】
本明細書で開示する内容は、ハードウェア、ファームウェア、ソフトウェアまたはこれらの任意の組み合わせで実現されるとしてよい。本明細書で開示されている内容は、機械可読媒体に格納される命令として実現されるとしてもよい。当該命令は、１以上のプロセッサによって読み出されて実行されるとしてよい。機械可読媒体は、機械（例えば、コンピューティングデバイス）で読み出すことが可能な形式で情報を格納または送信する任意の媒体および／またはメカニズムを含むとしてよい。例えば、機械可読媒体は、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク格納媒体、光格納媒体、フラッシュメモリデバイス、電気伝搬信号、光伝搬信号、音響伝搬信号またはその他の形態の伝搬信号（例えば、搬送波、赤外信号、デジタル信号等）等を含むとしてよい。
【０００７】
本明細書において「一実施形態」、「実施形態」、「実施形態例」等という場合、説明している実施形態が特定の特徴、構造または特性を含み得るが全ての実施形態が必ずしも当該特定の特徴、構造または特性を含むものではないことを意味する。さらに、このような表現は必ずしも同じ実施形態を意味するものではない。また、一の実施形態に関連付けて特定の特徴、構造または特性を説明する場合、本明細書で明示的に説明されているか否かに関わらず、他の実施形態に関連付けてその特徴、構造または特性を実現することは当業者の知識の範囲内であると考えられる。
【０００８】
本開示では、本明細書で用いられる場合、「ヒューマン・インターフェース・デバイス（ＨＩＤ）」という用語はコンピュータシステムの動作を制御するために用いられるデバイス（例えば、ユニバーサル・シリアル・バス・インプレメンターズ・フォーラム（ＵＳＢ−ＩＦ）が定めているＨＩＤクラス定義に準拠している任意のデバイス、例えば、"Ｄｅｖｉｃｅ  Ｃｌａｓｓ  Ｄｅｆｉｎｉｔｉｏｎ  ｆｏｒ  Ｈｕｍａｎ  Ｉｎｔｅｒｆａｃｅ  Ｄｅｖｉｃｅｓ  （ＨＩＤ）"、ファームウェア仕様、バージョン１．１１、２００１年６月２７日公開（以下では「ＨＩＤ１．１１仕様と呼ぶ」）を参照されたい）を説明するとしてよい。さらに、「タッチデータ」という用語は、「マルチタッチデータ」と同義語として用いられるとしてよく、本明細書で用いられる場合、タッチ感度面（例えば、タッチスクリーンディスプレイ）との接触が発生した１以上の位置を説明するデータを意味するとしてよい。
【０００９】
また、「タッチシンク」および「タッチシンクデバイス」という用語は、「シンク」および「シンクデバイス」という用語と同義語として用いられるとしてよく、本明細書で用いられる場合にはＤｉｓｐｌａｙＰｏｒｔ（商標）（ＤＰ）規格および／またはＥｍｂｅｄｄｅｄ  ＤｉｓｐｌａｙＰｏｒｔ（商標）（ｅＤＰ）規格（Ｅｍｂｅｄｄｅｄ  ＤｉｓｐｌａｙＰｏｒｔ（商標）バージョン１．３、２０１１年２月公開を参照のこと）をサポートしており、タッチデータを報告することが可能なシンクデバイスを意味するとしてよい。さらに、「タッチソース」および「タッチソースデバイス」という用語は、「ソース」および「ソースデバイス」という用語と同義語として用いられるとしてよく、本明細書で用いられる場合には、例えば、タッチシンクデバイスから受信したタッチデータを処理するＤＰ１．２規格（ＤｉｓｐｌａｙＰｏｒｔ（商標）バージョン１．２、２００９年１２月公開（以下では、「ＤＰ１．２」規格と呼ぶ）を参照のこと）で定義されているソースデバイスを意味するとしてよい。分かり易いように、さまざまなデバイス、システムおよびプロセスは、ＤＰ規格および／またはｅＤＰ規格に関連して本明細書において説明されるが、本開示は任意の特定のタッチインターフェース規格および／もしくはディスプレイインターフェース規格、ならびに／または、任意の特定の仕様に限定されるものではない。
【００１０】
さまざまなシステム、デバイス、方式および／またはプロセスをタッチデータに関連付けて本明細書で説明するが、本開示はタッチデータおよび／またはタッチデバイスに限定されない。このため、タッチシンクとタッチソースとの間でやり取りされる情報はＨＩＤに準拠しているので、タッチシンクは他の種類のＨＩＤデバイス、これらに限定されないが、キーパッド、英数字ディスプレイ等を提示するとしてもよい。このように、本明細書で説明するさまざまなインターフェース方式および／またはプロセスは、タッチシンクによって提示され得る他の種類のＨＩＤデバイスに応用され得ると共に、１以上の他の種類のＨＩＤデバイスとＨＩＤタッチデバイスとを任意に組み合わせたものに適用するとしてもよい。さらに、「インターフェースデータ」という用語は本明細書において主にタッチデータを意味するために用いられるが、さまざまな実施形態において、本開示に係るインターフェースデータは、キーパッド、英数字ディスプレイ等の任意の種類のＨＩＤデバイスによって生成されるデータを意味するとしてもよい。
【００１１】
さまざまな実施形態では、タッチシンクは、未処理タッチデータを生成するタッチセンサと、未処理タッチデータを本明細書で説明する形式に変換するフォーマッタとを含むとしてよい。さらに、タッチシンクは、本明細書で説明するように、タッチデータをタッチソースに転送するとしてよい。さまざまな実施形態によると、タッチソースは、タッチシンクからタッチデータを受信または取得する機能を持つとしてよい。これに加えて、本明細書で説明するように、タッチデータを解析（ｐａｒｓｅ）および／または解釈するとしてよい。例えば、図１は、本開示に応じた、タッチソース１０２がタッチシンク１０４に通信可能に結合されているマルチタッチディスプレイインターフェースシステム１００を示す図である。タッチシンク１０４とタッチソース１０２との間でタッチデータを送信する形式の例、および、このようなデータの転送を実施するさまざまなメカニズムを、以下でより詳細に説明する。
【００１２】
さまざまな実施形態では、タッチソース１０２は、ＤＰ１．２規格を実現するとしてよく、グラフィクスプロセッシングユニット（ＧＰＵ）、デジタルシグナルプロセッサ（ＤＳＰ）等のマイクロプロセッサを有するとしてよい。当該マイクロプロセッサは、タッチデータ等のインターフェースデータを、解析モジュール１０６および解釈モジュール１０８をそれぞれ用いて解析および解釈する。タッチソース１０２はさらに、本明細書で説明するさまざまな方式またはプロセスを実現するインターフェースロジック１０９を有するとしてよい。例えば、インターフェースロジック１０９は、より詳細に以下で説明するデータ転送プロセスまたはその一部を実現するロジックを含むとしてよい。
【００１３】
さまざまな実施形態によると、タッチシンク１０４は、タッチセンサ１１０を用いてマルチタッチデータとしてインターフェースデータを取得して、フォーマッタモジュール１１２を用いてタッチデータをフォーマッティングするマルチタッチ可能ディスプレイ（不図示）を有するとしてよい。さまざまな実施形態によると、タッチセンサ１１０は、タッチシンク１０４にマルチタッチデータを取得させることが可能な任意の種類の公知のタッチセンサであってよい。例えば、容量式タッチセンサであってよい。タッチシンク１０４はさらに、本明細書で説明するさまざまな方式またはプロセスを実現するインターフェースロジック１２３を含むとしてよい。例えば、インターフェースロジック１２３は、より詳細に以下で説明するデータ転送プロセスまたはその一部を実現するロジックを含むとしてよい。
【００１４】
さまざまな実施形態によると、タッチシンク１０４は、モバイル通信デバイス（例えば、スマートフォン）、モバイルコンピュータ、タブレットコンピュータ等に組み込まれるとしてよい。さまざまな実施形態によると、システム１００のコンポーネントは、モバイル通信デバイス、タブレットコンピュータ等の一のデバイス内で実現されるとしてよい。この場合、タッチシンク１０４は、タッチスクリーンディスプレイに対応付けられている１以上のロジックモジュールおよび／またはハードウェアモジュールに対応し、タッチソース１０２は、タッチシンク１０４のロジックモジュールおよび／またはハードウェアモジュールに通信可能に結合されているマイクロプロセッサを含むとしてよい。
【００１５】
図１に示すように、システム１００は、タッチソース１０２をタッチシンク１０４に通信可能に結合しているＤＰリンク１１４を備える。ＤＰリンク１１４は、メインリンク１１６、補助チャネルまたは高速補助チャネル（Ｆ）ＡＵＸ１１８、および、ホットプラグディテクト（ＨＰＤ）信号ライン１２０を含む。さまざまな実施形態によると、メインリンク１１６は、タッチソース１０２からタッチシンク１０４への圧縮されていないビデオおよび／またはオーディオデータ等のアイソクロナスストリームの転送に用いられる一方向性で高帯域幅であり低レイテンシのチャネルであってよい。さまざまな実施形態によると、（Ｆ）ＡＵＸチャネル１１８は、本開示に応じた方式を用いるリンク管理およびデバイス制御に用いられる半二重双方向チャネルであってよい。例えば、さまざまな実施形態によると、タッチソース１０２およびタッチシンク１０４はそれぞれ、マスタおよびスレーブとして特定されるとしてよい。一般的に、（Ｆ）ＡＵＸチャネル１１８を介したトランザクションはタッチソース１０２によって開始される。しかし、さまざまな実施形態において、タッチシンク１０４は、例えば、割り込み（ＩＲＱ）を信号ライン１２０を介してタッチソース１０２に送信することによって、（Ｆ）ＡＵＸチャネルトランザクションの開始を指示するとしてよい。
【００１６】
さまざまな実施形態によると、本開示に応じたマルチタッチディスプレイインターフェースシステムおよび／またはマルチタッチディスプレイインターフェース方式は、タッチシンクをタッチソースに通信可能に結合する１以上の介在するデバイスおよび／またはシステムを含むとしてよい。例えば、図２は、本開示に応じた、タッチソース１０２をタッチシンク１０４に通信可能に結合する介在分岐デバイス２０２を備えるマルチタッチディスプレイインターフェースシステム２００を示す図である。さまざまな実施形態によると、分岐デバイス２０２は、ＤＰ１．２規格に応じており、より詳細に以下で説明するようにサイドバンドメッセージを実現するデバイスであってよい。さらに、さまざまな実施形態によると、分岐デバイスは、タッチシンク１０４がタッチデータを生成するレートに基づいて決まる特定の時間制限内で、ダウンストリーム信号（例えば、信号ライン１２０に見られる割り込み）を処理するとしてよい。例えば、分岐デバイス２０２は、最低タッチデータサンプリングレートとして５０Ｈｚをサポートするべく、２０ｍ秒以内で、割り込みを処理する必要があるとしてよい。
【００１７】
図１の説明に戻り、さまざまな実施形態において、より詳細に以下で説明するように、タッチソース１０２は、タッチシンク１０４から（Ｆ）ＡＵＸチャネル１１８を介してタッチデータ等のインターフェースデータを取得するとしてよい。尚、タッチデータは、ＨＩＤレポート記述子（Ｄｅｖｉｃｅ  Ｃｌａｓｓ  Ｄｅｆｉｎｉｔｉｏｎ  ｆｏｒ  Ｈｕｍａｎ  Ｉｎｔｅｒｆａｃｅ  Ｄｅｖｉｃｅｓ  （ＨＩＤ）  Ｆｉｒｍｗａｒｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ、バージョン１．１１、２００１年６月２７日公開（以下では、「ＨＩＤ１．１１仕様」と呼ぶ）を参照のこと）によって定義されるようにヒューマンインターフェースデバイス（ＨＩＤ）形式であってもよい。さらに、本開示によると、タッチシンク１０４は、ＨＩＤ利用テーブル（ＨＩＤ利用テーブル（ＨＩＤ  Ｕｓａｇｅ  Ｔａｂｌｅｓ）、バージョン１．１２、２００４年１０月２８日公開を参照のこと）を修正するデジタイザのためのマルチタッチ拡張機能において説明されているタッチ関連の形式要件（「Ａｄｄｉｔｉｏｎ  ｏｆ  ｕｓａｇｅｓ  ｒｅｌａｔｅｄ  ｔｏ  ｍｕｌｔｉ−ｔｏｕｃｈ  ｄｉｇｉｔｉｚｅｒｓ」、Ｒｅｑｕｅｓｔ  ＃ＨＵＴＲＲ３４、２００９年２月２７日に公開（以下では、「＃ＨＵＴＲＲ３４」文献）を参照のこと）を順守しているとしてよい。また、タッチシンク１０４は、ＨＩＤ１．１１仕様に応じたデジタイザデバイスとしてタッチ機能を公表しているとしてよい。本開示に応じて、ＨＩＤレポート記述子を含むＨＩＤ情報は、タッチシンク１０４とタッチソース１０２との間で（Ｆ）ＡＵＸチャネル１１８を介して搬送されるとしてよい。
【００１８】
さまざまな実施形態によると、そして、より詳細に以下で説明するように、タッチシンク１０４は、タッチソース１０２が（Ｆ）ＡＵＸチャネル１１８を介してアクセスし得る設定データ、タッチデータ等のデータを一時的に格納するためにタッチシンク１０４が用いるレジスタ１２２を含むとしてよい。さまざまな実施形態によると、レジスタ１２２は、ＤＰ構成データ（ＤＰＣＤ）レジスタを含むとしてよく、タッチソース１０２は、より詳細に以下で説明するように、さまざまな目的を実現するべくこれらのＤＰＣＤレジスタに対して読み書きアクセスを行うとしてよい。さらに、さまざまな実施形態において、より詳細に以下で説明するように、データモジュール１２４（センサ１１０およびフォーマッタモジュール１１２を含む）は、レジスタ１２２のうち１以上のＤＰＣＤレジスタに応答するように構成されているとしてよい。
【００１９】
さまざまな実施形態によると、タッチシンク１０４は、タッチデータについて、少なくとも５０Ｈｚのサンプリングレートをサポートするとしてよい。さまざまな実施形態によると、タッチシンク１０４は、タッチソース１０２にタッチデータ関連の割り込みを搬送するとしてよく、タッチソース１０２は、タッチシンク１０４のサンプリングレートと同等のレートでこれらの割り込みを処理するとしてよい。例えば、タッチシンク１０４は、信号ライン１２０を介して、タッチソース１０２にＩＲＱ＿ＨＰＤ割り込みを搬送するとしてよい。ＤＰ１．２規格ではソースデバイスに対してＩＲＱ＿ＨＰＤを１００ｍ秒以内に処理する（１０Ｈｚのサンプリングレートに対応）ことを要求するが、本開示のさまざまな実施形態によると、タッチソース１０２は、タッチシンク１０４によって５０Ｈｚのレートでサンプリングされるタッチデータの処理をサポートするべく、２０ｍ秒以内にＩＲＱ＿ＨＰＤを処理するとしてよい。
【００２０】
さまざまな実施形態によると、システム１００は、タッチ機能を特定している複数の別個のデバイス記述子をサポートしていない場合がある。しかし、他の実施形態では、タッチシンク１０４は、ＤＰ１．２規格に応じた、タッチシンク１０４がタッチ機能を持つことを示すエクステンデッド・ディスプレイ・アイデンティフィケーション・データ（ＥＤＩＤ）を提供するとしてよい。また、タッチシンク１０４は、プラグ・アンド・プレイ（ＰｎＰ）のためにベンダ情報を含むとしてよい。このようなＥＤＩＤおよび／またはベンダ情報は、タッチシンク１０４の内部にあるメモリ（不図示）に格納されるとしてよい。また、さまざまな実施形態において、タッチソース１０２は、本明細書で説明するように、ＨＩＤブートモード動作およびＨＩＤ記述子解析をサポートするシステムソフトウェアおよび／またはファームウェアを含むとしてよい。
【００２１】
＜機能の発見＞
さまざまな実施形態によると、タッチシンク１０４は、レジスタ１２２のうちＴＯＵＣＨ＿ＣＡＰＡＢＩＬＩＴＹ  ＤＰＣＤレジスタ部分におけるＴＯＵＣＨ＿ＳＵＰＰＯＲＴＥＤビットを用いてタッチ機能を表明するとしてよい。そしてタッチソース１０２は、シンク発見によってトリガされるシンク機能発見の一環としてＴＯＵＣＨ＿ＳＵＰＰＯＲＴＥＤビットを読み出すとしてよい。
【００２２】
さまざまな実施形態によると、タッチシンク１０４は、ＨＩＤ仕様で記述されているようにフォーマッティングされているＨＩＤ記述子およびＨＩＤレポート記述子を提供するとしてよい。これら２つの記述子（および、ＨＩＤ１．１１仕様で許容されているように、任意で他のＨＩＤクラス記述子）は、タッチソース１０２によって、タッチシンク１０４におけるタッチ機能を確かめた後に、レジスタ１２２のそれぞれのＨＩＤ＿ＣＬＡＳＳ＿ＤＥＳＣＲＩＰＴＯＲＳ  ＤＰＣＤレジスタ部分から取得されるとしてよい。さまざまな実施形態によると、ＨＩＤ記述子において宣言されるクラス記述子は、ＨＩＤ記述子で宣言されていた順序で、ＨＩＤ＿ＤＥＳＲＩＰＴＯＲＳ  ＤＰＣＤレジスタにおいてＨＩＤ記述子の直後に続くとしてよい。
【００２３】
＜タッチシンク構成＞
本開示に応じて、タッチソース１０２はさまざまにタッチシンク１０４を設定するとしてよい。例えば、表１は、タッチソース１０２がタッチシンク１０４に対して発行するコマンドのさまざまな例を挙げている。
【表１】
2014534522.tif 000003
【００２４】
さまざまな実施形態において、タッチシンク１０４は、ＤＰ１．２規格に定義されている標準的なＤＰＣＤ  ＡＵＸトランザクションメカニズムを介して、表１のコマンドに応じて成功または失敗を知らせるとしてよい。
【００２５】
さまざまな実施形態において、タッチソース１０２は、データモジュール１２４をイネーブルまたはディセーブルすることによって、タッチシンク１０４のタッチ機能をイネーブルまたはディセーブルするとしてよい。例えば、表１に記載されているように、タッチソース１０２は、ＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタ内のＥＮＡＢＬＥ＿ＴＯＵＣＨ＿ＦＥＡＴＵＲＥビットを設定することによって、タッチシンク１０４のデータモジュール１２４（および関連付けられているデータ報告）をディセーブルするとしてよい。逆に、タッチソース１０２は、このビットをリセットすることによって、データモジュール１２４をイネーブルするとしてよい。例えば、タッチソース１０２は、ＥＮＡＢＬＥ＿ＴＯＵＣＨ＿ＦＥＡＴＵＲＥビットにゼロを書き込むことによってデータモジュール１２４をディセーブルするとしてよく、このビットに１を書き込むことによってデータモジュール１２４をイネーブルするとしてよい。
【００２６】
さまざまな実施形態において、タッチソース１０２は、タッチシンク１０４からのタッチデータにアクセスする方法を設定するとしてよい。さまざまな実施形態によると、データアクセス方法は、割り込みをベースにしたデータアクセス方法またはポーリングをベースにしたデータアクセス方法として設定されるとしてよい。例えば、タッチソース１０２は、ＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタ内のＤＡＴＡ＿ＡＣＣＥＳＳ＿ＭＥＴＨＯＤビットをポーリングに設定して、タッチシンク１０４によるタッチ関連のＩＲＱ＿ＨＰＤ割り込み生成をディセーブルすることによって、ポーリングベースのデータアクセス方法を構成するとしてよい。逆に、タッチソース１０２は、ＤＡＴＡ＿ＡＣＣＥＳＳ＿ＭＥＴＨＯＤビットを割り込みに設定して、タッチシンク１０４によるＩＲＱ＿ＨＰＤ割り込み生成をイネーブルにすることによって、割り込みをベースとするデータアクセス方法をイネーブルするとしてよい。
【００２７】
表１について説明を続けると、タッチソース１０２は、ＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタのＲＥＳＥＴビットを設定することによって、タッチシンク１０４のタッチ機能をリセットするとしてよい。タッチシンク１０４はこの後、このコマンドに応じて、データモジュール１２４をリセット条件にするとしてよい。特に、さまざまな実施形態において、リセット条件を設定することで、データモジュール１２４をディセーブルして、入力レポート待ち行列（後述する）をフラッシュして、利用可能なレポートデータが無いことを示すべくレジスタ１２２のＴＯＵＣＨ＿ＳＴＡＴＵＳレジスタをリセットするとしてよい。
【００２８】
さまざまな実施形態において、タッチソース１０２は、対象のレポートＩＤをＴＯＵＣＨ＿ＰＡＲＡＭＥＴＥＲＳ［０］  ＤＰＣＤレジスタに書き込み、ＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタ内のＧＥＴ＿ＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴビットを１に設定することによって、機能レポートの読み出し要求を発行するとしてよい。さまざまな実施形態において、タッチシンク１０４は、ＲＥＰＯＲＴ＿ＤＡＴＡ  ＤＰＣＤ領域においてオフセット０で、読み出すべき機能レポートの利用可能性を示すとしてよい。
【００２９】
さまざまな実施形態において、より詳細に以下で説明するように、タッチソース１０２はタッチシンク１０４に機能レポートを発行するとしてよい。例えば、タッチソース１０２は、レジスタ１２２のＲＥＰＯＲＴ＿ＤＡＴＡ  ＤＰＣＤ領域に特定のオフセットで機能レポートを書き込み、レジスタ１２２のＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタのＳＥＴ＿ＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴビットを設定することによって、機能レポートを発行するとしてよい。
【００３０】
また、さまざまな実施形態によると、より詳細に以下で説明するように、タッチソース１０２は、タッチシンク１０４に出力レポートを発行するとしてよい。例えば、タッチソース１０２は、特定のオフセットでレジスタ１２２のＯＵＴＰＵＴ＿ＲＥＰＯＲＴ  ＤＰＣＤ領域に出力レポートを書き込み、レジスタ１２２のＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタのＳＥＴ＿ＯＵＴＰＵＴ＿ＲＥＰＯＲＴビットを設定することによって、出力レポートを発行するとしてよい。
【００３１】
表１の説明の最後に、さまざまな実施形態において、タッチソース１０２は、タッチシンク１０４が生成した入力レポートのレポートレートを設定するとしてよい。例えば、タッチソース１０２は、レジスタ１２２のＩＤＬＥ＿ＲＡＴＥＳ  ＤＰＣＤ領域にこのコマンドのパラメータを書き込み、レジスタ１２２のＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタのＳＥＴ＿ＩＤＬＥ＿ＲＡＴＥビットを設定することによって、レポートレートを設定するとしてよい。さまざまな実施形態において、各レポートＩＤのアイドルレートは、以下のルールにしたがってミリ秒で特定されているとしてよい。
（１）値がゼロの場合、ＨＩＤ仕様で定められているように、期間が無限であることを意味する（この値の場合、タッチソース１０２がＤＡＴＡ＿ＡＣＣＥＳＳ＿ＭＥＴＨＯＤを割り込みにプログラミングしたとしても、割り込みはタッチシンク１０４によって生成されない）。
（２）１から４の値はサポートされていない。
（３）アイドルレートの最小有効値は、最高サンプリングレートが２００Ｈｚであることを意味する５ミリ秒である。
（４）最低サンプリングレートが５０Ｈｚの場合、最高スキャンレートは２０ミリ秒である。
【００３２】
本開示によると、タッチソース１０２は、タッチシンク１０４のデータモジュール１２４をスリープ状態（低電力状態）に設定するとしてよい。例えば、タッチソース１０２は、ＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタのＳＥＴ＿ＬＯＷ＿ＰＯＷＥＲビットを設定することによって、スリープ状態（低電力状態）に設定するとしてよい。さまざまな実施形態によると、ＳＥＴ＿ＬＯＷ＿ＰＯＷＥＲの値がゼロの場合、データモジュール１２４はＯＮ状態であるとしてよい。さまざまな実施形態によると、ＳＥＴ＿ＬＯＷ＿ＰＯＷＥＲビットは、タッチシンク１０４がＡＣＴＩＶＥ状態である場合（例えば、ＤＰ１．２規格の図５−２のＳＴＡＴＥ１）にのみ有効であるとしてよい。
【００３３】
＜レジスタレイアウトおよびアクセスルール＞
本開示によると、レジスタ１２２のうちＨＩＤ＿ＣＬＡＳＳ＿ＤＥＳＣＲＩＰＴＯＲＳ  ＤＰＣＤレジスタ部分は、ＨＩＤクラス記述子アレイを含むとしてよい。最初の記述子はＨＩＤ記述子であるとしてよい。さまざまな実施形態によると、ＨＩＤ記述子のレイアウトは、ＨＩＤ１．１１仕様のセクション６．２．１に準拠しているとしてよい。ＨＩＤ記述子は、サポートしているＨＩＤ仕様の改正版、および、ＨＩＤデバイスに固有の他の情報を特定しているとしてよい。さらに、ＨＩＤ記述子のｂＮｕｍＤｅｓｃｒｉｐｔｏｒｓフィールドは、利用可能な追加ＨＩＤクラス記述子の数を定義しているとしてよい。ｂＮｕｍＤｅｓｃｒｉｐｔｏｒｓフィールドの後には３つのバイトエントリから成るアレイが続くとしてよく、エントリの最初のバイト（ｂＤｅｓｃｒｉｐｔｏｒＴｙｐｅ）はＨＩＤクラス記述子の種類を定義しており、エントリのうち残りの２つのバイト（ｗＤｅｓｃｒｉｐｔｏｒＬｅｎｇｔｈ）はＨＩＤクラス記述子のサイズを定義している。さまざまな実施形態によると、ＨＩＤクラス種類の値の割り当ては、ＨＩＤ１．１１仕様のセクション７．１に準拠して行われるとしてよい。
【００３４】
さまざまな実施形態において、図３に示すように、ＨＩＤクラス記述子は、レジスタ１２２のＨＩＤ＿ＣＬＡＳＳ＿ＤＥＳＣＲＩＰＴＯＲＳ  ＤＰＣＤ領域レイアウト３００においてバイト境界でパックされるとしてよい。例えば、ＨＩＤ記述子フィールド３０２は、オフセット０で始まるとしてよく、ＨＩＤ記述子３０２の第１のバイト（ｂＬｅｎｇｔｈ）はＨＩＤ記述子のサイズをバイトで特定するとしてよい。１以上のＨＩＤクラス記述子がＨＩＤ記述子に対応付けられているとしてよい。例えば、ＨＩＤクラス記述子３０４および３０６の２つの例を図３に示す。さまざまな実施形態によると、ＨＩＤ記述子３０２は、レイアウト３００で見られるＨＩＤクラス記述子のサイズ、数および／または種類を特定するとしてよい。さまざまな実施形態によると、ＨＩＤクラス記述子３０４は、ＨＩＤ  Ｄｅｓｃｒｉｐｔｏｒ：ｂＬｅｎｇｔｈのオフセットで始まるとしてよく、ＨＩＤクラス記述子３０６はＨＩＤ  Ｄｅｓｃｒｉｐｔｏｒ：ｂＬｅｎｇｔｈ＋ｗＤｅｓｃｒｉｐｔｏｒＬｅｎｇｔｈ［０］のオフセットで始まるとしてよく、第３のＨＩＤクラス記述子（不図示）は、ＨＩＤ  Ｄｅｓｃｒｉｐｔｏｒ：ｂＬｅｎｇｔｈ＋ｗＤｅｓｃｒｉｐｔｏｒＬｅｎｇｔｈ［０］＋ｗＤｅｓｃｒｉｐｔｏｒＬｅｎｇｔｈ［１］で始まるとしてよい。以降同様である。さまざまな実施形態によると、ＨＩＤデバイスは、１つの追加ＨＩＤクラス記述子、レポート記述子を定義するのみとしてもよい。
【００３５】
＜レポート＞
本開示によると、より詳細に以下で説明するが、入力レポート、出力レポートおよび機能レポートが提供されるとしてよい。さまざまな実施形態によると、タッチソース１０２は出力レポートおよび機能レポートを発生させるとしてよく、タッチシンク１９４は入力レポートおよび機能レポートを発生させるとしてよい。さまざまな実施形態によると、タッチシンク１０４が生成した入力レポートは、データモジュール１２４が生成するタッチデータ等のインターフェースデータを含むとしてよい。さまざまな実施形態によると、タッチソース１０２が生成する出力レポートは、入力レポートが提供するタッチデータに応じてタッチソース１０２が生成する１以上のユーザインターフェースコマンド等の出力データを含むとしてよい。さまざまな実施形態によると、機能レポートは、デジタイザ（例えば、タッチシンク１０４）の動作モード、および、インターフェースによってサポートされる同時コンタクト／タッチの最大数を特定するとしてよい。例えば、より詳細に以下で説明するが、図１３は、入力レポートと機能レポートとを組み合わせたレイアウトの例を示す。
【００３６】
さまざまな実施形態によると、タッチシンク１０４は、入力レポートをサポートすることが必須であるとしてよく、タッチシンク１０４は、対応するＨＩＤ記述子で宣言されている場合にのみ、機能レポートをサポートするとしてもよい。さまざまな実施形態によると、タッチソース１０２は、タッチシンク１０４から受信した入力レポートおよび機能レポートを解析可能であること、および、出力レポートおよび機能レポートをこれに応じて生成可能であることが必須であるとしてよい。さまざまな実施形態によると、タッチソース１０２の１以上のソフトウェアアプリケーションは、ＨＵＴＲＲ３４文献に記載されているように、ＨＩＤの利用をサポートしているとしてよい。
【００３７】
＜タッチシンクが生成するレポート＞
本開示によると、タッチシンク１０４は、タッチソース１０２がアクセスする入力レポートおよび（適用可能な場合）機能レポートを格納するとしてよい。例えば、図４に示すように、タッチシンク１０４は、入力レポート４０２および対応する機能レポート４０４を、レジスタ１２２のＲＥＰＯＲＴ＿ＤＡＴＡ  ＤＰＣＤ領域レイアウト４００で格納することによって、入力レポートおよび（適用可能な場合）機能レポートを格納するとしてよい。さまざまな実施形態によると、機能レポート４０４が対応するレポート記述子で宣言されている場合、レポートＩＤの各インスタンスはサイズが固定されているとしてよい。さまざまな実施形態によると、ＲＥＰＯＲＴ＿ＤＡＴＡ  ＤＰＣＤ領域４００の機能レポートフィールドのサイズは、対応するＨＩＤ記述子によって定義されており、機能レポート４０４の最大のレポートＩＤのサイズであるとしてよい。レポート記述子が機能レポートを含まない場合、機能レポート４０４はレイアウト４００に存在しないとしてよい。さまざまな実施形態によると、入力レポート４０２のサイズは、データモジュール１２４が取得したタッチコンタクトの数に基づいて変化するとしてよい。ＨＩＤ記述子は、レイアウト４００の入力レポートサイズのエリア４０６において入力レポート４０２のサイズを特定するとしてよい。例えば、入力レポートサイズ４０６は、入力レポート４０２における有効バイト数を特定するとしてよい。さまざまな実施形態によると、入力レポートサイズフィールド４０６のサイズは、２バイトであるとしてよい。さらに、ＨＩＤ記述子は、入力レポート４０２の最大サイズを特定するとしてよい。
【００３８】
＜タッチソースが生成するレポート＞
本開示によると、タッチソース１０２はタッチシンク１０４のレジスタ１２２に出力レポート（適用可能な場合）を格納するとしてよい。例えば、タッチソース１０２は、図５のレイアウト５００に示されている構造を持つＯＵＴＰＵＴ＿ＲＥＰＯＲＴ  ＤＰＣＤ領域に出力レポート５０２を格納するとしてよい。さまざまな実施形態によると、レポート記述子は、出力レポートサブ領域の最大サイズを定義するとしてよい。さまざまな実施形態によると、出力レポート５０２のサイズは、タッチソースが提供するコンテンツに基づいて変化するとしてよく、出力レポートサイズフィールド５０４は出力レポート５０２のサイズを特定するとしてよい。さまざまな実施形態によると、出力レポートサイズフィールド５０４のサイズは２バイトであるとしてよい。さらに、ＨＩＤ記述子は出力レポート５０２の最大サイズを特定するとしてよい。
【００３９】
さまざまな実施形態によると、タッチソース１０２およびタッチシンク１０４は、ＲＥＰＯＲＴ＿ＤＡＴＡ  ＤＰＣＤ領域４００における複数の機能レポートレジスタを共有するとしてよい。このような実施形態によると、タッチソースおよびタッチシンクは、より詳細に以下で説明するように、ＴＯＵＣＨ＿ＳＴＡＴＵＳ  ＤＰＣＤレジスタのＦＥＡＴＵＲＥ＿ＤＡＴＡ＿ＡＶＡＩＬＡＢＬＥビットを用いてアクセスを同期するとしてよい。
【００４０】
さまざまな実施形態によると、レポート記述子がレポートＩＤを利用して特定の種類の複数のレポート（例えば、機能レポート、入力レポートまたは出力レポート）を定義する場合、レポートサブ領域のサイズは、定義されている同じ種類の全てのレポートのサイズの結合であるとしてよい。本開示によると、タッチソース１０２に対応付けられているソフトウェアは、レポート記述子を解析することによって各レポートの最大サイズを、レポートサブ領域の前のサイズフィールドを検査することによって現在のレポートの有効バイト数を決定するとしてよい。
【００４１】
＜データ転送＞  本開示によると、タッチシンク１０４はタッチデータをタッチソース１０２に転送するとしてよい。例えば、タッチソース１０２は（Ｆ）ＡＵＸチャネル１１８を用いてタッチシンク１０４からタッチデータを取得するとしてよい。本開示によると、タッチソース１０２は、タッチシンク１０４が生成したタッチデータを含む入力レポート等のＨＩＤレポートにアクセスするべくさまざまな方法を利用するとしてよい。例えば、上述したように、タッチソース１０２は、タッチソース１０２によるタッチデータアクセスについて、割り込みベースのデータアクセス方法またはポーリングベースのデータアクセス方法をイネーブルするようにタッチシンク１０４を設定するとしてよい。
【００４２】
図６は、本開示のさまざまな実施形態に応じた、タッチソースによる割り込みベースのデータアクセスを実現するためのプロセス６００の一例を示すフローチャートである。図７は、プロセス６００に対応するシーケンスチャート７００の一例を示す図である。さまざまな実施形態によると、プロセス６００は、タッチシンクのＤＰＣＤレジスタに格納されているタッチデータ等のインターフェースデータにアクセスするべく用いられるとしてよい。例えば、タッチソース１０２は、タッチシンク１０４のレジスタ１２２から入力レポートおよび／または機能レポートを読み出すべくプロセス６００を実現するとしてよい。プロセス６００は、図６のブロック６０２、６０４、６０６、６０８、６１０および６１２のうち１以上によって説明され得る、１以上の処理、機能または動作を含むとしてよい。これらに限定されることなく一例に過ぎないが、プロセス６００は本明細書では図１のシステム１００の一例に基づいて説明する。
【００４３】
プロセス６００は、タッチソースが割り込みベースのアクセス方法を設定するブロック６０２から開始されるとしてよい。例えば、タッチソース１０２は、ＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタのＤＡＴＡ＿ＡＣＣＥＳＳ＿ＭＥＴＨＯＤビットを用いて割り込みを生成するようにタッチシンク１０４に命令することによって、割り込みベースのデータアクセスを実行するようにタッチシンク１０４を設定するとしてよい。ブロック６０４において、タッチソースはタッチシンクのデータモジュールをイネーブルするとしてよい。例えば、タッチソース１０２は、ＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタのＥＮＡＢＬＥ＿ＴＯＵＣＨビットを設定することによって、データモジュール１２４をイネーブルするとしてよい。さまざまな実施形態によると、ブロック６０２および６０４を組み合わせて、タッチデータを提供するようタッチシンクを設定する一の初期化処理６０５とするとしてよい。例えば、タッチソース１０２は、（Ｆ）ＡＵＸチャネル１１８を介して一の書き込み処理を実行して、ブロック６０２および６０４を処理６０５として実行するとしてもよい。さまざまな実施形態において、タッチソースは、プロセス６００を用いてレポートを読み出す度に初期化処理６０５を実行しないとしてもよい。このような実施形態では、タッチソースは代わりに、タッチシンクの設定の変更（例えば、システム１００の設定の変更）に応じてのみ、初期化処理を実行するとしてよい。
【００４４】
ブロック６０６において、タッチソースはレポートを要求するとしてよい。例えば、タッチソース１０２は、ＴＯＵＣＨ＿ＰＡＲＡＭＥＴＥＲＳ［０］を所望のレポートＩＤに設定することによって、そして、ＴＯＵＣＨ＿ＣＯＭＭＡＮＤ  ＤＰＣＤレジスタのＧＥＴ＿ＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴビットを設定することによって、特定のレポートＩＤについて機能レポートを要求するとしてよい。
【００４５】
ブロック６０６において、レポート要求に応じて、タッチシンクはデータを提供して対応する割り込みを設定するとしてよい（ブロック６０８）。例えば、マルチタッチデータが利用可能になる度に、タッチシンク１０４は、ＴＯＵＣＨ＿ＳＴＡＴＵＳ  ＤＰＣＤレジスタのＩＮＰＵＴ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビットおよびＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットがクリアな場合、ＲＥＰＯＲＴ＿ＤＡＴＡ  ＤＰＣＤ領域の入力レポートセクションをマルチタッチデータでポピュレートするとしてよい。タッチシンク１０４はこの後、マルチタッチデータを含む入力レポートの利用可能性を通知するべく割り込みを設定するとしてよい。例えば、タッチシンク１０４は、ＤＥＶＩＣＥ＿ＳＥＲＶＩＣＥ＿ＩＲＱ＿ＶＥＣＴＯＲのＩＮＰＵＴ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビットおよびＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットを設定することによって割り込みについて理由を設定するとしてよく、その後、タッチソース１０２に対して割り込みを提供するべくＩＲＱ＿ＨＰＤをアサートするとしてよい。
【００４６】
さらに、さまざまな実施形態において、ＧＥＴ＿ＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴビットが設定されていることを検出すると、タッチシンクは、ブロック６０８において、ＴＯＵＣＨ＿ＰＡＲＡＭＥＴＥＲＳ［０］からレポートＩＤを読み出し、ＴＯＵＣＨ＿ＳＴＡＴＵＳ  ＤＰＣＤレジスタのＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビットおよびＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットがクリアな場合、ＲＥＰＯＲＴ＿ＤＡＴＡ［０］において所望のレポートＩＤの機能レポートをポピュレートして、ＤＥＶＩＣＥ＿ＳＥＲＶＩＣＥ＿ＩＲＱ＿ＶＥＣＴＯＲのＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビットおよびＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットを設定することによって割り込みについて理由を設定し、ＩＲＱ＿ＨＰＤをアサートするとしてよい。
【００４７】
プロセス６００はこの後、タッチソースが割り込みの理由を読み出すブロック６１０に進むとしてよい。プロセス６００はこの後、タッチソースがデータを読み出して割り込みの理由をクリアするブロック６１２において終了するとしてよい。例えば、ＩＲＱ＿ＨＰＤを検出すると、タッチソース１０２は、ＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットが設定されているか否かを確認するべく、ＤＥＶＩＣＥ＿ＳＥＲＶＩＣＥ＿ＩＲＱ＿ＶＥＣＴＯＲを読み出すとしてよい。ＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットが設定されている場合、タッチソース１０２は、ＴＯＵＣＨ＿ＳＴＡＴＵＳ  ＤＰＣＤレジスタを読み出してＩＮＰＵＴ＿ＲＥＰＯＲ＿ＡＶＡＩＬＡＢＬＥビットまたはＯＵＴＰＵＴ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビットのいずれかが設定されているか否かを判断するとしてよく、利用可能性を示す情報（例えば、場合によっては、入力レポートおよび機能レポートの両方が利用可能であって、タッチソースは両方のレポートを読み出すとしてよい）に対応するデータ（例えば、入力レポートのマルチタッチデータ）を読み出すとしてよく、処理された利用可能性ビットをクリアして、そして、ＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットをクリアすることによって、割り込みの理由をクリアするとしてよい。さまざまな実施形態によると、プロセス６００は、タッチソース１０２がＩＮＰＵＴ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビットおよびＯＵＴＰＵＴ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビットの両方が設定されていないと判断する場合、ブロック６１２ではなくブロック６１０で終了するとしてもよい。
【００４８】
図８は、本開示のさまざまな実施形態に応じた、タッチソースによってポーリングベースのデータアクセスを実行するためのプロセス８００の例を示すフローチャートである。図９は、プロセス８００に対応するシーケンスチャート９００の一例を示す図である。さまざまな実施形態によると、プロセス８００はタッチシンクのＤＰＣＤレジスタに格納されているデータにアクセスするために用いられているとしてよい。例えば、タッチソース１０２は、タッチシンク１０４のレジスタ１２２から入力レポートおよび／または機能レポートを読み出すべくプロセス８００を実行するとしてよい。プロセス８００は、図８のブロック８０２、８０４、８０６、８０８、８１０および８１２のうち１以上によって図示されているように１以上の処理、機能または動作を含むとしてよい。これに限定されないが一例として、プロセス８００は本明細書において、図１のシステム１００の一例に関連付けて説明する。
【００４９】
プロセス８００は、タッチソースがポーリングベースのアクセス方法を実行するようタッチシンクを設定するブロック８０２において開始されるとしてよい。例えば、タッチソース１０２は、ＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタにおいてＤＡＴＡ＿ＡＣＣＥＳＳ＿ＭＥＴＨＯＤビットをポーリングに設定することによって、ポーリングベースのアクセスを実行するようタッチシンク１０４を設定するとしてよい。ブロック８０４において、タッチソースは、タッチシンクのデータモジュールをイネーブルするとしてよい。例えば、タッチソース１０２は、ＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタのＥＮＡＢＬＥ＿ＴＯＵＣＨビットを設定することによってデータモジュール１２４をイネーブルするとしてよい。さまざまな実施形態によると、ブロック８０２および８０４を組み合わせて、タッチデータを提供するようタッチシンクを設定する一の初期化処理８０５にするとしてもよい。例えば、タッチソース１０２は、処理８０５を実行するべく（Ｆ）ＡＵＸチャネル１１８を介して一の書き込み処理を実行するとしてよい。さまざまな実施形態によると、タッチソースは、プロセス８００を用いてレポートを読み出す度に初期化処理８０５を実行するのではなく、このような実施形態では、タッチソースは、現在のタッチシンク設定の変更（例えば、システム１００の設定の変更）に応じてのみ処理８０５を実行するとしてよい。
【００５０】
ブロック８０６において、タッチソースはレポートを要求するとしてよい。例えば、タッチソース１０２は、ＴＯＵＣＨ＿ＰＡＲＡＭＥＴＥＲＳ［０］を所望のレポートＩＤに設定することによって、そして、ＴＯＵＣＨ＿ＣＯＭＭＡＮＤ  ＤＰＣＤレジスタのＧＥＴ＿ＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴビットを設定することによって、特定のレポートＩＤについて機能レポートを要求するとしてよい。
【００５１】
ブロック８０６におけるレポート要求に応じて、タッチシンクはデータを提供し、データのフラグを立てて利用可能を意味するとしてよい（ブロック８０８）。例えば、タッチデータが利用可能になる度に、タッチシンク１０４は、ＴＯＵＣＨ＿ＳＴＡＴＵＳ  ＤＰＣＤレジスタのＩＮＰＵＴ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビットおよびＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットがクリアである場合、ＲＥＰＯＲＴ＿ＤＡＴＡ  ＤＰＣＤ領域の入力レポートセクションにタッチデータをポピュレートするとしてよい。タッチシンク１０４はこの後、レポート利用可能性フラグを設定するとしてよい（例えば、入力レポートについてＩＮＰＵＴ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビット、および、機能レポートについてＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビット）。さまざまな実施形態によると、ブロック８０８を実行する場合、プロセス６００とは異なり、タッチシンク１０４は、ＴＯＵＣＨ＿ＳＴＡＴＵＳの対応する利用可能性ビットを設定するが、ＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットを設定せず、ＩＲＱ＿ＨＰＤ信号をアサートしないとしてよい。
【００５２】
ブロック８１０において、タッチソースはレポートが利用可能か否かポーリングするとしてよい。例えば、タッチソース１０２は、一方または両方が設定されるまで、（例えば、入力レポートについてＩＮＰＵＴ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビット、機能レポートについてＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴ＿ＡＶＡＩＬＡＢＬＥビットを確認することによって）レポート利用可能性フラグの存在についてポーリングするとしてよい。ブロック８１２において、プロセス８００は、タッチソースがデータを読み出して対応するフラグをクリアすると、終了するとしてよい。例えば、ブロック８１０において一方または両方の入力レポート利用可能性フラグが設定されているとタッチソース１０２が判断すると、ブロック８１２では、タッチソースが、対応するレポートをＲＥＰＯＲＴ＿ＤＡＴＡ  ＤＰＣＤレジスタから読み出し、設定済みと発見されたレポート利用可能性フラグをクリアする。
【００５３】
さまざまな実施形態において、タッチソースは、割り込みベースのデータアクセス方法およびポーリングべースのデータアクセス方法を交互に実行して、図６および図８で上述したようにタッチシンクを交互に設定することによって、割り込み通知に対応付けられるレイテンシを最小限に抑えるとしてよい。このように交互にデータアクセスが実行される場合、タッチソースは、アクセス方法の切り替え中にデータを失わないようにすべきである。
【００５４】
図１０は、本開示のさまざまな実施形態に応じた、タッチシンクに対する出力レポート通達のプロセス１０００の例を示すフローチャートである。図１１は、プロセス１０００に対応するシーケンスチャート１１００の一例を示す図である。さまざまな実施形態によると、プロセス１０００は、タッチシンクのＤＰＣＤレジスタに出力データを書き込むために用いられるとしてよい。例えば、タッチソース１０２は、タッチシンク１０４のレジスタ１２２に出力レポートを書き込むためにプロセス１０００を実行するとしてよい。プロセス１０００は、図１０のブロック１００２、１００４、１００６、１００８、１０１０および１０１２のうち１以上によって説明される１以上の処理、機能または動作を含むとしてよい。これに限定されないが一例として、プロセス１０００は本明細書において、図１のシステム１００の一例に関連付けて説明される。
【００５５】
プロセス１０００は、データアクセスを実行するようにタッチソースがタッチシンクを設定するブロック１００２で開始されるとしてよい。例えば、タッチソース１０２は、図６のブロック６０２について上述したように割り込みベースのデータアクセスを実行するようにタッチシンク１０４を設定するとしてもよく、または、図８のブロック８０２について上述したようにポーリングベースのデータアクセスを実行するようにタッチシンク１０４を設定するとしてもよい。ブロック１００４において、タッチソースは、図６のブロック６０４および図８のブロック８０４に関して上述したように、タッチシンクのデータモジュールをイネーブルするとしてよい。さまざまな実施形態によると、ブロック１００２および１００４を組み合わせて、タッチデータを提供するようタッチシンクを設定する一の初期化処理１００５とするとしてもよい。例えば、タッチソース１０２は、処理１００５を実行するべく（Ｆ）ＡＵＸチャネル１１８を介して一の書き込み処理を実行するとしてよい。さまざまな実施形態によると、タッチソースは、プロセス１０００を用いてレポートを読み出す度に初期化処理１００５を実行するのではなく、このような実施形態によると、タッチソースは現在のタッチシンク設定の変更（例えば、システム１００の設定の変更）に応じてのみ初期化処理を実行するとしてよい。
【００５６】
タッチシンクに通達すべき出力データが利用可能になると、タッチソースは、ブロック１００６において、出力レポート読出要求が存在するか確認するとしてよい。例えば、タッチソース１０２は、ポーリングベースのアクセスの場合、ＴＯＵＣＨ＿ＳＴＡＴＵＳ  ＤＰＣＤレジスタにおいてＯＵＴＰＵＴ＿ＲＥＰＯＲＴ＿ＲＥＡＤビットが設定されているか否かポーリングすることに基づき、または、割り込みベースのアクセスの場合、ＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットおよびＯＵＴＰＵＴ＿ＲＥＰＯＲＴ＿ＲＥＡＤビットを設定してＩＲＱ＿ＨＰＤを処理することに基づき、ＳＥＴ＿ＯＵＴＰＵＴ＿ＲＥＰＯＲＴが０に設定されているかを確認することによって、先行出力レポートが完了したか否かを判断するとしてよい。存在する場合に先行出力レポートが完了したとタッチソースが判断すると、タッチソースは、ブロック１００８において、次の出力レポートを書き込み、出力レポート読出要求をクリアするとしてよい。例えば、タッチソース１０２は、出力レポートをＯＵＴＰＵＴ＿ＲＥＰＯＲＴ  ＤＰＣＤ領域の対応する位置に書き込み、ＯＵＴＰＵＴ＿ＲＥＰＯＲＴ＿ＲＥＡＤビットをクリアし、割り込みベースのアクセスの場合には、ＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットをクリアするとしてよい。ブロック１０１０において、タッチソースは出力レポート設定イベントを発行するとしてよい。例えば、タッチソース１０２は、ＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタのＳＥＴ＿ＯＵＴＰＵＴ＿ＲＥＰＯＲＴビットを設定するとしてよい。
【００５７】
プロセス１０００は、タッチシンクが出力レポートを読み出し、出力レポート読出要求を設定するブロック１０１２に進むとしてよい。例えば、タッチシンク１０４が（例えば、タッチシンクファームウェアを介して）ＳＥＴ＿ＯＵＴＰＵＴ＿ＲＥＰＯＲＴビットの値が１であると検出する場合（そして、割り込みベースのアクセスの場合、ＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴがクリアであると検出する場合）、タッチシンク１０４は、ＯＵＴＰＵＴ＿ＲＥＰＯＲＴ  ＤＰＣＤ領域から出力レポートを読み出して、ＯＵＴＰＵＴ＿ＲＥＰＯＲＴ＿ＲＥＡＤビットを設定するとしてよく、割り込みベースのアクセスの場合、ＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴビットを設定し、ＳＥＴ＿ＯＵＴＰＵＴ＿ＲＥＰＯＲビットをクリアするとしてよい。さまざまな実施形態によると、ＯＵＴＰＵＴ＿ＲＥＰＯＲＴ＿ＳＥＴビットはタッチシンクにおける割り込みをトリガするとしてよく、または、タッチシンクファームウェアはこのビットについて時折ポーリングするとしてよい。
【００５８】
さまざまな実施形態によると、タッチソースは、出力レポート通達について、ＣＯＮＦＩＧＵＲＥ＿ＴＯＵＣＨ  ＤＰＣＤレジスタのＳＥＴ＿ＯＵＴＰＵＴ＿ＲＥＰＯＲＴビットではなく、タッチソースがＳＥＴ＿ＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴビットを設定すること（そしてタッチシンクがＳＥＴ＿ＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴビットをクリアすること）を除き、図１０に図示されている方法と同様に機能レポート通達を実行するようにタッチシンクを設定するとしてよく、読出レートおよび書込レートは、ＯＵＴＰＵＴ＿ＲＥＰＯＲＴ＿ＲＥＡＤビットではなく、ＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴ＿ＲＥＡＤビットを用いて制御されるとしてよく、機能レポートはＲＥＰＯＲＴ＿ＤＡＴＡ  ＤＰＣＤ領域においてオフセット０で利用可能になるとしてよく、機能レポートが設定されているレポートＩＤは、ＴＯＵＣＨ＿ＰＡＲＡＭＥＴＥＲＳ［０］  ＤＰＣＤレジスタで通達されるとしてよい。さまざまな実施形態によると、ＴＯＵＣＨ＿ＰＡＲＡＭＥＴＥＲＳ［０］  ＤＰＣＤレジスタはさらにＧＥＴ＿ＦＥＡＴＵＲＥ＿ＲＥＰＯＲＴコマンドによっても利用されるので、タッチソースは、先述した情報を利用して任意の先行コマンドが完了していることを保証する必要があるとしてよい。
【００５９】
図１２は、本開示のさまざまな実施形態に応じた、プロセス１２００の一例を示すフローチャートである。プロセス１２００は、図１２のブロック１２０２、１２０４、１２０６、１２０８および１２１０のうち１以上で説明される１以上の処理、機能または動作を含むとしてよい。これに限定されることなく一例として、プロセス１２００は本明細書において、一例として上述したシステム１００、プロセス６００、８００および１０００に関連付けて説明する。
【００６０】
プロセス１２００は、ＨＩＤシンクデバイスが、補助（ＡＵＸ）チャネルを介して、インターフェースデータを提供するように設定されるブロック１２０２で開始されるとしてよい。尚、ＨＩＤシンクデバイスは、インターフェースデータを生成するデータモジュールを含む。さまざまな実施形態によると、システム１００を参照すると、ブロック１２０２では、タッチソース１０２が、（Ｆ）ＡＵＸチャネル１１８を介してマルチタッチデータとしてインターフェースデータを提供するタッチシンク１０４を設定するとしてよい。例えば、タッチソース１０２は、プロセス６００のブロック６０２において、上述したのと同様の方法でブロック１２０２を実行するとしてよい。
【００６１】
プロセス１２００は、ＡＵＸチャネルを介してデータモジュールがイネーブルされるブロック１２０４に進むとしてよい。さまざまな実施形態によると、ブロック１２０４では、タッチソース１０２がタッチシンク１０４のデータモジュール１２４を（Ｆ）ＡＵＸチャネル１１８を介してイネーブルするとしてよい。例えば、タッチソース１０２は、プロセス６００のブロック６０４において、上述したのと同様に、ブロック１２０４を実行するとしてよい。
【００６２】
ブロック１２０６において、インターフェースデータは、ＡＵＸチャネルを介して受信されるとしてよい。さまざまな実施形態によると、ブロック１２０６では、タッチソース１０２が（Ｆ）ＡＵＸチャネル１１８を介してタッチシンク１０４からマルチタッチデータを受信するとしてよい。例えば、タッチソース１０２は、プロセス６００のブロック６０６−６１２、または、プロセス８００のブロック８０６−８１２において上述したのと同様に、ブロック１２０６を実行するとしてよい。
【００６３】
プロセス１２００はこの後、ブロック１２０８および１２１０において終了するとしてよい。尚、出力データは、インターフェースデータに応じて生成するとしてよく（ブロック１２０８）、出力データはＡＵＸチャネルを介してＨＩＤシンクデバイスに提供されるとしてよい（ブロック１２１０）。さまざまな実施形態によると、ブロック１２０８および１２１０では、タッチソース１０２が、ブロック１２０６で受信したマルチタッチデータを用いて出力データを生成し、出力データを（Ｆ）ＡＵＸチャネル１１８を介してタッチシンク１０４へ提供するとしてよい。例えば、タッチソース１０２は、プロセス１０００のブロック１００６−１０１２において上述したのと同様に、ブロック１２０８を実行するとしてよい。
【００６４】
＜レポートの鮮度＞
本開示によると、機能レポートおよび／または出力レポートについてのタッチソースデバイスとタッチシンクデバイスとの間のやり取りは、両方のデバイスにおいてレポート利用可能性フラグを用いて調整されるとしてよい。入力レポートは、設定されたアイドルレートで生成されるとしてよい。タッチソースの読出レートが、タッチシンクが入力レポートを生成するレートよりも遅い場合、入力レポートは待ち行列に入れられるとしてよく、前述したように順序通りにタッチソースに対して利用可能になるとしてよい。場合によっては、タッチシンクのバッファはオーバーフローする場合がある。この場合、タッチシンクは、例えば、ＴＯＵＣＨ＿ＳＴＡＴＵＳレジスタのＢＵＦＦＥＲ＿ＯＶＥＲＦＬＯＷＥＤビットを設定して、ＩＲＱ＿ＨＰＤをアサートするとしてよい。これに応じて、タッチソースは、例えば、タッチシンクのアイドルレートを下げることを含むこの情報に基づき、実施形態毎に特定の対策を取るとしてよい。
【００６５】
さまざまな実施形態によると、タッチシンクは、少なくとも４つの最大サイズ（レポート記述子で説明した通り）の入力レポートに等しい待ち行列の長さを実現することが求められるとしてよい。さらに、さまざまな実施形態によると、タッチソースは任意で、処理効率を改善するべく本明細書で説明したバッファメカニズムを利用することを選択するとしてもよい。例えば、さまざまな実施形態によると、シンクデバイスは、本明細書で説明するバッファメカニズムおよび割り込みメカニズムを用いて、データを利用可能な状態にし、ソースデバイスによる処理に備えてデータを準備するが、ソースデバイスは任意で、より遅いレートでデータを処理するとしてもよく、例えば、データをバッチ処理するとしてもよい。例えば、タッチシンクが５０Ｈｚのレートでタッチデータを収集する一方、タッチソースは、タッチデータを２つのバッチで２５Ｈｚのレートでバッチ処理するとしてもよく、または、４つのバッチで１２．５Ｈｚのレートでバッチ処理するとしてもよく、以下同様である。
【００６６】
＜サイドバンドメッセージ＞
タッチソースとタッチシンクとの間の経路に存在する分岐デバイス、例えば、図２の分岐デバイス２０２は、ＤＰ１．２規格に応じて設定すべきである。図２のシステム２００等のシステムでは、タッチソース１０２は、ＲＥＭＯＴＥ＿ＤＰＣＤ＿ＲＥＡＤサイドバンドメッセージおよびＲＥＭＯＴＥ＿ＤＰＣＤ＿ＷＲＩＴＥサイドバンドメッセージを用いて、タッチシンク１０４のＤＰＣＤレジスタにアクセスするとしてよい。さらに、タッチシンク１０４は、ＳＩＮＫ＿ＥＶＥＮＴ＿ＮＯＴＩＦＹを用いてタッチ割り込みを示すとしてよい。ＳＩＮＫ＿ＥＶＥＮＴ＿ＮＯＴＩＦＹは、メッセージにパラメータとしてＳｉｎｋ＿Ｅｖｅｎｔを持ち、ＴＯＵＣＨ＿ＩＮＴＥＲＲＵＰＴをＳｉｎｋ＿Ｅｖｅｎｔのビット７として利用する上向きブロードキャストメッセージトランザクションであるとしてよい。
【００６７】
＜ＤＰＣＤアドレス空間の変更＞
本開示によると、ＤＰＣＤアドレス空間に対するさまざまな変更は表２に記載するように実行するとしてよい。
【表２】
2014534522.tif 000004
2014534522.tif 000005
2014534522.tif 000006
2014534522.tif 000007
【００６８】
＜ＤＰタッチの実施形態例＞
本開示によると、「多入力」モード動作をサポートするＨＩＤデバイス（例えば、タッチソースデバイスまたはタッチシンクデバイス）は、デバイス構成機能レポートおよび入力レポートの２つのレポートを定義しているタッチインターフェースを実現するとしてよい。さまざまな実施形態によると、機能レポートは、（Ｄｉｇｉｔｉｚｅｒ：Ｄｅｖｉｃｅ  Ｍｏｄｅ）でデジタイザの動作モードを、そして、インターフェースがサポートする最大同時コンタクト／タッチ数を（Ｄｉｇｉｔｉｚｅｒ：  Ｃｏｎｔａｃｔ  Ｃｏｕｎｔ  Ｍａｘｉｍｕｍ）で特定するとしてよい。さまざまな実施形態によると、ソフトウェアはデバイスが発見された場合に機能レポートを読み出すとしてよい。さまざまな実施形態によると、タッチレポートは、Ｄｉｇｉｔｉｚｅｒ：  Ｃｏｎｔａｃｔ  Ｃｏｕｎｔフィールドと、コンタクト情報フィールドアレイとを含むとしてよい。尚、機能レポートのＤｉｇｉｔｉｚｅｒ：  Ｃｏｎｔａｃｔ  Ｃｏｕｎｔ  Ｍａｘｉｍｕｍフィールドがコンタクト情報アレイのサイズを特定している。Ｄｉｇｉｔｉｚｅｒ：  Ｃｏｎｔａｃｔ  Ｃｏｕｎｔフィールドは、コンタクト情報アレイにおける現在有効なエントリ数を特定しているとしてよい（例えば、検出された指が４つのみである場合、コンタクトカウント＝４であり、コンタクト情報アレイの最初の４つのエントリ（０−３）が有効である）。
【００６９】
さまざまな実施形態によると、ＨＩＤ記述子のサイズは９バイトであるとしてよく（ＵＳＢＨＩＤＤｅｓｃｒｉｐｔｏｒ．ｂＬｅｎｇｔｈ＝９）、ＨＩＤ＿ＣＬＡＳＳ＿ＤＥＳＣＲＩＰＴＯＲＳ  ＤＰＣＤレジスタにおいてオフセット０から始まるとしてよい。例えば、ＨＩＤ記述子は以下のようにフォーマッティングされているとしてよい。
【表３】
2014534522.tif 000008
【００７０】
さまざまな実施形態によると、レポート記述子のサイズは３４２バイトであるとしてよく（ＵＳＢＨＩＤＤｅｓｃｒｉｐｔｏｒ．ｃｄ［０］．ｗＤｅｓｃｒｉｐｔｏｒＬｅｎｇｔｈ＝０×１５６）、ＨＩＤ＿ＤＥＳＣＲＩＰＴＯＲエリアにおいてオフセット１０から始まるとしてよい（ＵＳＢＨＩＤＤｅｓｃｒｉｐｔｏｒ．ｂＬｅｎｇｔｈ＋１）。別のＨＩＤクラス記述子がＨＩＤ記述子において定義されている場合、レポート記述子の終端（つまり、オフセット３５２、１０＋３４２）において開始される。例えば、レポート記述子は以下のようにフォーマッティングされているとしてよい。
【表４】
2014534522.tif 000009
2014534522.tif 000010
2014534522.tif 000011
2014534522.tif 000012
2014534522.tif 000013
2014534522.tif 000014
2014534522.tif 000015
2014534522.tif 000016
【００７１】
＜レポートデータレイアウト＞
図１３は、上述したレポート記述子が定義するＲＥＰＯＲＴ＿ＤＡＴＡエリアのレイアウト１３００を示す図である。さまざまな実施形態によると、機能レポートは入力レポートの前に割り当てられるとしてよい。図１３に示すように、レイアウト１３００は、デバイスモードおよび最多コンタクトカウントという２つのフィールドを定義する１バイトの機能レポート１３０２を含む。タッチ入力レポート１３０４は、機能レポートフィールドおよび入力レポートサイズフィールドの直後に続く。入力レポートは、サイズが３１バイトであるとしてよく、１バイトのコンタクトカウントフィールドの後に３バイトのコンタクトエントリを１０個含むアレイが続くとしてよい。各コンタクトエントリは、８ビットのコンタクトＩＤの後に、１２ビットのＸフィールドおよび１２ビットのＹフィールドが続くとしてよい。コンタクトカウントは、現在有効なコンタクトエントリの数を特定する。例えば、コンタクトカウント＝４の場合、コンタクトエントリ０−３が有効である。レイアウト１３００に示すように、レポート記述子は入力レポート１３０４の前に機能レポート１３０２を定義するが、両レポートはレポート記述子において逆順で定義されるが、ＲＥＰＯＲＴ＿ＤＡＴＡエリアでは依然として機能レポート１３０２が最初に来るように提示されるとしてもよい。
【００７２】
図６、図８、図１０および図１２で説明したプロセス６００、８００、１０００および１２００の実施形態例は図示した全てのブロックを図示した順序で実行することを含むが、本開示はこれに限定されるものではなく、さまざまな例によると、プロセス６００、８００、１０００および１２００の実施形態は、図示したブロックの一部のみを実行すること、および／または、図示した順序とは異なる順序で実行することを含むとしてもよい。
【００７３】
また、図６、図８、図１０および図１２のブロックのうち任意の１以上は、１以上のコンピュータプログラム製品で提供される命令に応じて実行されるとしてもよい。このようなプログラム製品は、例えば、プロセッサによって実行されると本明細書に記載する機能を実現する命令を提供する媒体を搬送する信号を含むとしてよい。コンピュータプログラム製品は、任意の形態のコンピュータ可読媒体で提供されるとしてよい。このため、例えば、１以上のプロセッサコアを含むプロセッサが、コンピュータ可読媒体によって当該プロセッサに搬送された命令に応じて、図６、図８、図１０および図１２に図示したブロックのうち１以上を実行するとしてよい。
【００７４】
本明細書で説明する任意の実施形態で用いられる場合、「モジュール」および／または「ロジック」という用語は、本明細書で説明する機能を実現するソフトウェア、ファームウェアおよび／またはハードウェアの任意の組み合わせを意味する。ソフトウェアは、ソフトウェアパッケージ、コード、および／または、命令セットもしくは命令として具現化されるとしてよく、「ハードウェア」という用語は、本明細書で説明する任意の実施形態で用いられる場合、例えば、ハードワイヤード回路、プログラミング可能な回路、ステートマシン回路、および／または、プログラミング可能な回路で実行する命令を格納するファームウェアを単独または任意の組み合わせた状態で含むとしてよい。モジュールおよび／またはロジックは、集合的または個別に、より大きなシステム、例えば、集積回路（ＩＣ）、システムオンチップ（ＳｏＣ）等の一部を形成する回路として具現化されるとしてよい。
【００７５】
図１４は、本開示に応じたシステム１４００の一例を示す図である。さまざまな実施形態によると、システム１４００はメディアシステムであるとしてよいが、システム１４００はこれに限定されない。例えば、システム１４００は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、手持ちコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、複合携帯電話／ＰＤＡ、テレビ、スマートデバイス（例えば、スマートフォン、スマートタブレットまたはスマートテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス等に組み込まれているとしてよい。
【００７６】
さまざまな実施形態によると、システム１４００では、プラットフォーム１４０２がディスプレイ１４２０に結合されている。プラットフォーム１４０２は、コンテンツサービスデバイス１４３０またはコンテンツ配信デバイス１４４０またはその他の同様のコンテンツソース等のコンテンツデバイスからコンテンツを受信するとしてよい。１以上のナビゲーション機能を持つナビゲーションコントローラ１４５０は、例えば、プラットフォーム１４０２および／またはディスプレイ１４２０とやり取りするために用いられるとしてよい。これらの構成要素はそれぞれ、より詳細に以下に説明されている。
【００７７】
さまざまな実施形態によると、プラットフォーム１４０２は、チップセット１４０５、プロセッサ１４１０、メモリ１４１２、ストレージ１４１４、グラフィクスサブシステム１４１５、アプリケーション１４１６、および／または、無線機器１４１８の任意の組み合わせを含むとしてよい。チップセット１４０５は、プロセッサ１４１０、メモリ１４１２、ストレージ１４１４、グラフィクスサブシステム１４１５、アプリケーション１４１６および／または無線機器１４１８の間の相互通信を実現するとしてよい。例えば、チップセット１４０５は、ストレージ１４１４と相互通信を実現可能なストレージアダプタ（不図示）を含むとしてよい。
【００７８】
プロセッサ１４１０は、複合命令セットコンピュータ（ＣＩＳＣ）プロセッサまたは縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサ、ｘ８６命令セットに準拠したプロセッサ、マルチコアプロセッサまたは任意のその他のマイクロプロセッサまたは中央演算処理装置（ＣＰＵ）として実現されるとしてよい。さまざまな実施形態によると、プロセッサ１４１０は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ等であってよい。
【００７９】
メモリ１４１２は、これらに限定されないが、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、または、スタティックＲＡＭ（ＳＲＡＭ）等、揮発性メモリデバイスとして実現されるとしてよい。
【００８０】
ストレージ１４１４は、これらに限定されないが、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、取り付けられたストレージデバイス、フラッシュメモリ、電池でバックアップされるＳＤＲＡＭ（シンクロナスＤＲＡＭ）および／またはネットワークアクセス可能ストレージデバイス等の不揮発性ストレージデバイスとして実現されるとしてよい。さまざまな実施形態によると、ストレージ１４１４は、格納性能を高める技術を含むとしてよく、および、例えば、複数のハードドライブが含まれている場合に、価値あるデジタルメディアに対して保護機能が改善されているとしてよい。
【００８１】
グラフィクスサブシステム１４１５は、表示用の静止画像または動画像等の画像の処理を実行するとしてよい。グラフィクスサブシステム１４１５は、例えば、グラフィクスプロセッシングユニット（ＧＰＵ）またはビジュアルプロセッシングユニット（ＶＰＵ）であってよい。アナログインターフェースまたはデジタルインターフェースを用いて、グラフィクスサブシステム１４１５およびディスプレイ１４２０を通信可能に結合するとしてよい。例えば、インターフェースは、高精細マルチメディアインターフェース、ＤｉｓｐｌａｙＰｏｒｔ、ワイヤレスＨＤＭＩ（登録商標）および／またはワイヤレスＨＤ準拠技術のいずれであってもよい。グラフィクスサブシステム１４１５は、プロセッサ１４１０またはチップセット１４０５に組み込まれているとしてよい。一部の実施形態によると、グラフィクスサブシステム１４１５は、チップセット１４０５に通信可能に結合されているスタンドアロンカードであってよい。
【００８２】
本明細書で説明したグラフィクス処理技術および／またはビデオ処理技術は、さまざまなハードウェアアーキテクチャで実現されるとしてよい。例えば、グラフィクス機能および／またはビデオ機能はチップセット内に集積化されているとしてよい。これに代えて、ディスクリートなグラフィクスプロセッサおよび／またはビデオプロセッサが利用されるとしてもよい。さらに別の実施形態によると、グラフィクス機能および／またはビデオ機能は、マルチコアプロセッサを含む汎用プロセッサによって提供されるとしてよい。別の実施形態によると、当該機能は消費者向け電子機器で実現されるとしてよい。
【００８３】
無線機器１４１８は、さまざまな適切な無線通信技術を用いて信号を送受信可能な１以上の無線機器を含むとしてよい。このような技術は、１以上の無線ネットワークにわたる通信を含むとしてよい。無線ネットワークの例を挙げると、（これらに限定されないが）、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）、ワイヤレスパーソナルエリアネットワーク（ＷＰＡＮ）、ワイヤレスメトロポリタンエリアネットワーク（ＷＭＡＮ）、セルラーネットワークおよび衛星ネットワークがある。このようなネットワークにわたって通信を行う際、無線機器１４１８は、１以上の適用可能な規格の任意のバージョンにしたがって動作するとしてよい。
【００８４】
さまざまな実施形態によると、ディスプレイ１４２０は任意のテレビ型モニタまたはディスプレイを含むとしてよい。ディスプレイ１４２０は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビのようなデバイスおよび／またはテレビを含むとしてよい。ディスプレイ１４２０は、デジタル形式および／またはアナログ形式であってよい。さまざまな実施形態によると、ディスプレイ１４２０はホログラフィックディスプレイであってよい。また、ディスプレイ１４２０は、視覚投影を受け取る透明な面であってよい。このような投影は、さまざまな形態の情報、画像および／またはオブジェクトを伝えるとしてよい。例えば、このような投影は、モバイル拡張現実（ＭＡＲ）用の視覚オーバーレイであってよい。１以上のソフトウェアアプリケーション１４１６の制御下において、プラットフォーム１４０２は、ディスプレイ１４２０においてユーザインターフェース１４２２を表示するとしてよい。
【００８５】
さまざまな実施形態によると、コンテンツサービスデバイス１４３０は、任意の国家サービス、国際サービスおよび／または独立したサービスによってホストされるとしてよいので、例えば、インターネットを介してプラットフォーム１４０２にアクセス可能であるとしてよい。コンテンツサービスデバイス１４３０は、プラットフォーム１４０２および／またはディスプレイ１４２０に結合されているとしてよい。プラットフォーム１４０２および／またはコンテンツサービスデバイス１４３０は、ネットワーク１４６０との間でメディア情報を通信（例えば、送受信）するべく、ネットワーク１４６０に結合されているとしてよい。コンテンツ配信デバイス１４４０はさらに、プラットフォーム１４０２および／またはディスプレイ１４２０に結合されているとしてよい。
【００８６】
さまざまな実施形態によると、コンテンツサービスデバイス１４３０は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、デジタル情報および／またはコンテンツを配信可能なインターネットが可能なデバイスまたは機器、および、コンテンツプロバイダとプラットフォーム１４０２および／またはディスプレイ１４２０との間で、ネットワーク１４６０を介して、または、直接、一方向または双方向にコンテンツを通信可能な任意の他の同様のデバイスを含むとしてよい。コンテンツは、システム１４００のコンポーネントのうち任意の一のコンポーネントおよびコンテンツプロバイダとの間で、ネットワーク１４６０を介して、一方向および／または双方向に通信され得ると認められる。コンテンツの例としては、例えば、ビデオ、音楽、医療情報およびゲーム情報等を含む任意のメディア情報が挙げられるとしてよい。
【００８７】
コンテンツサービスデバイス１４３０は、メディア情報、デジタル情報および／または他のコンテンツを含むケーブルテレビプログラミング等のコンテンツを受信するとしてよい。コンテンツプロバイダの例としては、任意のケーブルテレビまたは衛星テレビまたは無線機器またはインターネットコンテンツプロバイダが挙げられるとしてよい。上述した例は、いかなる方法でも本開示に応じた実施形態を限定することを意味するものではない。
【００８８】
さまざまな実施形態によると、プラットフォーム１４０２は、１以上のナビゲーション機能を含むナビゲーションコントローラ１４５０から制御信号を受信するとしてよい。コントローラ１４５０のナビゲーション機能は、例えば、ユーザインターフェース１４２２とやり取りするために用いられるとしてよい。実施形態によると、ナビゲーションコントローラ１４５０は、ユーザに空間（例えば、一続きで多次元の）データをコンピュータに入力させるコンピュータハードウェアコンポーネント（特に、ヒューマンインターフェースデバイス）であるポインティングデバイスであってよい。グラフィカルユーザインターフェース（ＧＵＩ）およびテレビおよびモニタ等の多くのシステムによると、ユーザは、物理的なジェスチャを用いてデータを制御してコンピュータまたはテレビに提供できるようになる。
【００８９】
コントローラ１４５０のナビゲーション機能の動きは、ポインタ、カーソル、フォーカスリング、または、ディスプレイ上で表示される他の視覚指示器の動きによって、ディスプレイ（例えば、ディスプレイ１４２０）上で複製されるとしてよい。例えば、ソフトウェアアプリケーション１４１６の制御下で、ナビゲーションコントローラ１４５０上のナビゲーション機能は、例えば、ユーザインターフェース１４２２上に表示される仮想ナビゲーション機能にマッピングされるとしてよい。実施形態によると、コントローラ１４５０は、別箇のコンポーネントではないとしてよく、プラットフォーム１４０２および／またはディスプレイ１４２０に組み込まれているとしてもよい。しかし、本開示は、本明細書で説明または図示した構成要素または内容に限定されない。
【００９０】
さまざまな実施形態によると、ドライバ（不図示）は、ユーザは、例えば、最初に起動した後ボタンをタッチすることで、イネーブルされている場合、テレビのように瞬時にプラットフォーム１４０２をオンおよびオフに制御できるようにする技術を含むとしてよい。プログラムロジックは、プラットフォーム１４０２に、オフの状態であっても、メディアアダプタまたは他のコンテンツサービスデバイス１４３０またはコンテンツ配信デバイス１４４０に対して、コンテンツをストリーミングさせるとしてよい。また、チップセット１４０５は、例えば、５．１サラウンドサウンドオーディオおよび／または高精細７．１サラウンドサウンドオーディオについて、ハードウェアおよび／またはソフトウェアサポートを含むとしてよい。ドライバは、一体化されたグラフィクスプラットフォームのグラフィクスドライバを含むとしてよい。実施形態によると、グラフィクスドライバは、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）エクスプレスグラフィクスカードを含むとしてよい。
【００９１】
さまざまな実施形態によると、システム１４００の図示されているコンポーネントのうち任意の１以上は一つに集積化されているとしてもよい。例えば、プラットフォーム１４０２およびコンテンツサービスデバイス１４３０が一つに集積化されているとしてよく、または、プラットフォーム１４０２およびコンテンツ配信デバイス１４４０が一つに集積化されているとしてもよいし、または、例えば、プラットフォーム１４０２、コンテンツサービスデバイス１４３０、および、コンテンツ配信デバイス１４４０が一つに集積化されているとしてもよい。さまざまな実施形態によると、プラットフォーム１４０２およびディスプレイ１４２０は、一体的な一のユニットであるとしてよい。ディスプレイ１４２０およびコンテンツサービスデバイス１４３０は一に集積化されているとしてよく、または、例えば、ディスプレイ１４２０およびコンテンツ配信デバイス１４４０は一に集積化されているとしてよい。これらの例は本開示を限定することを意図するものではない。
【００９２】
さまざまな実施形態によると、システム１４００は、無線システム、有線システムまたはこれらの組み合わせとして実現されるとしてよい。無線システムとして実現される場合、システム１４００は、無線共有媒体、例えば、１以上のアンテナ、送信機、受信機、送受信機、増幅器、フィルタ、制御ロジック等を介して通信を行うのに適したコンポーネントおよびインターフェースを含むとしてよい。無線共有媒体の例には、無線スペクトルの一部、例えば、ＲＦスペクトル等が含まれるとしてよい。有線システムとして実現される場合、システム１４００は、入出力（Ｉ／Ｏ）アダプタ、Ｉ／Ｏアダプタを対応する有線通信媒体に接続する物理コネクタ、ネットワークインターフェースカード（ＮＩＣ）、ディスクコントローラ、ビデオコントローラ、オーディオコントローラ等の有線通信媒体を介して通信を行うのに適したコンポーネントおよびインターフェースを含むとしてよい。有線通信媒体の例には、ワイヤ、ケーブル、金属リード線、プリント配線基板（ＰＣＢ）、バックプレーン、スイッチファブリック、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバ等が含まれるとしてよい。
【００９３】
プラットフォーム１４０２は、情報を通信するための１以上の論理チャネルまたは物理チャネルを構築するとしてよい。当該情報は、メディア情報および制御情報を含むとしてよい。メディア情報は、ユーザ宛てのコンテンツを表す任意のデータを意味するとしてよい.コンテンツの例には、例えば、音声会話のデータ、ビデオ会議、ストリーミングビデオ、電子メール（ｅマール）メッセージ、音声メールメッセージ、英数字記号、グラフィクス、画像、ビデオ、テキスト等があるとしてよい。音声会話のデータは、例えば、スピーチ情報、沈黙の期間、背景ノイズ、快適雑音、トーン等であってよい。制御情報は、自動化されたシステム用のコマンド、命令または制御ワードを表す任意のデータを意味するとしてよい。例えば、制御情報は、システムにおいてメディア情報をルーティングするため、または、所定の方法でメディア情報を処理するようにノードに命令するために用いられるとしてよい。しかし、実施形態は、図１４に説明または図示した構成要素または内容に限定されるものではない。
【００９４】
上述したように、システム１４００は、さまざまな物理的なスタイルまたはフォームファクタで具現化するとしてもよい。図１５は、システム１４００が具現化され得る小フォームファクターデバイス１５００の実施形態を説明するための図である。実施形態によると、例えば、デバイス１５００は、無線機能を持つモバイルコンピューティングデバイスとして実現されるとしてよい。モバイルコンピューティングデバイスは、処理システムと、例えば、１以上の電池等のモバイル電源を備える任意のデバイスを意味するとしてよい。
【００９５】
上述したように、モバイルコンピューティングデバイスの例は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、手持ちコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、複合携帯電話／ＰＤＡ、テレビ、スマートデバイス（例えば、スマートフォン、スマートタブレット、または、スマートテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス等を含むとしてよい。
【００９６】
モバイルコンピューティングデバイスの例としてはさらに、人が着用するように構成されているコンピュータ、例えば、手首着用コンピュータ、指着用コンピュータ、指輪状コンピュータ、メガネ状コンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、靴着用コンピュータ、衣服状コンピュータおよびその他の着用可能なコンピュータも含まれるとしてよい。さまざまな実施形態によると、例えば、モバイルコンピューティングデバイスは、コンピュータアプリケーション、ならびに、音声通信および／またはデータ通信を実行可能なスマートフォンとして実現されるとしてもよい。一部の実施形態は、一例としてスマートフォンとして実現されているモバイルコンピューティングデバイスに基づいて説明されているが、他の実施形態は他の無線モバイルコンピューティングデバイスを用いて実現され得るものと考えられたい。実施形態はこれに限定されない。
【００９７】
図１５に示すように、デバイス１５００は、筐体１５０２、ディスプレイ１５０４、入出力（Ｉ／Ｏ）デバイス１５０６、および、アンテナ１５０８を備えるとしてよい。デバイス１５００はさらに、ナビゲーション機能１５１２を備えるとしてよい。ディスプレイ１５０４は、モバイルコンピューティングデバイスについて適切な情報を表示する任意の適切なディスプレイユニットを有するとしてよい。Ｉ／Ｏデバイス１５０６は、モバイルコンピューティングデバイスに情報を入力する任意の適切なＩ／Ｏデバイスを有するとしてよい。Ｉ／Ｏデバイス１５０６の例としては、英数字キーボード、数字キーパッド、タッチパッド、入力キー、ボタン、スイッチ、ロッカースイッチ、マイクロフォン、スピーカ、音声認識デバイスおよびソフトウェア等が挙げられるとしてよい。また、マイクロフォン（不図示）を利用してデバイス１５００に情報を入力するとしてよい。このような情報は、音声認識デバイス（不図示）によってデジタル化されるとしてよい。実施形態はこれに限定されない。
【００９８】
さまざまな実施形態は、ハードウェア要素、ソフトウェア要素またはこれらの組み合わせを用いて実現されるとしてよい。ハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路要素（例えば、トランジスタ、抵抗、キャパシタ、インダクタ等）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラミング可能ロジックデバイス（ＰＬＤ）、デジタルシグナルプロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等を含むとしてよい。ソフトウェアの例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、プロシージャ、ソフトウェアインターフェース、アプリケーションプログラムインターフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボルまたはこれらの任意の組み合わせを含むとしてよい。実施形態をハードウェア要素および／またはソフトウェア要素を用いて実現するか否かの判断は、任意の数の要因、例えば、所望の計算レート、電力レベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度、および、他の設計上または性能上の制約に左右されるとしてよい。
【００９９】
少なくとも一の実施形態の１以上の側面は、プロセッサ内のさまざまなロジックを表現する、機械可読媒体に格納されている命令によって実現されるとしてよい。当該命令を機械によって読み出すと、当該機械は、本明細書に記載されている技術を実行するロジックを製造する。このような表現は、「ＩＰコア」として知られており、有形の機械可読媒体に格納され、さまざまな顧客または製造設備に供給され、実際にロジックまたはプロセッサを製造する製造機械にロードされるとしてよい。
【０１００】
さまざまな実施形態に基づき本明細書に記載した特定の特徴を説明してきたが、本文献は限定的に解釈されることを意図したものではない。このため、本明細書に記載した実施形態のさまざまな変形例は、他の実施形態と同様に、本開示の関連技術分野の当業者には明らかであり、本開示の意図および範囲に含まれるものとする。
【図１】
2014534522.tif 000017
【図２】
2014534522.tif 000018
【図３】
2014534522.tif 000019
【図４】
2014534522.tif 000020
【図５】
2014534522.tif 000021
【図６】
2014534522.tif 000022
【図７】
2014534522.tif 000023
【図８】
2014534522.tif 000024
【図９】
2014534522.tif 000025
【図１０】
2014534522.tif 000026
【図１１】
2014534522.tif 000027
【図１２】
2014534522.tif 000028
【図１３】
2014534522.tif 000029
【図１４】
2014534522.tif 000030
【図１５】
2014534522.tif 000031
【国際調査報告】
2014534522.tif 000032
2014534522.tif 000033