(57)【要約】【課題】アクティブスタイラスからセンサコントローラに対し、１以上のインタラクティブデータを効率よく送れるようにする。【解決手段】本発明による方法は、互いに双方向通信を行うスタイラス及びセンサコントローラを用いた方法であって、センサコントローラが、フレームの基準時刻を示すビーコン信号を送信するステップと、アクティブスタイラスが、ビーコン信号を検出した後、当該アクティブスタイラスが取得可能なデータの種別を示す機能情報をビーコン信号に対する応答信号に含めて送信するステップと、センサコントローラが、応答信号に基づいて取得した機能情報に基づいてアクティブスタイラスが送信すべきデータの種別とその送信タイミングとを決定し（ステップＳ２６，Ｓ３１）、決定したデータ種別及び送信タイミングを特定するコマンドをアクティブスタイラスに通知するステップ（ステップＳ２７，Ｓ３２）とを含む。【選択図】図１９
2018026164.tif 000002
【特許請求の範囲】
【請求項１】
互いに双方向通信を行うアクティブスタイラス及びセンサコントローラを用いた方法であって、
前記センサコントローラが、前記双方向通信を実施するために使用されるフレームの基準時刻を示すビーコン信号を送信するステップと、
前記アクティブスタイラスが、前記ビーコン信号を検出した後、当該アクティブスタイラスが取得可能なデータの種別を示す機能情報を前記ビーコン信号に対する応答信号に含めて送信するステップと、
前記センサコントローラが、前記応答信号に基づいて取得した前記機能情報に基づいて前記アクティブスタイラスが送信すべきデータの種別とその送信タイミングとを決定し、決定したデータ種別及び送信タイミングを特定するコマンドを前記アクティブスタイラスに通知するステップと、
前記アクティブスタイラスが、前記コマンドに従って、前記取得可能なデータの少なくとも一部を含むデータ信号を前記フレーム毎に前記送信タイミングで繰り返し送信するステップと
を含む方法。
【請求項２】
前記コマンドは、前記フレームを構成する複数の時間スロットのうち前記データ信号の送信に用いる時間スロットを特定するものであり、
前記アクティブスタイラスは、前記コマンドにより特定される時間スロットを用いて前記データ信号の送信を行う
請求項１に記載の方法。
【請求項３】
前記コマンドは、前記データ信号の送信の頻度を示すインターバル情報と開始タイミングを示すオフセット情報とを含み、
前記アクティブスタイラスは、前記オフセット情報及び前記インターバル情報により特定される時間スロットを用いて前記データ信号の送信を行う
請求項２に記載の方法。
【請求項４】
前記ビーコン信号、前記応答信号、及び前記データ信号は、この順で前記フレーム内に配置される
請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記機能情報は、ユーザ操作又は前記センサコントローラからの設定によって変更されない第１の機能情報を含む
請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
前記第１の機能情報は、前記アクティブスタイラスが有するセンサの種別を示す情報を含む
請求項５に記載の方法。
【請求項７】
前記第１の機能情報は、前記アクティブスタイラスがバレルボタンを有しているか否かを示す情報、前記アクティブスタイラスが傾き検出センサを有しているか否かを示す情報、前記アクティブスタイラスがツイスト検出センサを有しているか否かを示す情報、及び、前記アクティブスタイラスがその他のセンサを有しているか否かを示す情報を含む
請求項６に記載の方法。
【請求項８】
前記第１の機能情報は、前記アクティブスタイラスが、当該アクティブスタイラスによって描かれる線の色を特定する機能を有するか否かを示す情報を含む
請求項５乃至７のいずれか一項に記載の方法。
【請求項９】
前記機能情報は、ユーザ操作又は前記センサコントローラからの設定によって変更可能な第２の機能情報を含む
請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記第２の機能情報は、前記アクティブスタイラスによって描かれる線の色、幅、及びタイプを特定する情報を含む
請求項９に記載の方法。
【請求項１１】
前記アクティブスタイラスは、前記第２の機能情報に基づいて導出された短縮情報を前記第２の機能情報に代えて送信する
請求項９又は１０に記載の方法。
【請求項１２】
前記アクティブスタイラスは、前記センサコントローラのセンシング範囲に入る都度、前記短縮情報を送信し、その後前記データ信号を送信する
請求項１１に記載の方法。
【請求項１３】
前記双方向通信は、容量結合を利用した通信である
請求項１乃至１２のいずれか一項に記載の方法。
【請求項１４】
センサコントローラと双方向通信を行うアクティブスタイラスであって、
前記双方向通信を実施するために使用されるフレームの基準時刻を示すビーコン信号を前記センサコントローラから受信した後、当該アクティブスタイラスが取得可能なデータの種別を示す機能情報を前記ビーコン信号に対する応答信号に含めて送信し、
前記応答信号を受信した前記センサコントローラから、前記機能情報に基づいて決定された当該アクティブスタイラスが送信すべきデータの種別とその送信タイミングを特定するコマンドを受信し、
前記コマンドに従って、前記取得可能なデータの少なくとも一部を含むデータ信号を前記フレーム毎に前記送信タイミングで繰り返し送信する
アクティブスタイラス。
【請求項１５】
前記コマンドは、前記フレームを構成する複数の時間スロットのうち前記データ信号の送信に用いる時間スロットを特定するものであり、
前記コマンドにより特定される時間スロットを用いて前記データ信号の送信を行う
請求項１４に記載のアクティブスタイラス。
【請求項１６】
前記ビーコン信号、前記応答信号、及び前記データ信号は、この順で前記フレーム内に配置される
請求項１４又は１５に記載のアクティブスタイラス。
【請求項１７】
前記機能情報は、ユーザ操作又は前記センサコントローラからの設定によって変更可能な第２の機能情報を含む
請求項１４乃至１６のいずれか一項に記載のアクティブスタイラス。
【請求項１８】
前記第２の機能情報は、前記アクティブスタイラスによって描かれる線の色、幅、及びタイプを特定する情報を含む
請求項１７に記載のアクティブスタイラス。
【請求項１９】
前記第２の機能情報に基づいて導出された短縮情報を前記第２の機能情報に代えて送信する
請求項１７又は１８に記載のアクティブスタイラス。
【請求項２０】
アクティブスタイラスと双方向通信を行うセンサコントローラであって、
前記双方向通信を実施するために使用されるフレームの基準時刻を示すビーコン信号を送信し、
前記アクティブスタイラスから、当該アクティブスタイラスが取得可能なデータの種別を示す機能情報を含む、前記ビーコン信号に対する応答信号を受信し、
前記応答信号に基づいて取得した前記機能情報に基づいて前記アクティブスタイラスが送信すべきデータの種別とその送信タイミングとを決定し、決定したデータ種別及び送信タイミングを特定するコマンドを前記アクティブスタイラスに通知し、
前記コマンドは、前記フレームを構成する複数の時間スロットのうち前記アクティブスタイラスが前記取得可能なデータの少なくとも一部を含むデータ信号の送信に用いる時間スロットを特定するものであり、
前記アクティブスタイラスから、前記コマンドにより特定される時間スロットにより、前記コマンドにより特定される種別のデータを含む前記データ信号を受信する
センサコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクティブスタイラス及びセンサコントローラを用いた方法、センサコントローラ、アクティブスタイラス、及びシステムに関する。
【背景技術】
【０００２】
電源装置内蔵型の位置指示器であるアクティブスタイラス（以下、単に「スタイラス」という場合がある）からタブレットに対し、静電結合により信号の送信を行うようにした位置検出装置が知られている。この種の位置検出装置においては、現状、スタイラスから信号を送信してタブレットのセンサコントローラで受信するという、一方向の通信が行われている。特許文献１には、このような位置検出装置の例として、座標データの導出専用の位置信号とともに、筆圧値などのデータとスタイラスの固有ＩＤなどの情報とを通信するスタイラスが開示されている。
【０００３】
特許文献２には、位置検出装置の他の例が開示されている。この例によるスタイラスは、信号送信のための電極と電池とを備えており、筆圧検出した結果をデジタルで送信している。また、タブレットは表示装置及び透明センサによって構成されており、透明センサにより、スタイラスによる指示位置および筆圧と、指によるタッチ位置との両方が検出可能な構成とされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１５／１１１１５９号公報
【特許文献２】特開２０１４−６３２４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年のスタイラスは、多様なインタラクティブデータを取得可能に構成されたスタイラスもあれば、筆圧値を検出できず座標データの導出専用の位置信号のみを送信するスタイラスもあり多様化している。インタラクティブデータは、ユーザによるスタイラスの操作によって得られるデータであり、例えば、筆圧値、オリエンテーション（スタイラスの向き）、バレルボタン（スタイラスの側面に設けられた操作ボタン）の押下状態などを含む。インタラクティブデータは頻繁に変化するデータであるため、スタイラスは、自己のセンサで取得したインタラクティブデータを座標データの導出専用の位置信号とともにセンサコントローラに対して周期的に送信するよう構成される。
【０００６】
しかしながら、スタイラスとセンサコントローラを含む従来のシステムには、スタイラスによるインタラクティブデータの送信をスタイラスの機能の別に応じて効率よく行えない場合があるという問題があった。すなわち、従来のシステムにおいては、スタイラスからセンサコントローラに対して送信するデータのフォーマットが予め定められていたため、送信データのフォーマットを、スタイラスごとの機能の別に応じて柔軟に変更し、スタイラスの利用に伴い頻繁に変化するデータとほとんど変化しないデータあるいは情報とで区別することができず、その結果として効率のよい送信を行えない場合が生じていた。
【０００７】
したがって、本発明の目的の一つは、アクティブスタイラスからセンサコントローラに対し、インタラクティブデータを効率よく送ることのできる、アクティブスタイラス及びセンサコントローラを用いた方法、センサコントローラ、アクティブスタイラス、及びシステムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明による方法は、互いに双方向通信を行うアクティブスタイラス及びセンサコントローラを用いた方法であって、前記センサコントローラが、前記双方向通信を実施するために使用されるフレームの基準時刻を示すビーコン信号を送信するステップと、前記アクティブスタイラスが、前記ビーコン信号を検出した後、当該アクティブスタイラスが取得可能な１以上のインタラクティブデータの種別を示す機能情報に対応する情報を前記ビーコン信号に対する応答信号に含めて送信するステップと、前記アクティブスタイラスが、前記１以上のインタラクティブデータの少なくとも一部を含み、前記１以上のインタラクティブデータに基づいて決定されたフォーマットにより構成されるデータ信号を周期的に送信するステップとを含むというものである。
【０００９】
本発明によるセンサコントローラは、アクティブスタイラスと双方向通信を行うセンサコントローラであって、前記双方向通信を実施するために使用されるフレームの基準時刻を示すビーコン信号を送信し、前記アクティブスタイラスから、該アクティブスタイラスが取得可能な１以上のインタラクティブデータの種別を示す機能情報に対応する情報を含む応答信号を受信し、前記アクティブスタイラスから、前記１以上のインタラクティブデータの少なくとも一部を含み、前記１以上のインタラクティブデータに基づいて決定されたフォーマットにより構成されるデータ信号を周期的に受信するというものである。
【００１０】
本発明によるアクティブスタイラスは、センサコントローラと双方向通信を行うアクティブスタイラスであって、前記双方向通信を実施するために使用されるフレームの基準時刻を示すビーコン信号を前記センサコントローラから受信した後、当該アクティブスタイラスが取得可能な１以上のインタラクティブデータの種別を示す機能情報に対応する情報を前記ビーコン信号に対する応答信号に含めて送信し、前記１以上のインタラクティブデータの少なくとも一部を含み、前記１以上のインタラクティブデータに基づいて決定されたフォーマットにより構成されるデータ信号を周期的に送信するというものである。
【００１１】
本発明によるシステムは、互いに双方向通信を行うアクティブスタイラス及びセンサコントローラを含むシステムであって、前記センサコントローラは、前記双方向通信を実施するために使用されるフレームの基準時刻を示すビーコン信号を送信し、前記アクティブスタイラスは、前記ビーコン信号を検出した後、当該アクティブスタイラスが取得可能な１以上のインタラクティブデータの種別を示す機能情報に対応する情報を前記ビーコン信号に対する応答信号に含めて送信するとともに、前記１以上のインタラクティブデータの少なくとも一部を含み、前記１以上のインタラクティブデータに基づいて決定されたフォーマットにより構成されるデータ信号を周期的に送信するというものである。
【発明の効果】
【００１２】
本発明によれば、アクティブスタイラスが備えるセンサの機能により取得可能な１以上のインタラクティブデータに基づいて決定されたフォーマットにより、周期的に送信されるデータ信号は、スタイラスの操作に伴い変化しない機能情報を含まずスタイラスの操作に伴い頻繁に変化するデータにより構成されるので、アクティブスタイラスからセンサコントローラに対し、１以上のインタラクティブデータを効率よく送ることが可能になる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施の形態によるシステム１の構成を示す図である。
【図２】本発明の第１の実施の形態によるフレームＦの構成を示す図である。
【図３】図１に示したスタイラス１００の構成を示す図である。
【図４】図１に示したセンサ３０及びセンサコントローラ３１の構成を示す図である。
【図５】図３に示した機能情報ＣＰの構成を示す図である。
【図６】図５に示したデータフォーマットＤＦｍｔの内容を示す図である。
【図７】図６に示したオリエンテーションコードＯＲＣの定義を示す図である。
【図８】図５に示したデータフォーマットＤＦｍｔの記述例を示す図である。
【図９】図３に示したインタラクティブデータＤＦの構成を示す図である。
【図１０】図３に示した非インタラクティブデータＤＩＮＦの構成を示す図である。
【図１１】図１に示したスタイラス１００の動作フローを示す図である。
【図１２】図１に示したセンサコントローラ３１の動作フローを示す図である。
【図１３】機能情報ＣＰに対する時間スロットの割り当て例を示す図である。
【図１４】機能情報ＣＰのハッシュ値ＣＰ＿Ｈａｓｈに対する時間スロットの割り当て例を示す図である。
【図１５】インタラクティブデータＤＦ及び非インタラクティブデータＤＩＮＦに対する時間スロットの割り当て例を示す図である。
【図１６】インタラクティブデータＤＦ及び非インタラクティブデータＤＩＮＦに対する時間スロットの割り当ての他の例を示す図である。
【図１７】インタラクティブデータＤＦがカスタムデータＣＤを含む場合における、インタラクティブデータＤＦ及び非インタラクティブデータＤＩＮＦに対する時間スロットの割り当て例を示す図である。
【図１８】インタラクティブデータＤＦがオリエンテーションＯＲを含む場合における、インタラクティブデータＤＦ及び非インタラクティブデータＤＩＮＦに対する時間スロット及び周波数の割り当て例を示す図である。
【図１９】図１２に示したセンサコントローラ３１の動作フローの変形例を示す図である。
【図２０】機能情報ＣＰのハッシュ値として２種類のハッシュ値を用いる変形例における、スタイラス１００及びセンサコントローラ３１の動作フローを示す図である。
【図２１】時間スロットの割り当ての変形例を示す図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
【００１５】
図１は、本発明の第１の実施の形態によるシステム１の構成を示す図である。システム１は、スタイラス１００と、電子機器３に備えられたセンサコントローラ３１とにより構成される。このうちスタイラス１００は、各種のデータ（後述する機能情報ＣＰ、ハッシュ値ＣＰ＿Ｈａｓｈ、インタラクティブデータＤＦ、非インタラクティブデータＤＩＮＦ、ビーコン信号ＢＳなど）を送受信する機能を有する通信部１１０を備えて構成される。また、電子機器３は、センサコントローラ３１の他に、電子機器３のタッチ面３ａを構成するセンサ３０と、センサ３０及びセンサコントローラ３１を含む電子機器３の各部の機能を制御するシステムコントローラ３２とを備えて構成される。センサコントローラ３１は、センサ３０を介してスタイラス１００と容量結合することにより、スタイラス１００との間で、フレームを使用する双方向通信を行うよう構成される。
【００１６】
図１中の破線矢印Ｃ１〜Ｃ５は、ユーザがスタイラス１００を操作する典型的なサイクルを示している。ユーザは、スタイラス１００の使用にあたり、まず初めにテイルスイッチ１０３（図３参照）を操作して、スタイラス１００が描く線の色ＣｏｌやスタイルＳｔｙｌ（図５参照）を決定する。そして実際に線を描く際には、スタイラス１００をセンシング範囲ＳＲ（センサコントローラ３１がスタイラス１００を検出可能な範囲）の外からセンシング範囲ＳＲ内に移動（ダウン）させ（Ｃ１，Ｃ２）、タッチ面３ａ上で所望の軌跡を描くように動かした後（Ｃ３）、センシング範囲ＳＲ内からセンシング範囲ＳＲ外に移動（アップ）させる（Ｃ４，Ｃ５）、という一連のサイクルを繰り返す。このサイクルの繰り返しにより、センサコントローラ３１のセンシング範囲ＳＲに対しスタイラス１００がイン及びアウトを繰り返す状況が発生する。
【００１７】
センサコントローラ３１は、システム１内で実行される通信を制御するマスター装置であり、フレームの基準時刻となるビーコン信号ＢＳを、センサ３０を用いてフレームごとに（フレーム周期のインターバルで）送出するよう構成される。
【００１８】
図２は、本実施の形態によるフレームＦの構成を示す図であり、フレームＦ、ビーコン信号ＢＳ、及び時間あるいは時間スロット（以下、時間スロット）の関係を示している。同図に示すように、例えば、各フレームＦは１６個（あるいは３２個等）の時間スロットｓ０〜ｓ１５によって構成されており、ビーコン信号ＢＳは、各フレームＦの先頭に位置する時間スロットｓ０で送信される。１つのフレームＦの時間長は例えば液晶のリフレッシュレートに合わせ１６ｍｓｅｃ（６０Ｈｚ相当）である。容量結合を介した通信は狭帯域通信であり、１つの時間スロットで送出できるビット数はせいぜい数十ビット（例えば２０ビット）となる。ただし、システム１内で送受信される信号に数ビットの誤り検出符号（ＣＲＣ）が付されるとして、１つの時間スロットで送信できるビット数は、例えば１６ビットとなる。以下では、１つの時間単位あるいは時間スロットで１６ビットが送信可能であることを前提として説明を続ける。
【００１９】
センサコントローラ３１は、例えば、時間スロットｓ０でビーコン信号ＢＳを送出した後、時間スロットｓ１〜ｓ１５で、スタイラス１００から送信されるダウンリンク信号ＤＳの受信を待機する。ダウンリンク信号ＤＳが検出されると、その検出に用いた電極（後述する図４に示す複数の線状電極３０Ｘ，３０Ｙ）の位置と、検出されたダウンリンク信号ＤＳの受信レベルとに基づいてスタイラス１００の位置を示す座標データ（Ｘ，Ｙ）を導出するともに、スタイラス１００がダウンリンク信号ＤＳに含めて送信した各種の情報乃至データを取得するよう構成される。
【００２０】
スタイラス１００がダウンリンク信号ＤＳに含めて送信する各種の情報乃至データとは、具体的には、図５に示す機能情報ＣＰ、図９に示すインタラクティブデータＤＦ、及び、図１０に示す非インタラクティブデータＤＩＮＦである。以下、このうちのインタラクティブデータＤＦ及び非インタラクティブデータＤＩＮＦをデータＤと総称する場合がある。センサコントローラ３１は、これらの情報乃至データを取得すると、位置情報（Ｘ，Ｙ）とともにシステムコントローラ３２に供給する。システムコントローラ３２は、こうして供給された位置情報（Ｘ，Ｙ）、機能情報ＣＰ、及びデータＤを互いに対応付け、図示しないオペレーティングシステムを介し、描画アプリケーションなどの各種アプリケーションに供給するよう構成される。これにより、各種アプリケーションによる位置情報（Ｘ，Ｙ）、機能情報ＣＰ、及びデータＤの利用が実現される。
【００２１】
ここで、機能情報ＣＰ及びデータＤの概要について説明する。詳細については、後ほど図５〜図１０を参照しながら別途説明する。
【００２２】
まず機能情報ＣＰは、例えばスタイラス１００のバージョン情報のような、スタイラス１００がセンシング範囲ＳＲ外に存在する間に変化する情報である。別の言い方をすれば、ユーザがスタイラス１００で書き込み操作を行っている間には変化することのない情報である。機能情報ＣＰには、例えばスタイラス１００のベンダを示すベンダ識別子のような、全く変化することのない情報も含まれる。機能情報ＣＰは、スタイラス１００からセンサコントローラ３１に対して各種のデータＤが送信されるより前に、センサコントローラ３１側で既知となっていなければならない。
【００２３】
データＤは、スタイラス１００がセンシング範囲ＳＲ内に存在する間に変化する可能性がある情報であり、上述したようにインタラクティブデータＤＦ及び非インタラクティブデータＤＩＮＦを含む。
【００２４】
インタラクティブデータＤＦは、例えば筆圧値やバレルボタンの押下状態のようなスタイラス１００がユーザによって操作されている最中に頻繁に変化するデータであって、後述する図１５に示すように、１つのフレームＦ（例えば、６０Ｈｚ）内において１回以上（通常は複数回）、スタイラス１００からセンサコントローラ３１に対して送信される。また、インタラクティブデータＤＦは、１回データフォーマットが定められると、その後は、スタイラスとセンサコントローラとがお互いを検出している限り、決定されたフォーマットで複数のフレームで繰り返し送信される。スタイラス１００は原則として、センサコントローラ３１からのポーリングへの応答としてではなく、自発的にインタラクティブデータＤＦを周期的に複数のフレームで繰り返し送信する。座標データの導出専用の位置信号も、その指示位置がスタイラスの仕様とともに頻繁に変化する点でインタラクティブデータＤＦの一種に含まれる。
【００２５】
非インタラクティブデータＤＩＮＦは、例えばバッテリーレベルのような、インタラクティブデータＤＦに比べて少ない頻度で変化する（又は、そのような頻度で変化すると看做してかまわない）データであって、複数のフレームＦごと（例えば、数百フレームごと）に１回送信される。スタイラス１００は原則として、自発的ではなく、センサコントローラ３１からのポーリング（送信要求）への応答として非インタラクティブデータＤＩＮＦを送信する。
【００２６】
図３は、スタイラス１００の構成を示す図である。同図に示すように、スタイラス１００は、バッテリー１０１、電極１０２Ｔ，１０２Ｒ、テイルスイッチ１０３、バレルボタン１０４、操作状態検出部１０５、スタイラスコントローラＩＣ１０６を含み構成される。
【００２７】
バッテリー１０１は、スタイラスコントローラＩＣ１０６を駆動するための電力を供給する電源手段であり、自身の残量のレベル（図１０に示すバッテリーレベルＢＬ）に応じた信号をスタイラスコントローラＩＣ１０６に供給するよう構成される。
【００２８】
操作状態検出部１０５は、インタラクティブデータＤＦに含まれる情報を検出する機構であり、例えば、スタイラス１００の先端に付加された筆圧値（後述する図９に示す筆圧値ＴｉＰ）の検出機構や、スタイラス１００のオリエンテーション（向き。後述する図９に示すオリエンテーションＯＲ）を検出する６軸ＩＭＵなどのセンサデバイスにより構成される。操作状態検出部１０５は、オリエンテーションを検出するセンサデバイスに関して、検出可能なオリエンテーションの種別を示すオリエンテーションコードＯＲＣ（図６参照）を特定するための情報を、スタイラスコントローラＩＣ１０６内の機能情報更新部１１１に通知するように構成される。なお、オリエンテーションコードＯＲＣには、操作状態検出部１０５がオリエンテーションを検出するセンサデバイスを有するか否かを示す情報も含まれる。
【００２９】
スタイラスコントローラＩＣ１０６は、機能的に、通信部１１０、機能情報更新部１１１、インタラクティブデータ取得部１１２、及び非インタラクティブデータ取得部１１３を含み構成される。
【００３０】
通信部１１０は受信部Ｒｘと送信部Ｔｘとを含み、図２に示したフレームＦの基準時刻（開始時刻）に応じて規定される複数の時間スロットに基づいた双方向通信を行う。より具体的に説明すると、通信部１１０は、電極１０２Ｒを利用してビーコン信号ＢＳを検出してフレームＦの基準時刻を導出し、図２に示した時間スロットｓ０〜ｓ１５の基準時刻の設定あるいは同期調整を行う。そして、機能情報更新部１１１、インタラクティブデータ取得部１１２、及び非インタラクティブデータ取得部１１３のそれぞれから機能情報ＣＰ、インタラクティブデータＤＦ、及び非インタラクティブデータＤＩＮＦの供給を受け、それらの情報乃至データを、例えば図６に示すように決定されたフォーマットに従いダウンリンク信号ＤＳの送信用に用いる時間スロットｓ１〜ｓ１５でダウンリンク信号ＤＳに含めて、電極１０２Ｔから送信する。
【００３１】
機能情報更新部１１１は、機能情報ＣＰを管理する機能を有する。具体的には、機能情報ＣＰをレジスタ（図示せず）に維持するとともに、ユーザによるテイルスイッチ１０３の操作の内容（例えば、オン操作を行う回数）に応じて機能情報ＣＰを更新し、通信部１１０に供給するよう構成される。こうして更新される機能情報ＣＰには、図５に示す色ＣｏｌやスタイルＳｔｙｌが含まれる。
【００３２】
インタラクティブデータ取得部１１２は、インタラクティブデータＤＦを管理する機能を有する。具体的には、インタラクティブデータＤＦに含まれるデータを送信する都度、図９に示す筆圧値ＴｉＰやオリエンテーションＯＲなどをそれぞれ操作状態検出部１０５から取得するとともに、バレルボタン１０４の押下状態（図９に示すバレルボタン状態ＢＢ）を取得し、通信部１１０に供給するよう構成される。
【００３３】
非インタラクティブデータ取得部１１３は、非インタラクティブデータＤＩＮＦを管理する機能を有する。具体的には、非インタラクティブデータＤＩＮＦを送信する都度、図１０に示すバッテリーレベルＢＬなどを取得し、通信部１１０に供給するよう構成される。
【００３４】
図４は、電子機器３の構成を示す図である。同図に示すように、センサ３０は、複数の線状電極３０Ｘと複数の線状電極３０Ｙとがマトリクス状に配置された構成を有しており、これら線状電極３０Ｘ，３０Ｙによってスタイラス１００と容量結合する。また、センサコントローラ３１は、送信部６０、選択部４０、受信部５０、ロジック部７０、及び、ＭＣＵ８０を有して構成される。
【００３５】
送信部６０は、図１に示したビーコン信号ＢＳを送信するための回路である。具体的には、第１の制御信号供給部６１、スイッチ６２、直接拡散部６３、拡散符号保持部６４、及び送信ガード部６５を含み構成される。
【００３６】
第１の制御信号供給部６１は検出ビットパターンｃ１を保持しており、ロジック部７０から供給される制御信号ｃｔｒｌ＿ｔ１の指示に従って、所定の連続送信期間（例えば、３ｍｓｅｃ）の間、検出ビットパターンｃ１を連続して繰り返し出力し、終了ビットパターンＳＴＰを出力する機能を有する。
【００３７】
検出ビットパターンｃ１は、スタイラス１００がセンサコントローラ３１の存在を検出するために用いられるビットパターンであり、事前に（スタイラス１００がセンサコントローラ３１を検出する前に）スタイラス１００に既知にされているビット値を含んで構成される。具体的には、「０」又は「１」のいずれかからなる１ビットの値により検出ビットパターンｃ１を構成してもよいし、複数ビットの値により検出ビットパターンｃ１を構成してもよい。
【００３８】
また、終了ビットパターンＳＴＰは、上記連続送信期間の終了をスタイラス１００に通知するためのビットパターンであり、検出ビットパターンｃ１の繰り返し中に現れないビットパターンによって構成される。
【００３９】
スイッチ６２は、ロジック部７０から供給される制御信号ｃｔｒｌ＿ｔ２に基づいて第１の制御信号供給部６１及びＭＣＵ８０のいずれか一方を選択し、選択した一方の出力を直接拡散部６３に供給する機能を有する。スイッチ６２が第１の制御信号供給部６１を選択した場合、直接拡散部６３には上記検出ビットパターンｃ１が供給される。一方、スイッチ６２がＭＣＵ８０を選択した場合、直接拡散部６３には制御情報ｃ２が供給される。
【００４０】
制御情報ｃ２は、スタイラス１００への指示内容を示すコマンドを含む情報であり、ＭＣＵ８０によって生成される。制御情報ｃ２は今からスタイラス１００に対して機能情報ＣＰの要求やデータＤの送信方法を設定するコマンドなどを構成する、スタイラス１００との間でその値が事前に共有されていない複数のビット（任意のビット列）を含む情報である。
【００４１】
拡散符号保持部６４は、ロジック部７０から供給される制御信号ｃｔｒｌ＿ｔ３に基づき、拡散符号を生成する機能を有する。拡散符号保持部６４によって生成された拡散符号は、直接拡散部６３に供給される。
【００４２】
直接拡散部６３は、スイッチ６２から供給される信号（検出ビットパターンｃ１、終了ビットパターンＳＴＰ、制御情報ｃ２）の各ビット値に対し、拡散符号保持部６４から供給される拡散符号を乗算（ＸＯＲ）することで、ビーコン信号ＢＳを生成する。こうして生成されたビーコン信号ＢＳは、検出ビットパターンｃ１、終了ビットパターンＳＴＰ、制御情報ｃ２をこの順で含む信号となる。
【００４３】
送信ガード部６５は、ロジック部７０から供給される制御信号ｃｔｒｌ＿ｔ４に基づき、ビーコン信号ＢＳの送信期間（図２に示した時間スロットｓ０）の最後に、送信動作と受信動作を切り替えるために送信と受信の両方を行わない期間であるガード期間を挿入する機能部である。図２では、ビーコン信号ＢＳの終端と時間スロットｓ０の終端との間にある空白部分が、このガード期間に当たる。
【００４４】
選択部４０は、ロジック部７０の制御に基づいて、センサ３０から信号を送信する送信期間と、センサ３０により信号を受信する受信期間とを切り替えるスイッチである。具体的に説明すると、選択部４０は、スイッチ４４ｘ，４４ｙと、導体選択回路４１ｘ，４１ｙとを含んで構成される。スイッチ４４ｘは、ロジック部７０から供給される制御信号ｓＴＲｘに基づき、送信期間には、送信部６０の出力端を導体選択回路４１ｘの入力端に接続し、受信期間には、導体選択回路４１ｘの出力端を受信部５０の入力端に接続するよう動作する。スイッチ４４ｙは、ロジック部７０から供給される制御信号ｓＴＲｙに基づき、送信期間には、送信部６０の出力端を導体選択回路４１ｙの入力端に接続し、受信期間には、導体選択回路４１ｙの出力端を受信部５０の入力端に接続するよう動作する。導体選択回路４１ｘは、ロジック部７０から供給される制御信号ｓｅｌＸに基づき、複数の線状電極２０１Ｘのうちの１つを選択し、選択したものをスイッチ４４ｘに接続するよう動作する。導体選択回路４１ｙは、ロジック部７０から供給される制御信号ｓｅｌＹに基づき、複数の線状電極２０１Ｙのうちの１つを選択し、選択したものをスイッチ４４ｙに接続するよう動作する。
【００４５】
受信部５０は、ロジック部７０の制御信号ｃｔｒｌ＿ｒに基づいて、スタイラス１００が送信するダウンリンク信号ＤＳを受信する回路である。具体的には、増幅回路５１、検波回路５２、及び、アナログデジタル（ＡＤ）変換器５３を含み構成される。
【００４６】
増幅回路５１は、選択部４０から供給されるダウンリンク信号ＤＳを増幅して出力する。検波回路５２は、増幅回路５１の出力信号のレベルに対応した電圧を生成する回路である。ＡＤ変換器５３は、検波回路４９から出力される電圧を所定時間間隔でサンプリングすることによって、デジタルデータを生成する回路である。ＡＤ変換器５０が出力するデジタルデータはＭＣＵ８０に供給される。
【００４７】
ＭＣＵ８０は、内部にＲＯＭおよびＲＡＭを有し、所定のプログラムに基づき動作するマイクロプロセッサである。ロジック部７０は、ＭＣＵ８０の制御に基づき、上述した各制御信号を出力する。ＭＣＵ８０はまた、ＡＤ変換器５３から供給されるデジタルデータに基づいてスタイラス１００の位置を示す座標データ（Ｘ，Ｙ）等を導出し、システムコントローラ３２に対して出力する役割を担う。
【００４８】
ここで、システムコントローラ３２において動作するいくつかの描画アルゴリズムやシグネチャ検証アルゴリズムは、センサコントローラ３１から供給される位置情報（Ｘ，Ｙ）や筆圧値ＴｉＰ等のデータＤが、時間軸上で等間隔に取得されたものであるという前提に立って実装されている。したがって、非インタラクティブデータＤＩＮＦが時々送出されることにより、本来はインタラクティブデータＤＦが送出されるべきであった時間スロットにおいてインタラクティブデータＤＦが送信できなくなる（すなわち、データＤが「どもる(stutter)」）場合があるとすると、上記の描画アルゴリズムやシグネチャ検証アルゴリズムが正常に動作しなくなるおそれがある。そこで、非インタラクティブデータＤＩＮＦの送信に使用する時間スロットは、インタラクティブデータＤＦの通信の等間隔性を損なわないように選択される。この点の詳細については、図１５及び図１６を参照しながら後述する。
【００４９】
また、前述した通り、機能情報ＣＰは、センサコントローラ３１のセンシング範囲ＳＲの外にスタイラス１００が存在する間に変化する可能性がある。一方で、センサコントローラ３１のホストであるシステムコントローラ３２側で実行されるインキング処理（座標データのシーケンスに対して、色情報や線幅等の情報を与えるための処理）には、機能情報ＣＰ（特に、図５に示す色Ｃｏｌ、線幅やブラシのタイプを決めるスタイルＳｔｙｌなど）がセンサコントローラ３１に既知となっていることが必要である。そこで、機能情報ＣＰは、スタイラス１００がセンシング範囲ＳＲに入る都度、必ずセンサコントローラ３１に新たに既知とされる。具体的には、機能情報ＣＰは、スタイラス１００からセンサコントローラ３１に対してデータＤ（インタラクティブデータＤＦ）を送信するより前の段階で、ビーコン信号ＢＳへの応答信号として、センサコントローラ３１に送信される。この点の詳細については、図１３及び図１４を参照しながら後述する。
【００５０】
図５は、機能情報ＣＰの構成を示す図である。同図に示すように、機能情報ＣＰは、互いに異なる「情報名」が与えられた複数の個別機能情報の集合である。各個別機能情報は、機能情報ＣＰが送信される際、「送信サイズ」に示されるビット長で、機能情報ＣＰ内に配置される。また、各個別機能情報には、機能情報ＣＰ内に配置することが必須のもの（Ｙ）とそうでないもの（Ｎ）とがあり、機能情報に必要なビット数の典型例を示すためにその別（Ｙ）と（Ｎ）が例示されている。
【００５１】
機能情報ＣＰを構成する個別機能情報として具体的には、同図に示すように、ベンダ識別子ＶＩＤ、シリアル番号ＳＮ、色Ｃｏｌ、スタイルＳｔｙｌ、テイルスイッチ１０３の状態、バージョンＶｅｒ、データフォーマットＤＦｍｔが含まれる。
【００５２】
ベンダ識別子ＶＩＤは、スタイラス１００のベンダを示す８ビットの情報である。シリアル番号ＳＮは、各ベンダが独自に付与するベンダごとにユニークな５６ビットの情報である。シリアル番号ＳＮにベンダ識別子ＶＩＤを付加することで、６４ビットのユニークなユーザ識別子ＵＩＤ（スタイラスの固有ＩＤ）が生成される。
【００５３】
色Ｃｏｌは、ＣＳＳ(Cascading Style Sheets)内で使用可能な１４０の色を８ビットで表現する情報であり、テイルスイッチ１０３の操作により変更される。
【００５４】
スタイルＳｔｙｌは、スタイラス１００のペン先が例えばブラシ又はボールペンのいずれかであるかを特定することにより、インキング処理の効果を決定する３ビットの情報である。
【００５５】
テイルスイッチ１０３の状態は、テイルスイッチ１０３のＯＮＯＦＦの操作状態を示す情報である。機能情報ＣＰを構成する個別機能情報の１つであるが、他の個別機能情報の変更に反映されることになるため、それ自体をセンサコントローラ３１に通知する必要はない。したがって、テイルスイッチ１０３の状態の送信サイズは、Ｎ／Ａ(Not Applicable)となる。
【００５６】
バージョンＶｅｒは、スタイラス１００が使用する通信プロトコルのバージョンを示す４ビットの情報である。
【００５７】
データフォーマットＤＦｍｔは、データＤ（インタラクティブデータＤＦ等）の送信に用いられるデータ信号のフォーマットを識別する１０ビット〜４４ビットの情報である。。データフォーマットＤＦｍｔの詳細については、図６を参照しながら後述する。
【００５８】
このように、機能情報ＣＰは各種の個別機能情報を含むが、そのうち機能情報ＣＰへの配置が例えば必須（Ｙ）とした情報（ユーザ識別子ＵＩＤ及びデータフォーマットＤＦｍｔ）だけでも、７０ビットを超える大きな送信サイズを有している。したがって、上述したように１つの時間スロットで送信可能なビット数が１６ビットである場合、１つの時間スロットで機能情報ＣＰの全体の送信を完了することはできない。
【００５９】
図６は、図５に示したデータフォーマットＤＦｍｔの内容を示す図である。同図に示すように、データフォーマットＤＦｍｔは、互いに異なる「名称」が与えられた複数の個別フォーマットの集合である。各個別フォーマットは、機能情報ＣＰが送信される際、「送信サイズ」に示されるビット長で、データフォーマットＤＦｍｔ内に配置される。
【００６０】
データフォーマットＤＦｍｔを構成する個別フォーマットとして具体的には、筆圧段階指示数ＰＬ、バレルボタン数ＢＢＮ、接線方向筆圧フラグＴａＰｆ、オリエンテーションコードＯＲＣ、カスタムデータフラグＣＤｆ、オリエンテーション分解能ＯＲＲ、カスタム筆圧サイズＣＰＳ、カスタムボタンサイズＣＢＳ、カスタムオリエンテーションサイズＣＯＳ、カスタムデータサイズＣＤＳが含まれる。図６の「定義」欄には、それぞれの意味を記述している。これらの内容は、スタイラス１００が取得可能な１以上の個別インタラクティブデータ（後述）の種別と、それぞれの送信サイズとを示しており、後述する図１１に示すステップＳ１，Ｓ３において、スタイラス１００が取得可能な１以上の個別インタラクティブデータに基づいて決定される。以下、それぞれについて詳しく説明する。
【００６１】
筆圧段階指示数ＰＬは、インタラクティブデータＤＦの一つである筆圧値ＴｉＰ（図９参照）の段階数（解像度）を示す３ビットの情報であり、その値が０〜６である場合、段階数が２５６×２ＰＬであることを示す。なお、ＰＬ＝０である場合はＰＬ＝−８である場合であると言うこともできるが、その場合の筆圧段階数は２５６×２０＝２５６となる。ＰＬ＝７である場合には、別途カスタム筆圧サイズＣＰＳとして筆圧段階数が規定される。
【００６２】
バレルボタン数ＢＢＮは、スタイラス１００が有するバレルボタン１０４（図３参照）の数を示す２ビットの情報であり、その値が０〜２である場合、ＢＢＮ個のバレルボタン１０４を有していることを示す。スタイラス１００がバレルボタン１０４以外の操作部を有する場合、バレルボタン数ＢＢＮにはその数も加算される。ＢＢＮ＝３である場合には、別途カスタムボタンサイズＣＢＳとしてバレルボタン１０４を含む操作部の数が規定される。このバレルボタン数ＢＢＮは、第１のバレルボタン乃至第ＢＢＮのバレルボタンの各々の有無を示すビットとしてもよい。例えば２ビットであれば、第１のバレルボタン及び第２のバレルボタンを備えているかをそれぞれが示す２つのビットとしても良い。
【００６３】
接線方向筆圧フラグＴａＰｆは、スタイラス１００が接線方向筆圧値（タッチ面３ａの接線方向に加わる圧力）の取得に対応しているか否かを示す１ビットの情報であり、０である場合に未対応、１である場合に対応を示す。スタイラス１００が接線方向筆圧に対応している場合のその段階数としては、筆圧段階指示数ＰＬと同じ段階数が用いられる。
【００６４】
オリエンテーションコードＯＲＣは、インタラクティブデータＤＦの一つであるオリエンテーションＯＲ（図９参照）のフォーマットを定める３ビットの情報である。オリエンテーションコードＯＲＣの詳細は、後に図７を参照しながら詳しく説明するが、ＯＲＣ＝７である場合には、オリエンテーションＯＲのデータサイズのみがカスタムオリエンテーションサイズＣＯＳとして規定される。
【００６５】
カスタムデータフラグＣＤｆは、スタイラス１００がカスタムデータＣＤ（インタラクティブデータＤＦの一つとして規格化されていないベンダ独自のデータ。図９参照）の取得を行うか否かを示す１ビットの情報であり、０である場合にカスタムデータＣＤがないことを示し、１である場合にカスタムデータＣＤがあることを示す。
【００６６】
オリエンテーション分解能ＯＲＲは、オリエンテーションＯＲ（図９参照）の分解能を示す０〜２ビットの情報であり、オリエンテーションコードＯＲＣの値が０より大きい場合、すなわちスタイラス１００がオリエンテーションＯＲの取得に対応している場合にのみ、データフォーマットＤＦｍｔ内に配置される。オリエンテーション分解能ＯＲＲにより示されるオリエンテーションＯＲの分解能は（８＋ＯＲＲ）ビットとなる。
【００６７】
カスタム筆圧サイズＣＰＳは、筆圧段階数のカスタム値を示す８ビットの情報であり、筆圧段階指示数ＰＬが７である場合にのみデータフォーマットＤＦｍｔ内に配置される。８ビットであることから、カスタム筆圧サイズＣＰＳによって表せる筆圧段階数は最大で２５６段階となる。
【００６８】
カスタムボタンサイズＣＢＳは、バレルボタン１０４を含む操作部の数を示す８ビットの情報であり、バレルボタン数ＢＢＮが３である場合にのみデータフォーマットＤＦｍｔ内に配置される。８ビットであることから、カスタムボタンサイズＣＢＳによって表せる操作部の数は最大で２５６個となる。
【００６９】
カスタムオリエンテーションサイズＣＯＳは、オリエンテーションＯＲのバイト数を示す８ビットの情報であり、オリエンテーションコードＯＲＣが７である場合にのみデータフォーマットＤＦｍｔ内に配置される。８ビットであることから、カスタムオリエンテーションサイズＣＯＳによって表せるオリエンテーションＯＲのバイト数は最大で２５６バイトとなる。ただし、図９を参照して後述するように、実際のオリエンテーションＯＲのサイズの最大値は７２ビットである。
【００７０】
カスタムデータサイズＣＤＳは、カスタムデータＣＤのバイト数を示す８ビットの情報であり、カスタムデータフラグＣＤｆが１である場合にのみデータフォーマットＤＦｍｔ内に配置される。８ビットであることから、カスタムデータサイズＣＤＳによって表せるカスタムデータＣＤのバイト数は最大で２５６バイトとなる。ただし、図９を参照して後述するように、実際のカスタムデータＣＤのサイズの最大値は２５６ビットである。
【００７１】
ここまでで説明したように、システム１においては、カスタム筆圧サイズＣＰＳ、カスタムボタンサイズＣＢＳ、カスタムオリエンテーションサイズＣＯＳ、及びカスタムデータサイズＣＤＳのそれぞれによって示されるカスタム値のデータサイズを、いずれも、データフォーマットＤＦｍｔ内に配置される場合に８ビット、配置されない場合に０ビットとなるようにしている。これは、データフォーマットＤＦｍｔを可変長としつつも終了位置を示すビットを不要とし、それによってデータフォーマットＤＦｍｔの構成を簡易化するための構成である。
【００７２】
図７は、図６に示したオリエンテーションコードＯＲＣの定義を示す図（オリエンテーションコードテーブルＯＣＴ）である。同図中、左端の「ＯＲＣ」はオリエンテーションコードＯＲＣの値を示し、右端の「データサイズ」は、オリエンテーションＯＲのデータサイズを、占用時間スロット数（オリエンテーションＯＲを１回送信するために必要となる時間スロット数）により表したものである。
【００７３】
オリエンテーションコードＯＲＣの値が「０」であることは、スタイラス１００がオリエンテーションＯＲの取得を行わない（又は取得機能を有しない）ことを示す。後述する図１８に示すように、インタラクティブデータＤＦ内にオリエンテーションＯＲが配置される場合、インタラクティブデータＤＦを送信するために追加の時間スロットを用意する必要があるが、オリエンテーションコードＯＲＣの値が「０」である場合には、このような追加の時間スロットの用意は不要となる。
【００７４】
オリエンテーションコードＯＲＣの値が「１」であることは、スタイラス１００が、２方向（Ｘチルト，Ｙチルト）の値で２次元（２Ｄ）の傾きを示すオリエンテーションＯＲを取得可能であり、そのオリエンテーションＯＲを１回送信するために２つの時間スロットの利用を要することを示している。図の例では、連続した２つの時間スロットをアロケートしているが、２つの時間スロットは連続していても連続していなくても良い。
【００７５】
オリエンテーションコードＯＲＣの値が「２」であることは、スタイラス１００が、２方向（Ｘチルト，Ｙチルト）の値によって表される２次元（２Ｄ）の傾きと、ペン軸まわりの回転量であるツイストとからなる３次元（３Ｄ）の値を示すオリエンテーションＯＲを取得可能であり、そのオリエンテーションＯＲを１回送信するために、連続あるいは非連続の３つの時間スロットの利用を要することを示している。
【００７６】
オリエンテーションコードＯＲＣの値が「３」であることは、スタイラス１００が、２方向（高度，方位角）の値で２次元（２Ｄ）の傾きを示すオリエンテーションＯＲを取得可能であり、そのオリエンテーションＯＲを１回送信するために２つの時間スロットの利用を要することを示している。
【００７７】
オリエンテーションコードＯＲＣの値が「４」であることは、スタイラス１００が、２方向（高度，方位角）の値によって表される２次元（２Ｄ）の傾きと、ペン軸まわりの回転量であるツイストとからなる３次元（３Ｄ）の値を示すオリエンテーションＯＲを取得可能であり、そのオリエンテーションＯＲを１回送信するために３つの時間スロットの利用を要することを示している。
【００７８】
オリエンテーションコードＯＲＣの値が「５」であることは、スタイラス１００が、加速度計及びジャイロを含む６軸慣性測定装置（ＩＭＵ）による測量値であるオリエンテーションＯＲを取得可能であり、そのオリエンテーションＯＲを１回送信するために３つの時間スロットの利用を要することを示している。
【００７９】
オリエンテーションコードＯＲＣの値が「６」であることは、スタイラス１００が、９軸慣性測定装置（ＩＭＵ）による測量値であるオリエンテーションＯＲを取得可能であり、そのオリエンテーションＯＲを１回送信するために３つ以上の時間スロットの利用を要することを示している。
【００８０】
オリエンテーションコードＯＲＣの値が「７」であることは、上述したように、図６に示したカスタムオリエンテーションサイズＣＯＳによってオリエンテーションＯＲのバイト数が表されることを示している。
【００８１】
このように、オリエンテーションコードＯＲＣを使うことで、スタイラス１００の機能の有無、あるいは、慣性測定装置（ＩＭＵ）のタイプに応じて様々な情報となり得るオリエンテーションＯＲの種別を、３ビットの短い情報によりセンサコントローラ３１に通知することが可能になる。また、オリエンテーションＯＲの種別によって連続あるいは非連続の異なる数の時間スロットを使用することに関しても、必要な時間スロット数をセンサコントローラ３１に通知することが可能になる。
【００８２】
図８は、図５に示したデータフォーマットＤＦｍｔの記述例を示す図である。同図（ａ）に示す記述例１及び同図（ｂ）に示す記述例２は、データフォーマットＤＦｍｔがカスタム値を含まず、９ビットで示される例を示している。記述例１では、オリエンテーションコードＯＲＣの値が０（０ｂ０００）、すなわちスタイラス１００がオリエンテーションＯＲを取得しないため、オリエンテーションＯＲ用に追加の時間スロットを用意することは不要となる。一方、記述例２では、オリエンテーションコードＯＲＣの値が６（０ｂ１１０）であるため、オリエンテーションＯＲ用に３つ以上の時間スロットを追加で用意することが必要となる。また、同図（ｃ）に示す記述例３は、筆圧段階指示数ＰＬがカスタマイズされ、カスタム筆圧サイズＣＰＳによって表される例を示している。この場合、８ビットのカスタム筆圧サイズＣＰＳがデータフォーマットＤＦｍｔの末尾に記述され、データフォーマットＤＦｍｔのビット数が１７ビットとなる。
【００８３】
以上説明したように、本実施の形態による機能情報ＣＰに含まれるデータフォーマットＤＦｍｔは、１０ビット〜４４ビットのビット列によって表される。そして、このデータフォーマットＤＦｍｔがスタイラス１００からセンサコントローラ３１に通知されることにより、インタラクティブデータＤＦの要素、サイズ、及びオプションデータの有無が、インタラクティブデータＤＦが送出される前の段階でセンサコントローラ３１に既知とされる。インタラクティブデータＤＦは、その後にスタイラス１００から送信される。
【００８４】
図９は、インタラクティブデータＤＦの構成を示す図である。同図に示すように、インタラクティブデータＤＦは、互いに異なる「名称」が与えられた複数の個別インタラクティブデータの集合である。各個別インタラクティブデータは、インタラクティブデータＤＦが送信される際、「送信サイズ」に示されるビット長で、インタラクティブデータＤＦ内に配置される。また、各個別インタラクティブデータには、インタラクティブデータＤＦ内に配置することが必須のもの（Ｙ）とそうでないもの（Ｎ）とがあり、図では、典型的に必要となる合計ビット数をカウントするためこの区別の例を示している。また、同図は個別インタラクティブデータの送信順も示しており、スタイラス１００は、同図の上側にあるものから順に送信するよう構成される。
【００８５】
インタラクティブデータＤＦを構成する個別インタラクティブデータとして具体的には、筆圧値ＴｉＰ、接線方向筆圧値ＴａＰ、バレルボタン状態ＢＢ、反転Ｉｎｖ、オリエンテーションＯＲ、カスタムデータＣＤが含まれる。
【００８６】
筆圧値ＴｉＰは、スタイラス１００の先端に付加された筆圧値を示す８〜２５６ビットの情報であって、図３に示した操作状態検出部１０５によって検出される。筆圧値ＴｉＰは、インタラクティブデータＤＦ内に必ず配置される（Ｙ）。筆圧値ＴｉＰのビット数は、図６に示したデータフォーマットＤＦｍｔ内の筆圧段階指示数ＰＬ又はカスタム筆圧サイズＣＰＳから導かれる。例えば、筆圧段階指示数ＰＬが０（又は−８）である場合、筆圧段階数が２５６となることから、筆圧値ＴｉＰのビット数はｌｏｇ２２５６＝８となる。典型的な例では、筆圧値ＴｉＰのビット数は８（２５６段階）〜１１（２０４８段階）である。
【００８７】
接線方向筆圧値ＴａＰは、接線方向の筆圧値を示す０〜２５６ビットの情報であって、図３に示した操作状態検出部１０５によって検出される。接線方向筆圧値ＴａＰはオプショナルのデータであり、図６に示した接線方向筆圧フラグＴａＰｆが１である場合にのみ、インタラクティブデータＤＦ内に配置される（Ｎ）。インタラクティブデータＤＦ内に配置される場合の接線方向筆圧値ＴａＰのビット数は、筆圧値ＴｉＰと同じ値となる。典型的な例では、接線方向筆圧値ＴａＰは０ビットの情報であり、インタラクティブデータＤＦ内に配置されない。
【００８８】
バレルボタン状態ＢＢは、図３に示したバレルボタン１０４の押下状態を示す２〜２５６ビットの情報である。バレルボタン状態ＢＢは、インタラクティブデータＤＦ内に必ず配置される（Ｙ）。バレルボタン状態ＢＢのビット数は、図６に示したデータフォーマットＤＦｍｔ内のバレルボタン数ＢＢＮ又はカスタムボタンサイズＣＢＳによって示されるバレルボタン１０４の数に等しい値となる。例えば、バレルボタン数ＢＢＮが１である場合、スタイラス１００が有するバレルボタン１０４の数が２個となることから、バレルボタン状態ＢＢのビット数は２となる。典型的な例では、バレルボタン状態ＢＢのビット数は２である。
【００８９】
反転Ｉｎｖは、１ビットの情報であって、インタラクティブデータＤＦ内に配置される（Ｙ）。
【００９０】
オリエンテーションＯＲは、スタイラス１００の向きを示す０〜７２ビットのデータであって、図３に示した操作状態検出部１０５によって検出される。オリエンテーションＯＲはオプショナルのデータであり、図６に示したオリエンテーションコードＯＲＣが０でない場合（図７参照）にのみ、インタラクティブデータＤＦ内に配置される（Ｎ）。オリエンテーションＯＲの具体的な意味は、図７を参照して説明したように、オリエンテーションコードＯＲＣによって表される。また、オリエンテーションＯＲのサイズは、図７に示したデータサイズ（カスタムオリエンテーションサイズＣＯＳによって指定する場合を含む）によって示される。例えば、２次元又は３次元の値を表すオリエンテーションＯＲは、図７に示したオリエンテーションコードテーブルＯＣＴの規定に従って、２つの時間スロット又は３つの時間スロットを使い、図の例では連続して送信される（図１８参照）。
【００９１】
カスタムデータＣＤは、スタイラス１００のベンダが独自に規定する０〜２５６ビットの情報である。カスタムデータＣＤはオプショナルのデータであり、図６に示したカスタムデータフラグＣＤｆが１である場合にのみ、インタラクティブデータＤＦ内に配置される（Ｎ）。カスタムデータＣＤのビット数は、図６に示したカスタムデータサイズＣＤＳによって表される。例えば、カスタムデータサイズＣＤＳが１である場合、カスタムデータＣＤのバイト数が１となることから、カスタムデータＣＤのビット数は８となる。
【００９２】
インタラクティブデータＤＦのビット数は、最小の例では、８ビットの接線方向筆圧値ＴａＰ、２ビットのバレルボタン状態ＢＢ、及び１ビットの反転Ｉｎｖの合計で１１ビット（４ビットの誤り検出符号を加えると１５ビット）となる。また、典型的な例では、１１ビットの接線方向筆圧値ＴａＰ、２ビットのバレルボタン状態ＢＢ、及び１ビットの反転Ｉｎｖの合計で１４ビット（４ビットの誤り検出符号を加えると１８ビット）となる。上述したように、１つの時間スロットで１６ビット分のデータを送信可能であることから、オリエンテーションＯＲやカスタムデータＣＤを含まないインタラクティブデータＤＦの送信は、１つの時間スロットで完了することができる（図１５及び図１６参照）。一方、オリエンテーションＯＲやカスタムデータＣＤを含むインタラクティブデータＤＦの送信については、通常１６ビットを超えることになるので、１つの時間スロットで完了することはできず、複数の時間スロットを使用することになる（図１７及び図１８参照）。
【００９３】
図１０は、非インタラクティブデータＤＩＮＦの構成を示す図である。同図に示すように、非インタラクティブデータＤＩＮＦは、互いに異なる「名称」が与えられた複数の個別非インタラクティブデータの集合である。各個別非インタラクティブデータは、非インタラクティブデータＤＩＮＦが送信される際、「送信サイズ」に示されるビット長で、非インタラクティブデータＤＩＮＦ内に配置される。
【００９４】
非インタラクティブデータＤＩＮＦを構成する個別非インタラクティブデータの例として、図１０にはバッテリーレベルＢＬのみを示している。バッテリーレベルＢＬは、図３に示したバッテリー１０１の残量のレベルを示す４ビットの情報である。他の種類の個別非インタラクティブデータを非インタラクティブデータＤＩＮＦに含めてもよいのは勿論である。
【００９５】
非インタラクティブデータＤＩＮＦは、上述したように、複数のフレームＦごと（例えば、数百フレームごと）に１回送信される（図１５〜図１８参照）。
【００９６】
次に、スタイラス１００及びセンサコントローラ３１の動作について、図１１〜図１８を参照しながら詳しく説明する。
【００９７】
まず図１１は、スタイラス１００の動作フローを示す図である。スタイラス１００は、電源がオンされた後、センシング範囲ＳＲの外に存在する間に、次のＡ１で説明する動作を行う。
【００９８】
＜Ａ１．機能情報ＣＰの更新処理（センシング範囲ＳＲの外での動作）＞
スタイラス１００は、電源がオンされた後、データフォーマットＤＦｍｔを含む機能情報ＣＰを一旦決定する（ステップＳ１）。このときスタイラス１００は、自身が取得可能な１以上のインタラクティブデータＤＦに基づいて、データフォーマットＤＦｍｔの具体的な内容を決定する。すなわち、上述したように、例えばスタイラス１００が接線方向筆圧の取得に対応していれば、データフォーマットＤＦｍｔ内の接線方向筆圧フラグＴａＰｆが１になり、対応していなければ、データフォーマットＤＦｍｔ内の接線方向筆圧フラグＴａＰｆが０になる。その後、スタイラス１００はユーザによる機能情報ＣＰの変更操作（具体的には、テイルスイッチ１０３の操作）の有無を判定する（ステップＳ２）。そして、変更操作がなされた場合には、操作の内容に応じて、ステップＳ１で決定した機能情報ＣＰの変更を行う（ステップＳ３）。
【００９９】
ステップＳ２，Ｓ３の処理の後、スタイラス１００は、ビーコン信号ＢＳを検出したか否かを判定する（ステップＳ４）。このステップＳ４で検出していないと判定した場合（すなわち、スタイラス１００がセンサコントローラ３１のセンシング範囲ＳＲの外にいる場合）、スタイラス１００は、ステップＳ２に戻ってここまでの処理を繰り返す。一方、ステップＳ４で検出したと判定した場合、スタイラス１００は、次のＡ２で説明する動作を行う。
【０１００】
＜Ａ２．スタイラス１００がセンシング範囲ＳＲ内に入った後の動作＞
スタイラス１００は、ユーザがダウン操作をしたことによってセンサコントローラ３１のセンシング範囲ＳＲ内に入った後（Ｓ４の肯定判定）、検出したビーコン信号ＢＳを基準としてセンサコントローラ３１が規定するフレームＦに同期し、その時間スロットｓ０〜ｓ１５を決定する（ステップＳ５）。
【０１０１】
＜Ａ２−１．機能情報ＣＰの通信＞
続いてスタイラス１００は、機能情報ＣＰをセンサコントローラ３１に既知とする（センサコントローラ３１との間で共有する）ための処理を行う（ステップＳ６〜Ｓ８）。ここで、上述した通り、システム１では、１つの時間スロットで送信できるビット数が例えば１６ビットに制限されている。一方で、機能情報ＣＰは、上記したように７０ビットを超える情報であるので、機能情報ＣＰの全部を１つの時間スロットで送ることはできず、全部を送る場合には複数の時間スロットを使用して分割送信する必要が生ずる。しかしながら、このような分割送信を１回目のみならず２回目、３回目と行っていると、スタイラス１００がタッチ面３ａ（図１参照）にタッチするまでに機能情報ＣＰの送信が完了せず、その結果、スタイラス１００がタッチ面３ａにタッチしているにも関わらず、毎回タッチされたタイミングから線が描かれないというユーザにとって不快な状況が生ずるおそれがある。そこで本実施の形態では、以下で説明するように、一度機能情報ＣＰの全部を送ったセンサコントローラ３１に対しては、機能情報ＣＰそのものではなく、機能情報ＣＰに対応する情報（具体的には機能情報ＣＰのハッシュ値）を送るようにしている。以下、具体的に説明する。
【０１０２】
スタイラス１００はまず、ビーコン信号ＢＳを送出するセンサコントローラ３１と既にペアリング済みか否かを判定する（ステップＳ６）。この判定は、例えばスタイラス１００内部のレジスタの値を判定することで行うことができる。なお、ビーコン信号ＢＳにはセンサコントローラ３１を特定する情報は含まれていないので、ここでの判定は、特定のセンサコントローラ３１ではなく、いずれかのセンサコントローラ３１とペアリング済みか否かについての判定となる。
【０１０３】
ステップＳ６の判定の結果、センサコントローラ３１とペアリング済みでないと判定した場合（Ｓ６の否定判定）、スタイラス１００は、現時点の機能情報ＣＰ（図５に示した７０ビットを超える情報。データフォーマットＤＦｍｔと、シリアル番号ＳＮ及びベンダ識別子ＶＩＤからなるユーザ識別子ＵＩＤとを含む）を、複数の時間スロットに分けて繰り返し送出する（ステップＳ７）。
【０１０４】
図１３は、機能情報ＣＰに対する時間スロットの割り当て例を示す図である。同図の例によるスタイラス１００は、機能情報ＣＰを複数の部分機能情報ＣＰ１，ＣＰ２，・・・に分割し、それぞれをフレームＦｎ，Ｆｎ＋１，・・・の時間スロットｓ１で送信している。このような機能情報ＣＰの送信には複数時間スロット分（この例では複数フレーム分）の時間がかかるが、初めに１回は必要な処理である。なお、図１３にも示すように、機能情報ＣＰは、時間スロットｓ１を用いて送信する必要がある。これは、機能情報ＣＰあるいは短縮情報（ハッシュ値ＣＰ＿Ｈａｓｈ）を、コマンドが含まれるビーコン信号ＢＳに対する応答信号（あるいは機能情報ＣＰに対応する情報ＣＰ＿Ｈａｓｈ）が送信されるべき時間に送信することで、センサコントローラ３１が、ビーコン信号ＢＳを送信した後の時間スロットｓ１で受信される信号だけを監視することでビーコン信号ＢＳに対する応答信号の有無（スタイラス１００の有無）を認識することができ、かつ、時間スロットｓ１に後続する時間スロットｓ２〜の時間をデータＤの受信用に確保することができるようにするためである。
【０１０５】
他方、ステップＳ６の判定の結果、センサコントローラ３１とペアリング済みであると判定した場合（Ｓ６の肯定判定）には、スタイラス１００は、ステップＳ７でデータフォーマットＤＦｍｔを含む機能情報ＣＰの全部を送信するのではなく、機能情報ＣＰを特定するための情報であって１つの時間スロットで送出可能なサイズの情報（短縮情報）のみを、１つの時間スロットｓ１を使用して送信する（ステップＳ８）。この情報は、例えば、機能情報ＣＰの２０ビット以下（例えば１６ビット）のハッシュ値ＣＰ＿Ｈａｓｈ等、所定の確率で、対応する機能情報ＣＰが真性であるか否かを識別可能な情報とすることが好適である。以下の説明では、短縮情報としてハッシュ値ＣＰ＿Ｈａｓｈを用いることを前提とする。ステップＳ８でハッシュ値ＣＰ＿Ｈａｓｈを送信する場合、スタイラス１００は、送信に先立ち、機能情報ＣＰからハッシュ値ＣＰ＿Ｈａｓｈを導出する処理を行う。
【０１０６】
図１４は、機能情報ＣＰのハッシュ値ＣＰ＿Ｈａｓｈに対する時間スロットの割り当て例を示す図である。同図に示すように、ハッシュ値ＣＰ＿Ｈａｓｈの送信はフレームＦｎの時間スロットｓ１のみで完了し、次のフレームＦｎ＋１からは、時間スロットｓ１においてインタラクティブデータＤＦを送信することが可能になる。
【０１０７】
このように、本実施の形態によるシステム１によれば、スタイラス１００は、機能情報ＣＰが一旦センサコントローラ３１に既知となった後（センサコントローラ３１とペアリング済みになった後）には、センシング範囲ＳＲに入る都度、１度送信済みの機能情報ＣＰの送信に代えて短縮情報（具体的にはハッシュ値ＣＰ＿Ｈａｓｈ）の送信を行うことによって、機能情報ＣＰ（データフォーマットＤＦｍｔを含む）をセンサコントローラ３１に通知することが可能になる。センサコントローラ３１としては、１つの時間スロットで短縮情報を受信するだけで、実用上問題のおこらない確率で、接近中のスタイラス１００の機能情報ＣＰを特定することが可能になる。
【０１０８】
なお、本実施の形態では、スタイラス１００が送信した機能情報ＣＰをセンサコントローラ３１が無条件で受け入れるものとして説明するが、センサコントローラ３１は、自身のリソースに応じて機能情報ＣＰ内に規定される情報の一部又は全部を受け入れないと決定し、決定の内容をスタイラス１００に通知することとしてもよい。この場合、スタイラス１００は、センサコントローラ３１が受け入れない情報を送信しない。この点についての詳細は、後に図１９を参照しながら説明する。
【０１０９】
＜Ａ２−２．データＤの通信＞
機能情報ＣＰまたはハッシュ値ＣＰ＿Ｈａｓｈの送信が完了した後、スタイラス１００は、データＤを含むデータ信号の送信を行う（ステップＳ１０〜Ｓ１５）。具体的には、まずビーコン信号ＢＳの検出を行う（ステップＳ１０）。
【０１１０】
ステップＳ１０でビーコンＢＳを検出した場合（ステップＳ１０の肯定判定）、スタイラス１００は、連続不検出カウンタを０にリセットする（ステップＳ１１）。そして、機能情報ＣＰのデータフォーマットＤＦｍｔに規定されるフォーマット（典型的には１１〜１４ビット）でインタラクティブデータＤＦを含むデータ信号を、少なくとも１つのフレームＦに１回送出する。
【０１１１】
なお、本実施の形態ではデータＤの送信に用いる時間スロットをスタイラス１００が決めるものとして説明するが、センサコントローラ３１がデータＤの送信に用いる時間スロットを決定し、決定の内容をスタイラス１００に通知することとしてもよい。この点についての詳細も、後に図１９を参照しながら説明する。
【０１１２】
図１５は、インタラクティブデータＤＦ及び非インタラクティブデータＤＩＮＦに対する時間スロットの割り当て例を示す図である。同図の例では、１４ビットの典型的なサイズを有するインタラクティブデータＤＦが、１つのフレームＦあたり４つの時間スロットｓ２，ｓ６，ｓ１０，ｓ１４で送信されている（データ信号ＤＦ１，ＤＦ２，ＤＦ３，ＤＦ４）。これら４つの時間スロットｓ２，ｓ６，ｓ１０，ｓ１４においては、１つずつインタラクティブデータＤＦが送信される。この例による時間スロットの割り当てによれば、図１５に示すように、個々のフレームＦ内は勿論、フレームＦを跨る場合にも、インタラクティブデータＤＦの送信に用いる時間スロット間のインターバルが維持される（フレームＦｎ＋１において最後に送信されるデータ信号ＤＦ４（時間スロットｓ１４）と、次のフレームＦｎ＋２において最初に送信されるデータ信号ＤＦ５（時間スロットｓ２）との間隔が、個々のフレームＦ内における間隔と同じ３時間スロットとなっている）。したがって、一定の周期Ｔ（＝４時間スロット）で周期的に、インタラクティブデータＤＦを送信することが可能になる。このようなシステム１の特徴は、インタラクティブデータＤＦが等間隔で取得されることを必要とするシステムコントローラ３２のアプリケーションに好適である。
【０１１３】
なお、図１５に示す周期Ｔの４時間スロットという値は、時間スロットｓ０，ｓ１（及び後述する時間スロットｓ１５）が予約されている条件の下で（すなわち、時間スロットｓ０がビーコン信号ＢＳの送信用、時間スロットｓ１がビーコン信号ＢＳに対する応答信号の送信用、時間スロットｓ１５が非インタラクティブデータＤＩＮＦの送信用としてそれぞれ予約されている条件の下で）最短である。このように周期Ｔを最短の値に設定することで、インタラクティブデータＤＦの送信回数を向上することができる。センサコントローラ３１にとっては、スタイラス１００の座標データをより詳細に取得することも可能になる。
【０１１４】
図１６は、インタラクティブデータＤＦ及び非インタラクティブデータＤＩＮＦに対する時間スロットの割り当ての他の例を示す図である。同図の例では、１４ビットの典型的なサイズを有するインタラクティブデータＤＦが、１つのフレームＦあたり４つの時間スロットｓ３，ｓ７，ｓ１１，ｓ１５で送信されている（データ信号ＤＦ１，ＤＦ２，ＤＦ３，ＤＦ４）。このような時間スロットの割り当てによっても、図１５の例と同じ最短の周期Ｔ（＝４時間スロット）で、インタラクティブデータＤＦを周期的に送信することが可能になる。
【０１１５】
図１１に戻り、スタイラス１００は、複数フレームＦに１回（数百フレームＦに１回）の割合で、非インタラクティブデータＤＩＮＦの送信も行う（ステップＳ１３）。なお、上述したように、スタイラス１００は、センサコントローラ３１からのポーリング（送信要求）に応じて、非インタラクティブデータＤＩＮＦの送信も行うこととしてもよい。この場合、センサコントローラ３１からのポーリングは、ビーコン信号ＢＳ内にコマンドのひとつとして配置される。
【０１１６】
再度図１５を参照すると、この例では、非インタラクティブデータＤＩＮＦが時間スロットｓ１５で送信されている。図１５の例では時間スロットｓ１５は普段は不使用とされているが、そのような時間スロットｓ１５を複数フレームＦに一度非インタラクティブデータＤＩＮＦの送出時間スロットとすることで、インタラクティブデータＤＦの送信周期Ｔに影響を及ぼさずに非インタラクティブデータＤＩＮＦを送信することが可能になる。
【０１１７】
一方、図１６の例では、非インタラクティブデータＤＩＮＦが時間スロットｓ１で送信されている。時間スロットｓ１は本来、上述したように、ビーコン信号ＢＳに対する応答信号（機能情報ＣＰ又はハッシュ値ＣＰ＿Ｈａｓｈ）の送信に用いられるものであるが、時間スロットｓ１が実際に応答信号の送信のために利用される確率は、他の時間スロットに比して低い。時間スロットｓ１で非インタラクティブデータＤＩＮＦを送信し、その結果、応答信号と非インタラクティブデータＤＩＮＦの衝突が発生するのは、スタイラス１００が複数フレームＦに１度、非インタラクティブデータＤＩＮＦを通信したタイミングで、偶然、新たなスタイラス１００がセンシング範囲ＳＲに入り、ビーコン信号ＢＳへの応答信号を送信した場合に限られる。したがって、スタイラス１００が時間スロットｓ１で非インタラクティブデータＤＩＮＦを送信したとしても実用上は問題なく、また、有限の時間スロットを有効に活用することができる。加えて、非インタラクティブデータＤＩＮＦを時間スロットｓ１５で送信するのをやめ時間スロットｓ１５を解放することで、時間スロットｓ３，ｓ７，ｓ１１，ｓ１５を他のデータＤ（インタラクティブデータＤＦ）の送信に用いることが可能になる。この場合、時間スロットｓ２，ｓ６，ｓ１０，ｓ１４と時間スロットｓ３，ｓ７，ｓ１１，ｓ１５とを互いに異なるスタイラス１００に割り当てることもでき、そうすることにより、複数のスタイラス１００がそれぞれ送信周期Ｔで（すなわち時分割多重で）、インタラクティブデータＤＦを送信することが可能になる。
【０１１８】
図１７は、インタラクティブデータＤＦがカスタムデータＣＤを含む場合における、インタラクティブデータＤＦ及び非インタラクティブデータＤＩＮＦに対する時間スロットの割り当て例を示す図である。図１７には、インタラクティブデータＤＦが、１１ビットの筆圧値ＴｉＰ、２ビットのバレルボタン状態ＢＢ、１ビットの反転Ｉｎｖ、及び、８ビットのカスタムデータＣＤを含む場合を描いている。なお、この場合、図６に示したカスタムデータフラグＣＤｆ及びカスタムデータサイズＣＤＳの値はともに１となる。この場合のインタラクティブデータＤＦのサイズは１つの時間スロットで送信可能な１６ビットより大きい２２ビットとなるため、スタイラス１００は、図１７に示すように、連続した２つの時間スロットを使用してインタラクティブデータＤＦの送信を行う。このような時間スロットの割り当てを用いることで、インタラクティブデータＤＦのサイズが１つの時間スロットで送信可能なサイズより大きくても、一定の周期Ｔでの送信が実現される。
【０１１９】
図１８は、インタラクティブデータＤＦがオリエンテーションＯＲを含む場合における、インタラクティブデータＤＦ及び非インタラクティブデータＤＩＮＦに対する時間スロット及び周波数の割り当て例を示す図である。同図の例では、２つの周波数ｆ０，ｆ１が利用され、周波数ｆ０では３つの時間スロット、周波数ｆ１では４つの時間スロットがインタラクティブデータＤＦの送信のために使用される。そして、オリエンテーションＯＲは、周波数ｆ０で２つの時間スロット、周波数ｆ１で３つの時間スロットの合計５つの時間スロットを使用して送信される。このような時間スロット及び周波数の割り当てを用いることで、インタラクティブデータＤＦのサイズが７つの時間スロットで送信しなければならないほどに大きいとしても、一定の周期Ｔでの送信が実現される。ただし、この場合の周期Ｔは、図１８と図１５〜図１７を比較すると理解されるように、図１５〜図１７における周期Ｔよりも長くなる。尚、このように周波数多重を利用できない場合には、合計７つの時間スロットを２以上のフレームＦにまたがって送信するとしても良い。
【０１２０】
＜Ａ２−３．センシング範囲ＳＲ内から出た後のスタイラス１００の動作＞
図１１に戻る。ステップＳ１０でビーコン信号ＢＳが検出されなくなった場合（ステップＳ１０の否定判定）、スタイラス１００は、連続不検出カウンタの値が所定の閾値Ｔｈより大きいか否かを判定し（ステップＳ１４）、大きくないと判定した場合には、連続不検出カウンタの値を１インクリメントして（ステップＳ１５）、ステップＳ１０に戻る。一方、ステップＳ１４で大きいと判定した場合には、センシング範囲ＳＲの外に移動したということを意味するので、スタイラス１００は、ステップＳ２、すなわちユーザによるテイルスイッチ１０３の操作を受付ける状態に戻る。
【０１２１】
次に、図１２は、センサコントローラ３１の動作フローを示す図である。センサコントローラ３１は、電源がオンされた後、次のＢ１で説明する動作を開始する。
【０１２２】
＜Ｂ１．機能情報ＣＰの受信＞
センサコントローラ３１は、時間スロットｓ０でビーコン信号ＢＳを繰り返し送出し（ステップＳ２０）、その都度、時間スロットｓ１でスタイラス１００からの応答信号Ａｃｋを待機する（ステップＳ２１）。
【０１２３】
ステップＳ２１で応答信号Ａｃｋであるダウンリンク信号ＤＳ（すなわち、時間スロットｓ１で受信されるダウンリンク信号ＤＳ）を受信した場合（Ｓ２１の肯定判定）、センサコントローラ３１は、受信した応答信号Ａｃｋに含まれていたデータを機能情報ＣＰのハッシュ値ＣＰ＿Ｈａｓｈとみなして取得する（ステップＳ２２）。そして、後述するステップＳ３３で過去に記憶していたハッシュ値ＣＰ＿Ｈａｓｈの中に一致するものがあるか否かを判定し（ステップＳ２３）、あると判定した場合には、そのハッシュ値ＣＰ＿Ｈａｓｈに対応づけて記憶していた機能情報ＣＰにより、現在接近中のスタイラス１００の機能情報ＣＰ（データフォーマットＤＦｍｔを含む）の内容を決定する（ステップＳ３０）。
【０１２４】
一方、ステップＳ２３で一致するものがないと判定した場合、センサコントローラ３１は、応答信号Ａｃｋに含まれていたデータを機能情報ＣＰの一部として蓄積する（ステップＳ２４）。そして、ここまでの処理を繰り返した結果、機能情報ＣＰの全部が蓄積されたか否かを判定し（ステップＳ２５）、全部が蓄積されたと判定した場合には、蓄積された機能情報ＣＰにより、現在接近中のスタイラス１００の機能情報ＣＰ（データフォーマットＤＦｍｔを含む）の内容を決定する（ステップＳ３０）。一方、まだ全部は蓄積されていないと判定した場合には、ステップＳ２０に戻ってビーコン信号ＢＳの送信を繰り返す。
【０１２５】
ステップＳ３０で機能情報ＣＰの内容を決定したスタイラス１００は、そのハッシュ値を導出し、機能情報ＣＰと対応づけて対応データとして記憶領域に記憶する（ステップＳ３３）。こうして作成される対応データの記憶領域（対応データ記憶領域）は、ハッシュ値をキーとして値を関連付けて保持するいわゆるハッシュテーブルとして実装できる。
【０１２６】
＜Ｂ２．データＤの受信＞
次に、センサコントローラ３１は、時間スロットｓ０においてビーコン信号ＢＳを再度送信する（ステップＳ４０）。そして、時間スロットｓ０，ｓ１以外で何らかのデータ信号を検出したか否かを判定し（ステップＳ４１）、検出したと判定した場合には、連続不受信カウンタの値を０にリセットする（ステップＳ４２）。その後、検出したデータ信号からインタラクティブデータＤＦを抽出することにより、インタラクティブデータＤＦを受信する（ステップＳ４３）。また、複数フレームＦに一度、検出したデータ信号から非インタラクティブデータＤＩＮＦを抽出することにより、非インタラクティブデータＤＩＮＦも受信する（ステップＳ４４）。
【０１２７】
他方、ステップＳ４１でデータ信号を検出していないと判定した場合、連続不受信カウンタの値が所定の閾値Ｔｈより大きいか否かを判定し（ステップＳ４５）、大きくないと判定した場合には、連続不受信カウンタの値を１インクリメントして（ステップＳ４６）、ステップＳ４０に戻る。一方、ステップＳ４５で大きいと判定した場合には、スタイラス１００がセンシング範囲ＳＲの外に退出したということを意味するので、センサコントローラ３１は、ステップＳ２０に戻って処理を継続する。
【０１２８】
以上説明したように、本実施の形態による、スタイラス１００及びセンサコントローラ３１を用いた方法、センサコントローラ３１、アクティブスタイラス１００、及びシステム１によれば、スタイラス１００が取得可能な１以上の個別インタラクティブデータに基づいて決定されるフォーマットによりデータ信号が構成されるので、スタイラス１００からセンサコントローラ３１に対し、１以上の個別インタラクティブデータを効率よく送ることが可能になる。その結果、スタイラス１００の多様な機能やユーザ操作による機能変更に柔軟に対応することが可能になり、特に、現在、機能（チルト検出機構の有無、パラメータの次元数、パラメータ値の意味等）の対応状況がスタイラス１００の種類によって大きく異なるオリエンテーションＯＲの通信に柔軟に対応することが可能となる。
【０１２９】
また、一度機能情報ＣＰをセンサコントローラ３１と共有した後には、機能情報ＣＰの全体ではなくハッシュ値ＣＰ＿Ｈａｓｈのみを送ることによって機能情報ＣＰをセンサコントローラ３１に通知することができるので、スタイラス１００がセンシング範囲ＳＲに頻繁に出入りを繰り返す状況でも、センサコントローラ３１が機能情報ＣＰを特定するために必要な時間を短くすることが可能となる。
【０１３０】
また、インタラクティブデータＤＦを含むデータ信号を一定の周期Ｔで送信することが可能になる。
【０１３１】
なお、本実施の形態において、図１１のステップＳ８でハッシュ値ＣＰ＿Ｈａｓｈを送信する際には、送信に先立ち機能情報ＣＰからハッシュ値ＣＰ＿Ｈａｓｈを導出する処理を行うと説明したが、この導出は、機能情報ＣＰの全体に基づいて行ってもよいし、一部のみに基づいて行ってもよい。以下、機能情報ＣＰの一部のみに基づいてハッシュ値ＣＰ＿Ｈａｓｈを導出する処理について、詳しく説明する。
【０１３２】
初めに、図５に示した機能情報ＣＰには、ユーザ操作又はセンサコントローラ３１からの設定によって変更されない第１の機能情報と、ユーザ操作又センサコントローラ３１からの設定によって変更可能な第２の機能情報とが含まれる。第１の機能情報は、例えばスタイラス１００が有する筆圧センサや角度センサなどのセンサの種別を示す情報であり、具体的には、スタイラス１００がバレルボタン１０４を有しているか否かを示す情報（図６に示したバレルボタン数ＢＢより示される情報。ＢＢ＝０はスタイラス１００がバレルボタン１０４を有していないことを示し、ＢＢ≠０はスタイラス１００がバレルボタン１０４を有していることを示す。）、スタイラス１００が傾き検出センサ又はツイスト検出センサを有しているか否かを示す情報（図７に示したオリエンテーションコードＯＲＣにより示される情報。例えばＯＲＣ＝１はスタイラス１００がツイスト検出センサを有していないことを示し、ＯＲＣ＝２はスタイラス１００がツイスト検出センサを有していることを示す。）、及び、スタイラス１００がその他のセンサを有しているか否かを示す情報（図６に示したカスタムデータフラグＣＤｆにより示される情報）などである。スタイラス１００が、当該スタイラス１００によって描かれる線の色を特定するか否かを示す情報（図５に示した色Ｃｏｌによって示される情報）も、第１の機能情報に含まれる。図５等には示していないが、機能情報ＣＰには１以上のバレルボタン１０４それぞれに付与された機能を特定する情報を含むことができ、その場合には、この情報も第１の情報のひとつとなる。この情報には、例えば、２つのバレルボタン１０４がある場合にプライマリとセカンダリを区別するための情報や、そのバレルボタン１０４が押されている間、スタイルＳｔｙｌが消しゴムになることを示す情報などが含まれる。
【０１３３】
一方、第２の機能情報は、例えばスタイラス１００によって描かれる線の色、幅、及び、鉛筆やボールペンなどブラシのタイプを特定する情報である。これらは、図５に示した色Ｃｏｌ及びスタイルＳｔｙｌによって示される。ユーザ識別子（ＵＩＤ）は、色、幅などインキングの情報を特定することができる情報であるため、これらを第２の機能情報に含めるとしてもよい。
【０１３４】
スタイラス１００がハッシュ値ＣＰ＿Ｈａｓｈを導出する際には、機能情報ＣＰのうち第２の機能情報にかかる部分のみに基づいて、ハッシュ値ＣＰ＿Ｈａｓｈを導出することとしてもよい。こうすることで、異なる機能情報ＣＰに対して同じハッシュ値ＣＰ＿Ｈａｓｈが導出されてしまう可能性（ハッシュ値が衝突する可能性）を減らすことができる。例えば、上記のように第２の機能情報にかかる部分のみに基づいてハッシュ値ＣＰ＿Ｈａｓｈを導出するようにすることにより、機能情報ＣＰの全体に基づいてハッシュ値ＣＰ＿Ｈａｓｈを導出する場合に比べ、ハッシュ値の導出のもとになる情報のサイズを小さくすることができる。ハッシュ値の衝突の可能性は、ハッシュ値の導出のもとになる情報のサイズが小さいほど小さくなるので、上記のようにすることにより、ハッシュ値が衝突する可能性を減らすことが可能になる。
【０１３５】
また、センサコントローラ３１は、図１２のステップＳ２３で、受信したハッシュ値ＣＰ＿Ｈａｓｈと一致するものが対応データ記憶領域内に記憶されていないと判定した場合に、スタイラス１００に対して、機能情報ＣＰの全体の送信要求を送信することとしてもよい。なお、この送信は、ビーコン信号ＢＳ内にコマンドのひとつとして上記送信要求を配置することによって行うことが好適である。この場合のスタイラス１００は、この送信要求を受け取った場合に、図１１のステップＳ６でペアリング済みでないと判定することとすればよい。そうすることで、スタイラス１００からセンサコントローラ３１に対し、機能情報ＣＰの全体を送信することが可能になる。
【０１３６】
また、センサコントローラ３１は、上述したように、スタイラス１００が送信した機能情報ＣＰを無条件に受け入れるのではなく、自身のリソースに応じて機能情報ＣＰ内に規定される情報の一部又は全部を受け入れないと決定してもよく、また、データＤの送信に用いる時間スロットを自身で決定することとしてもよい。以下、これらの点について図１９を参照しながら説明する。
【０１３７】
図１９は、図１２に示したセンサコントローラ３１の動作フローの変形例を示す図である。同図には、図１２に示したフローの一部のみを抜き出して描いている。
【０１３８】
図１９に示すように、本変形例によるセンサコントローラ３１は、ステップＳ２５ですべての機能情報ＣＰを受信するか、若しくは、ステップＳ２３で対応データ記憶領域から機能情報ＣＰを取得すると、これらと、利用可能なリソースに関する情報とに基づき、データフォーマットＤＦｍｔを仮に決定する（ステップＳ２６）。利用可能なリソースの情報とは、例えば時間スロットの空き状況である。そして、仮決定したデータフォーマットＤＦｍｔを指定するコマンドを、ビーコン信号ＢＳの一部としてスタイラス１００に通知する（ステップＳ２７）。
【０１３９】
その後、センサコントローラ３１はスタイラス１００が送信する応答信号Ａｃｋの検出を試み（ステップＳ２８）、検出しなかった場合には、スタイラス１００がセンシング範囲ＳＲの外に退出したか、又は、仮決定したデータフォーマットＤＦｍｔを受け入れなかったということであるとして、センサコントローラ３１は自身の処理を図１２のステップＳ２０に戻す。一方、ステップＳ２８で応答信号Ａｃｋを検出した場合には、仮決定した内容により機能情報ＣＰ（データフォーマットＤＦｍｔを含む）の内容を決定する（ステップＳ３０）。
【０１４０】
ステップＳ３０の後、センサコントローラ３１は、決定したデータフォーマットＤＦｍｔに基づいて、オフセット情報及びインターバル情報を決定する（ステップＳ３１）。オフセット情報は、フレームＦを構成する複数の時間スロットのうち少なくとも一部のインタラクティブデータＤＦの送信に用いるものを示す情報であり、より具体的には、フレームＦを構成する複数の時間スロットの中でインタラクティブデータＤＦが最初に送信される時間スロットの、フレームＦの先頭からの時間的な距離を示す情報である。例えば、図１５、図１７、及び図１８の例ではオフセット情報は２となり、図１６の例ではオフセット情報は３となる。一方、インターバル情報は、インタラクティブデータＤＦの送信周期を示す情報である。例えば、図１５乃至図１７の例ではケーデンス情報は４となり、図１８の例ではケーデンス情報は８となる。オフセット情報及びケーデンス情報は、要するに、１以上の個別インタラクティブデータのうちどの個別インタラクティブデータをどのタイミングで送信するかを規定するものであり、上述したデータフォーマットＤＦｍｔとともに、データＤを含むデータ信号の構成を決めるフォーマットを構成する。インターバル情報は、オフセット情報と異なり送信頻度で表わすことも可能であり、又、送信周期あるいは送信頻度を示す識別子で示すこともできる。
【０１４１】
ステップＳ３１でオフセット情報及びインターバル情報を決定したセンサコントローラ３１は、次いで、決定したオフセット情報及びインターバル情報を指定するコマンドを、ビーコン信号ＢＳの一部としてスタイラス１００に通知する（ステップＳ３２）。これ以降、スタイラス１００は、指定されたオフセット情報及びインターバル情報により示される時間スロットを利用して、インタラクティブデータＤＦを送信することになる。
【０１４２】
このように、センサコントローラ３１が、スタイラス１００の機能情報ＣＰと、スタイラス１００がデータＤの送信に用いる時間スロットとを決定することとしてもよい。こうすることで、センサコントローラ３１がスタイラス１００との通信を主導することが可能になる。
【０１４３】
次に、本発明の第２の実施の形態によるシステム１について説明する。本実施の形態によるシステム１は、機能情報ＣＰのハッシュ値として２つのハッシュ値を用いる点で、第１の実施の形態によるシステム１と相違する。以下、第１の実施の形態と同一の構成には同一の符号を付し、以下では、第１の実施の形態との相違点に着目して説明する。
【０１４４】
図２０は、本実施の形態によるスタイラス１００及びセンサコントローラ３１の動作フローを示す図である。同図には、センサコントローラ３１がスタイラス１００から機能情報ＣＰを受け取る処理にかかる動作フローを図示している。以下、同図を参照しながら、本実施の形態によるスタイラス１００及びセンサコントローラ３１の動作について説明する。
【０１４５】
まずスタイラス１００は、電源がオンされたときや、ハッシュ値に影響を及ぼす変更が機能情報ＣＰに加えられたとき（図１１のステップＳ２における肯定判定に相当）に、自身の機能情報ＣＰに基づいて２つのハッシュ値＃１，＃２（第１及び第２のハッシュ値）を導出する（ステップＳ５０，Ｓ５１）。この２つのハッシュ値＃１，＃２は、例えば１３ビットＣＲＣと１６ビットＦＮＶのような互いに異なる２種類のハッシュ関数（アルゴリズム）を用いて導出してもよいし、１つのハッシュ関数により導出されたハッシュ値の上位ビット列と下位ビット列をそれぞれハッシュ＃１，＃２としてもよい。また、上述した第１の機能情報に基づいてハッシュ＃１を導出し、第２の機能情報に基づいてハッシュ＃２を導出する、といった処理も可能である。
【０１４６】
スタイラス１００がセンサコントローラ３１のセンシング範囲ＳＲ（図１参照）に入り、センサコントローラ３１によって送信されたビーコン信号ＢＳを検出すると（ステップＳ６０，Ｓ５２）、スタイラス１００はまず、ハッシュ値＃１のみを送信する（ステップＳ５３）。この送信は、ビーコン信号ＢＳに対する応答信号の中にハッシュ値＃１を配置することによって行う。
【０１４７】
センサコントローラ３１は、ビーコン信号ＢＳに対する応答信号を検出すると（ステップＳ６１）、その中からハッシュ値＃１（と思われる情報）を取り出し、対応データ記憶領域に記憶しているか否かを判定する（ステップＳ６２）。ステップＳ６１で応答信号を検出しなかった場合には、ステップＳ６０に戻り、次のフレームで再度ビーコン信号ＢＳを送信する。
【０１４８】
ステップＳ６２で対応データ記憶領域に記憶していないと判定した場合、センサコントローラ３１は、スタイラス１００から機能情報ＣＰを読み出す（ステップＳ６３）。この読み出しは、具体的には、次のフレームで送信するビーコン信号ＢＳの中に、機能情報ＣＰの送信要求を示すコマンドＧｅｔ（ＣＰ）を配置することによって行う。これに応じてスタイラス１００が機能情報ＣＰを送信すると（ステップＳ５４）、センサコントローラ３１は、受信した機能情報ＣＰに基づいてハッシュ値＃２を導出し、受信したハッシュ値＃１及び機能情報ＣＰと対応付けて対応データ記憶領域に記憶する（ステップＳ６４）。なお、このステップＳ６４では、センサコントローラ３１がハッシュ値＃１も新たに導出することとしてもよい。
【０１４９】
一方、ステップＳ６２で対応データ記憶領域に記憶していると判定した場合、センサコントローラ３１は、受信したハッシュ値＃１と対応付けて記憶しているハッシュ値＃２を読み出し、スタイラス１００に送信する（ステップＳ６５）。この送信も、次のフレームで送信するビーコン信号ＢＳの中に、読み出したハッシュ値＃２を配置することによって行う。こうして送信されたハッシュ値＃２を受信したスタイラス１００は、それがステップＳ５１で導出したものと一致するか否かを判定し（ステップＳ５６）、一致する場合には応答信号Ａｃｋを、一致しない場合には失敗信号Ｆａｉｌを送信する。これらの送信は、ビーコン信号ＢＳに対する応答信号の中に応答信号Ａｃｋ又は失敗信号Ｆａｉｌを配置することによって行う。そして、失敗信号Ｆａｉｌを送信した場合にはステップＳ５２に戻って処理を継続し、応答信号Ａｃｋを送信した場合には、センサコントローラ３１の検出処理を終了して上述したデータ信号の送信処理（図１１に示したステップＳ１０以降の処理）に移行する。センサコントローラ３１は、ステップＳ６５で送信したハッシュ値＃２に対して応答信号Ａｃｋを検出したかを判定し（ステップＳ６６）、応答信号Ａｃｋを検出した場合にはスタイラス１００の検出処理を終了してデータ信号の受信処理（図１２に示したステップＳ４０以降の処理）に移行し、応答信号Ａｃｋを検出しなかった場合（又は失敗信号Ｆａｉｌを検出した場合）には、ステップＳ６３に戻って再度機能情報ＣＰの読み出し処理を行う。
【０１５０】
以上説明したように、本実施の形態によるシステム１によれば、センサコントローラ３１は、受信したハッシュ値＃１と対応付けて記憶しているハッシュ値＃２により、自身の対応データ記憶領域に記憶している機能情報ＣＰとスタイラス１００が有している機能情報ＣＰとの一致を再確認することができる。したがって、正しい機能情報ＣＰによる通信をより確実に行うことが可能になる。
【０１５１】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【０１５２】
例えば、上記各実施の形態では、同一のダウンリンク信号ＤＳにより、スタイラス１００の位置を示す座標データ（Ｘ，Ｙ）の導出と、インタラクティブデータＤＦ等の送信とが行われていたが、図２１に示すように、これらを別々のダウンリンク信号ＤＳにより実現することとしてもよい。すなわち、図２１には、座標データの導出専用の位置信号であるダウンリンク信号ＤＳと、インタラクティブデータＤＦを送信するためのダウンリンク信号ＤＳとを時分割で送信し、センサコントローラ３１は、前者のダウンリンク信号ＤＳのみに基づいてスタイラス１００の位置を示す座標データ（Ｘ，Ｙ）を導出する例を示している。このようにしても、センサコントローラ３１は、スタイラス１００の位置を示す座標データ（Ｘ，Ｙ）と、スタイラス１００が送信したインタラクティブデータＤＦとを好適に取得することができる。また、図１７及び図１８で示すインタラクティブデータＤＦ１も図２１の例と同じように、各々別個の時間スロットとして送信しても良い。
【符号の説明】
【０１５３】
１              システム
３              電子機器
３ａ            タッチ面
３０            センサ
３０Ｘ，３０Ｙ  線状電極
３１            センサコントローラ
３２            システムコントローラ
４０            選択部
４１ｘ，４１ｙ  導体選択回路
４４ｘ，４４ｙ  スイッチ
４９            検波回路
５０            受信部
５０            変換器
５１            増幅回路
５２            検波回路
５３            アナログデジタル変換器
６０            送信部
６１            制御信号供給部
６２            スイッチ
６３            直接拡散部
６４            拡散符号保持部
６５            送信ガード部
７０            ロジック部
１００          アクティブスタイラス
１０１          バッテリー
１０２Ｔ，１０２Ｒ  電極
１０３          テイルスイッチ
１０４          バレルボタン
１０５          操作状態検出部
１０６          スタイラスコントローラＩＣ
１１０          通信部
１１１          機能情報更新部
１１２          インタラクティブデータ取得部
１１３          非インタラクティブデータ取得部
ＢＢ            バレルボタン状態
ＢＢＮ          バレルボタン数
ＢＬ            バッテリーレベル
ＢＳ            ビーコン信号
ＣＢＳ          カスタムボタンサイズ
ＣＤ            カスタムデータ
ＣＤｆ          カスタムデータフラグ
ＣＤＳ          カスタムデータサイズ
Ｃｏｌ          色
ＣＯＳ          カスタムオリエンテーションサイズ
ＣＰ            機能情報
ＣＰ＿Ｈａｓｈ  機能情報ＣＰのハッシュ値
ＣＰＳ          カスタム筆圧サイズ
Ｄ              データ
ＤＦ            インタラクティブデータ
ＤＦｍｔ        データフォーマット
ＤＩＮＦ        非インタラクティブデータ
ＤＳ            ダウンリンク信号
Ｆ              フレーム
Ｉｎｖ          反転
ＯＣＴ          オリエンテーションコードテーブル
ＯＲ            オリエンテーション
ＯＲＣ          オリエンテーションコード
ＯＲＲ          オリエンテーション分解能
ＯＲＲ          オリエンテーション分解能
ＰＬ            筆圧段階指示数
Ｒｘ            受信部
ＳＲ            センシング範囲
Ｓｔｙｌ        スタイル
ＴａＰ          接線方向筆圧値
ＴａＰｆ        接線方向筆圧フラグ
ＴｉＰ          筆圧値
Ｔｘ            送信部
【図１】
2018026164.tif 000003
【図２】
2018026164.tif 000004
【図３】
2018026164.tif 000005
【図４】
2018026164.tif 000006
【図５】
2018026164.tif 000007
【図６】
2018026164.tif 000008
【図７】
2018026164.tif 000009
【図８】
2018026164.tif 000010
【図９】
2018026164.tif 000011
【図１０】
2018026164.tif 000012
【図１１】
2018026164.tif 000013
【図１２】
2018026164.tif 000014
【図１３】
2018026164.tif 000015
【図１４】
2018026164.tif 000016
【図１５】
2018026164.tif 000017
【図１６】
2018026164.tif 000018
【図１７】
2018026164.tif 000019
【図１８】
2018026164.tif 000020
【図１９】
2018026164.tif 000021
【図２０】
2018026164.tif 000022
【図２１】
2018026164.tif 000023