(57)【要約】  アクティブスタイラスを、センサコントローラであって前記アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合したセンサコントローラとインタフェースする方法を提供する。本方法において、前記センサコントローラは、前記スタイラスからパケットを受信するのに使用可能な複数の時間スロットからなるデータフレームを定義する。前記アクティブスタイラスは、前記センサコントローラからの要求に応答して、スタイラス機能情報を含む信号を送信する。前記センサコントローラは、前記スタイラス機能情報に基づいて、前記アクティブスタイラスにより前記センサコントローラにパケットを送信するのに用いられるダウンリンク時間スロット割当てを決定する。前記センサコントローラは、前記ダウンリンク時間スロット割当てを前記アクティブスタイラスに送信する。
2018514008.tif 000002
【特許請求の範囲】
【請求項１】
アクティブスタイラスを、前記アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合したセンサコントローラとインタフェースする方法であって、
前記センサコントローラは、前記スタイラスからパケットを受信するのに使用可能な複数の時間スロットからなるデータフレームを定義し、
前記センサコントローラからの要求に応答して前記アクティブスタイラスからスタイラス機能情報を含む信号を送信し、
前記センサコントローラは、前記スタイラス機能情報に基づいて、前記アクティブスタイラスにより前記センサコントローラにパケットを送信するのに用いられるダウンリンク時間スロット割当てを決定し、
前記センサコントローラから前記アクティブスタイラスに前記ダウンリンク時間スロット割当てを送信することを含む方法。
【請求項２】
請求項１に記載の方法であって、
前記アクティブスタイラスと前記センサとは静電容量結合する方法。
【請求項３】
請求項１に記載の方法であって、
前記スタイラス機能情報は、ａ）予め定義された前記アクティブスタイラスの機能に関する機能情報、およびｂ）ユーザにより調整可能な前記アクティブスタイラスの設定に関する設定情報のうちの少なくとも一方を含む方法。
【請求項４】
請求項３に記載の方法であって、
前記機能情報は、ｉ）前記アクティブスタイラスがスタイラスオリエンテーションを検知することが可能であるか否か、ｉｉ）前記アクティブスタイラスがバレルプレッシャを検知することが可能であるか否か、ｉｉｉ）前記アクティブスタイラスがベンダ固有の特徴を有するか否か、ｉｖ）前記アクティブスタイラスが推奨色を有するか否か、およびｖ）前記アクティブスタイラスのグローバルＩＤのうちの少なくとも１つを含む方法。
【請求項５】
請求項４に記載の方法であって、
前記スタイラスオリエンテーションは、前記アクティブスタイラスのチルト、前記アクティブスタイラスのツイスト、前記アクティブスタイラスの高度、および前記アクティブスタイラスの方位角のうちの少なくとも１つを含む方法。
【請求項６】
請求項４に記載の方法であって、
前記機能情報は複数の機能のビットフィールドにおいて示され、前記ビットフィールドにおける複数のビットの各々は複数の機能のうちの対応する機能の有無を示す方法。
【請求項７】
請求項３に記載の方法であって、
前記機能情報は、前記アクティブスタイラス上に備えられたバレルスイッチの数を含む方法。
【請求項８】
請求項３に記載の方法であって、
前記設定情報は、ｉ）スタイラス線幅、ｉｉ）スタイラス先端タイプ、ｉｉｉ）色、およびｉｖ）前記アクティブスタイラスの固有識別番号のうちの少なくとも１つを含む方法。
【請求項９】
請求項３に記載の方法であって、
前記設定情報は、前記スタイラス上に配置された１つまたは複数のスイッチを用いてユーザにより変更可能である色指標を含む方法。
【請求項１０】
請求項３に記載の方法であって、
前記設定情報は、前記スタイラス上に配置された１つまたは複数のスイッチを用いてユーザにより変更可能である前記アクティブスタイラスの固有識別番号を含む方法。
【請求項１１】
請求項３に記載の方法であって、
前記スタイラス機能情報を、前記センサコントローラに送信する前にハッシュ化して固定サイズのハッシュ値を生成する方法。
【請求項１２】
請求項１に記載の方法であって、
前記ダウンリンク時間スロット割当ては、ｉ）フレーム内のいずれのダウンリンク時間スロットを前記アクティブスタイラスに割り当てるか、およびｉｉ）前記アクティブスタイラスがどのような種類のパケットをどのようなダウンリンク時間スロットにおいて送信するかのうちの少なくとも一方を含む方法。
【請求項１３】
請求項１に記載の方法であって、
前記ダウンリンク時間スロット割当ては、ｉ）前記アクティブスタイラスによって用いられる開始時間スロットを示すオフセット値、およびｉｉ）前記開始時間スロットから開始する前記アクティブスタイラスに割り当てられた時間スロット間の間隔を示す間隔値を含む方法。
【請求項１４】
請求項１に記載の方法であって、
さらに、前記センサコントローラに対する前記ダウンリンク時間スロット割当てを受信した前記アクティブスタイラスから、前記ダウンリンク時間スロット割当てに従って割り当てられた前記時間スロットにおいてパケットを送信することを含む方法。
【請求項１５】
請求項１４に記載の方法であって、
送信される前記パケットは、ｉ）前記アクティブスタイラスの動作状態を示す動作データを含むデータパケット、およびｉｉ）前記センサコントローラによって前記センサに対する前記アクティブスタイラスの位置を算出するのに用いられる非データパケットのうちの一方である方法。
【請求項１６】
請求項１５に記載の方法であって、
前記動作データは、ｉ）スタイラス先端圧力データ、ｉｉ）バレルプレッシャデータ、ｉｉｉ）スタイラスオリエンテーションデータ、ｉｖ）スタイラスバレルスイッチ状態データ、およびｖ）スタイラスバッテリレベルのうちの１つまたは複数を含む方法。
【請求項１７】
請求項１６に記載の方法であって、
複数の内蔵計測ユニット（ＩＭＵ）によって生成されるスタイラスオリエンテーションに関する前記動作データを１つまたは複数の時間スロット内に多重する方法。
【請求項１８】
請求項１６に記載の方法であって、
動作データを含むデータパケットを送信するステップは、ｉ）動作データを含むスケジュール化データパケットを送信すること、およびｉｉ）前記センサコントローラによって要求された動作データを含む非スケジュール化データパケットを送信することのうちの少なくとも一方を含む方法。
【請求項１９】
請求項１８に記載の方法であって、
前記非スケジュール化データパケットを送信することは、非スケジュール化動作データの送信に対して確保した時間スロットにおいて非スケジュール化データパケットを送信することを含む方法。
【請求項２０】
アクティブスタイラスからの入力を受け付けるセンサに結合されるセンサコントローラであって、
プロセッサであって、動作中に、前記アクティブスタイラスと前記センサコントローラとの間の通信に供される時間スロットからなるデータフレームを定義し、前記アクティブスタイラスから前記アクティブスタイラスのスタイラス機能情報を含む信号を受信し、受信した前記スタイラス機能情報に基づいて、前記アクティブスタイラスによって前記センサコントローラにパケットを送信するのに用いられるダウンリンク時間スロット割当てを決定するプロセッサと、
前記プロセッサに結合した送信コントローラであって、動作中に、前記アクティブスタイラスへの前記ダウンリンク時間スロット割当ての送信を発生させる送信コントローラとを備えるセンサコントローラ。
【請求項２１】
請求項２０に記載のセンサコントローラであって、
前記スタイラス機能情報は、ａ）予め定義された前記アクティブスタイラスの機能に関する機能情報、およびｂ）ユーザにより調整可能な前記アクティブスタイラスの設定に関する設定情報のうちの少なくとも一方を含むセンサコントローラ。
【請求項２２】
請求項２０に記載のセンサコントローラであって、
前記ダウンリンク時間スロット割当ては、ｉ）前記アクティブスタイラスによって用いられる開始時間スロットを示すオフセット値、およびｉｉ）前記開始時間スロットから開始する前記アクティブスタイラスに割り当てられた時間スロット間の間隔を示す間隔値を含むセンサコントローラ。
【請求項２３】
請求項２０に記載のセンサコントローラであって、
前記プロセッサは、前記ダウンリンク時間スロット割当てに従って前記アクティブスタイラスに割り当てられた前記時間スロットにおいてデータパケットを受信するセンサコントローラ。
【請求項２４】
請求項２３に記載のセンサコントローラであって、
前記データパケットは前記アクティブスタイラスの動作状態を示す動作データを含み、前記動作データは、ｉ）スタイラス先端圧力データ、ｉｉ）バレルプレッシャデータ、ｉｉｉ）スタイラスオリエンテーションデータ、ｉｖ）スタイラスバレルボタン状態、およびｖ）スタイラスバッテリレベルのうちの１つまたは複数を含むセンサコントローラ。
【請求項２５】
請求項２３に記載のセンサコントローラであって、
前記プロセッサは、ｉ）前記アクティブスタイラスの動作データを含むスケジュール化データパケット、およびｉｉ）前記センサコントローラが要求した動作データを含む非スケジュール化データパケットのうちの少なくとも一方を受信するセンサコントローラ。
【請求項２６】
アクティブスタイラスであって、
レシーバであって、動作中に、前記アクティブセンサからの入力を受け付けるように構成されたセンサに結合したセンサコントローラから送信される周期的なビーコン信号を受信し、前記ビーコン信号は前記アクティブスタイラスと前記センサコントローラとの間の双方向通信において用いられる時間スロットに対するタイミング基準として機能するレシーバと、
前記ビーコン信号を検出するとともに前記アクティブスタイラスのスタイラス機能情報を含む信号を生成するように前記レシーバに結合したプロセッサと、
前記スタイラス機能情報を含む前記信号を前記センサコントローラに送信するように前記プロセッサに結合したトランスミッタとを備え、
前記レシーバは、動作中に、前記アクティブスタイラスによって前記センサコントローラにパケットを送信するのに用いられるダウンリンク時間スロット割当てを前記センサコントローラから受信し、前記ダウンリンク時間スロット割当ては、前記センサコントローラによって前記アクティブスタイラスの前記スタイラス機能情報に基づいて決定され、
前記トランスミッタは、動作中に、前記ダウンリンク時間スロット割当てに従って前記アクティブスタイラスに割り当てられた前記時間スロットにおいて前記センサコントローラにパケットを送信するアクティブスタイラス。
【請求項２７】
請求項２６に記載のアクティブスタイラスであって、
静電容量方式のアクティブスタイラスからなるアクティブスタイラス。
【請求項２８】
請求項２６に記載のアクティブスタイラスであって、
前記トランスミッタは前記アクティブスタイラスの動作状態を示す動作データを含むデータパケットを送信し、前記動作データは、ｉ）スタイラス先端圧力データ、ｉｉ）バレルプレッシャデータ、ｉｉｉ）スタイラスオリエンテーションデータ、ｉｖ）スタイラスバレルスイッチ状態データ、およびｖ）スタイラスバッテリレベルのうちの１つまたは複数を含むアクティブスタイラス。
【請求項２９】
請求項２８に記載のアクティブスタイラスであって、
前記トランスミッタは、ｉ）動作データを含むスケジュール化データパケット、およびｉｉ）前記センサコントローラによって要求された動作データを含む非スケジュール化データパケットのうちの少なくとも一方を送信するアクティブスタイラス。
【請求項３０】
システムであって、
（ａ）センサと、
（ｂ）前記センサに結合したセンサコントローラであって、
動作中に、周期的なビーコン信号の送信を発生させる送信コントローラであって、前記ビーコン信号は前記センサコントローラと１つまたは複数のアクティブスタイラスとの間の双方向通信において用いられる時間スロットに対するタイミング基準として機能する送信コントローラと、
前記送信コントローラに結合したセンサプロセッサとを有するセンサコントローラと、
（ｃ）アクティブスタイラスであって、
動作中に、センサコントローラから送信される前記周期的なビーコン信号を受信するレシーバと、
前記ビーコン信号を検出するとともに前記アクティブスタイラスのスタイラス機能情報を含む信号を生成するように前記レシーバに結合したスタイラスプロセッサと、
前記スタイラス機能情報を含む前記信号を前記センサコントローラに送信するように前記スタイラスプロセッサに結合したトランスミッタとを有するアクティブスタイラスとを備え、
前記センサコントローラは、受信した前記アクティブスタイラスの前記スタイラス機能情報に基づいて、前記アクティブスタイラスにより前記センサコントローラにパケットを送信するのに用いられるダウンリンク時間スロット割当てを決定し、前記ダウンリンク時間スロット割当てを前記アクティブスタイラスに送信するシステム。
【請求項３１】
アクティブスタイラスを、前記アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合したセンサコントローラとインタフェースする方法であって、
前記センサコントローラは、前記センサ上に前記アクティブスタイラスからの入力を表示するように実行されるアプリケーションプログラムにより用いられる、インキング処理のための設定情報を含む前記アクティブスタイラスのスタイラス機能情報をキャッシュし、
前記アクティブスタイラスは、前記スタイラス機能情報のハッシュ値を生成し、前記アクティブスタイラスが前記センサコントローラの検知領域に入るときに前記ハッシュ値を前記センサコントローラに送信する方法。
【請求項３２】
請求項３１に記載の方法であって、
前記アクティブスタイラスと前記センサとは静電容量結合する方法。
【請求項３３】
請求項３１に記載の方法であって、
前記インキング処理のための設定情報は、ｉ）スタイラス線幅、ｉｉ）スタイラス先端タイプ、ｉｉｉ）色、およびｉｖ）前記アクティブスタイラスの固有識別番号のうちの少なくとも１つを含む方法。
【請求項３４】
請求項３１に記載の方法であって、
前記インキング処理のための設定情報は、前記アクティブスタイラス上に配置された１つまたは複数のスイッチを用いてユーザにより変更可能である色指標を含む方法。
【請求項３５】
請求項３１に記載の方法であって、
前記インキング処理のための設定情報は、前記アクティブスタイラス上に配置された１つまたは複数のスイッチを用いてユーザにより変更可能である前記アクティブスタイラスの固有識別番号を含む方法。
【請求項３６】
請求項３１に記載の方法であって、
前記アクティブスタイラスの固有識別番号、スタイラス線幅、スタイラス先端タイプ、および前記アクティブスタイラスの色を含む前記スタイラス機能情報に基づいて前記ハッシュ値を生成する方法。
【請求項３７】
請求項３１に記載の方法であって、さらに、
前記センサコントローラは、前記アクティブスタイラスから受信した前記ハッシュ値が、前記センサコントローラ内にキャッシュされた前記スタイラス機能情報に一致するか否かを判定し、
前記ハッシュ値が一致する場合は、前記センサコントローラは、前記センサコントローラ内にキャッシュされた一致する前記スタイラス機能情報を用い、
前記ハッシュ値が一致しない場合は、前記センサコントローラは、前記スタイラス機能情報を前記センサコントローラに送信して前記センサコントローラ内にキャッシュさせるよう前記アクティブスタイラスに要求する読出しコマンドを送信することを含む方法。
【請求項３８】
請求項３１に記載の方法であって、さらに、
前記センサコントローラは、前記アクティブスタイラスから受信した前記ハッシュ値が、前記センサコントローラ内にキャッシュされた前記スタイラス機能情報に一致するか否かを判定し、
前記ハッシュ値が一致する場合は、前記センサコントローラは、前記センサコントローラ内にキャッシュされた前記スタイラス機能情報に対応する第２のハッシュ値を前記アクティブスタイラスに送信し、
前記アクティブスタイラスは、前記センサコントローラから受信した前記第２のハッシュ値が前記アクティブスタイラスの前記スタイラス機能情報の第２のハッシュ値に対応するか否かを判定することを含む方法。
【請求項３９】
アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合されるセンサコントローラであって、
前記アクティブスタイラスに信号を送信する／前記アクティブスタイラスから信号を受信するように構成されたトランスミッタ／レシーバと、
前記アクティブスタイラスのスタイラス機能情報を記憶するように構成されたキャッシュであって、前記スタイラス機能情報は、前記センサ上に前記アクティブスタイラスからの入力を表示するように前記センサコントローラと連携して実行されて動作するアプリケーションプログラムにより用いられる設定情報を含むキャッシュと、
前記トランスミッタ／レシーバおよび前記キャッシュに結合したプロセッサであって、動作中に、前記アクティブスタイラスから前記スタイラス機能情報のハッシュ値を受信し、受信した前記ハッシュ値が前記センサコントローラの前記キャッシュに記憶された前記スタイラス機能情報に一致する場合は、キャッシュされた前記機能情報を用いるプロセッサとを備えるセンサコントローラ。
【請求項４０】
請求項３９に記載のセンサコントローラであって、
前記プロセッサは、受信した前記ハッシュ値が前記センサコントローラ内にキャッシュされた前記スタイラス機能情報に一致しない場合は、前記スタイラス機能情報を前記センサコントローラに送信して前記センサコントローラ内にキャッシュさせるよう前記アクティブスタイラスに要求する読出しコマンドを送信するように、前記トランスミッタ／レシーバに指示するセンサコントローラ。
【請求項４１】
請求項３９に記載のセンサコントローラであって、
前記プロセッサは、受信した前記ハッシュ値が一致する場合は、前記センサコントローラ内にキャッシュされた前記スタイラス機能情報に対応する第２のハッシュ値を前記アクティブスタイラスに送信するように、前記トランスミッタ／レシーバに指示するセンサコントローラ。
【請求項４２】
請求項３９に記載のセンサコントローラであって、
前記ハッシュ値は、前記アクティブスタイラスのグローバルＩＤ、スタイラス線幅、スタイラス先端タイプ、および前記アクティブスタイラスの色のうちの少なくとも１つを含む前記スタイラス機能情報に基づくセンサコントローラ。
【請求項４３】
アクティブスタイラスであって、
レシーバであって、動作中に、前記アクティブセンサからの入力を受け付けるように構成されたセンサに結合したセンサコントローラから送信される周期的なビーコン信号を受信し、前記ビーコン信号は前記アクティブスタイラスと前記センサコントローラとの間の双方向通信において用いられる時間スロットに対するタイミング基準として機能するレシーバと、
前記ビーコン信号を検出するとともにスタイラス機能情報のハッシュ値を生成するように前記レシーバに結合したプロセッサであって、前記スタイラス機能情報は、前記センサ上に前記アクティブスタイラスからの入力を表示するように前記センサコントローラと協働して動作するホストシステム上のアプリケーションプログラムにより用いられるインキング処理のための設定情報を含むプロセッサと、
前記ハッシュ値を前記センサコントローラに送信するように前記プロセッサに結合したトランスミッタとを備えるアクティブスタイラス。
【請求項４４】
請求項４３に記載のアクティブスタイラスであって、
静電容量方式のアクティブスタイラスからなるアクティブスタイラス。
【請求項４５】
請求項４３に記載のアクティブスタイラスであって、
前記設定情報は、ｉ）スタイラス線幅、ｉｉ）スタイラス先端タイプ、ｉｉｉ）色、およびｉｖ）前記アクティブスタイラスの固有識別番号のうちの少なくとも１つを含むアクティブスタイラス。
【請求項４６】
請求項４３に記載のアクティブスタイラスであって、
前記プロセッサは、前記アクティブスタイラスのグローバルＩＤ、スタイラス線幅、スタイラス先端タイプ、および前記アクティブスタイラスの色のうちの少なくとも１つを含む前記スタイラス機能情報に基づいて前記ハッシュ値を生成するアクティブスタイラス。
【請求項４７】
請求項４３に記載のアクティブスタイラスであって、
前記レシーバは、前記センサコントローラから、前記センサコントローラ内にキャッシュされたスタイラス機能情報に対応する第２のハッシュ値を受信し、
前記プロセッサは、受信した前記第２のハッシュ値が前記アクティブスタイラスの前記スタイラス機能情報の第２のハッシュ値に対応するか否かを判定するアクティブスタイラス。
【請求項４８】
システムであって、
（ａ）センサと、
（ｂ）前記センサに結合したセンサコントローラであって、
動作中に、周期的なビーコン信号の送信を発生させる送信コントローラであって、前記ビーコン信号は前記センサコントローラと１つまたは複数のアクティブスタイラスとの間の双方向通信において用いられる時間スロットに対するタイミング基準として機能する送信コントローラと、
前記送信コントローラに結合したセンサプロセッサとを有するセンサコントローラと、
（ｃ）アクティブスタイラスであって、
動作中に、センサコントローラから送信される前記周期的なビーコン信号を受信するレシーバと、
前記ビーコン信号を検出するとともに前記アクティブスタイラスのスタイラス機能情報を含む信号を生成するように前記レシーバに結合したスタイラスプロセッサと、
スタイラス機能情報のハッシュ値を前記センサコントローラに送信するように前記スタイラスプロセッサに結合したトランスミッタであって、前記スタイラス機能情報は前記センサ上に前記アクティブスタイラスからの入力を表示するように実行されるアプリケーションプログラムにより用いられるインキングに対する設定情報を含むトランスミッタとを有するアクティブスタイラスとを備えるシステム。
【請求項４９】
アクティブスタイラスからのオリエンテーションデータを、前記アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合したセンサコントローラに送信する方法であって、
前記アクティブスタイラスは、スタイラス機能情報であって複数種類のオリエンテーションデータをそれぞれ計測するように構成された複数のオリエンテーションセンサの中から１つまたは複数のオリエンテーションセンサが前記アクティブスタイラスに備えられているか否かを示すスタイラス機能情報を、前記センサコントローラに送信し、
前記センサコントローラは、１つまたは複数のオリエンテーションセンサが前記アクティブスタイラスに備えられていることを示す前記スタイラス機能情報に応答して、前記１つまたは複数のオリエンテーションセンサが前記アクティブスタイラスに備えられていることを示す、受信した前記スタイラス機能情報に基づいて、前記１つまたは複数のオリエンテーションセンサによって計測される対応した１つまたは複数の種類のオリエンテーションデータを送信するように前記アクティブスタイラスに要求し、
前記アクティブスタイラスは、前記センサコントローラからの該要求に応答して、前記１つまたは複数の種類のオリエンテーションデータを送信することを含む方法。
【請求項５０】
請求項４９に記載の方法であって、
前記スタイラス機能情報は、チルトセンサ、ツイストセンサ、加速度計、ジャイロスコープ、および地磁気計を含む複数のオリエンテーションセンサの各々が前記アクティブスタイラスに備えられているか否かを示す方法。
【請求項５１】
請求項５０に記載の方法であって、
前記スタイラス機能情報は、３軸加速度計、３軸ジャイロスコープ、および３軸地磁気計の２つ以上が前記アクティブスタイラスに備えられているか否かを示す方法。
【請求項５２】
請求項４９に記載の方法であって、
前記スタイラス機能情報は、３軸内蔵計測ユニット（ＩＭＵ）のうちの１つ以上が前記アクティブスタイラスに備えられていることを示す方法。
【請求項５３】
請求項４９に記載の方法であって、
前記センサコントローラは、前記アクティブスタイラスに前記１つまたは複数の種類のオリエンテーションデータを送信するように要求するときに、前記スタイラス機能情報に基づいて、前記１つまたは複数の種類のオリエンテーションデータを送信するのに用いられるように、フレーム内の１つまたは複数の時間スロットを前記アクティブスタイラスに割り当てる方法。
【請求項５４】
請求項５３に記載の方法であって、
前記センサコントローラは、前記１つまたは複数の種類のオリエンテーションデータの量が前記フレーム内の割り当てられた前記１つまたは複数の時間スロットを超過する場合に、追加のフレーム内の追加の時間スロットを前記アクティブスタイラスに割り当てる方法。
【請求項５５】
請求項５３に記載の方法であって、
前記スタイラス機能情報は、前記アクティブスタイラスに備えられた１つまたは複数のオリエンテーションセンサの数を示し、
前記センサコントローラは、前記１つまたは複数のオリエンテーションセンサの前記数に応じてフレーム内の前記１つまたは複数の時間スロットを割り当てる方法。
【請求項５６】
請求項５５に記載の方法であって、
前記センサコントローラは、前記１つまたは複数のオリエンテーションセンサの数を示す前記スタイラス機能情報を受信する場合に、示された前記１つまたは複数のオリエンテーションセンサの前記数に対応する前記１つまたは複数の種類のオリエンテーションデータを前記アクティブスタイラスが送信するのに十分な時間スロットを割り当てる方法。
【請求項５７】
請求項４９に記載の方法であって、
前記アクティブスタイラスは、ｉ）オリエンテーションセンサの種類を示すセンサフラグと、ｉｉ）示された前記種類のオリエンテーションセンサにより１時間スロットにおいて計測されるオリエンテーションデータとを１つのレポートにおいて送信することによって、前記１つまたは複数の種類のオリエンテーションデータを送信する方法。
【請求項５８】
請求項４９に記載の方法であって、
前記アクティブスタイラスは２つ以上の種類のオリエンテーションデータを送信し、前記方法は、さらに、
前記センサコントローラは、前記２つ以上の種類のオリエンテーションデータを受信して組み合わせ、組み合わせた前記２つ以上の種類のオリエンテーションデータをホストプロセッサに送信することを含む方法。
【請求項５９】
請求項５８に記載の方法であって、
前記アクティブスタイラスは、互いに同時にまたは時間的に接近して計測される前記２つ以上の種類のオリエンテーションデータをそれぞれエンドビットに関連付けて送信し、前記センサコントローラは、関連付けられた前記エンドビットの値に基づいて前記２つ以上の種類のオリエンテーションデータを組み合わせ、関連付けられた前記エンドビットの前記値は、前記２つ以上の種類のオリエンテーションデータが１つのグループを形成することを示す方法。
【請求項６０】
アクティブスタイラスによって実行される方法であって、
前記アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合したセンサコントローラに、スタイラス機能情報であって複数種類のオリエンテーションデータをそれぞれ計測するように構成された複数のオリエンテーションセンサの中から１つまたは複数のオリエンテーションセンサが前記アクティブスタイラスに備えられているか否かを示すスタイラス機能情報を送信し、
前記センサコントローラから受信したタイミング情報に基づいて、前記アクティブスタイラスに備えられた前記１つまたは複数のオリエンテーションセンサによってそれぞれ計測される１つまたは複数の種類のオリエンテーションデータを前記センサコントローラに送信することを含む方法。
【請求項６１】
請求項６０に記載の方法であって、
前記アクティブスタイラスは、ｉ）オリエンテーションセンサの種類を示すセンサフラグと、ｉｉ）示された前記種類のオリエンテーションセンサにより１時間スロットにおいて計測されるオリエンテーションデータとを１つのレポートにおいて送信することによって、前記１つまたは複数の種類のオリエンテーションデータを送信する方法。
【請求項６２】
請求項６０に記載の方法であって、
前記アクティブスタイラスは、２つ以上の種類のオリエンテーションデータを送信し、前記方法は、さらに、
前記２つ以上の種類のオリエンテーションデータを、互いに同時にまたは時間的に接近して計測し、
前記２つ以上の種類のオリエンテーションデータをそれぞれ、エンドビットであって前記エンドビットの値は前記２つ以上の種類のオリエンテーションデータが１つのグループを形成することを示すエンドビットに関連付けて送信することを含む方法。
【請求項６３】
請求項６２に記載の方法であって、
前記アクティブスタイラスは、２つ以上のフレームを用いて、同時にまたは時間的に接近して計測される前記２つ以上の種類のオリエンテーションデータを送信する方法。
【請求項６４】
アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合したセンサコントローラによって実行される方法であって、
前記アクティブスタイラスから、スタイラス機能情報であって複数種類のオリエンテーションデータをそれぞれ計測するように構成された複数のオリエンテーションセンサの中から１つまたは複数のオリエンテーションセンサが前記アクティブスタイラスに備えられているか否かを示すスタイラス機能情報を受信し、
１つまたは複数のオリエンテーションセンサが前記アクティブスタイラスに備えられていることを示す前記スタイラス機能情報に応答して、前記アクティブスタイラスに含まれている前記スタイラス機能情報に示された前記１つまたは複数のオリエンテーションセンサによって計測される対応した１つまたは複数の種類のオリエンテーションデータを送信するよう前記アクティブスタイラスに要求することを含む方法。
【請求項６５】
請求項６４に記載の方法であって、さらに、
前記スタイラス機能情報に基づいて、前記１つまたは複数の種類のオリエンテーションデータを送信するのに用いられるように、フレーム内の１つまたは複数の時間スロットを前記アクティブスタイラスに割り当てることを含む方法。
【請求項６６】
請求項６５に記載の方法であって、
前記センサコントローラは、前記１つまたは複数の種類のオリエンテーションデータの量が前記フレーム内の割り当てられた前記１つまたは複数の時間スロットを超過する場合に、追加のフレーム内の追加の時間スロットを前記アクティブスタイラスに割り当てる方法。
【請求項６７】
請求項６４に記載の方法であって、さらに、
前記アクティブスタイラスから受信した前記２つ以上の種類のオリエンテーションデータを組み合わせ、
組み合わせた前記２つ以上の種類のオリエンテーションデータをホストプロセッサに送信することを含む方法。
【請求項６８】
請求項６７に記載の方法であって、
前記センサコントローラは、それぞれエンドビットに関連付けられた前記２つ以上の種類のオリエンテーションデータを、前記２つ以上の種類のオリエンテーションデータが互いに同時にまたは時間的に接近して計測されることを前記エンドビットの値が示す場合に組み合わせる方法。
【請求項６９】
アクティブスタイラスであって、
記憶装置に結合したプロセッサであって、前記記憶装置は、スタイラス機能情報であって複数種類のオリエンテーションデータをそれぞれ計測するように構成された複数のオリエンテーションセンサの中から１つまたは複数のオリエンテーションセンサが前記アクティブスタイラスに備えられているか否かを示すスタイラス機能情報を記憶するプロセッサと、
前記プロセッサに結合したトランスミッタであって、前記トランスミッタは、動作中に、前記アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合したセンサコントローラに前記スタイラス機能情報を送信するトランスミッタと、
前記プロセッサに結合したレシーバであって、前記レシーバは、動作中に、前記アクティブスタイラスに備えられた前記１つまたは複数の種類のオリエンテーションセンサによってそれぞれ計測される１つまたは複数の種類のオリエンテーションデータを送信するように前記センサコントローラからの要求を受信するレシーバとを備えるアクティブスタイラス。
【請求項７０】
請求項６９に記載のアクティブスタイラスであって、
前記スタイラス機能情報は、チルトセンサ、ツイストセンサ、加速度計、ジャイロスコープ、および地磁気計の各々が前記アクティブスタイラスに備えられているか否かを示すアクティブスタイラス。
【請求項７１】
請求項７０に記載のアクティブスタイラスであって、
３軸加速度計、３軸ジャイロスコープ、および３軸地磁気計のうちの１つ以上が備えられたアクティブスタイラス。
【請求項７２】
請求項６９に記載のアクティブスタイラスであって、
３軸内蔵計測ユニット（ＩＭＵ）のうちの１つ以上が前記アクティブスタイラスに備えられたアクティブスタイラス。
【請求項７３】
請求項６９に記載のアクティブスタイラスであって、
前記プロセッサは、ｉ）オリエンテーションセンサの種類を示すセンサフラグと、ｉｉ）示された前記種類のオリエンテーションセンサにより１時間スロットにおいて計測されるオリエンテーションデータとを１つのレポートにおいて送信することによって前記１つまたは複数の種類のオリエンテーションデータを送信するように前記トランスミッタを制御するアクティブスタイラス。
【請求項７４】
請求項６９に記載のアクティブスタイラスであって、
前記スタイラス機能情報は、前記アクティブスタイラスに備えられた１つまたは複数の内蔵計測ユニット（ＩＭＵ）によって計測を行うことができる方向の軸の数を示すアクティブスタイラス。
【請求項７５】
請求項６９に記載のアクティブスタイラスであって、
２つ以上の種類のオリエンテーションデータを互いに同時にまたは時間的に接近して計測するように構成された２つ以上の種類のオリエンテーションセンサを備え、前記プロセッサは、前記２つ以上の種類のオリエンテーションデータが１つのグループを形成することを示すエンドビットにそれぞれ関連付けられた前記２つ以上の種類のオリエンテーションデータを送信するように、前記トランスミッタを制御するアクティブスタイラス。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１５年４月２０日に出願された「位置入力方法、位置入力システム、センサコントローラ、およびスタイラス」と題する米国仮特許出願第６２／１４９，９０７号、２０１５年５月１５日に出願された「位置入力方法、位置入力システム、センサコントローラ、およびスタイラス」と題する米国仮特許出願第６２／１６２，５２７号、２０１５年１０月１９日に出願された「位置入力方法、位置入力システム、センサコントローラ、およびスタイラス」と題する米国仮特許出願第６２／２４３，４２７号、２０１６年２月４日に出願された「スタイラスとスタイラスセンサコントローラとの間の双方向通信に供されるシステムおよび方法」と題する米国仮特許出願第６２／２９１，３７３号、２０１６年３月１４日に出願された「スタイラスとスタイラスセンサコントローラとの間の双方向通信に供されるシステムおよび方法」と題する米国仮特許出願第１５／０６９，７９３号、２０１６年３月１４日に出願された「スタイラスとスタイラスセンサコントローラとの間の双方向通信に供されるシステムおよび方法」と題する米国仮特許出願第１５／０６９，８４８号、および２０１６年３月１４日に出願された「スタイラスとスタイラスセンサコントローラとの間の双方向通信に供されるシステムおよび方法」と題する米国仮特許出願第１５／０６９，８５２号の優先権を主張し、それらの全体は引用によりここに組み込まれる。
【０００２】
本出願は、アクティブスタイラス、スタイラスセンサのセンサコントローラ、および位置入力システム、ならびにこのようなスタイラスおよびセンサコントローラに基づく方法に関し、より詳細には、スタイラスとセンサコントローラとの間の双方向通信プロトコルを利用する位置入力システムおよび方法に関する。
【背景技術】
【０００３】
タブレットコンピュータ、スマートフォンなどの電子装置のスタイラス検知スクリーン（センサ）上にユーザが文字および図形を手書きすることが可能な各種のスタイラスが入手可能である。例えば、アクティブ静電容量式（容量性）スタイラスは電源およびシグナルプロセッサを備え、スタイラスの先端に備えられた電極に送信信号に応じた電荷を供給することによって信号を送信し、これにより先端が示す（指し示す）位置またはその近傍における電界に変化を生じさせる。電子装置のスタイラス検知スクリーン（センサ）はマトリクス状のＸ電極およびＹ電極を備え、スタイラス先端による上述の電界の変化がスタイラス先端またはその近傍のマトリクス電極における相応の電荷の変化を誘起する。センサおよび／または電子装置のホストプロセッサに結合したセンサコントローラは、マトリクス電極におけるこのような電荷の変化を検出することによってスタイラスからの送信信号を検出する。センサコントローラおよび／またはホストプロセッサは、次いで、送信信号を検出したマトリクス電極の位置に基づき、センサ上においてスタイラスにより示された位置を判別する。
【０００４】
異なる種類のアクティブスタイラスは、ペン（スタイラス）先端圧力を検出することができる異なる段階がいくつあるかというペン（スタイラス）先端圧力検出機能、ペンツイスト（回転）検出機能およびペンチルト検出機能を含むペンオリエンテーション検出機能、スタイラス上に備えられた異なる数および種類のバレルボタン（スイッチ）などの、異なるスタイラス機能または作用を有する。通常、スタイラスからセンサコントローラへの通信に使用されるデータフォーマットは、対象としているスタイラスセンサシステムに固定して設定され、異なる種類のスタイラス機能および作用をサポートすること、およびスタイラス機能および作用のバリエーションを拡大することはできない。
【０００５】
各スタイラスはセンサコントローラと共に使用される（すなわち、センサコントローラの検知領域に入る）たびに常にスタイラスの全機能情報をセンサコントローラに送信することが可能である一方、このような全機能情報の送信は、対象としている通信プロトコルにおいて使用可能な多数の時間スロットまたはフレームを消費する。１つまたは複数のスタイラスが絶えずセンサコントローラの検知領域に入る、および検知領域から出る通常の状況において、センサコントローラは、入る各スタイラスの機能情報を即座に取得してスタイラスの個別の機能に適した態様でスタイラスとの通信を開始することができない可能性がある。これによりセンサコントローラの応答時間が低速化し、したがってセンサコントローラとアクティブスタイラスとの間において通信を確立することが遅延し得る。例えば、センサコントローラは、センサコントローラがスタイラスのオリエンテーション検出機能を即座に確認することができないというだけで、スタイラスからのペンオリエンテーションデータを、スタイラスにこのようなオリエンテーションデータを十分に送信する能力がある場合でも速やかに受信することができない可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の態様は、検知領域に入る１つまたは複数のアクティブスタイラスの機能情報をセンサコントローラが即座に判別することによってスタイラスとの双方向通信を開始することを可能とする技術的解決手段を提供する。本態様は、異なる機能情報を有する異なるアクティブスタイラスをサポートするユニバーサルスタイラスセンサコントローラインタフェースを提供するのに特に適する。
【課題を解決するための手段】
【０００７】
一態様によれば、アクティブスタイラスをセンサコントローラとインタフェースする方法が提供される。前記センサコントローラは、前記アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合している。前記センサコントローラは、前記スタイラスからパケットを受信するのに使用可能な複数の時間スロットからなるデータフレームを定義する。前記アクティブスタイラスは、前記センサコントローラからの要求に応答して、スタイラス機能情報を含む信号を送信する。前記センサコントローラは、前記スタイラス機能情報に基づいて、前記アクティブスタイラスにより前記センサコントローラにパケットを送信するのに用いられるダウンリンク時間スロット割当てを決定する。前記センサコントローラは、前記ダウンリンク時間スロット割当てを前記アクティブスタイラスに送信する。
【０００８】
他の態様によれば、前記スタイラス機能情報は、ａ）予め定義された前記アクティブスタイラスの機能に関する機能情報、およびｂ）ユーザにより調整可能な前記アクティブスタイラスの設定に関する設定情報のうちの少なくとも一方を含む。
【０００９】
他の態様によれば、前記機能情報は、ｉ）前記アクティブスタイラスがスタイラスオリエンテーションを検知することが可能であるか否か、ｉｉ）前記アクティブスタイラスがバレルプレッシャを検知することが可能であるか否か、ｉｉｉ）前記アクティブスタイラスがベンダ固有の特徴を有するか否か、ｉｖ）前記アクティブスタイラスが推奨色を有するか否か、およびｖ）前記アクティブスタイラスのグローバルＩＤのうちの少なくとも１つを含む。
【００１０】
他の態様によれば、前記設定情報は、ｉ）スタイラス線幅、ｉｉ）スタイラス先端タイプ、ｉｉｉ）色、およびｉｖ）前記アクティブスタイラスの固有識別番号のうちの少なくとも１つを含む。
【００１１】
他の態様によれば、前記設定情報は、前記アクティブスタイラス上に配置された１つまたは複数のスイッチを用いてユーザにより変更可能である前記アクティブスタイラスの固有識別番号を含む。
【００１２】
他の態様によれば、前記ダウンリンク時間スロット割当ては、ｉ）フレーム内のいずれのダウンリンク時間スロットを前記アクティブスタイラスに割り当てるか、およびｉｉ）前記アクティブスタイラスのどのような種類のパケットをどのようなダウンリンク時間スロットにおいて送信するかのうちの少なくとも一方を含む。
【００１３】
他の態様によれば、前記ダウンリンク時間スロット割当ては、ｉ）前記アクティブスタイラスによって用いられる開始時間スロットを示すオフセット値、およびｉｉ）前記開始時間スロットから開始する前記アクティブスタイラスに割り当てられた時間スロット間の間隔を示す間隔値を含む。
【００１４】
他の態様によれば、前記ダウンリンク時間スロット割当てを受信した前記アクティブスタイラスは、前記ダウンリンク時間スロット割当てに従って割り当てられた前記時間スロットにおいてパケットを送信する。前記パケットは、ｉ）前記アクティブスタイラスの動作状態を示す動作データを含むデータパケット、およびｉｉ）前記センサコントローラによって前記センサに対する前記アクティブスタイラスの位置を算出するのに用いられる非データパケットのうちの一方からなり得る。
【００１５】
他の態様によれば、前記データパケットに含まれる前記動作データは、ｉ）スタイラス先端圧力データ、ｉｉ）バレルプレッシャデータ、ｉｉｉ）スタイラスオリエンテーションデータ、ｉｖ）スタイラスバレルスイッチ状態データ、およびｖ）スタイラスバッテリレベルのうちの１つまたは複数を含む。
【００１６】
別の態様によれば、アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合されるセンサコントローラが提供される。前記センサコントローラは、プロセッサであって、動作中に、前記アクティブスタイラスと前記センサコントローラとの間の通信に供される時間スロットからなるデータフレームを定義し、前記アクティブスタイラスから前記アクティブスタイラスのスタイラス機能情報を含む信号を受信し、受信した前記スタイラス機能情報に基づいて、前記アクティブスタイラスによって前記センサコントローラにパケットを送信するのに用いられるダウンリンク時間スロット割当てを決定するプロセッサを備える。前記センサコントローラは、さらに、前記プロセッサに結合した送信コントローラを備える。前記送信コントローラは、動作中に、前記アクティブスタイラスへの前記ダウンリンク時間スロット割当ての送信を発生させる。
【００１７】
他の態様によれば、アクティブスタイラスが提供される。前記アクティブスタイラスは、レシーバであって、動作中に、前記アクティブセンサからの入力を受け付けるように構成されたセンサに結合したセンサコントローラから送信される周期的なビーコン信号を受信するレシーバを備える。前記ビーコン信号は、前記アクティブスタイラスと前記センサコントローラとの間の双方向通信において用いられる時間スロットに対するタイミング基準として機能する。前記アクティブスタイラスは、さらに、前記ビーコン信号を検出するとともに前記アクティブスタイラスのスタイラス機能情報を含む信号を生成するように前記レシーバに結合したプロセッサを備える。前記アクティブスタイラスは、さらに、前記スタイラス機能情報を含む前記信号を前記センサコントローラに送信するように前記プロセッサに結合したトランスミッタを備える。前記アクティブスタイラスの前記レシーバは、動作中に、前記センサコントローラからダウンリンク時間スロット割当てを受信する。前記アクティブスタイラスの前記トランスミッタは、動作中に、前記ダウンリンク時間スロット割当てに従って前記アクティブスタイラスに割り当てられた前記時間スロットにおいて前記センサコントローラにパケットを送信する。
【００１８】
他の態様によれば、（ａ）センサと、（ｂ）前記センサに結合したセンサコントローラと、（ｃ）アクティブスタイラスとを備えるシステムが提供される。前記センサコントローラは、周期的なビーコン信号の送信を発生させる送信コントローラと、前記送信コントローラに結合したセンサプロセッサとを備える。前記アクティブスタイラスは、前記周期的なビーコン信号を受信するレシーバを備える。前記アクティブスタイラスは、さらに、前記ビーコン信号を検出するとともに前記アクティブスタイラスのスタイラス機能情報を含む信号を生成するように前記レシーバに結合したスタイラスプロセッサを備える。前記アクティブスタイラスは、さらに、前記スタイラス機能情報を含む前記信号を前記センサコントローラに送信するように前記スタイラスプロセッサに結合したトランスミッタを備える。前記センサコントローラは、受信した前記アクティブスタイラスの前記スタイラス機能情報に基づいて、前記アクティブスタイラスにより前記センサコントローラにパケットを送信するのに用いられるダウンリンク時間スロット割当てを決定し、前記ダウンリンク時間スロット割当てを前記アクティブスタイラスに送信する。
【００１９】
本発明の他の態様は、前記検知領域に入る１つまたは複数のアクティブスタイラスの前記機能情報をセンサコントローラが即座に判別することによって前記スタイラスとの双方向通信を開始することを可能とする技術的解決手段を提供する。本態様は、異なる機能情報を有する異なるアクティブスタイラスをサポートするユニバーサルセンサコントローラインタフェースを提供するのに特に適する。
【００２０】
一態様によれば、アクティブスタイラスをセンサコントローラとインタフェースする方法が提供される。前記センサコントローラは、前記アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合している。前記センサコントローラは、前記アクティブスタイラスのスタイラス機能情報をキャッシュする。前記スタイラス機能情報は、前記センサ上に前記アクティブスタイラスからの入力を表示するように実行されるアプリケーションプログラムにより用いられるインキング処理のための設定情報を含む。前記アクティブスタイラスは、前記スタイラス機能情報のハッシュ値を生成し、前記アクティブスタイラスが前記センサコントローラの検知領域に入るときに前記ハッシュ値を前記センサコントローラに送信する。
【００２１】
他の態様によれば、前記アクティブスタイラスと前記センサとは静電容量結合する。
【００２２】
他の態様によれば、前記インキングのための設定情報は、ｉ）スタイラス線幅、ｉｉ）スタイラス先端タイプ、ｉｉｉ）色、およびｉｖ）前記アクティブスタイラスの固有識別番号のうちの少なくとも１つを含む。
【００２３】
他の態様によれば、前記インキングのための前記設定情報は、前記アクティブスタイラス上に配置された１つまたは複数のスイッチを用いてユーザにより変更可能である、色指標または前記アクティブスタイラスの固有識別番号を含む。
【００２４】
他の態様によれば、前記アクティブスタイラスの固有識別番号、スタイラス線幅、スタイラス先端タイプ、および前記アクティブスタイラスの色を含む前記スタイラス機能情報に基づいて前記ハッシュ値を生成する。
【００２５】
他の態様によれば、前記センサコントローラは、前記アクティブスタイラスから受信した前記ハッシュ値が、前記センサコントローラ内にキャッシュされた前記スタイラス機能情報に一致するか否かを判定する。前記ハッシュ値が一致する場合は、前記センサコントローラは、前記センサコントローラ内にキャッシュされた一致する前記スタイラス機能情報を用いる。前記ハッシュ値が一致しない場合は、前記センサコントローラは、前記スタイラス機能情報を前記センサコントローラに送信して前記センサコントローラ内にキャッシュさせるよう前記アクティブスタイラスに要求する読出しコマンドを送信する。
【００２６】
他の態様によれば、前記センサコントローラは、前記アクティブスタイラスから受信した前記ハッシュ値が、前記センサコントローラ内にキャッシュされた前記スタイラス機能情報に一致するか否かを判定する。前記ハッシュ値が一致する場合は、前記センサコントローラは、前記センサコントローラ内にキャッシュされた前記スタイラス機能情報に対応する第２のハッシュ値を前記アクティブスタイラスに送信する。前記アクティブスタイラスは、前記センサコントローラから受信した前記第２のハッシュ値が前記アクティブスタイラスの前記スタイラス機能情報の第２のハッシュ値に対応するか否かを判定する。
【００２７】
他の態様によれば、アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合されるセンサコントローラが提供される。前記センサコントローラは、前記アクティブスタイラスに信号を送信する／前記アクティブスタイラスから信号を受信するように構成されたトランスミッタ／レシーバを備える。前記センサコントローラは、さらに、前記アクティブスタイラスのスタイラス機能情報を記憶するように構成されたキャッシュを備える。前記センサコントローラは、さらに、前記トランスミッタ／レシーバおよび前記キャッシュに結合したプロセッサを備える。前記プロセッサは、動作中に、前記アクティブスタイラスから前記スタイラス機能情報のハッシュ値を受信し、受信した前記ハッシュ値が前記センサコントローラの前記キャッシュに記憶された前記スタイラス機能情報に一致する場合は、キャッシュされた前記機能情報を用いる。
【００２８】
他の態様によれば、アクティブスタイラスが提供される。前記アクティブスタイラスは、レシーバであって、動作中に、前記アクティブセンサからの入力を受け付けるように構成されたセンサに結合したセンサコントローラから送信される周期的なビーコン信号を受信するレシーバを備える。前記アクティブスタイラスは、さらに、前記ビーコン信号を検出するとともにスタイラス機能情報のハッシュ値を生成するように前記レシーバに結合したプロセッサを備える。前記スタイラス機能情報は、前記センサ上に前記アクティブスタイラスからの入力を表示するように前記センサコントローラと協働して動作するホストシステム上のアプリケーションプログラムにより用いられるインキング処理のための設定情報を含む。前記アクティブスタイラスは、さらに、前記ハッシュ値を前記センサコントローラに送信するように前記プロセッサに結合したトランスミッタを備える。
【００２９】
他の態様によれば、（ａ）センサと、（ｂ）前記センサに結合したセンサコントローラと、（ｃ）アクティブスタイラスとを備えるシステムが提供される。前記センサコントローラは、周期的なビーコン信号の送信を発生させる送信コントローラと、前記送信コントローラに結合したセンサプロセッサとを備える。前記アクティブスタイラスは、レシーバであって、動作中に、センサコントローラから送信される前記周期的なビーコン信号を受信するレシーバを備える。前記アクティブスタイラスは、さらに、前記ビーコン信号を検出するとともに前記アクティブスタイラスのスタイラス機能情報を含む信号を生成するように前記レシーバに結合したスタイラスプロセッサを備える。前記アクティブスタイラスは、さらに、スタイラス機能情報のハッシュ値を前記センサコントローラに送信するように前記スタイラスプロセッサに結合したトランスミッタを備える。前記スタイラス機能情報は、前記センサ上に前記アクティブスタイラスからの入力を表示するように実行されるアプリケーションプログラムにより用いられるインキング処理のための設定情報を含む。
【００３０】
本発明のさらに他の態様は、前記検知領域に入る１つまたは複数のアクティブスタイラスの前記機能情報をセンサコントローラが即座に判別することによって前記スタイラスとの双方向通信を開始することを可能とする技術的解決手段を提供する。本態様は、異なる機能情報を有する異なるアクティブスタイラスをサポートするユニバーサルセンサコントローラインタフェースを提供するのに特に適する。
【００３１】
一態様によれば、アクティブスタイラスからのオリエンテーションデータを、センサコントローラであって前記アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合したセンサコントローラに送信する方法が提供される。本方法において、前記アクティブスタイラスは前記センサコントローラに、スタイラス機能情報であって前記アクティブスタイラスに１つまたは複数のオリエンテーションセンサが備えられているか否かを示すスタイラス機能情報を送信する。前記１つまたは複数のオリエンテーションセンサは、前記アクティブスタイラスに備えることが可能であって複数種類のオリエンテーションデータをそれぞれ計測するように構成された複数のオリエンテーションセンサの中から、前記アクティブスタイラスに備えられる。前記センサコントローラは、前記１つまたは複数のオリエンテーションセンサが前記アクティブスタイラスに備えられていることを示す、受信した前記スタイラス機能情報に基づいて、前記１つまたは複数のオリエンテーションセンサによって計測される対応した１つまたは複数の種類のオリエンテーションデータを送信するよう前記アクティブスタイラスに要求する。前記アクティブスタイラスは、前記センサコントローラからの前記要求に応答して、前記１つまたは複数の種類のオリエンテーションデータを送信する。
【００３２】
前記複数のオリエンテーションセンサに、チルトセンサ、ツイストセンサ、加速度計、ジャイロスコープ、および地磁気計が含まれてもよく、それらから１つまたは複数のオリエンテーションセンサが選択されて前記アクティブスタイラスに備えられる（サポートされる）。例えば、前記アクティブスタイラスは、加速度計、ジャイロスコープ、および地磁気計の組合せからなる３軸内蔵計測ユニット（ＩＭＵ）を備え得る。
【００３３】
一態様によれば、前記アクティブスタイラスは、ｉ）オリエンテーションセンサの種類を示すセンサフラグと、ｉｉ）示された前記種類のオリエンテーションセンサにより１時間スロットにおいて計測されるオリエンテーションデータとを１つのレポートにおいて送信することによって、前記１つまたは複数の種類のオリエンテーションデータを送信する。
【００３４】
別の態様によれば、前記アクティブスタイラスは、互いに同時にまたは時間的に接近して計測される２つ以上の種類のオリエンテーションデータを送信する。前記２つ以上の種類のオリエンテーションデータは、前記データが１つのグループを形成することを示すエンドビットにそれぞれ関連付けられる。前記センサコントローラは、１つのグループを形成する前記データを受信して組み合わせ、組み合わせた前記データを、センサフュージョンなどのさらなる処理に備えてホストプロセッサに送信する。
【００３５】
別の態様によれば、アクティブスタイラスによって実行される方法が提供される。本方法において、前記アクティブスタイラスは、前記アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合したセンサコントローラにスタイラス機能情報を送信する。前記スタイラス機能情報は、複数種類のオリエンテーションデータをそれぞれ計測するように構成された複数のオリエンテーションセンサの中から１つまたは複数のオリエンテーションセンサが前記アクティブスタイラスに備えられているか否かを示す。前記アクティブスタイラスは、前記センサコントローラから受信したタイミング情報に基づいて、前記アクティブスタイラスに備えられた前記１つまたは複数のオリエンテーションセンサによってそれぞれ計測される１つまたは複数の種類のオリエンテーションデータを前記センサコントローラに送信する。
【００３６】
別の態様によれば、アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合したセンサコントローラによって実行される方法が提供される。本方法において、前記センサコントローラは前記アクティブスタイラスからスタイラス機能情報を受信する。前記スタイラス機能情報は、複数種類のオリエンテーションデータをそれぞれ計測するように構成された複数のオリエンテーションセンサの中から１つまたは複数のオリエンテーションセンサが前記アクティブスタイラスに備えられているか否かを示す。前記センサコントローラは、前記アクティブスタイラスに含まれている前記スタイラス機能情報に示された前記１つまたは複数のオリエンテーションセンサによって計測される対応した１つまたは複数の種類のオリエンテーションデータを送信するよう前記アクティブスタイラスに要求する。
【００３７】
さらに別の態様によれば、プロセッサ、トランスミッタ、およびレシーバを備えるアクティブスタイラスを提供する。前記プロセッサは記憶装置に結合しており、前記記憶装置は、複数種類のオリエンテーションデータをそれぞれ計測するように構成された複数のオリエンテーションセンサの中から１つまたは複数のオリエンテーションセンサが前記アクティブスタイラスに備えられているか否かを示すスタイラス機能情報を記憶する。前記トランスミッタは前記プロセッサに結合しており、前記アクティブスタイラスからの入力を受け付けるように構成されたセンサに結合したセンサコントローラに前記スタイラス機能情報を送信する。前記レシーバは、前記プロセッサに結合しており、前記アクティブスタイラスに備えられた前記１つまたは複数の種類のオリエンテーションセンサによってそれぞれ計測される１つまたは複数の種類のオリエンテーションデータを送信するよう前記センサコントローラから要求を受信する。
【図面の簡単な説明】
【００３８】
【図１】アクティブスタイラスおよび電子装置（例えば、タブレットコンピュータ）を備え、該電子装置がセンサ、該センサに結合したセンサコントローラ、および該センサコントローラに結合した電子装置のシステムコントローラ（ホストプロセッサ）を備える、システム全体を示す図である。
【図２Ａ】アクティブスタイラス例の機能ブロック図である。
【図２Ｂ】センサコントローラ例の機能ブロック図である。
【図３】スタイラスとセンサコントローラとの間の双方向通信に用いられ、フレームが１６個の（１６）時間スロットｓ０〜ｓ１５に分割されるフレームフォーマット例である。
【図４Ａ】予め定義された（予め設定された）アクティブスタイラスの機能に関する機能情報とユーザ設定可能なアクティブスタイラスの設定に関する設定情報とを含む、アクティブスタイラスのスタイラス機能情報の種類例を列挙したテーブルである。
【図４Ｂ】アクティブスタイラスによって該アクティブスタイラスの機能情報をセンサコントローラに送信するのに用いられるデータフォーマット例を列挙したテーブルである。
【図４Ｃ】アクティブスタイラスによって該アクティブスタイラスのオリエンテーション検出機能に関する機能情報を送信するのに用いられるオリエンテーションコード例を列挙したテーブルである。
【図４Ｄ】機能情報、特にアクティブスタイラスのオリエンテーション検出機能を列挙した他の例のテーブルである。
【図４Ｅ】予め定義されたアクティブスタイラスの機能に関するスタイラス機能情報の３つの例を説明する。
【図５Ａ】ダウンリンク時間スロット割当てにより設定されたスケジュールに従ってアクティブスタイラスからセンサコントローラに送信される、アクティブスタイラスの動作状態を示す動作データ例を列挙したテーブルである。
【図５Ｂ】ある種類の動作データ、すなわちＩＭＵ（内蔵計測ユニット（ｉｎｅｒｔｉａｌ  ｍｅａｓｕｒｅｍｅｎｔ  ｕｎｉｔ））データに対するダウンリンクデータパケットフォーマットを示すテーブルである。
【図５Ｃ】センサコントローラによってポーリングされる（要求される）とセンサコントローラに送信される、アクティブスタイラスの動作状態を示す動作データ例を列挙したテーブルである。
【図６】アクティブスタイラスの処理フロー例を示すフローチャートである。
【図７】センサコントローラの、特にアクティブスタイラスとのペアリング動作を実行するフロー例を示すフローチャートであって、センサコントローラはアクティブスタイラスからスタイラス機能情報（例えば、設定情報）を示すハッシュ値を受信し、受信したハッシュ値を認識するか否かを判定し、そうであれば、ペアリング動作を迅速化するフローチャートである。
【図８Ａ】センサコントローラがアクティブスタイラスにビーコン信号（ＢＳ）を送信し、アクティブスタイラスがそれに応答してスタイラス機能情報（ＣＰまたはハッシュ＃１）を含む信号をセンサコントローラに返信するフレームフォーマット例を示す。
【図８Ｂ】センサコントローラがアクティブスタイラスにビーコン信号（ＢＳ）を送信し、アクティブスタイラスがそれに応答してスタイラス機能情報（ＣＰまたはハッシュ＃１）を含む信号をセンサコントローラに返信するフレームフォーマット例を示す。
【図９Ａ】センサコントローラによって特定された異なる６種類のダウンリンク時間スロット割当てに従ってアクティブスタイラスがセンサコントローラにパケットを送信するのにそれぞれ用いる、７つの異なるフレームフォーマットを示す。
【図９Ｂ】センサコントローラによって特定された異なる６種類のダウンリンク時間スロット割当てに従ってアクティブスタイラスがセンサコントローラにパケットを送信するのにそれぞれ用いる、７つの異なるフレームフォーマットを示す。
【図９Ｃ】センサコントローラによって特定された異なる６種類のダウンリンク時間スロット割当てに従ってアクティブスタイラスがセンサコントローラにパケットを送信するのにそれぞれ用いる、７つの異なるフレームフォーマットを示す。
【図９Ｄ】センサコントローラによって特定された異なる６種類のダウンリンク時間スロット割当てに従ってアクティブスタイラスがセンサコントローラにパケットを送信するのにそれぞれ用いる、７つの異なるフレームフォーマットを示す。
【図９Ｅ】センサコントローラによって特定された異なる６種類のダウンリンク時間スロット割当てに従ってアクティブスタイラスがセンサコントローラにパケットを送信するのにそれぞれ用いる、７つの異なるフレームフォーマットを示す。
【図９Ｆ】センサコントローラによって特定された異なる６種類のダウンリンク時間スロット割当てに従ってアクティブスタイラスがセンサコントローラにパケットを送信するのにそれぞれ用いる、７つの異なるフレームフォーマットを示す。
【図９Ｇ】センサコントローラによって特定された異なる６種類のダウンリンク時間スロット割当てに従ってアクティブスタイラスがセンサコントローラにパケットを送信するのにそれぞれ用いる、７つの異なるフレームフォーマットを示す。
【図１０】アクティブスタイラスとセンサコントローラとの間のペアリング動作例を示すフローチャートであって、アクティブスタイラスはアクティブスタイラスの機能情報を示すハッシュ値を送信し、センサコントローラが受信したハッシュ値を認識するか否かを判定し、認識する場合は、ペアリング動作を迅速化するフローチャートである。センサコントローラは、さらに、受信した機能情報が以前にペアリングしたことのあるスタイラスからのものであることの別の検証に、第２のハッシュ値を用いる。
【発明を実施するための形態】
【００３９】
図１は、アクティブスタイラス１００および電子装置（例えば、ＰＣ、タブレットコンピュータ、スマートフォン）３を含むシステム全体を示す。電子装置３は、センサ２０１、センサ２０１に結合したセンサコントローラ２００、およびセンサコントローラ２００に結合した電子装置３のシステムコントローラ（ホストプロセッサ）３００を備える。
【００４０】
ＰＣ、タブレットコンピュータ、スマートフォンなどの電子装置３は、典型的には、センサ２０１の下に存在する、または上に存在するスクリーンを備え、ユーザはアクティブスタイラス１００を用いて該スクリーン上に文字および図形を手書きする。ここで用いるアクティブスタイラスは、電子回路、バッテリまたは内蔵のエネルギーコンジットなどの電源１０５を含むスタイラスである。センサ２０１は、容量性タッチ／スタイラスセンサ、抵抗式タッチ／スタイラスセンサ、電磁共鳴スタイラスセンサ、光学式スタイラスセンサ、超音波スタイラスセンサなどの任意の適当な公知のスタイラス検知センサからなり得る。スタイラスセンサもあれば、アクティブスタイラスおよび指タッチの両方を検出することが可能なセンサもある。以下で図２Ｂを参照して詳述するセンサコントローラ２００は、センサ２０１の動作を制御し、アクティブスタイラス１００との双方向通信を実行し、さらにホストプロセッサ３００と通信する。例えば、センサコントローラ２００は、アクティブスタイラス１００からの手書き入力データを処理してセンサ２０１上においてアクティブスタイラス１００により示された（指し示された）位置の（Ｘ，Ｙ）座標および色を判別し、該（Ｘ，Ｙ）座標および色情報を電子装置３のホストプロセッサ３００に転送する。
【００４１】
以下で図２Ａを参照して詳述するアクティブスタイラス１００は、例えばテーブル（ＴＢＬ）の形態で該スタイラスのスタイラス機能情報を記憶するメモリ／キャッシュを有するスタイラス機能情報マネージャ１１０を備える。以下でより詳細に説明するように、スタイラス機能情報は、典型的には変更可能でない予め定義された（例えば、製造者により設定された）スタイラスの機能に関する機能情報と、ユーザにより調整可能なスタイラスの設定に関する設定情報とを含み得る。スタイラス機能情報マネージャ１１０は、ユーザが例えばスタイラス１００に備えられたスイッチ（ボタン）１１１を用いてスタイラス色およびスタイラス線幅などのスタイラス設定を変更するたびに、設定情報を更新する。図１に、１つのテイルボタン１１１Ａおよび１つのサイドボタン１１１Ｂからなる、このような２つのボタンを示す。アクティブスタイラス１００は、さらに、スタイラス（ペン）先端圧力データおよびスタイラスオリエンテーションデータ（例えば、センサ表面に対してスタイラスがどの程度ツイストまたはチルトしているか）などのアクティブスタイラスの動作状態を示す動作データを予め作成するデータマネージャ１１２を備える。
【００４２】
スタイラス機能情報マネージャ１１０およびデータマネージャ１１２は、両方とも、送信（ＴＸ）回路および受信（ＲＸ）回路を備える通信モジュール１３０に結合している。通信モジュール１３０は、以下でより詳細に説明するように、アクティブスタイラス１００のスタイラス機能情報および動作データをセンサコントローラ２００に送信し、センサコントローラ２００から（ビーコン信号内の）種々のコマンドおよび他の情報を受信する。本双方向通信プロトコルにおいて、センサコントローラ２００はマスタ装置であり、アクティブスタイラス１００はスレーブ装置である。本開示において、センサコントローラ２００からアクティブスタイラス１００への送信方向を「アップリンク（ｕｐｌｉｎｋ）」と称し、アクティブスタイラス１００からセンサコントローラ２００への送信方向を「ダウンリンク（ｄｏｗｎｌｉｎｋ）」と称する。
【００４３】
図１に概略的に示すように、アクティブスタイラス１００とセンサコントローラ２００との間の典型的な双方向通信フローは、アクティブスタイラス１００が下向き矢印によって示されるペンダウン動作の間にセンサコントローラ２００の検知領域（ＳＺ）に入ることによって開始される。アクティブスタイラス１００が検知領域内に入ると、アクティブスタイラス１００はセンサコントローラ２００からセンサ２０１を介して周期的に送信されるビーコン信号を検出し得る。ビーコン信号を検出すると、アクティブスタイラス１００は、スタイラス機能情報マネージャ１１０から受信したスタイラス機能情報を含む応答信号を送信する。以下で図１０を参照して詳述するように、アクティブスタイラス１００の設定情報をハッシュ化して、１時間スロットでセンサコントローラ２００に送信することができる利点がある、固定された（より小さい）サイズのハッシュ値（「ハッシュ＃１（Ｈａｓｈ＃１）」）を生成し得る。ハッシュ＃１には、対応する固定サイズのハッシュ値（「ハッシュ＃２（Ｈａｓｈ＃２）」）が存在する。アクティブスタイラス１００が以前にセンサコントローラ２００とペアリングしたことがあれば、アクティブスタイラス１００およびセンサコントローラ２００の両方が、アクティブスタイラス１００がセンサコントローラ２００とペアリングしたときのアクティブスタイラス１００の特定の設定情報から算出されるハッシュ＃１およびハッシュ＃２を有する。それゆえ、センサコントローラ２００が受信したハッシュ＃１を認識すれば、センサコントローラ２００が以前にアクティブスタイラス１００とペアリングしており、したがって特定の設定情報を含むアクティブスタイラス１００のスタイラス機能情報が既知であることが、センサコントローラ２００に分かる。センサコントローラ２００は、次いで、以前にアクティブスタイラス１００に割り当てられたのと同じダウンリンク時間スロット割当てを用いてアクティブスタイラス１００との双方向通信を開始し得る。さらに、センサコントローラ２００は、受信したハッシュ＃１に対応するハッシュ＃２をアクティブスタイラス１００に返信してセンサコントローラ２００がアクティブスタイラス１００を正しく認識したことを検証し得る。以下でより詳細に説明するように、ハッシュ＃１の使用によって、アクティブスタイラス１００がセンサコントローラ２００の検知領域に再入するたびに、アクティブスタイラス１００とセンサコントローラ２００との間のペアリング処理が迅速化され、このことはアクティブスタイラス１００が繰り返し、検知領域から出て（「ペンアップ（Ｐｅｎ  ｕｐ）」矢印を参照）検知領域に再入する（「ペンダウン（Ｐｅｎ  ｄｏｗｎ）」矢印を参照）場合に特に有利な技術的特徴である。
【００４４】
本明細書で用いる「ペアリング（ｐａｉｒｉｎｇ）」動作とは、センサコントローラ２００からの開始（発見）ビーコン信号を検出したアクティブスタイラス１００からの応答信号の送信によって開始され、センサコントローラ２００からの、アクティブスタイラス１００に対するダウンリンク時間スロット割当てを含む他のビーコン信号の送信によって終了する処理のことを指す。センサコントローラ２００は、アクティブスタイラスのスタイラス機能情報に照らして対象としているアクティブスタイラスに対するダウンリンク時間スロット割当てを決定することによって、スタイラス機能情報を十分にサポートするアクティブスタイラスとの固有の通信リンクを確立する。こうして、ペアリング動作の終了時に、アクティブスタイラスは、新たに確立された固有の通信リンクを用いてセンサコントローラとの双方向通信を開始し得る。
【００４５】
ハッシュ＃１の使用は「迅速インキング（ｆａｓｔ  ｉｎｋｉｎｇ）」を達成することにも有利である。アプリケーションプログラムが描画を開始することが可能になるには、該アプリケーションプログラムがスクリーン上に描画しようとする線のパラメータを知る必要がある。これらのパラメータは、例えば、線の色またはブラシスタイル（エアブラシ、チョークなど）を含む。ハッシュ＃１の使用によって、センサコントローラは、検知領域に入った特定のスタイラスに対するこれらのパラメータをセンサコントローラがキャッシュ済みであることを即座に認識し、アプリケーションプログラムがほぼ瞬時に描画、すなわち「インキング処理（ｉｎｋｉｎｇ）」を開始するのにこれらのパラメータを利用可能とすることができる。
【００４６】
図２Ａは、例としてのアクティブスタイラス１００の機能ブロック図である。アクティブスタイラス１００は、アクティブスタイラス１００の先端において、ＴＸ／ＲＸ電極１１５、ＴＸ／ＲＸ電極１１５に結合したスイッチＳＷ、受信回路１１７、送信回路１１９、およびマイクロコントローラユニット（ＭＣＵ）１２０を備える。ＭＣＵ１２０は、ＲＯＭおよびＲＡＭを内蔵するマイクロプロセッサからなり、規定のプログラムに従って動作するように構成されている。スイッチＳＷは、ＭＣＵ１２０からのスイッチ制御信号ＳＷＣにより指示されて、ＴＸ／ＲＸ電極１１５を受信端子Ｒと送信端子Ｔとのいずれかに結合させる。最初に、アクティブスタイラス１００がセンサコントローラ２００からのビーコン信号を待ち受ける間、スイッチＳＷはＴＸ／ＲＸ電極１１５を受信端子Ｒに接続する。受信回路１１７は、ＴＸ／ＲＸ電極１１５からの信号を受信および処理してＭＣＵ１２０により使用可能なデジタル形式で出力するのに必要な電子構成部品を備える。ＭＣＵ１２０がセンサコントローラ２００からのビーコン信号を検出すると、ＭＣＵ１２０は、送信回路１１９と協働して応答信号（例えば、ＡＣＫ信号）を生成しておき、さらにスイッチ制御信号ＳＷＣをスイッチＳＷに送出してＴＸ／ＲＸ電極１１５を送信端子Ｔに接続させることにより、該応答信号をＴＸ／ＲＸ電極１１５を介してセンサコントローラ２００に送信する。
【００４７】
送信回路１１９は、ＭＣＵ１２０からの信号を受信および処理してＴＸ／ＲＸ電極１１５を介しセンサコントローラ２００に送信されるように出力するのに必要な電子構成部品を備える。例えば、送信回路１１９は、ＭＣＵ１２０により規定された周波数のキャリア信号を生成し、該キャリア信号を、センサコントローラ２００がアクティブスタイラス１００により示された位置を判別する（算出する）のに用いる「位置パケット（ｐｏｓｉｔｉｏｎ  ｐａｃｋｅｔｓ）」として無変調で出力し得る。これに代えて、送信回路１１９は、ＰＳＫ（位相偏移）、Ｄ−ＢＰＳＫ（差動二相ＰＳＫ）、ＱＡＭ（直交振幅変調）、およびＤＳＳＳ（直接シーケンススペクトラム拡散）などの任意の適当な変調方式を用いて、設定情報を示すハッシュ＃１などのアクティブスタイラス１００のスタイラス機能情報によりキャリア信号を変調してもよい。次いで、スタイラス機能情報により変調された信号をＴＸ／ＲＸ電極１１５を介してセンサコントローラ２００に送信する。
【００４８】
送信回路１１９は、アクティブスタイラス１００の動作状態を示す動作データなどのスタイラス機能情報以外の情報によりキャリア信号を変調し得る。動作データは、例えば、スタイラス（ペン）先端圧力データ、スタイラスバレルプレッシャデータ、スタイラスオリエンテーション（例えば、ツイスト／チルト）データ、スタイラススイッチステータス、およびスタイラスバッテリレベルを含み得る。このような動作データを生成するために、アクティブスタイラス１００は、スタイラス先端に加わる圧力を検知するように構成されたスタイラス（ペン）先端圧力センサ１２２ａ（例えば、可変キャパシタからなる）、スタイラスバレルに加わる圧力を検知するように構成されたバレルプレッシャセンサ、９軸以下の軸を有するＩＭＵ（内蔵計測ユニット）１２２ｂ（３軸ジャイロスコープ、３軸加速度計、および３軸地磁気計のうちの１つまたは複数の組合せから構成される）、センサ２０１のＸ電極（またはＹ電極）の各々の方向に対するアクティブスタイラス１００の軸の周りのアクティブスタイラス１００のツイスト／回転を検知するように構成されたツイストセンサ１２２ｃ、センサ２０１の表面に対するアクティブスタイラス１００の軸のＸ方向チルトおよびＹ方向チルトを検知するように構成されたチルトセンサ１２２ｄなどの１つまたは複数のセンサ１２２を備える（スタイラス先端圧力センサ１２２ａ以外のセンサ１２２ｂ〜１２２ｄの図を省略した）。ＭＣＵ１２０および送信回路１１９は、これらのセンサからの出力を、ＴＸ／ＲＸ電極１１５を介してセンサコントローラ２００に送信する「データパケット」に予め整える。該データパケットをセンサコントローラ２００に送信するために、ＭＣＵ１２０は、ＴＸ／ＲＸ電極１１５を送信端子Ｔに接続させるスイッチ制御信号ＳＷＣをスイッチＳＷに送出する。
【００４９】
種々のアクティブスタイラスは種々の検知機能を有しており、多様なセンサを取りそろえるように装備したセンサが存在する一方で、スタイラス先端圧力センサ１２２ａのみを備えたセンサも存在する。以下でより詳細に説明するように、本発明は、検知領域に入る、対象としているアクティブスタイラスの、個々の機能をセンサコントローラ２００が即座に確認することを可能とするによって、スタイラスの機能をサポートする固有の通信リンクを（特定のダウンリンク時間スロット割当てに基づいて）構成する双方向通信プロトコルを提案する。
【００５０】
図２Ｂは、例としてのセンサコントローラ２００の機能ブロック図である。センサコントローラ２００は電子装置３の一部であって（図１を参照）、Ｘ電極２０１ＸおよびＹ電極２０１Ｙを備えるセンサ２０１に結合しており、センサ２０１上においてアクティブスタイラス１００が様々な手書き動作を行う。センサコントローラ２００は、さらに、電子装置３のホストプロセッサ３００に結合している。
【００５１】
センサコントローラ２００は、送信回路２１０、セレクタ２２０、受信回路２３０、論理ユニット２３５、およびＭＣＵ（マイクロコントローラユニット）２４０を備える。ＭＣＵ２４０は、ＲＯＭおよびＲＡＭを内蔵するマイクロプロセッサからなり、規定のプログラムに従って動作するように構成されている。ＭＣＵ２４０は、論理ユニット２３５に、送信回路２１０、セレクタ２２０、および受信回路２３０の動作を制御する制御信号伝達（ｃｔｒ、ｓＴＲｘ、ｓＴＲｙ、ｓｅｌＸ、ｓｅｌＹなど）を発するように指示する。ＭＣＵ２４０は、受信回路２３０から受信したデジタルデータを処理して、センサ２０１のアクティブスタイラス１００により示された位置のＸ座標およびＹ座標、色、不透明度（暗さ）などを判別／算出し、例えば、表示のために電子装置３のホストプロセッサ３００に算出した位置データを出力する。
【００５２】
送信回路２１０は、ＭＣＵ２４０からの信号を、センサ２０１のマトリクス電極を介してアクティブスタイラス１００に送信されるように受信および処理して出力するのに必要な電子構成部品を備える。具体的には、ＭＣＵ２４０の制御下において、送信回路２１０は、周期的なビーコン信号を生成してセンサ２０１のマトリクス電極を介してアクティブスタイラス１００に送信する。以下でより詳細に説明するように、ビーコン信号は、センサコントローラ２００を発見するためにアクティブスタイラスの近傍で用いられ（検出され）、アクティブスタイラスがセンサコントローラ２００と同期するタイミング基準として機能する。さらに、ビーコン信号は、上述のように、アクティブスタイラス１００からハッシュ＃１を受信したセンサコントローラ２００が検証用にアクティブスタイラス１００に返信するハッシュ＃２を含み得る。ビーコン信号は、アクティブスタイラスに対して決定されるダウンリンク時間スロット割当てを含むことが可能であり、それによりどのようなダウンリンク時間スロットを用いてどのような種類のパケットをセンサコントローラに送信するかをアクティブスタイラスに通知する。またさらに、ビーコン信号は、アクティブスタイラス１００の動作を制御する種々のコマンドを含み得る。例えば、ビーコン信号は、センサコントローラ２００に（付加的な）スタイラス機能情報を送信するようにアクティブスタイラス１００に要求する読出しコマンド、またはアクティブスタイラス１００に関する機能情報を設定する（書き込む）書込みコマンドを含み得る。ビーコン信号は、さらに、アクティブスタイラスのバッテリレベルなどのアクティブスタイラスの動作データをセンサコントローラに送信するようアクティブスタイラスに要求する（ポーリングする）ポーリングコマンドを含み得る。送信回路２１０は、ビーコン信号を形成するキャリア信号を、ＰＳＫ、Ｄ−ＢＰＳＫ、ＱＡＭ、およびＤＳＳＳなどの任意の適当な変調方式を用い、ハッシュ＃２によって、ダウンリンク時間スロット割当てによって、またはＭＣＵ２４０から受信したこれらの種々のコマンドによって変調し得る。
【００５３】
受信回路２３０は、アクティブスタイラス１００から受信した信号を処理してセンサ２０１のマトリクス電極を介しＭＣＵ２４０により使用可能なデジタル形式で出力するのに必要な電子構成部品を備える。例えば、受信回路２３０は、アクティブスタイラス１００から受信した、（ビーコン信号に応答した）応答信号、（アクティブスタイラスの動作データを含む）データパケット、および位置パケットを処理してＭＣＵ２４０へと出力する。センサ２０１がアクティブスタイラス１００に加えて指タッチを検出することが可能である場合、受信回路２３０は、アクティブスタイラス１００から送信された信号に加えて指タッチを示す信号をセンサ２０１のマトリクス電極を介して受信および処理して、アクティブスタイラス１００によって示された位置に加えて指タッチ位置を判別するＭＣＵ２４０へと出力する。
【００５４】
セレクタ２２０は、論理ユニット２３５からの制御信号伝達に基づいて、送信モードと受信モードとの間でセンサ２０１の動作モードを切り替える。セレクタ２２０は、スイッチ２２２ｘおよび２２２ｙと電極選択回路２２４ｘおよび２２４ｙとを備える。論理ユニット２３５からの制御信号伝達ｓＴＲｙおよびｓＴＲｘに基づいて、スイッチ２２２ｘ、２２２ｙは、センサ２０１のＸ電極２０１ＸおよびＹ電極２０１Ｙをそれぞれ、送信回路２１０に結合した送信端子Ｔと受信回路２３０に結合した受信端子Ｒとのいずれかに接続する。送信モードでは送信回路２１０に結合した電極を用いてアクティブスタイラス１００に信号を送信し、受信モードでは受信回路２３０に結合した電極を用いてアクティブスタイラス１００からの信号を受信する。さらに、アクティブスタイラス１００に信号を送信する、またはアクティブスタイラス１００から信号を受信するために、制御信号伝達ｓｅｌＸ、ｓｅｌＸに基づいて、電極選択回路２２４ｘ、２２４ｙは、それぞれＸ電極２０１Ｘ、Ｙ電極２０１Ｙを選択する。論理ユニット２３５は、さらに、ＭＣＵ２４０に指示されて、送信回路２１０および受信回路２３０に制御信号伝達「ｃｔｒ」を送出して送信回路２１０および受信回路２３０の動作を制御する。
【００５５】
図３は、アクティブスタイラス１００とセンサコントローラ２００との間の双方向通信に用いられるフレームフォーマット例であり、双方向通信リソースは、時間軸に沿ってフレームに分割されると共に周波数軸に沿って異なる周波数に分割される。各フレームは、さらに、時間軸に沿って１６個の（１６）時間スロットｓ０〜ｓ１５に分割され、各時間スロットは、例えば２０ビット（１６情報ビットに４ＣＲＣビットが加わる）まで収容するサイズに定められている。一例として、フレーム長は１６ｍｓｅｃであり、時間スロット長は１ｍｓｅｃである。なお、フレームを１６より少ないまたは多い時間スロットに分割してもよく、本発明はここで説明する１６時間スロットの例に限定されない。例えば、１６ｍｓｅｃのフレームを６４時間スロットに分割して、各時間スロットを２５０μｓｅｃの長さとしてもよい。
【００５６】
実施例として、各フレームの開始時における１つまたは複数の時間スロットは、センサコントローラ２００によって、周期的なビーコン信号（ＢＳ）をアクティブスタイラス１００に送信するのに「アップリンク（ｕｐｌｉｎｋ）」において用いられる。したがって、フレームを、２つの連続するビーコン信号の開始時の間の間隔とみなし得る。各フレームにおける他の時間スロットは、以降で図８Ａ〜９Ｇの種々の例に示すように、アクティブスタイラス１００によって、信号（例えば、ビーコン信号に対する応答信号）、データパケット、および位置パケットをセンサコントローラ２００に送信するのに「ダウンリンク（ｄｏｗｎｌｉｎｋ）」において用いられる。図示しないが、アップリンク時間スロット（図３におけるｓ０）とダウンリンク時間スロット（図３におけるｓ１〜ｓ１５）との間に、アップリンク送信とダウンリンク送信との間の衝突を避けるように、アップリンクにもダウンリンクにも送信がスケジューリングされない期間であるギャップ時間スロットを設けてもよい。
【００５７】
ビーコン信号は、近傍のアクティブスタイラスがセンサコントローラ２００を発見することができるように、またセンサコントローラ２００とアクティブスタイラス１００との間の双方向通信に用いられる時間スロットのタイミング基準として機能するようにセンサコントローラ２００によって送信される周期信号である。したがって、通常の実施形態において、ビーコン信号は、すべてのアクティブスタイラスによって検出可能となるようにすべての周波数で送信される。各アクティブスタイラス１００はビーコン信号を待ち受け、アクティブスタイラス１００がビーコン信号を検出した後に、アクティブスタイラス１００はビーコン信号に基づいてアクティブスタイラス１００のタイミング基準を設定する。センサコントローラ２００を発見するアクティブスタイラス１００によって検出される最初のビーコン信号に続くビーコン信号は、アクティブスタイラス１００が以前にセンサコントローラ２００とペアリングしたことを検証するのに用いられるハッシュ＃２などの種々の情報と、ペアリング動作中およびペアリング動作後にアクティブスタイラス１００の動作を制御するコマンドとを含み得る。アクティブスタイラス１００に宛てられたハッシュ＃２またはコマンドを含むビーコン信号は、典型的には、いずれのビーコン信号が（存在し得る他のアクティブスタイラスにではなく）アクティブスタイラス１００に宛てられているかをアクティブスタイラス１００が識別することができるように、アクティブスタイラス１００のスタイラスＩＤを含む。センサコントローラ２００からのビーコン信号は、さらに、典型的には、センサコントローラ２００のセンサコントローラＩＤを含む。
【００５８】
種々の実施形態に従って、センサコントローラ２００は、センサコントローラ２００の検知領域に入りつつある各アクティブスタイラス１００の機能情報を即座に確認し、確認した機能情報に基づいてアクティブスタイラス１００のダウンリンク時間スロット割当てを決定する。アクティブスタイラス１００は、次いで、アクティブスタイラス１００の機能をサポートする決定したダウンリンク時間スロット割当てに従って、データパケットおよび／または位置パケットをセンサコントローラに送信することにより、センサコントローラとの双方向通信を開始する。例えば、対象としているアクティブスタイラスがスタイラスオリエンテーション検出機能を有するとセンサコントローラ２００が判定する場合に、センサコントローラ２００はアクティブスタイラス１００がスタイラスオリエンテーションデータをセンサコントローラ２００に送信するようにダウンリンク時間スロットを割り当てる一方、このようなスタイラスオリエンテーション検出機能を有していないアクティブスタイラスにはこのようなダウンリンク時間スロットを割り当てない。こうして、センサコントローラ２００は、アクティブスタイラスの機能情報に応じて、異なるダウンリンク時間スロット割当てをアクティブスタイラスに割り当て得る。アクティブスタイラスがセンサコントローラ２００の検知領域外に存在する間に、ユーザにより調整可能なアクティブスタイラスの設定に関する設定情報（例えば、スタイラス線幅）が変更され得るため、該センサコントローラは、該アクティブスタイラスが以前に該センサコントローラとペアリングしたことがある場合であっても、該アクティブスタイラスが検知領域に再入するたびに現在の設定情報を確認する必要がある。
【００５９】
図４Ａは、アクティブスタイラスのスタイラス機能情報の種類例を列挙したテーブルであり、機能情報および設定情報を含む。機能情報は、通常はスタイラスベンダ（製造者）により予め設定され、かつ通常はユーザにより変更可能でない、アクティブスタイラスの予め定義された機能に関連する。例えば、スタイラス上に備えられたバレルスイッチの数はユーザにより変更可能でない。機能情報は、さらに、アクティブスタイラスがいずれのバージョンの双方向通信プロトコルに準拠するかを示すバージョン番号（４ビット）を含み得る。機能情報は、さらに、センサ２０１の画面上に表示するアクティブスタイラスの推奨の、または既定の色である「推奨色」（１４０ＣＳＳ（カスケーディングスタイルシート）色のうちの１つを示す８ビット）を含み得る。機能情報は、さらに、図４Ｂを参照して以下でより詳細に説明するように、ベンダによりアクティブスタイラスに対して設定され得る種々の他の機能に関連し得る。
【００６０】
図４Ａは、さらに、スタイラス線幅およびスタイラス先端タイプ（例えば、０＝ペン、１＝イレーサ、２＝チゼル先端マーカ、３＝エアブラシ、４＝鉛筆、５〜７＝カスタム／ベンダ仕様先端スタイル用に確保）を含む「ペンスタイル（ｐｅｎ  ｓｔｙｌｅ）」などのユーザにより調整可能なアクティブスタイラスの設定に関する設定情報と、アクティブスタイラスのテイル／バレルボタン（スイッチ）１１１Ａ／１１１Ｂに割り当てられた機能とを記述する。例えば、ユーザは、ボタン（スイッチ）を操作することによってペンスタイルを変更し、またはボタン（スイッチ）に割り当てられた機能を変更し得る。設定情報は、アクティブスタイラスに対して設定され得るユーザにより変更可能な他の設定に関連し得る。アクティブスタイラスの固有の識別番号は、アクティブスタイラス上に配置された１つまたは複数のスイッチを用いてユーザにより変更可能とし得る。例えば、共に各スタイラスに対する６４ビットグローバルＩＤを構成し得るベンダＩＤ（８ビット）およびシリアル番号（５６ビット）は、ユーザにより変更可能とし得る。（グローバルＩＤがユーザにより変更可能でない実施形態が挙げられる。）さらに、機能情報の１つの種類として上述したアクティブスタイラスの「推奨色（ｐｒｅｆｅｒｒｅｄ  ｃｏｌｏｒ）」は、ユーザにより調整可能な設定情報に代替し得るものであり、ユーザは例えばボタン（スイッチ）を用いて推奨（既定）色を自由に調整し得る。「推奨色（ｐｒｅｆｅｒｒｅｄ  ｃｏｌｏｒ）」の例が示すように、機能情報と設定情報との差異は厳密でなく、ベンダごとに、またはスタイラスごとに変わり得る。さらに、機能情報として取り扱い得るといったように、ユーザによって一回のみ、または非常に低頻度で設定され得る設定情報も存在し得る。
【００６１】
図４Ｂは、アクティブスタイラスによって該アクティブスタイラスの機能情報をセンサコントローラ２００に送信するのに用いられるデータフォーマット例を列挙したテーブルである。機能情報は、図４Ｃを参照して以下でより詳細に説明するように、例えば、いくつの異なる段階（例えば、２５６、５１２、１０２４など）のペン先端圧力を検出することが可能か、アクティブスタイラス上に備えられたバレルボタン数（例えば、１１１Ａ／１１１Ｂ）の数値、バレルプレッシャを検出するスタイラスの機能（可不可であって、可であれば、いくつの異なる段階のバレルプレッシャを検出することが可能か）、およびスタイラスオリエンテーション（例えば、スタイラスツイストおよびチルト）を検出するスタイラスの機能に関する情報を含む。
【００６２】
図４Ｂの機能情報は、さらに、データパケットに対してカスタム（カスタマイズされた）データサイズが設定されているか否か、そして設定されている場合はカスタムデータバイト数の数値、スタイラスのオリエンテーションを検出することが可能なオリエンテーション分解能（例えば、０は８ビット分解能を示し、１は９ビット分解能を示し、２は１０ビット分解能を示す）、ペン先端圧力を検出することが可能な異なる段階の（既定の数値とは異なって）カスタマイズされた数値、アクティブスタイラスに設けられるバレルボタンの（既定の数とは異なって）カスタマイズされた数、およびオリエンテーションデータを送信するのに用いられる（既定のデータバイト数とは異なって）カスタマイズされたデータバイト数に関する情報を含み得る。
【００６３】
図４Ｃは、アクティブスタイラスによって該アクティブスタイラスのオリエンテーション検出機能に関する機能情報をセンサコントローラに送信するのに用いられるオリエンテーションコード例を列挙したテーブルである。オリエンテーションコード０は、アクティブスタイラスがオリエンテーション検出機能を有していないことを示し、１は、アクティブスタイラスがＸ方向およびＹ方向の両方におけるチルトを検出することが可能であること、および検出されたＸチルトデータおよびＹチルトデータをフレーム当たり２時間スロットで送信することが可能であることを示し、２は、アクティブスタイラスがＸチルトおよびＹチルトに加えてツイスト（回転）データをフレーム当たり３時間スロットで検出および送信することが可能であることを示し、３は、アクティブスタイラスがセンサ表面に対するアクティブスタイラスの高度データおよび方位角データをフレーム当たり２時間スロットで検出および送信することが可能であることを示し、４は、アクティブスタイラスが高度および方位角データならびにツイスト（回転）データをフレーム当たり３時間スロットで検出および送信することが可能であることを示し、５は、アクティブスタイラスが３軸ジャイロスコープおよび３軸加速度計の組合せからなる６軸ＩＭＵ（内蔵計測ユニット）を備えること、および６軸ＩＭＵデータをフレーム当たり３時間スロットで送信することが可能であることを示し、６は、アクティブスタイラスが３軸ジャイロスコープ、３軸加速度計、および３軸地磁気計の組合せからなる９軸ＩＭＵを備えること、および９軸ＩＭＵデータをフレーム当たり３時間スロットで送信することが可能であることを示し、７は、アクティブスタイラスによって検出および送信され得るオリエンテーションデータのカスタマイズされた形式を示す。
【００６４】
図４Ｃのオリエンテーションコードテーブルは異なる種類のオリエンテーションセンサを表す０〜７の異なる値を示すが、図４Ｄに示すように、代替手法は、アクティブスタイラスが該アクティブスタイラスのオリエンテーション機能をセンサコントローラに通知するのに用い得る機能のビットフィールドを備えることである。機能情報において設定されるビットの各々は、スタイラスが該当するアイテムを計測することが可能であることを示す。機能情報フィールドにバレルプレッシャビットが設定される場合、そのことはスタイラスがバレルプレッシャを示すものを有することを示す。チルトビットが設定される場合、そのことはスタイラスがＸチルトおよびＹチルトを計測することが可能であることを示す。ツイストビットが設定される場合、そのことはスタイラスが軸の周りのツイストを計測することが可能であることを示す。高度および方位角ビットが設定される場合、そのことはスタイラスがスタイラスの高度および方位角を計測することが可能であることを示す。ＩＭＵｈａｓＡｃｃｅｌビットが設定される場合、そのことはスタイラスが３軸加速度計値を備えることを示す。ＩＭＵｈａｓＧｒｙｏフラグが設定される場合、そのことはスタイラスが３軸ジャイロスコープを備えることを示す。ＩＭＵｈａｓＭａｇｎｅｔビットが設定される場合、そのことはスタイラスが３軸地磁気計を備えることを示す。設定されるこれらのビットの各々は、そのデータに時間スロットを割り当てる必要性を示し、後述することであるが、ＩＭＵに関しては単一の時間スロットまたは時間スロットのセットにデータを多重させることが可能である。
【００６５】
図４Ｅは、アクティブスタイラスの機能情報の３つの例を記述している。例１は、１０２４の異なる段階でスタイラス先端圧力を検出することが可能である第１のアクティブスタイラスの機能情報であり、１つのバレルボタンを有し、接線方向（バレル）圧力検知機能、スタイラスオリエンテーション検知機能、およびカスタム機能を有していない。例２は、２０４８の異なる段階でスタイラス先端圧力を検出することが可能である第２のアクティブスタイラスの機能情報であり、２つのバレルボタン、接線方向（バレル）圧力検知機能、および９軸ＩＭＵ（図４Ｃにおけるオリエンテーションコード６）に基づくスタイラスオリエンテーション検知機能を有し、カスタム機能を有していない。例３は、各圧力段階（値）が１６ビットで表されるカスタマイズされた数値からなる異なる段階でスタイラス先端圧力を検出することが可能である第３のアクティブスタイラスの機能情報であり、バレルボタン、接線方向（バレル）圧力検知機能を有しておらず、アクティブスタイラスの高度および方位角データならびにツイスト（回転）データを検出およびレポートするスタイラスオリエンテーション検知機能を有する（図４Ｃにおけるオリエンテーションコード４）。
【００６６】
図５Ａは、アクティブスタイラスに対してダウンリンク時間スロット割当てにより設定されたスケジュールに従って、アクティブスタイラスからセンサコントローラに送信され得るアクティブスタイラスの動作状態を示す動作データ例を列挙したテーブルである。スケジュールに従って送信される動作データが、センサコントローラがセンサコントローラとアクティブスタイラスとの間の適切なインタラクティブ動作を達成するのに必要とする動作データからなる、種々の実施形態が挙げられる。このような動作データは、例えば、先端圧力データ、接線方向（バレル）圧力データ、各バレルボタンのステータス（例えば、各バレルボタンのオン／オフ状態）、アクティブスタイラスが該アクティブスタイラスの所期のオリエンテーションから反転している（すなわち、スタイラス先端が上方を向く、つまりスタイラステイルがセンサ表面の方を向いて、およびセンサ表面と接触して、例えば「イレーサ（ｅｒａｓｅｒ）」として用いられる）か否かを示す反転データ、スタイラスオリエンテーションデータ、およびアクティブスタイラスの何らかの動作状態を示す任意の他のカスタマイズされた動作データを含む。
【００６７】
場合によっては、スタイラス内のセンサからの動作データの量が多大となり得る。このことは特にＩＭＵに当てはまる。これらのセンサは次のいずれかまたはすべて、すなわち１〜３軸を有する加速度計、１〜３軸を有するジャイロスコープ、および１〜３軸を有する地磁気計のいずれかまたはすべてを備え得る。これにより、最大で９軸のデータを送信する必要性が生じ得る。このデータを指定された種類（例えば、加速度計のＸ軸、Ｙ軸、Ｚ軸、ジャイロスコープのＸ軸、Ｙ軸、Ｚ軸、および地磁気計のＸ軸、Ｙ軸、Ｚ軸）からなる９時間スロットで送信することに代えて、１つまたは複数の時間スロットにデータを多重させ得る。
【００６８】
多重を実現するために、いずれのセンサ（加速度計、ジャイロスコープ、または地磁気計）からデータが生じたかを示すフラグ（ＩＭＵフラグ）によってＩＭＵデータをタグ付けする。図５Ｂは、ＩＭＵデータを送信するデータパケット（またはレポート）の例である。図５Ｂにおいて、「ＩＭＵデータ（ＩＭＵ  ｄａｔａ）」フィールドは、ＩＭＵデータ自体を含み、「ＩＭＵフラグ（ＩＭＵ  Ｆｌａｇ）」フィールドはいずれのセンサがＩＭＵデータを生成したかを示す。例えば、ＩＭＵフラグがゼロである場合はそのことはデータが加速度計から生じたことを示し、ＩＭＵフラグが１である場合はそのことはデータがジャイロスコープから生じたことを示し、ＩＭＵフラグが２である場合はそのことはデータが地磁気計から生じたことを示し得る。ＩＭＵデータフィールドは、ＩＭＵフラグにより示されるセンサによって生成されたＸ軸データ、Ｙ軸データ、Ｚ軸データを含み得る。
【００６９】
例えば、９軸のデータ（例えば、加速度計のＸ軸、Ｙ軸、Ｚ軸、ジャイロスコープのＸ軸、Ｙ軸、Ｚ軸、および地磁気計のＸ軸、Ｙ軸、Ｚ軸）を、共通のレポートフォーマット（またはデータパケット）の３時間スロット（または３つのデータフィールド）に多重させて、以下のように３つの異なる時点において３つのレポートを作成し得る。
（レポート１）
センサタグ−「加速度計（Ａｃｃｅｌｅｒｏｍｅｔｅｒ）」
Ｘ軸データフィールド−加速度計Ｘ軸データ
Ｙ軸データフィールド−加速度計Ｙ軸データ
Ｚ軸データフィールド−加速度計Ｚ軸データ
（レポート２）
センサタグ−「ジャイロスコープ（Ｇｙｒｏｓｃｏｐｅ）」
Ｘ軸データフィールド−ジャイロスコープＸ軸データ
Ｙ軸データフィールド−ジャイロスコープＹ軸データ
Ｚ軸データフィールド−ジャイロスコープＺ軸データ
（レポート３）
センサタグ−「地磁気計（Ｍａｇｎｅｔｏｍｅｔｅｒ）」
Ｘ軸データフィールド−地磁気計Ｘ軸データ
Ｙ軸データフィールド−地磁気計Ｙ軸データ
Ｚ軸データフィールド−地磁気計Ｚ軸データ
【００７０】
他の例として、９軸のデータを共通のレポートフォーマット（またはデータパケット）の１時間スロット（または１つのデータフィールド）に多重させて、９つの異なる時点において９つのレポートを作成し得る。
（レポート１）
センサタグ−「加速度計（Ａｃｃｅｌｅｒｏｍｅｔｅｒ）」
軸タグ−「Ｘ」
データフィールド−加速度計Ｘ軸データ
（レポート２）
センサタグ−「加速度計（Ａｃｃｅｌｅｒｏｍｅｔｅｒ）」
軸タグ−「Ｙ」
データフィールド−加速度計Ｙ軸データ
（レポート３）
センサタグ−「加速度計（Ａｃｃｅｌｅｒｏｍｅｔｅｒ）」
軸タグ−「Ｚ」
データフィールド−加速度計Ｚ軸データ
（レポート４）
センサタグ−「ジャイロスコープ（Ｇｙｒｏｓｃｏｐｅ）」
軸タグ−「Ｘ」
データフィールド−ジャイロスコープＸ軸データ
（レポート５）
センサタグ−「ジャイロスコープ（Ｇｙｒｏｓｃｏｐｅ）」
軸タグ−「Ｙ」
データフィールド−ジャイロスコープＹ軸データ
（レポート６）
センサタグ−「ジャイロスコープ（Ｇｙｒｏｓｃｏｐｅ）」
軸タグ−「Ｚ」
データフィールド−ジャイロスコープＺ軸データ
（レポート７）
センサタグ−「地磁気計（Ｍａｇｎｅｔｏｍｅｔｅｒ）」
軸タグ−「Ｘ」
データフィールド−地磁気計Ｘ軸データ
（レポート８）
センサタグ−「地磁気計（Ｍａｇｎｅｔｏｍｅｔｅｒ）」
軸タグ−「Ｙ」
データフィールド−地磁気計Ｙ軸データ
（レポート９）
センサタグ−「地磁気計（Ｍａｇｎｅｔｏｍｅｔｅｒ）」
軸タグ−「Ｚ」
データフィールド−地磁気計Ｚ軸データ
【００７１】
このようにしてＩＭＵデータを１つまたは複数の時間スロット（１つまたは複数のデータフィールド）に多重させることには、各レポートにおいて必要とされる時間スロットの数が削減され、ＩＭＵデータを送信するのに必要なレポートの数が増加して全体のＩＭＵデータレートを低下させずに済むという利点がある。
【００７２】
複数のＩＭＵセンサからのデータを「センサフュージョン（ｓｅｎｓｏｒ  ｆｕｓｉｏｎ）」として知られる処理によって結合して所望の位置情報および動き情報を生成する実施形態が挙げられる。例えば、アクティブスタイラスのいずれの方向が「下方（ｄｏｗｎ）」であるかを判定したい場合に、動きの方向を示すジャイロスコープデータを、動きの加速方向および重力の加速方向の両方を示す加速度計データから減算し得る。減算の結果は、重力のみに起因する加速方向、すなわち「下方」基準座標系を示す。
【００７３】
「センサフュージョン（ｓｅｎｓｏｒ  ｆｕｓｉｏｎ）」を実行するときに、極力正確な結果を与えるように、種々のＩＭＵセンサからのデータを可能な限り互いに時間的に接近させて計測するとよい。図５Ｂに示す「エンド（Ｅｎｄ）」ビットを用い、以下のようにして種々のＩＭＵセンサからのデータ間の同期を達成し得る。複数のＩＭＵセンサの計測値を取得してアクティブスタイラス内にバッファする。バッファされたデータを、エンドビットをクリアした（例えば、「０」）利用可能なＩＭＵ時間スロット割当てによって送信する。図９Ｇは、ＩＭＵデータパケットの例および「エンドビット（Ｅｎｄ  ｂｉｔ）」の用法を示す。最後のバッファされたデータ要素が時間スロット内に配置されると、エンドビットは複数のＩＭＵセンサによって同時にまたは時間的に接近して取得されたＩＭＵデータのセットにおける最後であることを示すように、エンドビットが（例えば、「１」に）設定される。センサコントローラにおいて、エンドビットがクリアされて受信した任意のＩＭＵデータがバッファに追加される。センサコントローラがエンドビットセットを有するＩＭＵデータを受信すると、センサコントローラは、次いでバッファ内のデータを複数のＩＭＵセンサからのＩＭＵデータの一式のセットとして用い、センサフュージョンを実行するホストプロセッサに転送し得る。
【００７４】
図５Ｃは、アクティブスタイラスのバッテリレベルなどの、センサコントローラによってポーリングされる（要求される）とアクティブスタイラスがセンサコントローラに送信する、アクティブスタイラスの動作状態を示す動作データ例を列挙したテーブルである。したがって、この種類の動作データは、低頻度でしかセンサコントローラに送信されない。
【００７５】
なお、図４Ａ〜４Ｅを参照して上述したスタイラス機能情報、および図５Ａ〜５Ｃを参照して上述した動作データは一例にすぎず、本発明は図４Ａ〜５Ｃに記載した特定の例を用いることに限定されない。
【００７６】
図６は、アクティブスタイラスの処理フロー例を示すフローチャートである。ステップＳ６０１において、アクティブスタイラスは、例えばスタイラス機能情報マネージャ１１０（図１）のテーブルＴＢＬに格納されたアクティブスタイラス自体が有するスタイラス機能情報を決定する。ステップＳ６０３において、アクティブスタイラスの設定（例えば、スタイラス線幅、色など）を変更するユーザ操作をアクティブスタイラスが検出すると、ステップＳ６０５において、アクティブスタイラスはこれに応じて設定情報を更新する。図６に示すように、ステップＳ６０１〜Ｓ６０５は、通常、アクティブスタイラス１００がセンサコントローラ２００の検知領域外に存在する間に生じる。ステップＳ６１１において、アクティブスタイラスはセンサコントローラ２００からのビーコン信号を待ち受け、ビーコン信号が検出されない場合はステップＳ６０３に戻り、必要に応じて設定情報を更新することを継続し、ビーコン信号を待ち受ける。
【００７７】
ステップＳ６１１において、アクティブスタイラスは、センサコントローラ２００の検知領域に入るときに、センサコントローラ２００からのビーコン信号を検出する。ステップＳ６１３において、アクティブスタイラスは、タイミング基準としてのビーコン信号を用いて、アクティブスタイラスのフレーム／時間スロット設定をセンサコントローラのものに同期させる。ステップＳ６１５において、アクティブスタイラスは、単一のダウンリンク時間スロットを用いて設定情報のハッシュ値（ハッシュ＃１）を送信し、センサコントローラが該アクティブスタイラスをセンサコントローラが以前にペアリングしたことのあるアクティブスタイラスと認識するか否かをセンサコントローラに判定させる。センサコントローラがハッシュ＃１に基づいてアクティブスタイラスを認識しない場合は、ステップＳ６１７において、アクティブスタイラスは、センサコントローラから受信した機能情報要求（読出し）コマンドに応答して、場合によっては複数のダウンリンク時間スロットを用い、アクティブスタイラスの（一式の）スタイラス機能情報をセンサコントローラに送信する。これに対して、センサコントローラがハッシュ＃１に基づいてアクティブスタイラスを認識する場合は、ステップＳ６１９において、センサコントローラは、好ましくは単一のアップリンク時間スロットを用い、設定情報のハッシュ値（「ハッシュ＃２（Ｈａｓｈ＃２）」）を検証のためにアクティブスタイラスに送信する。以下でさらに図７および図１０を参照して、ハッシュ＃１およびハッシュ＃２を用いるアクティブスタイラスとセンサコントローラとの間のペアリング動作または「急速インキング処理（ｆａｓｔ  ｉｎｋｉｎｇ）」動作を説明する。
【００７８】
ステップＳ６１７において非ハッシュ化スタイラス機能情報を送信した後、またはステップＳ６１９において設定情報のハッシュ＃２を受信した後は、ステップＳ６３１において、アクティブスタイラスはセンサコントローラ２００からのビーコン信号を再度待ち受ける。このときに検出されるビーコン信号は、センサコントローラがアクティブスタイラスのスタイラス機能情報に基づいてアクティブスタイラスに対して決定したダウンリンク時間スロット割当てを含む。ダウンリンク時間スロット割当てを含むビーコン信号が検出されると、アクティブスタイラスは、ステップＳ６３３においてカウンタを０にリセットし、ステップＳ６３５において検出されたビーコン信号に含まれるダウンリンク時間スロット割当てにより設定されたスケジュールに従ってセンサコントローラにパケットを送信し始める。送信するパケットは、アクティブスタイラスの位置、および／またはアクティブスタイラスの動作データ（例えば、送信された圧力データ、送信されたオリエンテーションデータなど）を含むデータパケットを判別するのにセンサコントローラによって用いられる位置パケットからなり得る。さらに、ステップＳ６３１において検出されるビーコン信号において、または続いて検出される任意のビーコン信号（図６において不図示）においてセンサコントローラによりポーリングされる（要求される）と、ステップＳ６３７において、アクティブスタイラスは、アクティブスタイラスのバッテリレベルなどのポーリングされた動作データを含むデータパケットを、ダウンリンク時間スロット割当てに従ってセンサコントローラに送信する。例えば、アクティブスタイラスは、上述のステップＳ６３５においてスケジュールされたパケットを送信するのに用いられない任意の時間スロットを用い、ポーリングされた動作データを含むデータパケットを送信する。
【００７９】
ステップＳ６１７において非ハッシュ化スタイラス機能情報を送信した後、またはステップＳ６１９において設定情報のハッシュ＃２を受信した後に、ステップＳ６３１においてアクティブスタイラスが返信されるビーコン信号を検出しない場合は、ステップＳ６４１においてアクティブスタイラスはカウンタが閾値を超えたか否かを判定し、超えていなければステップＳ６４３においてカウンタ値をインクリメントする。ステップＳ６４１においてカウンタが閾値を超える場合は、アクティブスタイラスがセンサコントローラ２００の検知領域から出ており（すなわち、ユーザがアクティブスタイラスをセンサ２０１から遠ざけるように移動させており）、アクティブスタイラスは該センサコントローラからのビーコン信号の圏外に存在するものとする。したがって、アクティブスタイラスはステップＳ６０３、Ｓ６０５、およびＳ６１１に戻り、必要に応じて設定情報を更新することを再開し、（開始）ビーコン信号を待ち受ける。
【００８０】
図７は、センサコントローラの処理フロー例を示すフローチャートである。図７は、さらに、センサコントローラとアクティブスタイラスとの間のペアリング動作例を示し、該ペアリング動作においてセンサコントローラはアクティブスタイラスからスタイラス機能情報（例えば、設定情報）を示すハッシュ値（「ハッシュ＃１（Ｈａｓｈ＃１）」）を受信する。センサコントローラが受信したハッシュ＃１を認識すると、それによってペアリング動作が迅速化され得る。
【００８１】
ステップＳ７１１において、センサコントローラは、第１の時間スロット「ｓ０」などの各フレームの開始時間スロットにおいて、ビーコン信号を送信する。ステップＳ７１４において、センサコントローラは、ビーコン信号を検出したアクティブスタイラスから返信された応答（例えば、ＡＣＫ）信号から、スタイラス機能情報のハッシュ値（ハッシュ＃１）を抽出する。ハッシュ＃１は、機能情報および設定情報の両方を含む一式の形態をなすスタイラス機能情報のハッシュ値からなり得る、または設定情報のハッシュ値からなり得る。
【００８２】
ステップＳ７１５において、センサコントローラは、抽出したハッシュ＃１が、センサコントローラ内にキャッシュされたスタイラス機能情報（例えば、設定情報）のハッシュ値（ハッシュ＃１）に一致するか否かを判定する。特に、ステップＳ７１５は、センサコントローラが該アクティブスタイラスをセンサコントローラが以前にペアリングしたことのあるアクティブスタイラスとして認識するか否かを判定するステップであり、認識する場合は、センサコントローラはアクティブスタイラスのスタイラス機能情報を既にそろえている。
【００８３】
ステップＳ７１５においてセンサコントローラがハッシュ＃１を認識しない場合は、ステップＳ７１７において、センサコントローラは、アクティブスタイラスにアクティブスタイラスのスタイラス機能情報を送信するように要求する読出しコマンドを含むビーコン信号を送信する。それに代えて、またはそれに追加して、センサコントローラは、アクティブスタイラスに対するある一定の設定を強制的に構成する（設定する）書込みコマンドを含むビーコン信号を送信し得る。例えば、センサコントローラは、アクティブスタイラスに対してある一定の既定色を設定する書込みコマンドを発行し得る。
【００８４】
ステップＳ７１９において、センサコントローラは、センサコントローラが複数のダウンリンク時間スロットを用いて一式の形態で受信した（図６におけるステップＳ６１７を参照）アクティブスタイラスのスタイラス機能情報をセンサコントローラが有していることを確認する、またはハッシュ＃１に基づいてセンサコントローラ内にキャッシュ済みであることを確認済みである。センサコントローラは、次いで、スタイラス機能情報に基づき、アクティブスタイラスに対するダウンリンク時間スロット割当てを決定する。ダウンリンク時間スロット割当ては、フレーム内のいずれのダウンリンク時間スロットがアクティブスタイラスに割り当てられるかを特定し、さらにアクティブスタイラスがいずれの種類のパケット（例えば、データパケットまたは位置パケット）をいずれのダウンリンク時間スロットにおいて送信すべきであるかを特定し得る。センサコントローラは、アクティブスタイラスの特定の機能情報に基づき、各アクティブスタイラスに対するダウンリンク時間スロット割当てを決定する。例えば、スタイラス先端圧力センサに加えてスタイラスオリエンテーションセンサおよびバレルプレッシャセンサを備えるアクティブスタイラスに対して、センサコントローラは、スタイラス先端圧力センサのみを備えるアクティブスタイラスと比較して、これらの種々のセンサからの出力を示す動作データを送信するための、より多くのダウンリンク時間スロットを割り当て得る。種々の機能および設定がなされた複数のアクティブスタイラスをセンサコントローラと共に使用する場合に、センサコントローラは、複数のアクティブスタイラス間におけるダウンリンク時間スロット衝突を回避しながら、各アクティブスタイラスに対するダウンリンク時間スロット割当てを決定する。すなわち、各時間スロットを１つのアクティブスタイラスに割り当て、複数のスタイラスによって共有しない実施形態が挙げられる。センサコントローラが、アクティブスタイラスに対するダウンリンク時間スロット割当ての一部として各アクティブスタイラスに特定の周波数を割り当てる実施形態も挙げられる。その場合に、複数の周波数が割り当てられる複数のアクティブスタイラスにそれぞれ同じ時間スロットを割り当て得る。ダウンリンク時間スロット割当ての種々の例を、図８Ａ〜９Ｇを参照して後述する。
【００８５】
図７を再度参照し、ステップＳ７３１において、センサコントローラは、決定したダウンリンク時間スロット割当てを含むビーコン信号を、ＡＣＫ信号を送信してきたアクティブスタイラスに返信する。次いで、ステップＳ７３２において、センサコントローラは、ダウンリンク時間スロット割当てに従って、アクティブスタイラスから送信されるパケットを待ち受ける。センサコントローラがアクティブスタイラスからのパケットを検出する場合は、ステップＳ７３３においてセンサコントローラはカウンタを０にリセットし、ステップＳ７３５においてセンサコントローラは、ダウンリンク時間スロット割当てにより設定されたスケジュールに従ってパケット（位置パケットおよび／または動作データを含むデータパケット）を受信し続ける。さらに、センサコントローラが、ビーコン信号のいずれかによって、アクティブスタイラスのバッテリレベルなどのある一定の動作データをレポートするようにアクティブスタイラスにポーリングすると、ステップＳ７３７において、センサコントローラは、アクティブスタイラスからのポーリングされた動作データを含むデータパケットを受信する。
【００８６】
ステップＳ７３１においてダウンリンク時間スロット割当てを含むビーコン信号を送信した後に、ステップＳ７３２においてセンサコントローラが割り当てられたダウンリンク時間スロットにおいて返信されたパケットを全く検出しない場合は、ステップＳ７４１においてセンサコントローラは、カウンタが閾値を超えたか否かを判定し、越えなければ、ステップＳ７４３においてカウンタ値をインクリメントする。ステップＳ７４１においてカウンタが閾値を超えない場合は、アクティブスタイラスがセンサコントローラ２００の検知領域から出ており（すなわち、ユーザがアクティブスタイラスをセンサ２０１から遠ざけるように移動させており）、アクティブスタイラスは該センサコントローラからのビーコン信号の圏外に存在するものとする。したがって、センサコントローラはステップＳ７１１およびＳ７１３に戻り、周期ビーコン信号を送信し続け、アクティブスタイラスからの応答信号を待つ。
【００８７】
図８Ａおよび８Ｂは、センサコントローラがアクティブスタイラスにビーコン信号（ＢＳ）を送信し、アクティブスタイラスがスタイラス機能情報（ＣＰまたはハッシュ＃１）を含む応答信号をセンサコントローラに返信するフレームフォーマット例を示す。図８Ａにおいて、第１のフレームＦｎの時間スロットｓ０において、センサコントローラはビーコン信号を送信し、次の時間スロットｓ１において、ビーコン信号を検出したアクティブスタイラスはアクティブスタイラスの非ハッシュ化スタイラス機能情報（「ＣＰ１」）を含む応答信号を返信する。本例において、アクティブスタイラスは該センサコントローラとペアリングしたことがなく、したがって該センサコントローラを認識しない（図６のステップＳ６１５においてＮＯ）。したがって、アクティブスタイラスは時間スロットｓ１において一式の（非ハッシュ化）スタイラス機能情報を送信し、これが該一式のスタイラス機能情報のサイズに応じた複数のフレームに亘り得る。図８Ａは、アクティブスタイラスが少なくとも２つのフレームＦｎ、Ｆｎ＋１の時間スロットｓ１において非ハッシュ化スタイラス機能情報をＣＰ１、ＣＰ２として送信することを示す。
【００８８】
図８Ｂにおいて、アクティブスタイラスは該センサコントローラと以前にペアリングしたことがあり、したがって該センサコントローラを認識する（図６のステップＳ６１５においてＹＥＳ）。したがって、アクティブスタイラスは、時間スロットｓ１において送信する応答信号において、アクティブスタイラスの設定情報（「ハッシュ＃１（Ｈａｓｈ＃１）」）のハッシュ値を送信する。設定情報のハッシュ値が通常２０ビット以下であって単一の時間スロットで送信し得る一定のデータサイズからなることは利点である。それゆえ、上述した図８Ａの例とは異なり、アクティブスタイラスの設定情報を表すハッシュ＃１を、単一のフレーム（Ｆｎ）の時間スロットｓ１を用いてセンサコントローラに短時間で送信することができる。
【００８９】
センサコントローラは、ハッシュ＃１を受信および認識すると（図７のステップＳ７１５においてＹＥＳ）、アクティブスタイラスのスタイラス機能情報を既に有していること、したがってさらにはアクティブスタイラスに対するダウンリンク時間スロット割当てを認識する。こうして、次のフレームＦｎ＋１の時間スロットｓ０において、センサコントローラは、アクティブスタイラスによってセンサコントローラにパケットを送信するのに用いられるダウンリンク時間スロット割当てを含むビーコン信号を送信する。
【００９０】
センサコントローラは、種々の方法によりアクティブスタイラスにダウンリンク時間スロット割当てを通知し得る。例えば、アクティブスタイラスから送信されたハッシュ＃１を認識すると、センサコントローラはハッシュ＃１に対応するハッシュ＃２をアクティブスタイラスに返信し得る。センサコントローラから送信されたハッシュ＃２がアクティブスタイラス内に記憶されたハッシュ＃２に一致する（ハッシュ＃２およびハッシュ＃１は同じ設定情報から算出される）ことをアクティブスタイラスが確認すると、アクティブスタイラスは、アクティブスタイラスが以前にセンサコントローラとペアリングしたときに用いられたのと同じダウンリンク時間スロット割当てを用いることができると判定する。こうして、本例において、センサコントローラは、ハッシュ＃１の受信に応答してビーコン信号によりハッシュ＃２を送信することによって、アクティブスタイラスにダウンリンク時間スロット割当てを送信する。他の例として、センサコントローラは、特定のダウンリンク時間スロット割当てを示す予め定義されたコードをアクティブスタイラスに送信することが可能であり、この場合に、センサコントローラおよびアクティブスタイラスは、予め定められたコードと各コードがどのようなダウンリンク時間スロット割当てを示すかとのリストを共有する。本例において、センサコントローラは、ビーコン信号により予め定義されたコードの１つを送信することによって、アクティブスタイラスにダウンリンク時間スロット割当てを送信する。さらに他の例として、センサコントローラは、図９Ａ〜９Ｇを参照して以下でより詳細に説明するように、例えばフレーム当たりにアクティブスタイラスに割り当てられるダウンリンク時間スロットの位置を特定するオフセット値および間隔値を送信することによって、ダウンリンク時間スロット割当てを送信し得る。本例において、センサコントローラは、例えばビーコン信号によりオフセット値および間隔値を送信することによって、アクティブスタイラスにダウンリンク時間スロット割当てを送信する。
【００９１】
図８Ｂにおいて、フレームＦｎ＋１の時間スロットｓ０におけるビーコン信号は、アクティブスタイラスに対して決定されたダウンリンク時間スロット割当てを含む。こうして、アクティブスタイラスはダウンリンク時間スロット割当てを決定するビーコン信号を読み取り、決定されたダウンリンク時間スロット割当てに従い、フレームＦｎ＋１の時間スロットｓ２において、スタイラスの動作データを含むデータパケット（ＤＰ）を送信することを開始する。
【００９２】
図９Ａ〜９Ｇは、センサコントローラによって特定された異なる７種類のダウンリンク時間スロット割当てに従ってアクティブスタイラスがセンサコントローラにパケットを送信するのにそれぞれ用いる、７つの異なるフレームフォーマットを示す。図９Ａ〜９Ｇの各々において、フレームＦｎ＋１の時間スロットｓ０におけるビーコン信号はアクティブスタイラスに対して決定されたダウンリンク時間スロット割当てを含み、これによりアクティブスタイラスは、決定されたダウンリンク時間スロット割当てに従い、フレームＦｎ＋１の時間スロットｓ１から開始してセンサコントローラにパケット（データパケットおよび／または位置パケット）を送信し得る。
【００９３】
図９Ａにおいて、ダウンリンク時間スロット割当ては、フレームＦｎ＋１の時間スロットｓ２から開始して等間隔（Ｔ）にある４つの（４）時間スロット、すなわちフレームＦｎ＋１における時間スロットｓ６、ｓ１０、およびｓ１４、フレームＦｎ＋２における時間スロットｓ２、ｓ６、ｓ１０、およびｓ１４などにおいて、動作データ（例えば、１４ビット）を含むデータパケットをアクティブスタイラスが送信することとすることを規定する。この場合に、センサコントローラは、ｉ）アクティブスタイラスによってパケットを送信するのに用いられる開始時間スロットを示すオフセット値と、ｉｉ）開始時間スロットから開始されるアクティブスタイラスに割り当てられた時間スロット間の間隔を示す間隔値とを特定することによってダウンリンク時間スロット割当てを定義し得る。例えば、図９Ａの例のダウンリンク時間スロット割当ては、開始時間スロットがｓ２であることを示す「２」というオフセットと、等間隔（Ｔ）にある４時間スロットからなる後続の時間スロットがアクティブスタイラスによって用いられることを示す「４」という間隔値とによって規定され得る。センサコントローラは、これらの値（オフセット：２、間隔：４）をビーコン信号において符号化し、これによってアクティブスタイラスにダウンリンク時間スロット割当てを送信し得る。ダウンリンク時間スロット割当ては、さらに、例えば、送信するパケットの全数（例えば、図９Ａの例において「５」（ＤＰ１〜ＤＰ５））および／またはパケットのデータフォーマット（例えば、パケットごとの全ビット数はいくつであるか、そのうちの何ビットがペン圧力を示して何ビットがバレルプレッシャデータを示すかなど）を規定し得る。
【００９４】
図９Ａは、さらに、各フレームＦｎ＋１、Ｆｎ＋２などの時間スロットｓ１を、必要に応じてセンサコントローラにアクティブスタイラスのスタイラス機能情報（ＣＰ）を送信するための、アクティブスタイラスに対するダウンリンク時間スロットとして確保することを示す。例えば、ユーザがセンサコントローラとの双方向通信セッション中にアクティブスタイラスの設定を調整する（例えば、ユーザがスタイラス線幅を変更する）場合に、アクティブスタイラスは、調整した設定情報を後続フレームの時間スロットｓ１においてセンサコントローラに送信し得る。それに追加して、またはそれに代えて、センサコントローラからのビーコン信号がアクティブスタイラスのスタイラス機能情報を要求する読出しコマンドを含む場合に、アクティブスタイラスは、後続フレームの時間スロットｓ１において、要求された機能情報および／または設定情報を応答に含める。
【００９５】
図９Ａは、さらに、センサコントローラからの前のビーコン信号においてポーリングされた（要求された）動作データを含むデータパケットを送信するために、フレームＦｎ＋１の時間スロットｓ１５をアクティブスタイラスに対するダウンリンク時間スロットとして確保することを示す。例えば、フレームＦｎ＋１の時間スロットｓ０におけるビーコン信号がアクティブスタイラスにアクティブスタイラスのバッテリレベルをレポートするように要求する場合に、応答においてアクティブスタイラスは、フレームＦｎ＋１の時間スロットｓ１５において、ポーリングされた動作データ（「ポーリングＤＰ（Ｐｏｌｌ  ＤＰ）」）を含むデータパケットを送信する。
【００９６】
図９Ｂにおいて、ダウンリンク時間スロット割当ては、フレームＦｎ＋１の時間スロットｓ３から開始して等間隔（Ｔ）にある４つの（４）時間スロット、すなわちフレームＦｎ＋１における時間スロットｓ７、ｓ１１、およびｓ１５、フレームＦｎ＋２における時間スロットｓ３、ｓ７、ｓ１１、およびｓ１５などにおいて、動作データ（例えば、１４ビット）を含むデータパケットをアクティブスタイラスが送信することとすることを規定する。上述した図９Ａの例と同様に、図９Ｂの例のダウンリンク時間スロット割当ては、開始時間スロットがｓ３であることを示す「３」というオフセットと、用いる後続の時間スロットが等間隔（Ｔ）にある４時間スロットからなることを示す「４」という間隔値とによって規定され得る。図９Ｂは、さらに、各フレームＦｎ＋１、Ｆｎ＋２などの時間スロットｓ１を、必要に応じてセンサコントローラにスタイラス機能情報（ＣＰ）を送信するための、アクティブスタイラスに対するダウンリンク時間スロットとして確保することを示す。さらに、フレームＦｎ＋１の時間スロットｓ０におけるビーコン信号が、スタイラスのバッテリレベルなどのアクティブスタイラスのある一定の動作データをレポートするようにアクティブスタイラスにポーリングする（要求する）場合に、応答においてアクティブスタイラスは、フレームＦｎ＋１の時間スロットｓ１において、ポーリングされた動作データ（「ポーリングＤＰ（Ｐｏｌｌ  ＤＰ）」）を含むデータパケットを送信する。
【００９７】
各フレームにおけるビーコン信号時間スロット（ｓ０）の後に、アクティブスタイラスが前の時間スロット（ｓ０）におけるビーコン信号の受信を受諾する応答信号（例えば、ＡＣＫ）を送信するのに１つまたは複数の時間スロット（例えば、ｓ１）を確保する、種々の実施形態が挙げられる。したがって、ここで用いる「応答信号（ｒｅｓｐｏｎｓｅ  ｓｉｇｎａｌ）」は、アクティブスタイラスが開始（発見）ビーコン信号に応答してセンサコントローラの検知領域に入るときに送信する第１の応答信号に限定されない。この代わりに、応答信号に、アクティブスタイラスがアクティブスタイラスに宛てられた種々のコマンドまたは他の情報を含む後続のビーコン信号に応答して送信する後続の応答信号が含まれてもよい。例えば、アクティブスタイラスは、変更されたアクティブスタイラスの設定に起因して双方向通信セッション中にセンサコントローラによって更新された新たなダウンリンク時間スロット割当てを含む後続のビーコン信号に応答する応答信号を送信し得る。他の例として、後続のビーコン信号がアクティブスタイラスにスタイラス機能情報を送信するように要求する読出しコマンドを含む場合に、アクティブスタイラスは、要求されたスタイラス機能情報を含む応答信号を送信する（図９Ａを参照すると、フレームＦｎ＋１およびＦｎ＋２の時間スロットｓ１において送信される「ＣＰ」は、要求されたスタイラス機能情報を含む応答信号であるとみなせる）。さらに他の例として、後続のビーコン信号がアクティブスタイラスにアクティブスタイラスのある一定の動作データ（例えば、スタイラスバッテリレベル）を送信するように要求するポーリングコマンドを含む場合に、アクティブスタイラスは、ポーリングされた動作データを含む応答信号を送信する（図９Ｂを参照すると、フレームＦｎ＋１の時間スロットｓ１において送信される「ポーリングＤＰ（Ｐｏｌｌ  ＤＰ）」は、ポーリングされた動作データを含む応答信号であるとみなせる）。
【００９８】
図９Ｃにおいて、ダウンリンク時間スロット割当ては、フレームＦｎ＋１の時間スロットｓ２から開始して２つの（２）時間スロットを単位として等間隔（Ｔ）にある４つの（４）時間スロット、すなわちフレームＦｎ＋１、フレームＦｎ＋２などにおける時間スロット［ｓ２／ｓ３］、［ｓ６／ｓ７］、［ｓ１０／ｓ１１］、および［ｓ１４／ｓ１５］において、（例えば、１４ビットより多い）比較的大きいデータパケットをアクティブスタイラスが送信することとすることを規定する。図９Ｃの例のダウンリンク時間スロット割当ては、開始時間スロットがｓ２であることを示す「２」というオフセットと、用いる後続の時間スロットが等間隔（Ｔ）にある４時間スロットからなることを示す「４」という間隔値とによって、またさらには、データパケットの各々（ＤＰ１、ＤＰ２、ＤＰ３、ＤＰ４、ＤＰ５など）を形成するのに２時間スロットからなる単位を用いることを示す「２」という単位サイズによって規定され得る。「２」という単位サイズは、アクティブスタイラスによって用いられるパケット長であるとみなせる。このような比較的大きいデータは、例えば、アクティブスタイラスのカスタマイズされた動作データ（ＣＤ）をセンサコントローラに送信するのに必要となり得る。
【００９９】
図９Ａおよび図９Ｂにおけるように、図９Ｃは、さらに、各フレームＦｎ＋１、Ｆｎ＋２などの時間スロットｓ１を、必要に応じてセンサコントローラにスタイラス機能情報（ＣＰ）を送信するための、アクティブスタイラスに対するダウンリンク時間スロットとして確保することを示す。図９Ｃは、さらに、フレームＦｎ＋１の時間スロットｓ０におけるビーコン信号がアクティブスタイラスにある一定の動作データ（例えば、スタイラスバッテリレベル）をレポートするようにポーリングする（要求する）場合に、応答においてアクティブスタイラスは、フレームＦｎ＋１の時間スロットｓ１において、ポーリングされた動作データ（「ポーリングＤＰ（Ｐｏｌｌ  ＤＰ）」）を含むデータパケットを送信することを示す。
【０１００】
図９Ｄは、第１のアクティブスタイラスに周波数ｆ０を割り当てる第１のダウンリンク時間スロット割当てと、第１のアクティブスタイラスと異なる第２のアクティブスタイラスに周波数ｆ０と異なる周波数ｆ１を割り当てる第２のダウンリンク時間スロット割当てとの組合せを示す。
【０１０１】
第１のダウンリンク時間スロット割当ては、フレームＦｎ＋１の時間スロットｓ２から開始して３つの（３）時間スロットを単位として等間隔（Ｔ）にある８つの（８）時間スロット、すなわちフレームＦｎ＋１、フレームＦｎ＋２などにおける時間スロット［ｓ２／ｓ３／ｓ４］および［ｓ１０／ｓ１１／ｓ１２］において、比較的大きいデータパケット（例えば、フレーム当たり２時間スロットを占有するスタイラスオリエンテーションデータ（ＯＲ）を含むデータパケットであり、図４ＣにおけるＯＲＣ１またはＯＲＣ３を参照）を第１のアクティブスタイラスが送信することとすることを規定する。第１のダウンリンク時間スロット割当ては、開始時間スロットがｓ２であることを示す「２」というオフセットと、用いる後続の時間スロットが等間隔（Ｔ）にある８時間スロットからなることを示す「８」という間隔値と、データパケットの各々（ＤＰ１、ＤＰ２、ＤＰ３など）を形成するのに３時間スロットからなる単位を用いることを示す「３」という単位サイズ値（またはパケット長）とによって規定され得る。
【０１０２】
第２のダウンリンク時間スロット割当ては、フレームＦｎ＋１の時間スロットｓ２から開始して４つの（４）時間スロットを単位として等間隔（Ｔ）にある８つの（８）時間スロット、すなわちフレームＦｎ＋１、フレームＦｎ＋２などにおける時間スロット［ｓ２／ｓ３／ｓ４／ｓ５］および［ｓ１０／ｓ１１／ｓ１２／ｓ１３］において、比較的大きいデータパケット（例えば、フレーム当たり３時間スロットを占有するスタイラスオリエンテーションデータ（ＯＲ）を含むデータパケットであり、図４ＣにおけるＯＲＣ２または４を参照）を、第１の周波数ｆ１で動作する第２のアクティブスタイラスが同様に送信することとすることを規定する。第２のダウンリンク時間スロット割当ては、開始時間スロットがｓ２であることを示す「２」というオフセットと、用いる後続の時間スロットが等間隔（Ｔ）にある８時間スロットからなることを示す「８」という間隔値と、データパケットの各々（ＤＰ１、ＤＰ２、ＤＰ３など）を形成するのに４時間スロットからなる単位を用いることを示す「４」という単位サイズ値（またはパケット長）とによって規定され得る。
【０１０３】
図９Ｄにおいては、以前の例に示すように、各フレームＦｎ＋１、Ｆｎ＋２などの時間スロットｓ１を、必要に応じてセンサコントローラにスタイラス機能情報（ＣＰ）を送信するための、周波数ｆ０で動作する第１のアクティブスタイラスと周波数ｆ１で動作する第２のアクティブスタイラスとの両方に対するダウンリンク時間スロットとして確保する。図９Ｄは、さらに、フレームＦｎ＋１の時間スロットｓ０におけるビーコン信号が第１のアクティブスタイラスと第２のアクティブスタイラスとのいずれかにある一定の動作データ（例えば、スタイラスバッテリレベル）をレポートするようにポーリングする（要求する）場合に、応答においてアクティブスタイラスは、フレームＦｎ＋１の時間スロットｓ１５において、ポーリングされた動作データ（「ポーリングＤＰ（Ｐｏｌｌ  ＤＰ）」）を含むデータパケットを送信することを示す。図９Ｄの例において、フレームＦｎ＋１の時間スロットｓ０におけるビーコン信号は周波数ｆ０で動作する第１のアクティブスタイラスにポーリングし、これにより第１のアクティブスタイラスは、フレームＦｎ＋１の時間スロットｓ１５において、ポーリングされた動作データ（「ポーリングＤＰ（Ｐｏｌｌ  ＤＰ）」）を含むデータパケットを送信することによって応答する。
【０１０４】
センサコントローラが複数のアクティブスタイラスの各々に個々の周波数（例えば、ｆ０、ｆ１）を割り当てると、センサコントローラは、個々のアクティブスタイラスに宛てたコマンドを、そのアクティブスタイラスに割り当てたビーコン信号の周波数部分にのみ含め得る。
【０１０５】
図９Ａと類似する図９Ｅにおいて、ダウンリンク時間スロット割当ては、フレームＦｎ＋１の時間スロットｓ２から開始して等間隔（Ｔ）にある４つの（４）時間スロット、すなわちフレームＦｎ＋１における時間スロットｓ６、ｓ１０、およびｓ１４、フレームＦｎ＋２における時間スロットｓ２、ｓ６、ｓ１０、およびｓ１４などにおいて、動作データ（例えば、１６ビット）を含むデータパケットをアクティブスタイラスが送信することとすることを規定する。本例のダウンリンク時間スロット割当ては、開始時間スロットがｓ２であることを示す「２」というオフセットと、用いる後続の時間スロットが等間隔（Ｔ）にある４時間スロットからなることを示す「４」という間隔値とによって規定され得る。図９Ｅは、さらに、各フレームＦｎ＋１、Ｆｎ＋２などの時間スロットｓ１を、必要に応じてセンサコントローラにスタイラス機能情報（ＣＰ）を送信するための、アクティブスタイラスに対するダウンリンク時間スロットとして確保することを示す。図９Ｅは、さらに、フレームＦｎ＋１の時間スロットｓ０におけるビーコン信号がアクティブスタイラスにある一定の動作データ（例えば、スタイラスバッテリレベル）をレポートするようにポーリングする（要求する）場合に、応答においてアクティブスタイラスは、フレームＦｎ＋１の時間スロットｓ１５において、ポーリングされた動作データ（「ポーリングＤＰ（Ｐｏｌｌ  ＤＰ）」）を含むデータパケットを送信することを示す。
【０１０６】
図９Ａ〜９Ｅのダウンリンク時間スロット割当て例は、すべて、アクティブスタイラスの動作データを含むデータパケット（ＤＰ１、ＤＰ２、ＤＰ３、ＤＰ４、ＤＰ５など）のダウンリンク送信を規定する。これに対して、図９Ｆのダウンリンク時間スロット割当ては、フレームにおいていずれのダウンリンク時間スロットを用いるかのみならず、アクティブスタイラスがいずれのダウンリンク時間スロットにおいてどのような種類のパケット（データパケット（ＤＰ）または位置パケット（ＸＹ））を送信すべきであるかをも規定する。
【０１０７】
特に、図９Ｆのダウンリンク時間スロット割当ては、フレームＦｎ＋１の時間スロットｓ２から開始して等間隔（Ｔ）にある４つの（４）時間スロット、すなわち各フレームにおける時間スロットｓ２、ｓ６、ｓ１０、およびｓ１４において、センサコントローラによってアクティブスタイラスがセンサ２０１上で指し示す位置を判別するのに用いることとなる位置パケット（ＸＹ）をアクティブスタイラスが送信することとすることを規定する。ダウンリンク時間スロット割当ては、さらに、各フレームの時間スロットｓ３、ｓ７、ｓ１１、およびｓ１５において送信されるデータパケット（ＤＰ１、ＤＰ２、ＤＰ３、ＤＰ４、ＤＰ５など）が各位置パケット（ＸＹ）の直後に続くことを規定する。したがって、２時間スロット［ｓ２／ｓ３］、［ｓ６／ｓ７］、［ｓ１０／ｓ１１］、および［ｓ１４／ｓ１５］からなる単位を用いて位置パケット（ＸＹ）およびデータパケット（ＤＰ）を送信する。図９Ｆの例のダウンリンク時間スロット割当ては、開始時間スロットがｓ２であることを示す「２」というオフセットと、用いる後続の時間スロットが等間隔（Ｔ）にある４時間スロットからなることを示す「４」という間隔値と、連続する位置パケット（ＸＹ）およびデータパケット（ＤＰ）を送信するのに２時間スロットからなる単位を用いることを示す「２」という単位サイズと、各単位においてどのような種類のパケットを送信するかを示すパケットタイプ値とによって規定され得る。例えば、パケットタイプ値０は各単位（ＤＰ／ＤＰ）においてデータパケットのみを送信することを示し得るものであり、１は各単位（ＸＹ／ＸＹ）において位置パケットのみを送信することを示し得るものであり、２は図９Ｆの例におけるように各単位（ＸＹ／ＤＰ）において位置パケットの直後にデータパケットが続くように送信することを示し得るものであり、３は各単位（ＤＰ／ＸＹ）においてデータパケットの直後に位置パケットが続くように送信することを示し得る。
【０１０８】
ダウンリンク時間スロット割当ての以前の例におけるように、図９Ｆは、さらに、各フレームＦｎ＋１、Ｆｎ＋２などの時間スロットｓ１を、必要に応じてセンサコントローラにスタイラス機能情報（ＣＰ）を送信するための、アクティブスタイラスに対するダウンリンク時間スロットとして確保することを示す。
【０１０９】
なお、図８Ａ〜９Ｇのダウンリンク時間スロット割当ては一例にすぎず、本発明は図８Ａ〜９Ｇの特定の例を用いることに限定されない。
【０１１０】
システム（ホスト）コントローラ３００側で動作するオペレーティングシステムおよびアプリケーションが、センサコントローラ２００によって提供されるデータに対して平滑化を適用することがしばしばある。このことには、圧力またはチルトなどのスタイラスデータに加えてセンサコントローラ２００によって生成される座標データに対する平滑化が含まれる。該アプリケーションのアルゴリズムは、平滑化を適用する場合にデータが均等に時間間隔をおいて計測されることを前提とする場合が多い。センサコントローラ２００が、均等に隔てられた位置パケットまたは均等に隔てられたデータパケットを供給する時間スロット割当てを提供することができない場合がある。これらの場合に、センサコントローラ２００は、データが均等に時間間隔をおいて出現するように、データをサブサンプリング、スーパーサンプリング、内挿、外挿、または何らかの手段によって調整する必要があり得る。
【０１１１】
本手法は、座標および／または動作データを時間スロット割当てに起因した異なるレートで計測する場合にも適する。センサコントローラ２００からホストプロセッサ３００へのデータパケットから欠落データを見出すすべはないため、欠落データを上述のように生成して（例えば、サブサンプリング、スーパーサンプリング、内挿、外挿などによって）、これらの中間パケットを有効なデータによって補充する必要がある。例えば、オリエンテーションデータが座標データの半分のレートで得られる場合に、オリエンテーションデータをスーパーサンプルまたは外挿して、データレートを座標データレートに一致させるように２倍する必要がある。
【０１１２】
図１０は、アクティブスタイラスとセンサコントローラとの間のペアリング動作（および「急速インキング処理（ｆａｓｔ  ｉｎｋｉｎｇ）」動作）例を示すフローチャートであり、該動作においてアクティブスタイラスはアクティブスタイラスの設定情報を示すハッシュ値（「ハッシュ＃１（Ｈａｓｈ＃１）」）をセンサコントローラに送信する。センサコントローラは、受信したハッシュ＃１を認識した後に、センサコントローラが該アクティブスタイラスを以前にペアリングしたスタイラスであると正しく認識するさらなる検証として、アクティブスタイラスに第２のハッシュ値（「ハッシュ＃２（Ｈａｓｈ＃２）」）を返信する。
【０１１３】
センサコントローラが受信したハッシュ＃１を認識する（つまり、センサコントローラが以前にアクティブスタイラスとペアリングしたことがある）ならば、センサコントローラは、センサコントローラ内にキャッシュ済みであるアクティブスタイラスのスタイラス機能情報および／またはダウンリンク時間スロット割当てを用いてペアリング動作を迅速化し得る。
【０１１４】
ステップＳ３０１において、アクティブスタイラスはアクティブスタイラスの設定情報にハッシュ演算を適用し、例えば、典型的には２０ビットまで収容する単一の時間スロットで送信することができる固定サイズ（例えば、１６ビット）のハッシュ値（「ハッシュ＃１（Ｈａｓｈ＃１）」）を算出する。ステップＳ３０２において、アクティブスタイラスは、以下でより詳細に説明するように、ハッシュ＃１に対応し、したがってハッシュ＃１を検証するのに用いることができる第２のハッシュ値（「ハッシュ＃２（Ｈａｓｈ＃２）」）を算出する。ハッシュ＃１およびハッシュ＃２は、起動時に、およびユーザがアクティブスタイラスの設定（例えば、スタイラス線幅）を変更するときなどのハッシュ値に影響を与える変化が生じる任意の時点において算出し得る。ハッシュ＃１およびハッシュ＃２を算出するのに、任意の適当なハッシュ演算を用い得る。例えば、公知のＭｕｒｍｕｒＨａｓｈ３（商標）を用いて、任意長の機能情報に基づいて３２ビットハッシュ値を算出し得る。その場合に、ハッシュ値の１６ＬＳＢをハッシュ＃１として用い、ハッシュ値の１６ＭＳＢをハッシュ＃２として用い得る。算出したハッシュ＃１およびハッシュ＃２は、アクティブスタイラス、例えばスタイラス機能情報マネージャ１１０（図１を参照）のテーブル（ＴＢＬ）内に格納される。
【０１１５】
ハッシュ演算を、アクティブスタイラスのスタイラス機能情報のいくつかまたはすべてに適用し得る。例えば、２つのアクティブスタイラスに対して、または１つのアクティブスタイラスの２つの異なる設定に対して同じハッシュ値が算出されるハッシュ衝突のおそれを低減するためには、同じベンダによって製造された複数のアクティブスタイラス間で機能情報が共通であり得ることから機能情報をハッシュ計算から除外することが望ましい場合がある。したがって、アクティブスタイラスがアクティブスタイラスのスタイラス機能情報の設定情報部分とアクティブスタイラスのグローバルＩＤとに基づいてハッシュ＃１およびハッシュ＃２を算出し、他のアクティブスタイラス、または異なる設定を有する同じアクティブスタイラスと衝突しにくいアクティブスタイラスの固有の「ハッシュＩＤ（Ｈａｓｈ  ＩＤ）」を生成する、種々の実施例が挙げられる。本発明の実施形態として、２つのハッシュ関数を用いてハッシュ＃１およびハッシュ＃２を算出し、それぞれハッシュ衝突のおそれを低減するものが挙げられる。例えば、１３ビットのハッシュ値を生成するように適合されたＣＲＣ（巡回冗長検査）の変形などのアルゴリズム１をスタイラス機能情報に対して用いてハッシュ＃１を算出し、１６ビットのハッシュ値を生成するように適合されたＦＮＶ（Ｆｏｗｌｅｒ−Ｎｏｌｌ−Ｖｏ）などのアルゴリズム２をスタイラス機能情報に対して用いてハッシュ＃２を算出し得る。
【０１１６】
ステップＳ４０１において、センサコントローラはビーコン信号（ＢＳ）を送信する。ステップＳ３０３においてアクティブスタイラスがビーコン信号を検出する場合に、ステップＳ３０４において、アクティブスタイラスは上記のステップＳ３０１において算出したハッシュ＃１を応答信号の一部としてセンサコントローラに送信する。
【０１１７】
ステップＳ４０３においてセンサコントローラがアクティブスタイラスからの応答信号を検出する場合に、ステップＳ４０５において、センサコントローラは、応答信号に含まれるハッシュ＃１がセンサコントローラ内にキャッシュ済みであるか否かを判定する。キャッシュ済みでない場合は、ステップＳ４０７において、センサコントローラは、アクティブスタイラスに一式の（非ハッシュ化）スタイラス機能情報（ＣＰ）を送信するように後続のビーコン信号によって読出しコマンドを送信する。ステップＳ３０５において、アクティブスタイラスは、センサコントローラからの読出しコマンドに応答して、要求されたスタイラス機能情報（ＣＰ）をセンサコントローラに送信する。センサコントローラは、ステップＳ４０９において、受信したスタイラス機能情報（ＣＰ）に基づいてハッシュ＃１およびハッシュ＃２を算出して今後の使用に備えてキャッシュ内に記憶する。これに代わるものとして、ステップＳ４０９において、センサコントローラはハッシュ＃２のみを算出し、算出したハッシュ＃２を、上記のステップＳ４０５において受信および評価したハッシュ＃１と共に記憶する。ステップＳ４０９において、センサコントローラは、アクティブスタイラスによってステップＳ３０１およびＳ３０２において用いられたのと同じハッシュ演算を用いてハッシュ＃１およびハッシュ＃２を算出する。
【０１１８】
ステップＳ４０５に戻り、センサコントローラがアクティブスタイラスからの応答信号に含まれるハッシュ＃１がセンサコントローラ内にキャッシュ済みであると判定する場合に、ハッシュ＃１に対応するハッシュ＃２もセンサコントローラ内にキャッシュする（ステップＳ４０９を参照）。こうして、ステップＳ４１１において、センサコントローラは、ハッシュ＃１に対応するハッシュ＃２を、検証目的でアクティブスタイラスに返信する。特に、ステップＳ３０７において、アクティブスタイラスは、上記のステップＳ３０４においてアクティブスタイラスが送信したハッシュ＃１に対応するセンサコントローラから返信されたハッシュ＃２が、アクティブスタイラス内にキャッシュされたハッシュ＃２に一致するか否かを判定する。一致する場合は、アクティブスタイラスは、センサコントローラが該アクティブスタイラスを以前にペアリングしたことのあるアクティブスタイラスであると正しく認識したことを確認する。その場合はステップＳ３０９において、アクティブスタイラスは、センサコントローラが既に（設定情報を含む）スタイラス機能情報および／またはアクティブスタイラスのダウンリンク時間スロット割当てを有していることを検証する応答信号をセンサコントローラに送信する。ステップＳ４１３において、センサコントローラはアクティブスタイラスから応答信号を受信して検証処理を終了する。この時点において、アクティブスタイラスおよびセンサコントローラは、それらが以前にペアリングしたときに用いたのと同じダウンリンク時間スロット割当てを用いて双方向通信を開始する準備ができている。またこの時点において、センサコントローラはアクティブスタイラスによって形成される線描画を開始するのにアプリケーションが必要とするアクティブスタイラスの設定情報をすべて有するため、センサコントローラはすぐに「インキング処理（ｉｎｋｉｎｇ）」の動作を開始し得る。
【０１１９】
ステップＳ３０７において、センサコントローラから受信したハッシュ＃２がアクティブスタイラスに記憶されたハッシュ＃２に一致しないとアクティブスタイラスが判定する場合は、ステップＳ３１１においてアクティブスタイラスは検証失敗を示す失敗メッセージ（ＦＡＩＬ）をセンサコントローラに送信し、ステップＳ３０３に戻ってセンサコントローラからのビーコン信号を待ち受けることを再開する。
【０１２０】
ステップＳ４１３において、センサコントローラは、アクティブスタイラスから送信された失敗メッセージ（ＦＡＩＬ）（ステップＳ３１１）を受信することと、アクティブスタイラスから成功検証を示す応答信号（ステップＳ３０９）を受信しないこととのいずれかによって、検証失敗を知らされる。検証失敗の場合に、センサコントローラはステップＳ４０７に戻り、アクティブスタイラスにアクティブスタイラスの一式の（非ハッシュ化）スタイラス機能情報（ＣＰ）を送信するように要求する。
【０１２１】
上述した種々の実施形態を組み合わせてさらなる実施形態を提供することが可能であり、上述の詳細な説明に基づいて実施形態の態様を変更することが可能である。一般に、以下の請求項において、用いられる用語は明細書および請求項において開示された特定の実施形態に限定されると解釈すべきではなく、このような請求項が該当する等価物の全範囲と共にすべての存在し得る実施形態を含むと解釈すべきである。
【図１】
2018514008.tif 000003
【図２Ａ】
2018514008.tif 000004
【図２Ｂ】
2018514008.tif 000005
【図３】
2018514008.tif 000006
【図４Ａ】
2018514008.tif 000007
【図４Ｂ】
2018514008.tif 000008
【図４Ｃ】
2018514008.tif 000009
【図４Ｄ】
2018514008.tif 000010
【図４Ｅ】
2018514008.tif 000011
【図５Ａ】
2018514008.tif 000012
【図５Ｂ】
2018514008.tif 000013
【図５Ｃ】
2018514008.tif 000014
【図６】
2018514008.tif 000015
【図７】
2018514008.tif 000016
【図８Ａ】
2018514008.tif 000017
【図８Ｂ】
2018514008.tif 000018
【図９Ａ】
2018514008.tif 000019
【図９Ｂ】
2018514008.tif 000020
【図９Ｃ】
2018514008.tif 000021
【図９Ｄ】
2018514008.tif 000022
【図９Ｅ】
2018514008.tif 000023
【図９Ｆ】
2018514008.tif 000024
【図９Ｇ】
2018514008.tif 000025
【図１０】
2018514008.tif 000026
【国際調査報告】
2018514008.tif 000027
2018514008.tif 000028
2018514008.tif 000029