(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022132527
(43)【公開日】2022-09-08
(54)【発明の名称】ペン又は前記ペンを検出するためのペン検出装置により実行される方法
(51)【国際特許分類】
G06F 3/03 20060101AFI20220901BHJP
G06F 3/041 20060101ALI20220901BHJP
G06F 3/044 20060101ALI20220901BHJP
【FI】
G06F3/03 400A
G06F3/041 520
G06F3/041 580
G06F3/044 B
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022114882
(22)【出願日】2022-07-19
(62)【分割の表示】P 2018012466の分割
【原出願日】2018-01-29
(71)【出願人】
【識別番号】000139403
【氏名又は名称】株式会社ワコム
(74)【代理人】
【識別番号】100130982
【弁理士】
【氏名又は名称】黒瀬 泰之
(72)【発明者】
【氏名】大山 貴也
(72)【発明者】
【氏名】鈴木 謙
(72)【発明者】
【氏名】杉山 義久
(72)【発明者】
【氏名】鈴木 崇志
(57)【要約】
【課題】インク漏れ現象を早期に解消する。
【解決手段】本発明による方法は、ペン又は前記ペンを検出するためのペン検出装置により実行される方法であって、前記ペンに設けられる筆圧検出センサから、前記ペンのペン先に加わる力に応じた筆圧レベルを取得するステップと、前記筆圧レベルと第1の閾値との比較結果に基づき、ペンダウンイベントを発生させるステップと、前記筆圧レベルと前記第1の閾値とは異なる第2の閾値との比較結果に基づき、ペンアップイベントを発生させるステップと、を含む。
【選択図】
図9
【特許請求の範囲】
【請求項1】
ペン又は前記ペンを検出するためのペン検出装置により実行される方法であって、
前記ペンに設けられる筆圧検出センサから、前記ペンのペン先に加わる力に応じた筆圧レベルを取得するステップと、
前記筆圧レベルと第1の閾値との比較結果に基づき、ペンダウンイベントを発生させるステップと、
前記筆圧レベルと前記第1の閾値とは異なる第2の閾値との比較結果に基づき、ペンアップイベントを発生させるステップと、
を含む方法。
【請求項2】
前記第1の閾値より大きい値となるように前記第2の閾値を算出するステップ、
をさらに含む請求項1に記載の方法。
【請求項3】
前記第2の閾値を算出するステップは、前記第1の閾値と前記ペンがペンダウンの状態にある間における前記筆圧レベルのピーク値とに基づいて、前記第2の閾値を算出する、
請求項2に記載の方法。
【請求項4】
前記第2の閾値を算出するステップは、前記第1の閾値と前記ペンがペンダウンの状態にある時間の長さとに基づいて、前記第2の閾値を算出する、
請求項2に記載の方法。
【請求項5】
前記ペンがペンアップの状態である場合に、前記筆圧レベルに基づいて前記第1の閾値の更新を行うステップ、
をさらに含む請求項1に記載の方法。
【請求項6】
前記ペンアップイベントが発生したことに応じて、前記第1の閾値を前記第2の閾値より大きい値に設定するステップ、
をさらに含む請求項5に記載の方法。
【請求項7】
ペン又は前記ペンを検出するためのペン検出装置により実行される方法であって、
前記ペンのペン先に加わる力に応じた筆圧レベルを取得するステップと、
前記筆圧レベルと筆圧判定閾値との比較結果に基づき、ペンダウンイベントを発生させるペンダウンイベント発生ステップと、
前記ペンダウンイベントの発生をトリガーとして前記筆圧判定閾値を更新する第1の更新ステップと、を含み、
前記ペンダウンイベント発生ステップは、前記筆圧レベルと、k回目の前記ペンダウンイベントが発生したことをトリガーとして前記第1の更新ステップにより更新された後の前記筆圧判定閾値との比較結果に基づき、k+1回目のペンダウンイベントを発生させる、
方法。
【請求項8】
前記ペンダウンイベント発生ステップは、前記前記筆圧レベルが前記筆圧判定閾値を上回ったことに基づき、前記ペンダウンイベントを発生させる、
請求項7に記載の方法。
【請求項9】
前記第1の更新ステップは、前記ペンダウンイベントが発生した後、前記筆圧レベルが前記筆圧判定閾値より小さい第1の補助閾値を下回った場合に、前記筆圧判定閾値を更新する、
請求項7又は8に記載の方法。
【請求項10】
所定回数分の過去の前記筆圧レベルが、いずれも第2の補助閾値以下であり、かつ、最大変動幅が第3の補助閾値以下である状態となった場合に、前記筆圧判定閾値を更新する第2の更新ステップ、
をさらに含む請求項9に記載の方法。
【請求項11】
前記第2の補助閾値は、前記第1の補助閾値よりも大きい、
請求項10に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ペン又は前記ペンを検出するためのペン検出装置により実行される方法に関する。
【背景技術】
【0002】
パネル面上におけるペンの位置を検出することにより、ペン入力を可能にした電子機器が知られている。この種の電子機器におけるペンの検出は、ペンに内蔵された筆圧検出センサによって検出された筆圧のレベルを示す筆圧レベルに基づいて行われる。具体的に説明すると、ペンは、電子機器内のペン検出装置に対して、位置検出用のバースト信号と、筆圧検出センサの検出結果を含むデータ信号とを送信する。ペン検出装置は、バースト信号に基づいてパネル面上におけるペンの位置を検出する一方、受信した筆圧検出センサの検出結果から筆圧レベルを取得してその閾値判定を行い、筆圧レベルが所定の閾値(以下、「筆圧判定閾値」と称する)を上回った場合にペンがパネル面に接触したことを検出し、ペンダウンイベントを発生させる。また、筆圧レベルが筆圧判定閾値を下回った場合にペンがパネル面から離れたことを検出し、ペンアップイベントを発生させる。ペン検出装置は、検出したペンの位置、データ信号により受信した各種データ(筆圧レベルを含む)、及び各種イベントの発生を示すデータを、その都度、電子機器内のホストプロセッサに出力する。
【0003】
ホストプロセッサは、描画アプリケーションを実行可能に構成される。この描画アプリケーションは、ペンダウンイベントの発生からペンアップイベントの発生までの間に検出された一連の位置(ペンの軌跡)を、各位置に対応する筆圧レベルに応じた太さで描画する処理を行う。したがって、もし仮に筆圧判定閾値が適切な値になっておらず、ペンが既にパネル面に接しているにも関わらず、更に力を加えないとペンダウンイベントが発生しなかったり、逆に、ペンが既にパネル面から離れているにもかかわらずペンアップイベントが発生しなかったりすると、接触状態とは異なる描画処理がなされることになるので、ユーザの使用感に悪影響が生ずる。
【0004】
特許文献1には、筆圧判定閾値のキャリブレーションを行う発明が開示されている。この発明では、現在の筆圧判定閾値より小さく、かつ、所定の偏差内で推移している筆圧レベルを統計的に処理することによって筆圧レベルの基準レベルVzeroが導出され、この基準レベルVzeroに所定のオフセットVoffsetを加算してなる値Vzero+Voffsetが新たな筆圧判定閾値として用いられる。これによれば、筆圧検出センサの出力レベルのペンごとの又は経時的なバラつきに起因してペンダウンイベントの発生タイミングにバラつきが生ずることを抑制可能となる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願公開第2017-0131817号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、筆圧判定閾値に関しては、上記特許文献1の技術によっても解決されないいくつかの課題が存在する。以下、詳しく説明する。
【0007】
1つ目の課題は、インク漏れ現象の発生である。筆圧検出センサはヒステリシス(負荷時に筐体に押し込まれた芯体が除荷時に筐体に引っかかったりするなど、負荷時と除荷時とで異なる摩擦力が発生するために生じる構造的なヒステリシス、或いは、筆圧検出センサに用いられる部材(例えば可変容量コンデンサなどに用いられる弾性体等)が有する物性的なヒステリシスなど。以下では、これらのヒステリシスを総称して、単に「ヒステリシス」と称する)を有しており、ペン先にしばらく力が加わった後にその力がなくなっても、その出力レベルは直ちには元のレベルに戻らず、ある程度の時間をかけてゆっくりと戻っていく。このような筆圧検出センサの性質のため、ペンアップ後にも筆圧レベルが筆圧判定閾値を上回る状態が継続し、しばらくの間、描画アプリケーションによる描画が続く場合があり、そのような場合、インク漏れが生じているような感覚をユーザに与えてしまうことになる。以下では、この現象を「インク漏れ現象」と称する。
【0008】
2つ目は、特許文献1に記載の方法により筆圧判定閾値のキャリブレーションを行うとしても、ペンアップの後、次のペンダウンまでの間にキャリブレーションが完了しない場合がある、という課題である。特許文献1に記載の方法により筆圧判定閾値のキャリブレーションを行うためには、ペンアップ状態で所定時間にわたって筆圧レベルのサンプルを取得する必要がある。しかしながら、ユーザによるペンの操作が素早い場合などには、ペンアップの後、次のペンダウンまでの間に、十分な数のサンプルを得られない場合がある。また、ペン先がペンの筐体に引っかかった結果、ペンアップ状態における筆圧レベルが上記所定の偏差を超えて変動する場合があり、そのような場合にもキャリブレーションのために必要な筆圧レベルのサンプルが得られない可能性がある。これらの結果として、ペンアップの後、次のペンダウンまでの間にキャリブレーションが完了しなくなってしまう。
【0009】
3つ目は、筆圧判定閾値のキャリブレーションが適時に実行されないという課題である。キャリブレーションは通常、ペンダウンごとに1回行えば十分であると考えられるが、特許文献1の技術では、ペンアップ状態である間、ペン内部でキャリブレーションが繰り返し実行されることになる可能性がある。このような繰り返し処理は、ペンの電池寿命を低下させる可能性がある。
【0010】
したがって、本発明の目的の一つは、以上のような課題を解決することのできる、ペン又は前記ペンを検出するためのペン検出装置により実行される方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明の第1の側面によるペン又は前記ペンを検出するためのペン検出装置により実行される方法は、前記ペンのペン先に加わる力に応じた筆圧レベルを取得するステップと、前記筆圧レベルと筆圧判定閾値との比較結果に基づき、ペンダウンイベント又はペンアップイベントを発生させるステップと、前記ペン及び前記ペン検出装置のいずれか一方に設けられる近接検出手段から、前記ペンと前記ペン検出装置との位置関係を示す近接度を取得するステップと、前記ペンと前記ペン検出装置との位置関係が所定の関係を満たしていることが前記近接度により示される場合に、前記筆圧レベルに基づいて前記筆圧判定閾値を更新するステップと、を含む方法である。
【0012】
本発明の第2の側面によるペン又は前記ペンを検出するためのペン検出装置により実行される方法は、前記ペンに設けられる筆圧検出センサから、前記ペンのペン先に加わる力に応じた筆圧レベルを取得するステップと、前記筆圧レベルと第1の閾値との比較結果に基づき、ペンダウンイベントを発生させるステップと、前記筆圧レベルと前記第1の閾値とは異なる第2の閾値との比較結果に基づき、ペンアップイベントを発生させるステップと、を含む方法である。
【0013】
本発明の第3の側面によるペン又は前記ペンを検出するためのペン検出装置により実行される方法は、前記ペンのペン先に加わる力に応じた筆圧レベルを取得するステップと、前記筆圧レベルと筆圧判定閾値との比較結果に基づき、ペンダウンイベントを発生させるペンダウンイベント発生ステップと、前記ペンダウンイベントの発生をトリガーとして前記筆圧判定閾値を更新する第1の更新ステップと、を含み、前記ペンダウンイベント発生ステップは、前記筆圧レベルと、k回目の前記ペンダウンイベントが発生したことをトリガーとして前記第1の更新ステップにより更新された後の前記筆圧判定閾値との比較結果に基づき、k+1回目のペンダウンイベントを発生させる、方法である。
【発明の効果】
【0014】
本発明の第1の側面によれば、適切なときに取得された1つの筆圧レベルに基づいて(統計によらず)筆圧判定閾値を更新できるので、ペンアップの後、次のペンダウンまでの間にキャリブレーションが完了しない可能性を低減できる。また、近接検出手段から取得される近接度によりペンとペン検出装置との位置関係が所定の関係を満たしていることが示される場合に、直ちに筆圧判定閾値の更新を行うことができるので、インク漏れ現象を軽減することができる。
【0015】
本発明の第2の側面によれば、筆圧検出センサのヒステリシスによらず、適切にペンダウンイベント及びペンアップイベントを発生させることが可能になるので、インク漏れ現象を早期に解消することが可能になる。
【0016】
本発明の第3の側面によれば、ペンダウンごとに1回だけ筆圧判定閾値を更新することができるので、筆圧判定閾値のキャリブレーションを適時に実行することが可能になる。また、ユーザによるペンの操作が素早い場合など、特許文献1に記載されるキャリブレーションのような時間のかかるキャリブレーションができない場合にも、筆圧判定閾値を更新することが可能になる。
【図面の簡単な説明】
【0017】
【
図1】本発明の第1の実施の形態による位置検出システム1の構成を示す図である。
【
図2】
図1に示した筆圧検出部22及び信号処理部24の機能ブロックを示す略ブロック図である。
【
図3】ペン2及びペン検出装置34の相対的な位置関係と、近接度Sとの関係を示す図である。
【
図4】筆圧レベルraw_Pと正規化筆圧レベルmod_Pの関係を示す図である。
【
図8】
図2に示したイベント判定・閾値更新部43の動作を示す図である。
【
図9】
図2に示したイベント判定・閾値更新部43が行う処理の処理フローを示すフロー図である。
【
図10】本発明の第2の実施の形態によるイベント判定・閾値更新部43の動作を示す図である。
【
図11】ピーク値PEAKの値がP1である場合とP2(>P1)である場合とのそれぞれについて、筆圧レベルraw_Pの変化を模式的に示す図である。
【
図12】ペン2がペンダウンの状態にある時間がt2-t1である場合とt2-t0(t0<t1)である場合とのそれぞれについて、筆圧レベルraw_Pの変化を模式的に示す図である。
【
図13】本発明の第2の実施の形態によるイベント判定・閾値更新部43が行う処理の処理フローを示すフロー図である。
【
図14】本発明の第2の実施の形態によるイベント判定・閾値更新部43が行う処理の処理フローを示すフロー図である。
【
図15】本発明の第3の実施の形態によるイベント判定・閾値更新部43の動作を示す図である。
【
図16】本発明の第3の実施の形態によるイベント判定・閾値更新部43が行う処理の処理フローを示すフロー図である。
【
図17】本発明の第3の実施の形態によるイベント判定・閾値更新部43が行う処理の処理フローを示すフロー図である。
【
図18】本発明の第3の実施の形態の変形例によるイベント判定・閾値更新部43が行う処理の処理フローを示すフロー図である。
【
図19】
図18のステップS51で実行されるキャリブレーション処理の詳細を示すフロー図である。
【
図20】本発明の第3の実施の形態の変形例によるイベント判定・閾値更新部43の動作を示す図である。
【発明を実施するための形態】
【0018】
以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
【0019】
図1は、本発明の第1の実施の形態による位置検出システム1の構成を示す図である。同図に示すように、位置検出システム1は、ペン2と、電子機器3とを備えて構成される。このうち電子機器3は例えばタブレット型のコンピュータであり、例えば液晶ディスプレイ又は有機ELディスプレイである表示装置30と、表示装置30の背面(又は前面)に配設されたセンサ31と、センサ31に接続されたセンサコントローラ32と、これらを含む電子機器3の各部を制御するホストプロセッサ33とを有して構成される。このうちセンサ31及びセンサコントローラ32は、ペン2を検出するためのペン検出装置34を構成する。表示装置30の表示面は平坦なガラス面であり、その上でユーザがペン2を摺動させるためのパネル面3tを構成する。
【0020】
センサコントローラ32とペン2とは、センサ31を介して相互に信号を送受信可能に構成される。以下、ペン2がセンサコントローラ32に向けて送信する信号をダウンリンク信号DSと称し、センサコントローラ32がペン2に向けて送信する信号をアップリンク信号USと称する。ダウンリンク信号DSは、センサコントローラ32にペン2の位置を検出させるためのバースト信号と、ペン2に付与されたペンID、後述する筆圧検出部22により検出された筆圧レベル、後述するスイッチ23のオンオフ状態を示すデータなどの各種データを変調してなるデータ信号とを含んで構成される。一方、アップリンク信号USは、センサコントローラ32からペン2への命令を示すコマンド信号を含んで構成される。
【0021】
ユーザは、ペン先をパネル面3tに当接させた状態でペン2を移動させることにより、電子機器3へのペン入力を行う。
図1中の破線矢印C1~C5は、ユーザがペン2を操作する典型的なサイクルを示している。また、
図1に示したセンシング範囲SRは、センサコントローラ32が送信するアップリンク信号USをペン2が受信することにより、又は、ペン2が送信するダウンリンク信号DSをセンサコントローラ32が受信することにより、ペン2及びセンサコントローラ32のいずれか一方が他方を検出可能な範囲を示している。
【0022】
ユーザは、ペン2を使用してパネル面3t上に線を描く際、ペン2をセンシング範囲SRの外からセンシング範囲SR内に移動させ(ペンダウン操作。
図1のC1,C2)、ペン先をパネル面3tに当接させた状態でペン2を移動させた後(ペンムーブ操作。
図1のC3)、センシング範囲SR内からセンシング範囲SR外に移動させる(ペンアップ操作。
図1のC4,C5)、という一連のサイクルを繰り返す。センサコントローラ32は、ペン2がセンシング範囲SR内にいる間、センサ31を介してダウンリンク信号DSを受信することによってパネル面3t上におけるペン2の位置を検出するとともに、ペン2が送信した各種データを受信する。そして、受信したデータの中に含まれる筆圧レベルに基づき、適宜、ペンダウンイベント及びペンアップイベントを発生させる。センサコントローラ32は、検出した位置、受信した各種データ、及びイベントの発生を示すデータを、その都度、ホストプロセッサ33に対して出力する。ホストプロセッサ33は、ペンダウンイベントからペンアップイベントまでの間に供給された一連の位置に基づいて、線画のレンダリングを実行する。これによりユーザは、所望の図形を電子機器3に入力することが可能になる。
【0023】
ペン2は、
図1に示すように、芯体20、電極21、筆圧検出部22、スイッチ23、信号処理部24、及び電源25を有している。
【0024】
芯体20は、その長手方向がペン2のペン軸方向と一致するように配置される棒状の部材であり、ペン2のペン先を構成する。芯体20の先端部の表面には導電性材料が塗布され、電極21を構成している。芯体20の後端部は、筆圧検出部22に当接している。筆圧検出部22は、センサコントローラ32のパネル面3t等にペン2のペン先を押し当てたときに芯体20の先端に加わる圧力(芯体20に加えられた筆圧)に応じた筆圧レベルを検出するセンサ(筆圧検出センサ)であり、例えば、筆圧に応じて静電容量の変化する可変容量モジュールにより構成される。
【0025】
電極21は、芯体20の近傍に設けられる導電体であり、配線により信号処理部24と電気的に接続されている。ペン2がセンサコントローラ32に向けてダウンリンク信号DSを送信するとき、信号処理部24から電極21に対してダウンリンク信号DSが供給され、これに応じて、ダウンリンク信号DSの内容に応じた電荷が電極21に誘導される。これによりセンサ31内で静電容量の変化が生じ、センサコントローラ32は、この変化を検出することによりダウンリンク信号DSを受信する。また、センサコントローラ32が送信しているアップリンク信号USが電極21に到来すると、電極21には、到来したアップリンク信号USに応じた電荷が誘導される。信号処理部24は、こうして電極21に誘導された電荷を検出することにより、アップリンク信号USを受信する。
【0026】
スイッチ23は、例えばペン2の筐体の側面に設けられたサイドスイッチであり、ユーザによる操作を受け付け可能に構成された入力部として機能する。具体的には、ユーザによる操作の状態(押下状態)に応じて、自身の押下状態を示すスイッチ情報を信号処理部24に出力するよう構成される。スイッチ情報は、例えばオンとオフの2つの状態のいずれか一方を示す情報である。
【0027】
信号処理部24は、センサコントローラ32が送信するアップリンク信号USを電極21を介して受信して復号する機能と、アップリンク信号USに含まれるコマンド信号に応じてダウンリンク信号DSを生成し、センサコントローラ32に向け、電極21を介して送信する機能とを有する。なお、上述したペンIDは、信号処理部24の内部メモリ(図示せず)内に製造段階で書き込まれる。
【0028】
また、信号処理部24は、筆圧検出部22により検出された筆圧レベルに基づいて、ペン2がパネル面3tに接触したことを示すペンダウンイベントと、ペン2がパネル面3tから離れたことを示すペンアップイベントとを発生させ、その都度、各イベントを示すデータをダウンリンク信号DSに含めて送信する機能と、アップリンク信号USの受信強度を検出し、その結果に基づいてペン2とセンサコントローラ32との位置関係を示す近接度を取得する機能と、ペンダウンイベントの発生及びペンアップイベントの発生を検出するために用いる筆圧レベルの閾値(筆圧判定閾値)を保持するとともに、必要に応じて更新する機能とを有し得る。この点の詳細については、後述する第3の実施の形態で説明する。
【0029】
電源25は、信号処理部24に動作電力(直流電圧)を供給するためのもので、例えば円筒型のAAAA電池により構成される。
【0030】
センサ31は、複数のセンサ電極(図示せず)を含んで構成される。センサコントローラ32は、センサ31を介してダウンリンク信号DSを受信し、各センサ電極でのダウンリンク信号DSの受信強度に基づいて、パネル面3t上におけるペン2の位置を検出する。また、ダウンリンク信号DSを復調することにより、データ信号に含まれる各種データを取得するとともに、その中の筆圧レベルに基づいて、ペン2がパネル面3tに接触したことを示すペンダウンイベントと、ペン2がパネル面3tから離れたことを示すペンアップイベントとを発生させる。センサコントローラ32は、検出した位置、取得した各種データ、及びイベントの発生を示すデータを、逐次、ホストプロセッサ33に供給する。
【0031】
ホストプロセッサ33は電子機器3の中央処理装置であり、描画アプリケーションを含む各種のアプリケーションを動作させることができる。描画アプリケーションを動作させる場合、ホストプロセッサ33は、センサコントローラ32から逐次供給される離散的な位置を補間することによって線画をレンダリングし、レンダリング結果を表示装置30に出力する。これにより、ユーザがペン2を用いて入力した図形がパネル面3t上に表示される。
【0032】
図2は、筆圧検出部22及びセンサコントローラ32の機能ブロックを示す略ブロック図である。同図に示すように、筆圧検出部22は機能的に筆圧信号取得部40及び筆圧レベル取得部41を有して構成され、センサコントローラ32は機能的に近接度検出部42(近接検出手段)及びイベント判定・閾値更新部43を有して構成される。
【0033】
筆圧信号取得部40は、芯体20の先端に加わる圧力Fをアナログ筆圧信号APに変換する処理を行う。筆圧レベル取得部41は、このアナログ筆圧信号APに基づき、デジタル値である筆圧レベルraw_Pを生成する。具体的な例では、筆圧信号取得部40は時定数回路であり、筆圧レベル取得部41はクロック計数部である。この場合、アナログ筆圧信号APは、圧力Fに応じて変化する静電容量により決定される時定数に応じた時間を示す信号となる。また、筆圧レベル取得部41は、アナログ筆圧信号APにより指定される時間にわたって、図示しない発振器から供給されるクロックをカウントする回路となる。筆圧レベルraw_Pは、このカウントの結果を示す信号となる。
【0034】
筆圧検出部22によって検出された筆圧レベルraw_Pは、
図1に示した信号処理部24により、データ信号の一部としてセンサコントローラ32に対して送信される。なお、信号処理部24からセンサコントローラ32に対してアナログ筆圧信号APを送信することとし、筆圧レベル取得部41の機能をセンサコントローラ32内に設けることとしてもよい。
【0035】
近接度検出部42は、各センサ電極におけるダウンリンク信号DSの受信強度の中の最大値(最大受信強度)を検出する機能を有する。検出した最大受信強度は、ペン2とペン検出装置34との位置関係を示す近接度Sとして、イベント判定・閾値更新部43に供給される。
【0036】
イベント判定・閾値更新部43は、ペン2から受信した筆圧レベルraw_Pと、予め記憶している筆圧判定閾値とを比較し、その結果に基づいて、ペンダウンイベント及びペンアップイベントを発生させる機能を有する。また、イベント判定・閾値更新部43は、ペン2とペン検出装置34との位置関係が所定の関係を満たしていることが近接度検出部42から供給される近接度Sにより示される場合に、筆圧レベルraw_Pに基づいて筆圧判定閾値を更新するよう構成される。
【0037】
図3は、ペン2及びペン検出装置34の相対的な位置関係と、近接度Sとの関係を示す図である。本実施の形態では、近接度Sの値により、ペン2及びセンサコントローラ32の相対的な位置関係を3種類に分類する。具体的には、近接度Sが0である(つまり、センサコントローラ32がダウンリンク信号DSを受信できない領域である)ゾーン1と、近接度Sが0より大きく所定の閾値Sthより小さいゾーン2と、近接度Sが閾値Sth以上であるゾーン3とに分類する。近接度Sはセンサコントローラ32におけるダウンリンク信号DSの最大受信強度であることから、これらゾーン1~3は、パネル面3tからの距離を表している。具体的には、ゾーン3がパネル面3tに最も近い領域を表し、ゾーン1がパネル面3tからに最も遠い領域を表し、ゾーン2はゾーン1とゾーン3とに挟まれた領域を表す。
【0038】
イベント判定・閾値更新部43が筆圧判定閾値の更新を行うのは、ペン2がゾーン2にいることが近接度Sにより示される場合である。この場合、ダウンリンク信号DSの受信は可能である一方で、ペン2のペン先がパネル面3tに接触していないことが保証される。そこでイベント判定・閾値更新部43は、ペン2がゾーン2にいることが近接度Sにより示される場合の筆圧レベルraw_Pを筆圧レベルの基準値(ペン先に圧力が加わっていない場合の筆圧レベルraw_Pを示す値。後述するシステム基準値)とし、その基準値に基づいて、筆圧判定閾値の更新を行う。
【0039】
図2に戻る。イベント判定・閾値更新部43は、ペンダウンイベント及びペンアップイベントの発生を示すデータ、及び、ペン2から受信した筆圧レベルをホストプロセッサ33(
図1を参照)に供給するよう構成される。ただし、イベント判定・閾値更新部43は、筆圧検出部22によって検出された筆圧レベルraw_Pをそのままホストプロセッサ33に供給するのではなく、正規化したうえでホストプロセッサ33に供給する。以下、こうして正規化された筆圧レベルraw_Pを正規化筆圧レベルmod_Pと称する。
【0040】
図4は、筆圧レベルraw_Pと正規化筆圧レベルmod_Pの関係を示す図である。同図に示すように、筆圧レベルraw_PはMin以上Max以下の値であり、正規化筆圧レベルmod_Pは0以上mod_Max以下の値である。イベント判定・閾値更新部43は、筆圧レベルraw_Pが筆圧判定閾値T未満である場合には、正規化筆圧レベルmod_Pを0に固定する。一方、筆圧レベルraw_Pが筆圧判定閾値T以上である場合には、次の式(1)により正規化筆圧レベルmod_Pを決定する。
mod_P=((mod_Max-1)×raw_P+Max-mod_Max×T)/(Max-T)・・・(1)
【0041】
式(1)によれば、筆圧レベルraw_Pが筆圧判定閾値Tに等しい場合に正規化筆圧レベルmod_Pが1となり、筆圧レベルraw_Pが最大値Maxである場合に正規化筆圧レベルmod_Pが最大値mod_Maxとなる。筆圧レベルraw_Pの最小値Min、最大値Max、及び筆圧判定閾値Tは筆圧検出部22の種類や個体差によって変化するが、筆圧判定閾値Tを越える所定の同じ力が加えられているにもかかわらず、筆圧検出部22の種類や個体差によって、或いはペンダウン操作のタイミングによって、出力される筆圧レベルが異なるのは好ましくない。筆圧レベルraw_Pに代えて正規化筆圧レベルmod_Pを用いることで、筆圧検出部22の種類や個体差がホストプロセッサ33のレンダリング結果に及ぼす影響を低減することが可能になる。
【0042】
ここで、筆圧判定閾値Tについて、詳しく説明する。
図5は、筆圧判定閾値Tを説明するための図である。同図では、横軸が時間tの経過を表し、縦軸が筆圧レベルraw_Pを表している。この点は、後掲する各図でも同様である。
【0043】
イベント判定・閾値更新部43は内部変数として、筆圧判定閾値Tの他、システム基準値ST及びマージンM1を有して構成される。システム基準値STは、ペン2のペン先に圧力が加わっていない状態において取得される筆圧レベルraw_Pに対応する値である。マージンM1は固定値であり、筆圧判定閾値Tとシステム基準値STの差分T-STに等しい。別の言い方をすれば、筆圧判定閾値Tは、
図5に示すように常にシステム基準値STよりM1だけ大きい値となっている。したがって、筆圧判定閾値Tを導出ないし更新することと、システム基準値STを導出ないし更新することとは等価である。
【0044】
システム基準値STは、その定義から、ペン2のペン先に圧力が加わっていないときには筆圧レベルraw_Pに等しいことが期待される。
図5のt<t0には、その期待どおりとなっている状態が示されている。ただし、同図にも示すように、筆圧レベルraw_Pには一定のリップルが生ずることが通常であるので、システム基準値STは、筆圧レベルraw_Pの平均値に等しい値となる。
【0045】
図5の例では、時刻t0の近傍で、ユーザによるペンダウン操作が行われている。同図に示すように、ペンダウン操作が行われると、それに伴って筆圧レベルraw_Pが上昇する。筆圧レベルraw_Pが筆圧判定閾値Tを上回ると、イベント判定・閾値更新部43によってペンダウンイベントが起動される。このイベントを用いて、ホストプロセッサ33で動作する描画アプリケーションによる線のレンダリング等が開始される。
【0046】
その後、ユーザがペンアップ操作を行ったことにより、時刻t1で筆圧レベルraw_Pが筆圧判定閾値Tを下回ると、イベント判定・閾値更新部43によってペンアップイベントが起動される。これにより、描画アプリケーションによる線のレンダリングが終了する。
【0047】
ここで、
図5において、時刻t0より前の筆圧レベルraw_Pと、時刻t1より後の筆圧レベルraw_Pとを比較すると、後者の方が大きくなっていることが理解される。ともにペンアップ状態であるので、本来であれば、これらは同じ値となることが期待される。そうであるにも関わらずこれらが同じ値にならないのは、筆圧検出部22が前述したヒステリシスを有するためである。特許文献1の技術によれば、このような場合に、システム基準値STのキャリブレーションを行うことができる。具体的には、現在の筆圧判定閾値Tより小さく、かつ、所定の偏差内で推移している筆圧レベルraw_P(図示した期間P内の筆圧レベルraw_P)を統計的に処理することによってシステム基準値STを導出し、さらにその結果にマージンM1を加算することによって筆圧判定閾値Tを導出すればよい。このキャリブレーションは、本実施の形態によるセンサコントローラ32においても実行され得る。
【0048】
しかしながら一方で、このキャリブレーションだけでは、上述したような各種の課題を解決することはできない。本実施の形態によれば、上述した3つの課題のうち、1つ目と2つ目の課題が解決される。そこで以下では、まず1つ目と2つ目の課題について
図5及び
図6を参照しながら詳しく説明し、その後、これらの課題を解決するための本実施の形態によるイベント判定・閾値更新部43の動作について、詳しく説明する。
【0049】
図6は、1つ目の課題を説明する図である。筆圧検出部22が有しているヒステリシスによれば、時刻t1でユーザがペンアップ操作を行った後、筆圧レベルraw_Pの値は直ちには元のレベルには戻らない。このとき、
図6に示すように、時刻t1後もしばらくの間(
図6では時刻t2までの間)、筆圧レベルraw_Pが筆圧判定閾値Tを上回ったままとなる場合がある。そうすると、ユーザがペンアップ操作を行ってから信号処理部24がペンアップイベントを発生するまでの間にタイムラグが生じ、その間、ホストプロセッサ33によるレンダリングが継続してしまうので、インク漏れが生じているような感覚をユーザに与えてしまう(上述したインク漏れ現象)。
【0050】
図7は、2つ目の課題を説明する図である。上記キャリブレーションを行うには、一定数の筆圧レベルraw_Pのサンプルが必要となるため、ある程度の時間(例えば、
図5に示した期間P)が必要となる。しかしながら、ユーザによるペンの操作が素早いと、
図7に示す例のように、ペンアップの後、次のペンダウンまでの間に、十分な数のサンプルを得られない場合がある。すなわち、
図7では、時刻APD[k]でk回目のペンダウン操作がなされ、時刻APU[k]でk回目のペンアップ操作がなされる。さらにその後、時刻APD[k+1]でk+1回目のペンダウン操作がなされ、時刻APU[k+1]でk+1回目のペンアップ操作がなされる。この場合において、時刻APU[k]と時刻APD[k+1]の間の時間が短いと、この期間内にキャリブレーションを行うことができなくなってしまう。
【0051】
図8は、これらの課題を解決するための本実施の形態によるイベント判定・閾値更新部43の動作を示す図である。イベント判定・閾値更新部43は、システム基準値ST(筆圧判定閾値T)の更新を行うために、筆圧レベルraw_Pに加え、近接度検出部42から供給されている近接度Sを参照する。具体的には、
図8に示すように、近接度Sによりペン2が
図3に示したゾーン2に入っていることが示される場合に、筆圧レベルraw_Pに基づいてシステム基準値ST(筆圧判定閾値T)の更新を行う。なお、
図8には、筆圧レベルraw_Pの値をそのままシステム基準値STとする例を示しているが、筆圧レベルraw_Pの移動平均(キャリブレーションに必要な時間より短い時間における筆圧レベルraw_Pの平均値)を算出して、システム基準値STとすることとしてもよい。
【0052】
このような更新を行うことにより、近接度Sによりシステム基準値ST(筆圧判定閾値T)の更新に適した場合であることが示されるときに取得された1つの筆圧レベルraw_Pに基づいて(統計によらず)システム基準値ST(筆圧判定閾値T)を更新できるので、ペンアップの後、次のペンダウンまでの間にキャリブレーションが完了しない可能性を低減できる。また、近接度検出部42から取得される近接度Sによりペン2とペン検出装置34との位置関係が所定の関係を満たしていること(具体的には、ペン2がパネル面3tに接触していないこと)が示される場合に、直ちにシステム基準値ST(筆圧判定閾値T)の更新を行うことができるので、インク漏れ現象を軽減することが可能になる。
【0053】
図9は、イベント判定・閾値更新部43が行う処理の処理フローを示すフロー図である。以下、この
図9を参照しながら、本実施の形態によるイベント判定・閾値更新部43の動作についてより詳しく説明する。
【0054】
図9に示すように、イベント判定・閾値更新部43はまず、筆圧判定閾値T(システム基準値ST)を初期設定する(ステップS1)とともに、現在の状態をペンアップに設定する(ステップS2)。
【0055】
次にイベント判定・閾値更新部43は、ダウンリンク信号DSを受信したか否かを判定する(ステップS3)。ステップS3においてダウンリンク信号DSを受信していないと判定した場合、イベント判定・閾値更新部43は、ステップS3に戻って判定処理を繰り返す。一方、ステップS3においてダウンリンク信号DSを受信したと判定したイベント判定・閾値更新部43は、近接度検出部42から近接度Sを取得する(ステップS4)とともに、データ信号を復号することにより筆圧レベルraw_Pを取得する(ステップS5)。そして、筆圧判定閾値Tに基づいて筆圧レベルraw_Pを正規化筆圧レベルmod_P(
図4を参照)に変換し、ホストプロセッサ33に出力する(ステップS6)。
【0056】
続いてイベント判定・閾値更新部43は、取得した近接度Sに基づき、ダウンリンク信号DSを送信したペン2が
図3に示したゾーン1~ゾーン3のいずれにいるかを判定する(ステップS7)。その結果、ペン2がゾーン2にいると判定した場合(つまり、ダウンリンク信号DSの受信は可能だがパネル面3tに接触していないことが保証される場合)、イベント判定・閾値更新部43は、ステップS5で取得した筆圧レベルraw_Pに基づき、筆圧判定閾値T(システム基準値ST)を更新する(ステップS8)。具体的には、ステップS5で取得した筆圧レベルraw_Pによりシステム基準値STを更新し、更新後のシステム基準値STにマージンM1を加算することによって筆圧判定閾値Tを算出する。
【0057】
次にイベント判定・閾値更新部43は、ステップS5で取得した筆圧レベルraw_Pと筆圧判定閾値Tとの比較を行う(ステップS9)。そして、筆圧レベルraw_Pが筆圧判定閾値Tより大きいという結果が得られた場合、まず初めに、現在の状態がペンアップ及びペンダウンのいずれであるかを判定する(ステップS10)。その結果、ペンアップであると判定した場合には、ペンダウンイベントを発生させ、現在の状態をペンダウンに設定する(ステップS11)。この設定処理には、ペンダウンイベントが発生したことを示すデータを、ホストプロセッサ33に出力する処理が含まれる。ステップS11の処理を終了したイベント判定・閾値更新部43は、ステップS3に戻って次のタイミング到来を待機する。一方、ステップS10でペンダウンであると判定した場合のイベント判定・閾値更新部43は、ステップS11の処理をスキップして、ステップS3に処理を戻す。
【0058】
ステップS8の比較により筆圧レベルraw_Pが筆圧判定閾値T以下であるとの結果を得たイベント判定・閾値更新部43は、まず初めに、現在の状態がペンアップ及びペンダウンのいずれであるかを判定する(ステップS12)。そして、ペンダウンであると判定した場合には、ペンアップイベントを発生させ、現在の状態をペンアップに設定する(ステップS13)。この設定処理には、ペンアップイベントが発生したことを示すデータを、ホストプロセッサ33に出力する処理が含まれる。ステップS13の処理を終了したイベント判定・閾値更新部43は、ステップS3に戻って次のタイミング到来を待機する。一方、ステップS12でペンアップであると判定した場合のイベント判定・閾値更新部43は、ステップS13の処理をスキップして、ステップS3に処理を戻す。
【0059】
以上説明したように、本発明の第1の実施の形態によれば、適切なとき(具体的には、ペン2がゾーン2にあるとき)に取得された1つの筆圧レベルraw_Pに基づいて(統計によらず)筆圧判定閾値Tを更新できるので、ペンアップの後、次のペンダウンまでの間にキャリブレーションが完了しない可能性を低減できる。また、近接度検出部42から取得される近接度Sによりペン2とペン検出装置34との位置関係が所定の関係を満たしていることが示される場合(具体的には、ペン2がゾーン2にある場合)に、直ちに筆圧判定閾値Tの更新を行うことができるので、インク漏れ現象を軽減することができる。
【0060】
なお、本実施の形態では、センサコントローラ32内に近接度検出部42を設ける例を説明したが、ペン2の信号処理部24内に近接度検出部を設けることとしてもよい。この場合、近接度Sとしては、
図1に示した電極21を介して受信したアップリンク信号USの受信強度を用いることが好適である。具体的には、例えば電磁誘導方式のペン2においては、タブレット交番磁界により生じる電流の大きさを近接度Sとして用い、例えばアクティブ静電方式ペン2においては、電極21に誘導される電荷の量を近接度Sとして用いることが好適である。
【0061】
別の言い方をすれば、近接度検出部は、ペン2とペン検出装置34との間で送受信される信号の受信側での受信強度に基づいて近接度Sを生成すればよい。ただし、近接度検出部は、ペン2とペン検出装置34との間で送受信される信号の受信側での受信強度以外の情報に基づいて、近接度Sを生成することも可能である。例えば、近接度検出部は、電極21とセンサ31を構成するセンサ電極との間に生ずる静電容量の検出結果、又は、スイッチ23の押下状態に基づいて、近接度Sを生成することとしてもよい。また、近接度検出部は、ペン2に設けられたイメージセンサによって撮像されてなるパネル面3tの画像に基づいて近接度Sを生成してもよいし、ペンに設けられたソナーによって実行される反響定位の結果に基づいて近接度Sを生成してもよい。さらに、近接度検出部は、これらの情報の2つ以上に基づいて近接度Sを生成してもよい。
【0062】
また、イベント判定・閾値更新部43の機能を、センサコントローラ32ではなくペン2に設けることとしてもよい。この場合、ペン2の信号処理部24は、ペンダウンイベント及びペンアップイベントの発生を示すデータを、ダウンリンク信号DSによりセンサコントローラ32に向けて送信することが好ましい。
【0063】
また、センサコントローラ32は、互いに異なるペンIDが付与された複数のペン2を検出可能に構成されることができ、この場合、複数のペン2のそれぞれから互いに異なるペンIDが受信されるので、イベント判定・閾値更新部43は、受信したペンIDごとに筆圧判定閾値T及びシステム基準値STを保持し、対応する筆圧レベルraw_Pに基づいてこれらの更新を実行するように構成されてもよい。
【0064】
次に、本発明の第2の実施の形態による位置検出システム1について、説明する。本実施の形態による位置検出システム1の基本的な構成は、
図1及び
図2に示したものと同様である。ただし、近接度検出部42は設けなくても構わない。本実施の形態は、イベント判定・閾値更新部43が2種類の筆圧判定閾値を利用する点で、第1の実施の形態と相違する。以下、本実施の形態によるイベント判定・閾値更新部43の動作について、詳しく説明する。
【0065】
図10は、本実施の形態によるイベント判定・閾値更新部43の動作を示す図である。本実施の形態によるイベント判定・閾値更新部43は、第1の実施の形態で説明した筆圧判定閾値T(第1の閾値)に加え、この筆圧判定閾値Tとは異なる補助閾値TU1(第2の閾値)を利用する。イベント判定・閾値更新部43は、第1の実施の形態で説明したようにしてペンダウンイベントを発生させた後、筆圧判定閾値Tより大きい値となるように補助閾値TU1を算出するよう構成される。
【0066】
次の式(2)は、補助閾値TU1の具体的な算出式の一例である。ただし、f(PEAK)は、筆圧レベルraw_Pのピーク値PEAK(ペン2がペンダウンの状態にある間に検出される筆圧レベルraw_Pの最大値)の関数であり、ピーク値PEAKが大きいほど大きくなるように構成される。イベント判定・閾値更新部43は、ペンダウンイベントを発生させた後、周期的に筆圧レベルraw_Pを取得し、ペンダウンイベント発生後の筆圧レベルraw_Pの最大値を取得する。そして、取得した最大値をピーク値PEAKとして式(2)に代入することにより、補助閾値TU1を算出するよう構成される。
TU1=T+f(PEAK)・・・(2)
【0067】
以上のようにして算出される補助閾値TU1は、
図10に示すように、筆圧レベルraw_Pが上昇を続けるに従って上昇し、いったん筆圧レベルraw_Pが最大となった後には固定値となる。イベント判定・閾値更新部43は、算出した補助閾値TU1を、ペンアップ操作を検出するために用いる。すなわち、イベント判定・閾値更新部43は、筆圧レベルraw_Pと補助閾値TU1との比較結果に基づき、ペンアップイベントを発生させるよう構成される。
【0068】
ここで、式(2)の意味について、詳しく説明する。
図11は、ピーク値PEAKの値がP1である場合とP2(>P1)である場合とのそれぞれについて、筆圧レベルraw_Pの変化を模式的に示す図である。同図においては、ピーク値PEAKの値がP1である場合を曲線C1で示し、ピーク値PEAKの値がP2である場合を曲線C2で示している。曲線C1,C2ともに、時刻t0でペンダウン操作が発生し、時刻t1でペンアップ操作が発生したものとしている。
【0069】
ユーザがペンアップ操作を行った後の筆圧レベルraw_Pは、
図11から理解されるように、いったん急激に下がった後、ゆっくりとゼロに近づくように変化する。曲線C1と曲線C2とでは、この急激に下がるときの最小値が異なる。すなわち、相対的にピーク値PEAKが大きい曲線C2の最小値V2は、相対的にピーク値PEAKが小さい曲線C1の最小値V1よりも大きい値となる。また、曲線C1と曲線C2とでは、筆圧レベルraw_Pがゼロに戻るまでに要する時間も異なる。すなわち、相対的にピーク値PEAKが大きい曲線C2の戻り時間t3-t1は、相対的にピーク値PEAKが小さい曲線C1の戻り時間t2-t1よりも大きい値となる。したがって、ペンアップ操作の誤検出を回避しつつ、ペンアップ操作後に速やかにペンアップイベントを発生させるには、ピーク値PEAKが大きいほど、ペンアップ操作を検出するために用いる補助閾値TU1を大きくすればよいことが理解される。式(2)は、これを定式化したものとなっている。
【0070】
したがって、本実施の形態によれば、筆圧検出部22のヒステリシスによらず、適切にペンダウンイベント及びペンアップイベントを発生させることが可能になると言えるので、
図10にも示すように、筆圧判定閾値Tに基づいてペンアップイベントを発生させる場合に比べ、インク漏れ現象を早期に解消することが可能になる。
【0071】
なお、筆圧レベルraw_Pのピーク値PEAKに代え、ペン2がペンダウンの状態にある時間の長さに基づいて、補助閾値TU1を算出することとしてもよい。以下、この点について詳しく説明する。
【0072】
図12は、ペン2がペンダウンの状態にある時間がt2-t1である場合とt2-t0(t0<t1)である場合とのそれぞれについて、筆圧レベルraw_Pの変化を模式的に示す図である。同図においては、ペンダウンの状態にある時間がt2-t1である場合を曲線C3で示し、ペンダウンの状態にある時間がt2-t0である場合を曲線C4で示している。ペンアップ操作の発生時刻は、曲線C3,C4ともに時刻t2であるとしている。
【0073】
ユーザがペンアップ操作を行った後の筆圧レベルraw_Pは、この場合においても、いったん急激に下がった後、ゆっくりとゼロに近づくように変化する。曲線C3と曲線C4とでは、この急激に下がるときの最小値が異なる。すなわち、相対的にペンダウン時間が長い曲線C4の最小値V4は、相対的にペンダウン時間が短い曲線C3の最小値V3よりも大きい値となる。また、曲線C3と曲線C4とでは、筆圧レベルraw_Pがゼロに戻るまでに要する時間も異なる。すなわち、相対的にペンダウン時間が長い曲線C4の戻り時間t4-t2は、相対的にペンダウン時間が短い曲線C3の戻り時間t3-t2よりも大きい値となる。したがって、ペンアップ操作の誤検出を回避しつつ、ペンアップ操作後に速やかにペンアップイベントを発生させるには、ペンダウンの状態にある時間の長さが大きいほど、ペンアップ操作を検出するために用いる補助閾値TU1を大きくすることとしてもよいことが理解される。
【0074】
次の式(3)は、この場合に使用できる補助閾値TU1の算出式を表している。ただし、f(L)は、ペンダウン状態の継続時間Lの関数であり、継続時間Lが大きいほど大きくなるように構成される。
TU1=T+f(L)・・・(3)
【0075】
また、第2の実施の形態においては、単に補助閾値TU1を用いるだけとすると、ペンアップイベントの発生直後にペンダウンイベントが発生してしまう可能性がある。補助閾値TU1を下回った直後の筆圧レベルraw_Pは、通常、筆圧判定閾値Tを上回る値となっているためである。そこで、本実施の形態によるイベント判定・閾値更新部43はさらに、ペンアップイベントが発生したことに応じて、筆圧判定閾値Tを補助閾値TU1より大きい値に設定する処理を行うことが好ましい。以下、この点について、
図10を再度参照しながら詳しく説明する。
【0076】
図10に示すように、イベント判定・閾値更新部43は、ペンアップイベントを発生させた時刻t3において、そのときの筆圧レベルraw_Pによりシステム基準値STを更新する処理を行う。これに伴い、筆圧判定閾値Tも更新される。その後、イベント判定・閾値更新部43は、筆圧レベルraw_Pがシステム基準値STを下回った場合に、そのときの筆圧レベルraw_Pによりシステム基準値ST及び筆圧判定閾値Tを更新していく。こうすることで、筆圧レベルraw_Pが大きく反発しない限り、ペンダウンイベントが発生することを回避することができる。なお、筆圧レベルraw_Pが大きく反発するときには、
図10の時刻t4に示すように筆圧レベルraw_Pが筆圧判定閾値Tを超えるので、ペンダウンイベントが発生することになる。
【0077】
図13及び
図14は、イベント判定・閾値更新部43が行う処理の処理フローを示すフロー図である。以下、これらの図を参照しながら、本実施の形態によるイベント判定・閾値更新部43の動作についてより詳しく説明する。
【0078】
ステップS1~S6の処理は、第1の実施の形態と同様である。ただし、ステップS4はスキップしてもよい(
図13及び
図14には図示していない)。ステップS6の後、イベント判定・閾値更新部43は、現在の状態がペンアップ及びペンダウンのいずれであるかを判定する(ステップS20)。その結果、ペンアップであると判定した場合、イベント判定・閾値更新部43は、次にステップS5で取得した筆圧レベルraw_Pとシステム基準値STとの比較を行う(ステップS21)。そして、筆圧レベルraw_Pがシステム基準値ST未満であれば、筆圧レベルraw_Pに基づいてシステム基準値STを更新する。具体的には、ステップS5で取得した筆圧レベルraw_Pにより、システム基準値STを更新する。このとき、システム基準値STの更新に伴って、筆圧判定閾値Tも更新される。システム基準値ST及び筆圧判定閾値Tの更新を行ったイベント判定・閾値更新部43は、ステップS3に処理を戻す。
【0079】
一方、ステップS22で筆圧レベルraw_Pがシステム基準値ST以上であると判定したイベント判定・閾値更新部43は、次に、筆圧レベルraw_Pと筆圧判定閾値Tとの比較を行う(ステップS23)。そして、筆圧レベルraw_Pが筆圧判定閾値Tより大きいという結果が得られた場合、ペンダウンイベントを発生させ、現在の状態をペンダウンに設定する(ステップS24)。この処理の詳細は、
図9に示したステップS11と同様である。続いてイベント判定・閾値更新部43は、内部変数であるピーク値PEAKに0を設定したうえで(ステップS25)、ステップS3に処理を戻す。
【0080】
ステップS20でペンダウンであると判定した場合のイベント判定・閾値更新部43は、
図14に示すように、ステップS5で取得した筆圧レベルraw_Pとピーク値PEAKとの比較を行う(ステップS26)。その結果、筆圧レベルraw_Pがピーク値PEAKより大きければ、ピーク値PEAKに筆圧レベルraw_Pを設定したうえで(ステップS27)、筆圧判定閾値T及びピーク値PEAKに基づいて補助閾値TU1を算出する(ステップS28)。イベント判定・閾値更新部43は、例えば上述した式(2)により、この算出を実行する。
【0081】
ステップS28の終了後、及び、ステップS26で筆圧レベルraw_Pがピーク値PEAKより大きくないと判定した場合、イベント判定・閾値更新部43は、筆圧レベルraw_Pと補助閾値TU1との比較を行う(ステップS29)。そして、筆圧レベルraw_Pが補助閾値TU1以下であるという結果が得られた場合、ペンアップイベントを発生させ、現在の状態をペンアップに設定する(ステップS30)。この処理の詳細は、
図9に示したステップS13と同様である。続いてイベント判定・閾値更新部43は、補助閾値TU1に基づいてシステム基準値ST及び筆圧判定閾値Tを更新したうえで(ステップS31)、ステップS3に処理を戻す。ステップS31は、具体的な例では筆圧判定閾値Tを補助閾値TU1より大きい値に設定する処理であるが、システム基準値STを補助閾値TU1より大きい値に設定する処理であるとしてもよい。
【0082】
以上説明したように、本発明の第2の実施の形態によれば、筆圧検出部22のヒステリシスによらず、適切にペンダウンイベント及びペンアップイベントを発生させることが可能になるので、インク漏れ現象を早期に解消することが可能になる。
【0083】
次に、本発明の第3の実施の形態による位置検出システム1について、説明する。本実施の形態による位置検出システム1の基本的な構成は、近接度検出部42及びイベント判定・閾値更新部43がペン2の信号処理部24内に設けられる点を除き、
図1及び
図2に示したものと同様である。ただし、近接度検出部42は設けなくても構わない。本実施の形態は、上記の点に加え、イベント判定・閾値更新部43がペンダウンイベントの発生をトリガーとして筆圧判定閾値を更新する点で、第1の実施の形態と相違する。以下、本実施の形態によるイベント判定・閾値更新部43の動作について、詳しく説明する。
【0084】
図15は、本実施の形態によるイベント判定・閾値更新部43の動作を示す図である。本実施の形態によるイベント判定・閾値更新部43は、第1の実施の形態で説明した筆圧判定閾値T(第1の閾値)に加え、この筆圧判定閾値Tより小さな値を有する補助閾値TU2(第1の補助閾値)を利用する。具体的には、
図15に示すように、システム基準値STにマージンM2(<M1)を加算してなる値を補助閾値TU2として用いる。
【0085】
イベント判定・閾値更新部43は、第1の実施の形態によるイベント判定・閾値更新部43と同様の処理によりペンダウンイベントを発生させ、このペンダウンイベントの発生をトリガーとして筆圧判定閾値Tの更新を行う。具体的には、ペンダウンイベントが発生した後、筆圧レベルraw_Pが補助閾値TU2を下回った場合に、筆圧判定閾値Tを更新するよう構成される。また、イベント判定・閾値更新部43は、筆圧レベルraw_Pと、k回目のペンダウンイベントが発生したことをトリガーとして更新された後の筆圧判定閾値Tとの比較結果に基づき、k+1回目のペンダウンイベントを発生させる。
【0086】
イベント判定・閾値更新部43がこのような動作をすることにより、
図15に示すように、ペンダウンごとに1回だけ筆圧判定閾値Tの更新を行うことが可能になる。前述したヒステリシスのうち特に機構的なヒステリシスは、前回のペンダウン操作~ペンアップ操作のサイクルに伴う負荷と除荷とにより、次のサイクルにともなう負荷と除荷とにおける力応答特性が変化してしまうことと言える。したがって、この負荷と除荷が発生するサイクルごとにキャリブレーションを実行することが望ましいため、本実施の形態によれば、筆圧判定閾値Tのキャリブレーションを適時に実行することが可能になると言える。また、ユーザによるペン2の操作が素早い場合など、特許文献1に記載されるキャリブレーションのような時間のかかるキャリブレーションができない場合にも、筆圧判定閾値Tを更新することが可能になる。
【0087】
図16及び
図17は、本実施の形態によるイベント判定・閾値更新部43が行う処理の処理フローを示すフロー図である。以下、これらの図を参照しながら、本実施の形態によるイベント判定・閾値更新部43の動作についてより詳しく説明する。
【0088】
本実施の形態によるイベント判定・閾値更新部43はまず、筆圧判定閾値T(システム基準値ST、補助閾値TU2)の初期設定を行う(ステップS1a)。なお、上述したように、補助閾値TU2は常にシステム基準値STよりM2だけ大きい値となることから、筆圧判定閾値Tの場合と同様、補助閾値TU2を導出ないし更新することと、システム基準値STを導出ないし更新することとは等価である。
【0089】
その後の処理のうちステップS2~S13の処理は、第1の実施の形態と同様にして実行される。ただし、近接度Sに関するステップS4,S7,S8(
図9を参照)はスキップしてもよい(
図16及び
図17には図示していない)。また、ステップS3,S5については、それぞれステップS3a,S5aに置き換えて実行される。ステップS3aは、筆圧検出部22から筆圧レベルraw_Pを取得するタイミングが到来したか否かを判定する処理である。このタイミングは、周期的に発生することとしてもよいし、センサコントローラ32からアップリンク信号USが受信されたことによって発生することとしてもよい。後者によれば、ペン2がセンサコントローラ32の近くにいる場合にのみ以降の処理が行われることになるので、電源25の減りを遅らせることが可能になる。ステップS5aは、筆圧レベルraw_Pの取得をデータ信号の復号によってではなく筆圧検出部22からの入力を受け付けることによって行う点で、ステップS5と相違する。
【0090】
イベント判定・閾値更新部43はまた、ステップS2とステップS3の間で、ペンダウンが発生したことを一時的に記憶するためのペンダウン発生フラグ1に偽(False)を設定する(ステップS40)。イベント判定・閾値更新部43は、ステップS11でペンダウンイベントを発生させた後、このペンダウン発生フラグ1に真(True)を設定する(ステップS41)。
【0091】
本実施の形態によるイベント判定・閾値更新部43はさらに、ステップS9で筆圧レベルraw_Pが筆圧判定閾値T以下であると判定した場合に、
図17に示すように、筆圧レベルraw_Pが補助閾値TU2以下であるか否かの判定を行う(ステップS42)。なお、
図9にも示したステップS12,S13は、
図17に示すように、ステップS9で筆圧レベルraw_Pが筆圧判定閾値T以下であると判定した後、ステップS42の実行前に実行すればよい。
【0092】
ステップS42で筆圧レベルraw_Pが補助閾値TU2以下でないと判定した場合、イベント判定・閾値更新部43は、ステップS3に処理を戻す。一方、ステップS42で筆圧レベルraw_Pが補助閾値TU2以下であると判定したイベント判定・閾値更新部43は、まずペンダウン発生フラグ1が真(True)であるか否かを判定する。その結果、偽(False)であると判定した場合には、ステップS3に処理を戻す。一方、真(True)であると判定した場合には、イベント判定・閾値更新部43は、筆圧レベルraw_Pに基づき、筆圧判定閾値T(システム基準値ST、補助閾値TU2)の更新処理を行う(ステップS44。第1の更新ステップ)。具体的には、
図15に示したように、ステップS5で取得した筆圧レベルraw_Pによりシステム基準値STを更新する。また、更新後のシステム基準値STにマージンM1,M2のそれぞれを加算することによって、筆圧判定閾値T及び補助閾値TU2を算出する。その後、イベント判定・閾値更新部43は、ペンダウン発生フラグ1に偽(False)を設定したうえで(ステップS45)、ステップS3に処理を戻す。
【0093】
以上説明したように、本発明の第3の実施の形態によれば、ペンダウンごとに1回だけ筆圧判定閾値Tの更新を行うことが可能になる。したがって、筆圧判定閾値Tのキャリブレーションを適時に実行することが可能になる。また、ユーザによるペン2の操作が素早い場合など、特許文献1に記載されるキャリブレーションのような時間のかかるキャリブレーションができない場合にも、筆圧判定閾値Tを更新することが可能になる。
【0094】
なお、本実施の形態では、ペンダウンイベントが発生したことをトリガーとして、最新の一の筆圧レベルraw_Pにより筆圧判定閾値T(システム基準値ST、補助閾値TU2)を更新したが、ペンダウンイベントが発生したことをトリガーとして、特許文献1に開示されるようなキャリブレーション処理を実行することとしてもよい。また、これらを組み合わせて実行することとしてもよい。以下、そのような組み合わせにかかる本実施の形態の変形例について、図面を参照しながら詳しく説明する。
【0095】
図18は、本変形例によるイベント判定・閾値更新部43が行う処理の処理フローを示すフロー図である。同図と
図16とを比較すると理解されるように、本変形例によるイベント判定・閾値更新部43が行う処理は、ステップS1a,S40,S41がそれぞれステップS1b,S40a,S41aになる点、及び、ステップS6とステップS9の間にステップS50,S51が追加される点で、本実施の形態によるイベント判定・閾値更新部43が行う処理と相違する。以下、相違点に着目して説明する。
【0096】
本変形例によるイベント判定・閾値更新部43は、ステップS1bにおいて、筆圧判定閾値T(システム基準値ST、補助閾値TU2)に加え、補助閾値Tshort,Tfluc(第2、第3の補助閾値)、及び参照回数Tcountの初期設定を行う。このうち補助閾値Tshortに関して、イベント判定・閾値更新部43は、システム基準値STに所定のマージンを加算してなる値であって、補助閾値TU2より大きく筆圧判定閾値Tより小さい値を補助閾値Tshortとして用いる。したがって、筆圧判定閾値T及び補助閾値TU2の場合と同様、補助閾値Tshortを導出ないし更新することと、システム基準値STを導出ないし更新することとは等価である。補助閾値Tfluc及び参照回数Tcountについては、予め決められた値が設定される。
【0097】
また、本変形例によるイベント判定・閾値更新部43は、ペンダウンが発生したことを一時的に記憶するためのフラグを2つ使用する。具体的には、ステップS40aにおいて、ペンダウン発生フラグ1,2のそれぞれに偽(False)を設定する。また、ステップS11でペンダウンイベントを発生させた後、ペンダウン発生フラグ1,2のそれぞれに真(True)を設定する(ステップS41a)。なお、ペンダウン発生フラグ1は、
図16及び
図17で説明したものと同じものである。
【0098】
本変形例によるイベント判定・閾値更新部43は、ステップS6を実行した後、ペンダウン発生フラグ2が真(True)であるか否かを判定する(ステップS50)。その結果、偽(False)であると判定した場合には、ステップS9に処理を移す。一方、真(True)であると判定した場合には、筆圧判定閾値Tのキャリブレーション処理を実行する(ステップS51)。
【0099】
図19は、ステップS51で実行されるキャリブレーション処理の詳細を示すフロー図である。同図に示すように、イベント判定・閾値更新部43はまず、ステップS5で新たに取得した筆圧レベルraw_Pを図示しないメモリに記憶する(ステップS60)。この処理は、少なくとも参照回数Tcount分の筆圧レベルraw_Pがメモリ内に蓄積されることとなるように実行される。
【0100】
次にイベント判定・閾値更新部43は、メモリ内に記憶しておいた参照回数Tcount分の過去の筆圧レベルraw_Pについて、いずれも補助閾値Tshort以下であり、かつ、最大変動幅が補助閾値Tfluc以下である状態となっているか否かを判定する(ステップS61,S62)。
【0101】
ステップS62で否定的な結果を得たイベント判定・閾値更新部43は、キャリブレーション処理を終了し、
図18のステップS9に処理を移す。一方、ステップS62で肯定的な結果を得たイベント判定・閾値更新部43は、メモリ内に記憶しておいた参照回数Tcount分の過去の筆圧レベルraw_Pに基づき、筆圧判定閾値T(システム基準値ST、補助閾値TU2,Tshort)を更新する(ステップS63。第2の更新ステップ)。具体的には、メモリ内に記憶しておいた参照回数Tcount分の過去の筆圧レベルraw_Pの平均値により、システム基準値STを更新する。また、更新後のシステム基準値STに所定のマージンを加算することにより、筆圧判定閾値T、補助閾値TU2,Tshortのそれぞれを算出する。その後、イベント判定・閾値更新部43は、ペンダウン発生フラグ2に偽(False)を設定したうえで(ステップS64)キャリブレーション処理を終了し、
図18のステップS9に処理を移す。
【0102】
図20は、本変形例によるイベント判定・閾値更新部43の動作を示す図である。この例では、時刻t0でk回目のペンダウンイベントが発生すると、その後に筆圧レベルraw_Pが補助閾値TU2を下回った時刻t2で、その時点における最新の一の筆圧レベルraw_Pによる筆圧判定閾値T(システム基準値ST、補助閾値TU2,Tshort)の更新が実行される。また、参照回数Tcount分の過去の筆圧レベルraw_Pがいずれも補助閾値Tshort以下であり、かつ、最大変動幅が補助閾値Tfluc以下である状態となった時刻t3で、
図19に示したキャリブレーション処理による筆圧判定閾値T(システム基準値ST、補助閾値TU2,Tshort)の更新が実行される。
【0103】
また、時刻t2でk+1回目のペンダウンイベントが発生すると、その後に、参照回数Tcount分の過去の筆圧レベルraw_Pがいずれも補助閾値Tshort以下であり、かつ、最大変動幅が補助閾値Tfluc以下である状態となった時刻t5で、
図19に示したキャリブレーション処理による筆圧判定閾値T(システム基準値ST、補助閾値TU2,Tshort)の更新が実行される。この場合、筆圧レベルraw_Pが補助閾値TU2を下回っていないので、最新の一の筆圧レベルraw_Pによる筆圧判定閾値T(システム基準値ST、補助閾値TU2,Tshort)の更新は実行されない。
【0104】
さらに、時刻t6でk+2回目のペンダウンイベントが発生すると、その後に筆圧レベルraw_Pが補助閾値TU2を下回った時刻t8で、その時点における最新の一の筆圧レベルraw_Pによる筆圧判定閾値T(システム基準値ST、補助閾値TU2,Tshort)の更新が実行される。また、参照回数Tcount分の過去の筆圧レベルraw_Pがいずれも補助閾値Tshort以下であり、かつ、最大変動幅が補助閾値Tfluc以下である状態となった時刻t9で、
図19に示したキャリブレーション処理による筆圧判定閾値T(システム基準値ST、補助閾値TU2,Tshort)の更新が実行される。
【0105】
このように、本変形例によれば、筆圧レベルraw_Pが補助閾値TU2を下回らず、したがって最新の一の筆圧レベルraw_Pによる筆圧判定閾値T(システム基準値ST、補助閾値TU2,Tshort)の更新が実行されない場合にも、
図19に示したキャリブレーション処理により筆圧判定閾値T(システム基準値ST、補助閾値TU2,Tshort)の更新を実行することができる。したがって、筆圧判定閾値Tのキャリブレーションをより好適に実行することが可能になる。
【0106】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【符号の説明】
【0107】
1 位置検出システム
2 ペン
3 電子機器
3t パネル面
20 芯体
21 電極
22 筆圧検出部
23 スイッチ
24 信号処理部
25 電源
30 表示装置
31 センサ
32 センサコントローラ
33 ホストプロセッサ
34 ペン検出装置
40 筆圧信号取得部
41 筆圧レベル取得部
42 近接度検出部
43 イベント判定・閾値更新部
AP アナログ筆圧信号
DS ダウンリンク信号
M1,M2 マージン
PEAK ピーク値
ST システム基準値
T 筆圧判定閾値
TU1,TU2,Tshort,Tfluc 補助閾値
Tcount 参照回数
US アップリンク信号
mod_P 正規化筆圧レベル
raw_P 筆圧レベル