(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024026603
(43)【公開日】2024-02-28
(54)【発明の名称】タッチIC及び外部プロセッサを含むシステムで実行される方法、並びに、タッチIC及び外部プロセッサを含むシステム
(51)【国際特許分類】
G06F 3/044 20060101AFI20240220BHJP
G06F 3/041 20060101ALI20240220BHJP
【FI】
G06F3/044 B
G06F3/041 560
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023222677
(22)【出願日】2023-12-28
(62)【分割の表示】P 2020527348の分割
【原出願日】2019-06-07
(31)【優先権主張番号】P 2018120193
(32)【優先日】2018-06-25
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000139403
【氏名又は名称】株式会社ワコム
(74)【代理人】
【識別番号】110004277
【氏名又は名称】弁理士法人そらおと
(72)【発明者】
【氏名】小松 英之
(72)【発明者】
【氏名】三好 員弘
(72)【発明者】
【氏名】佐野 重幸
(57)【要約】
【課題】タッチICが外部プロセッサからの制御に基づいてペン検出を行えるようにする。
【解決手段】本発明は、センサ電極群に誘導される電荷に基づいてペンから送信されたペン信号を検出するペン検出を実行するタッチICと、前記タッチICと異なる外部プロセッサとを含むシステムで実行される方法である。前記タッチICは、前記ペン検出により検出された前記ペンの状態を示す情報を含むペンデータを前記外部プロセッサに対して送信し、前記外部プロセッサは、前記ペンデータに基づいて、前記タッチICが前記ペン検出を行うために使用するペン検出用各種パラメータの制御内容を含むペン制御データを生成して前記タッチICに還元し、前記タッチICは、前記外部プロセッサによって生成された前記ペン制御データに含まれる前記制御内容に基づいて前記ペン検出用各種パラメータを制御する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
センサ電極群に誘導される電荷に基づいてペンから送信されたペン信号を検出するペン検出を実行するタッチICと、前記タッチICと異なる外部プロセッサとを含むシステムで実行される方法であって、
前記タッチICは、前記ペン検出により検出された前記ペンの状態を示す情報を含むペンデータを前記外部プロセッサに対して送信し、
前記外部プロセッサは、前記ペンデータに基づいて、前記タッチICが前記ペン検出を行うために使用するペン検出用各種パラメータの制御内容を含むペン制御データを生成して前記タッチICに還元し、
前記タッチICは、前記外部プロセッサによって生成された前記ペン制御データに含まれる前記制御内容に基づいて前記ペン検出用各種パラメータを制御する、
方法。
【請求項2】
前記タッチICは、前記ペンが2つの送信電極のそれぞれから送信する2つの前記ペン信号のそれぞれに基づいてペン座標を導出することによって2つのペン座標を取得し、取得した前記2つのペン座標に基づいて前記電子ペンの傾きを導出し、
前記ペンの状態を示す情報は、前記電子ペンの傾きを示す傾き情報を含み、
前記ペン検出用各種パラメータは、前記電子ペンの傾きを補正するためのパラメータを含む、
請求項1に記載の方法。
【請求項3】
前記ペン制御データは、セクタスキャン位置を指定するデータを含み、
前記タッチICは、前記ペン制御データに含まれる前記セクタスキャン位置を指定するデータに従い、次回の前記ペン検出の位置を設定する、
請求項1に記載の方法。
【請求項4】
前記ペン制御データは、指を検出するタッチ検出と前記ペン検出の実行比率を示すスキャンシナリオを含み、
前記タッチICは、前記ペン制御データに含まれる前記スキャンシナリオに従い、前記タッチ検出及び前記ペン検出を実行する、
請求項1に記載の方法。
【請求項5】
センサ電極群に誘導される電荷に基づいてペンから送信されたペン信号を検出するペン検出を実行するタッチICと、前記タッチICと異なる外部プロセッサとを含むシステムであって、
前記タッチICは、前記ペン検出により検出された前記ペンの状態を示す情報を含むペンデータを前記外部プロセッサに対して送信し、
前記外部プロセッサは、前記ペンデータに基づいて、前記タッチICが前記ペン検出を行うために使用するペン検出用各種パラメータの制御内容を含むペン制御データを生成して前記タッチICに還元し、
前記タッチICは、前記外部プロセッサによって生成された前記ペン制御データに含まれる前記制御内容に基づいて前記ペン検出用各種パラメータを制御する、
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タッチIC及び外部プロセッサを含むシステムで実行される方法に関する。
【背景技術】
【0002】
タッチ面内における指や電子ペンの位置を検出する位置検出システムにおいて位置検出処理を実行するのは、通常、タッチICである。しかしながら、近年ではジェスチャー認識などの複雑な処理を含む位置検出処理が求められるようになってきており、メモリ容量やプロセッサ処理能力などの計算機資源が少ない簡易な構成のタッチICでは対応が難しくなってきている。そこで、外部プロセッサ(CPU、GPU,DSP,AIプロセッサ等のタッチICと異なる集積回路)を追加し、これまでタッチICで行われていた位置検出処理を外部プロセッサに肩代わりさせるシステムの検討が始まっている。この種のシステムによれば、外部プロセッサの潤沢な計算機資源を用いて、タッチICにより取得されたフレームデータ(1タッチ面分の検出データ)に基づくジェスチャ認識等の高度な処理を実行することが可能となる。
【0003】
特許文献1,2には、そのようなシステムの一例が開示されている。具体的に説明すると、特許文献1の
図3には、タッチIC(304)から外部プロセッサであるGPU(308)にフレームデータを供給し、GPU(308)によりタッチ位置を計算するシステムが開示されている。また、特許文献2の
図1には、タッチICをソース側とし、DSPである外部プロセッサをシンク側としたタッチデータの通信インタフェースを有するシステムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2017/0255320号明細書
【特許文献2】米国特許出願公開第2016/0170548号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1,2に記載のシステムにおいては、タッチICに外部プロセッサによる処理の結果が還元されない。そうすると、タッチICによるタッチ検出やペン検出の動作のために外部プロセッサによる処理の結果を利用することができないので、改善が必要とされている。
【0006】
また、タッチICで検出された位置や筆圧などのデータは後段のホストプロセッサに送られ、そこでインクデータの生成などに使用されることになるが、外部プロセッサを追加する場合、ホストプロセッサは、それまでタッチICから一括して得ていたデータの一部を外部プロセッサから取得しなければならなくなる。そうすると、ホストプロセッサの実装にも影響が及ぶことになってしまうので、ホストプロセッサの実装を変更せずに外部プロセッサを追加できるようにすることが必要とされている。
【課題を解決するための手段】
【0007】
本発明の第1の側面による方法は、タッチ検出を実行するタッチICと前記タッチICと異なる外部プロセッサとを含むシステムで実行される方法であって、前記システムは、前記タッチICに接続されたセンサ電極群と、前記タッチICと前記外部プロセッサとを接続する第1のバスと、をさらに含み、前記タッチICは、前記センサ電極群の2次元位置ごとの検出レベルを示すフレームデータを生成し、前記第1のバスを介して前記外部プロセッサに供給し、前記外部プロセッサは、前記フレームデータに基づいて所定の処理を行った結果である判定データを前記タッチICに還元し、前記タッチICは、前記判定データに基づく動作を実行する、方法である。
【0008】
本発明の第2の側面による方法は、上記第1の側面による方法において、前記外部プロセッサは、前記第1のバスを介して前記判定データを前記タッチICに還元し、前記外部プロセッサは、前記タッチICを補助するためのAIコプロセッサであり、前記システムは、前記タッチICとホストプロセッサとを接続する第2のバスをさらに含み、前記タッチICは、前記判定データに含まれるタッチ座標を前記第2のバスを介して前記ホストプロセッサにレポートする、方法である。
【発明の効果】
【0009】
本発明の第1の側面によれば、外部プロセッサによる処理の結果である判定データを外部プロセッサからタッチICに還元しているので、タッチICは、外部プロセッサによる処理の結果を利用することが可能になる。
【0010】
本発明の第2の側面によれば、AIコプロセッサで導出されたタッチ座標をタッチIC経由でホストプロセッサに供給しているので、ホストプロセッサの実装を変更せずに外部プロセッサを追加することが可能になる。
【図面の簡単な説明】
【0011】
【
図1】本発明の第1の実施の形態によるシステム1の構成を示す図である。
【
図2】
図1に示したタッチ検出部32が行うタッチ検出の詳細を示す処理フロー図である。
【
図3】
図1に示したペン検出部33が行うペン検出の詳細を示す処理フロー図である。
【
図4】(a)は、
図1に示したタッチIC対応ファームウェア51が行うパーム領域の導出処理を説明する図であり、(b)は、タッチIC対応ファームウェア51によるユーザの利き手の判定の例を説明する図である。
【
図5】
図1に示したシステム1の動作を示すシーケンス図である。
【
図6】
図5に示したステップS3で行われる判定処理の詳細を示す処理フロー図である。
【
図7】
図5に示したステップS4で行われる判定データに基づく処理のうちタッチ検出に関する部分の詳細を示す処理フロー図である。
【
図8】
図5に示したステップS4で行われる判定データに基づく処理のうちペン検出に関する部分の詳細を示す処理フロー図である。
【
図9】本発明の第2の実施の形態によるシステム1の構成を示す図である。
【
図10】
図9に示したシステム1の動作を示すシーケンス図である。
【
図11】
図10に示したステップS3aで行われる判定処理の詳細を示す処理フロー図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
【0013】
図1は、本発明の第1の実施の形態によるシステム1の構成を示す図である。同図に示すように、システム1は、センサ電極群2と、タッチIC3と、専用バス4a(第1のバス)と、周辺機器バス4b(第2のバス)と、バスインターフェース40,41と、メモリ42と、ホストプロセッサ5と、内部バス6とを有して構成される。
【0014】
センサ電極群2は、タッチ面の直下に配置される複数のセンサ電極である。例えばシステム1がタブレット端末である場合、センサ電極群2は、タッチ面である表示面の直下に配置される。センサ電極群2を構成する複数のセンサ電極には、それぞれ図示したy方向に延在し、x方向(y方向と直交する方向)に等間隔で配置された複数のX電極2xと、それぞれ図示したx方向に延在し、y方向に等間隔で配置された複数のY電極2yとが含まれる。
【0015】
タッチIC3は、ファームウェア31を実行可能に構成された集積回路であり、センサ電極群2を構成する各センサ電極に接続されている。ファームウェア31は、図示した指8を検出する動作(以下、「タッチ検出」という)を行うタッチ検出部32と、センサ電極群2に誘導される電荷に基づいてペン信号を検出することにより図示した電子ペン7を検出する動作(以下、「ペン検出」という)を行うペン検出部33とを実現するよう構成される。
【0016】
図2は、タッチ検出部32が行うタッチ検出の詳細を示す処理フロー図である。同図に示すように、タッチ検出部32はまず、各X電極2xに対してタッチ検出用信号を送信し(ステップS10)、続いて、各Y電極2yにおいてタッチ検出用信号を受信する(ステップS11)。そして、受信結果に基づいて、センサ電極群2の2次元位置ごとの検出レベルを示すヒートマップを作成する(ステップS12)。
【0017】
ステップS1~S3の処理について、より詳しく説明する。タッチ検出用信号は、それぞれK個のパルス(「1」又は「-1」のデータ)を含むK個のパルス列からなる信号である。ただし、KはX電極2xの本数である。また、K個のパルス列の内容(すなわち、K個のパルスの組み合わせ)はすべて異なっている。
【0018】
タッチ検出部32は、K個のパルス列を1つずつ、各X電極2xに対してパラレルに入力する(ステップS10)。そして、入力の都度、各Y電極2yから流れ出る電流の値を取得する(ステップS11)。こうして取得される電流値は、入力したパルス列を構成するK個のパルスと、そのY電極2yと各X電極2xとの交点に形成されているK個の静電容量との内積となる。
【0019】
上記処理により、タッチ検出部32は、Y電極2yごとにK個の電流値を取得することになる。タッチ検出部32は、K個のパルス列のそれぞれについて、該パルス列を構成するK個のパルスと、取得したK個の電流値との内積を算出することにより、センサ電極群2の2次元位置ごと(すなわち、各X電極2xと各Y電極2yの交点ごと)の検出レベルを算出する(ステップS12)。こうして、上述したヒートマップが完成する。
【0020】
ヒートマップを生成したタッチ検出部32は、生成したヒートマップを含むフレームデータを生成し、ホストプロセッサ5に対して送信する(ステップS13)。
【0021】
タッチ検出部32はまた、生成したヒートマップに基づき、指8によってタッチされている領域であるタッチ領域と、指8ではなくユーザの手の平又は拳によってタッチされている領域であるパーム領域とを導出する処理を行う(ステップS14)。具体的には、まず静電容量が所定の閾値より大きい領域を判定し、その領域の面積が所定の閾値以下である場合にはタッチ領域と判定し、そうでない場合にはパーム領域と判定する。ここまでの一連の処理により、1回のタッチ検出動作が終了する。なお、タッチ検出部32は、ステップS14で取得したタッチ領域及びパーム領域についても、ホストプロセッサ5に対して送信することとしてもよい。
【0022】
ここで、タッチ検出部32がタッチ領域及びパーム領域を取得するために使用する上記各閾値は、タッチ検出部32がタッチ検出を行うために使用するタッチ検出用各種パラメータの一部を構成する。タッチ検出用各種パラメータには、他に、ラベリング(隣接するタッチ領域を同一領域として認識する処理)のための判定基準となるパラメータ(例えば、縦2方向、横2方向、斜め4方向の計8方向のうちのn方向で隣接しているタッチ領域は1つのタッチ領域とみなす、という基準を設ける場合のn)、タッチ検出用信号の内容を制御するためのパラメータ、タッチ検出の対象とする領域を制御するためのパラメータ、センサ電極群2のうちタッチ検出において使用する1以上のセンサ電極を制御するためのパラメータ、マルチタッチの場合にトラッキング対象を決定するためのパラメータ、パーム領域の判定方法を制御するためのパラメータ、タッチ検出部32からホストプロセッサ5に対して送信するデータの内容を制御するためのパラメータ、センサ電極群2の駆動方法を制御するためのパラメータ(例えば、タッチ検出用信号の波形、電圧、送信周波数)などが含まれ得る。詳しくは後述するが、タッチ検出部32は、ホストプロセッサ5から還元される判定データに含まれるタッチ制御データに基づき、これらのタッチ検出用各種パラメータを制御するよう構成される。
【0023】
図3は、ペン検出部33が行うペン検出の詳細を示す処理フロー図である。同図に示すように、ペン検出部33はまず、アップリンク信号を生成して各X電極2xに対して入力することにより、電子ペン7に対してアップリンク信号を送信する処理を行う(ステップS20)。アップリンク信号は、電子ペン7をシステム1に同期させるとともに、電子ペン7に対する命令(コマンド)を送信するための信号である。電子ペン7は、このアップリンク信号を受信したことに応じて、無変調のバースト信号と、電子ペン7内で取得される各種データ(筆圧、サイドスイッチのオンオン情報、ペンIDなど。以下、「ペン取得データ」と称する)により変調されたデータ信号とをこの順で含むペン信号を送信するよう構成される。アップリンク信号により送信されるコマンドは、データ信号により送信すべきデータの内容を電子ペン7に対して指示する役割を担う。
【0024】
続いてペン検出部33は、グローバルスキャンを行うか否かを判定する(ステップS21)。この判定は、ホストプロセッサ5から還元される判定データに含まれるペン制御データに基づいて行われるが、この点については後述する。
【0025】
ステップS21においてグローバルスキャンを行うと判定した場合のペン検出部33は、電子ペン7がペン信号の送信を行っているタイミングで、センサ電極群2を構成するすべてのセンサ電極をスキャンする処理(グローバルスキャン)を行い(ステップS22)、その結果としてペン信号が検出されたか否かを判定する(ステップS23)。グローバルスキャンにおいてはデータ信号の復調処理は行われず、ステップS23においては、単にペン信号が検出されたか否かのみが判定される。ステップS23においてペン信号が検出されなかったと判定した場合、ペン検出部33は、ペン不検出を示すペンデータをホストプロセッサ5に対して送信し(ステップS32)、ペン検出動作を終了する。
【0026】
一方、ステップS23においてペン信号が検出されたと判定したペン検出部33は、各センサ電極におけるペン信号の検出レベルに基づき、ペン座標を導出する(ステップS24)。そして、導出したペン座標を示すペンデータをホストプロセッサ5に対して送信し(ステップS25)、ペン検出動作を終了する。
【0027】
ステップS21においてグローバルスキャンを行わないと判定した場合のペン検出部33は、電子ペン7がバースト信号の送信を行っているタイミングで、センサ電極群2を構成する複数のセンサ電極のうち直前のペン座標の近傍に位置する所定数のセンサ電極のみをスキャンする処理(セクタスキャン)を行い(ステップS26)、その結果としてペン信号が検出されたか否かを判定する(ステップS27)。この判定においてペン信号が検出されなかったと判定した場合、ペン検出部33は、ペン不検出を示すペンデータをホストプロセッサ5に対して送信し(ステップS32)、ペン検出動作を終了する。
【0028】
一方、ステップS27においてペン信号が検出されたと判定したペン検出部33は、各センサ電極におけるペン信号の検出レベルに基づき、ペン座標を導出する(ステップS28)。その後、導出したペン座標に最も近いセンサ電極を用いてデータ信号を受信し、復調することによって、電子ペン7が送信したペン取得データを受信する(ステップS29)。
【0029】
続いてペン検出部33は、ペン状態情報を取得する処理を行う(ステップS30)。ペン状態情報は、電子ペン7がタッチ面に接触したこと(ペンアップ)、タッチ面に接触した電子ペン7が引き続きタッチ面に接触していること(ペンムーブ)、電子ペン7がタッチ面から離れたこと(ペンダウン)のいずれかを示す情報である。電子ペン7がタッチ面に接触しているか否かの判定は、ステップS30で取得された筆圧が所定の閾値(以下、「筆圧ON荷重」と称する)を上回っているか否かに基づいて判定される。
【0030】
なお、ステップS30で取得されるペン状態情報には、電子ペン7の傾きを示す傾き情報が含まれることとしてもよい。詳しく説明すると、傾き検出に対応している電子ペン7は、ペン信号を2つの送信電極のそれぞれから送信するよう構成される。ペン検出部33は、こうして送信される2つのペン信号のそれぞれに基づいてペン座標を導出することによって2つのペン座標を取得し、これら2つのペン座標の間の距離に基づいて、電子ペン7の傾きを導出するよう構成される。
【0031】
ステップS30を終了したペン検出部33は、導出したペン座標、受信したペン取得データ、取得したペン状態情報を示すペンデータをホストプロセッサ5に対して送信し(ステップS31)、ペン検出動作を終了する。
【0032】
ここで、ペン検出部33がペン状態情報を取得するために使用する筆圧ON荷重は、ペン検出部33がペン検出を行うために使用するペン検出用各種パラメータの一部を構成する。ペン検出用各種パラメータには、他に、グローバルスキャンを強制的に実行するためのグローバルスキャンとセクタスキャンの動作割合を示すパラメータ、
図3のステップS23,S27でペン信号を検出したと判定するためのペン信号の検出レベルであるパラメータ、ペン信号の周波数であるパラメータ、アップリンク信号の送信強度(増幅レベル)であるバラメータ、ペン検出部33が導出しているペン座標を補正するためのパラメータ、ペン検出部33が導出している電子ペン7の傾きを補正するためのパラメータなどが含まれ得る。詳しくは後述するが、ペン検出部33は、ホストプロセッサ5から還元される判定データに含まれるペン制御データに基づき、これらのペン検出用各種パラメータの制御も行うよう構成される。
【0033】
図1に戻る。ホストプロセッサ5はシステム1の中央処理装置(CPU:Central Processing Unit)であり、所定のオペレーティングシステム(OS)52を実行することによりシステム1の全体を制御する役割を担う。ホストプロセッサ5は、GPU(Graphics Processing Unit)を含むこととしてもよい。GPUは、一般にCPUよりも高速に演算を行える処理装置であり、リアルタイム画像処理など高速演算が必要な処理を担う。
【0034】
ホストプロセッサ5は、内部バス6を介してバスインターフェース40,41及びメモリ42に接続される。メモリ42には、ホストプロセッサ5の動作を規定するプログラムが記憶されており、ホストプロセッサ5はこのプログラムを読み出して実行することにより、後述する各処理を行う。また、メモリ42は、ホストプロセッサ5が処理中に使用する各種データを一時的又は永続的に記憶する役割も担う。
【0035】
バスインターフェース40は、専用バス4aを介してタッチIC3に接続され、バスインターフェース41は、周辺機器バス4bを介してタッチIC3に接続される。これによりホストプロセッサ5は、専用バス4a及び周辺機器バス4bのそれぞれを介し、2系統でタッチIC3に接続される。
【0036】
周辺機器バス4bは、システム1の内部において一般的に利用されるバスであり、例えばユニバーサル・シリアル・バス(USB)によって構成される。タッチ検出部32が導出したタッチ座標及びパーム座標、並びに、ペン検出部33が取得したペンデータは、周辺機器バス4bによって、タッチIC3からホストプロセッサ5に送信されることが好ましい。一方、専用バス4aは、ヒートマップを含むフレームデータ及び判定データを送受信するために特別に設けたもので、大容量のデータを送受信できるよう、例えばシリアル・ペリフェラル・インタフェース(SPI)によって構成される。なお、判定データについては、データ量がヒートマップほど大きくないことから、周辺機器バス4bによってホストプロセッサ5からタッチIC3に送信することとしてもよい。
【0037】
ホストプロセッサ5においては、オペレーティングシステム52の他にタッチIC対応ファームウェア(FW)51(外部プロセッサ)も実行される。タッチIC対応ファームウェア51は、例えばGPU上で動作するプログラムであり、タッチIC3から供給されるフレームデータ(ヒートマップ)及びペンデータに基づいて所定の処理を行うことによって上記判定データを生成し、生成した判定データをタッチIC3に還元する処理を行う。判定データの生成及び還元については、後ほどシーケンス図及び処理フロー図を参照しながらより詳しく説明する。
【0038】
タッチIC対応ファームウェア51が行う所定の処理には、タッチIC3から供給されるヒートマップ及びペン座標に基づいてタッチ領域及びパーム領域を導出する処理が含まれる。タッチIC対応ファームウェア51は、導出したタッチ領域及びパーム領域をオペレーティングシステム52のタッチドライバ53に供給する。
【0039】
図4(a)は、タッチIC対応ファームウェア51が行うパーム領域の導出処理を説明する図である。同図には、タッチIC対応ファームウェア51により4つのタッチ領域A~Dが導出され、かつ、タッチIC3から1つのペン座標とが供給された場合を示している。
【0040】
ユーザが電子ペン7による入力を行う場合、電子ペン7を持つユーザの手がタッチ面に触れ、タッチ領域として導出されてしまう可能性がある。こうして導出される可能性があるタッチ領域は、ユーザが右利きであればペン座標の右側に、ユーザが左利きであればペン座標の左側に位置するはずである。そこでタッチIC対応ファームウェア51は、ユーザが右利きである場合には、ペン座標の右側に所定形状のパーム領域(
図4(a)において破線で示した範囲)を仮に設定し、その中に含まれるタッチ領域をパーム領域として取得する。
図4(a)の例では、タッチ領域C,Dがパーム領域として取得されることになる。また、ユーザが左利きである場合には、ペン座標の左側に所定形状のパーム領域を仮に設定し、その中に含まれるタッチ領域をパーム領域として取得する。
【0041】
タッチIC対応ファームウェア51がこのような処理を行うためには、予めユーザの利き手を示す情報を取得する必要がある。これは、一例では、事前のユーザ設定により、タッチIC対応ファームウェア51にユーザの利き手(右利き又は左利き)を示すパラメータを設定しておくことによって実現できる。また、他の一例では、タッチ領域とペン座標の位置関係から、タッチIC対応ファームウェア51がユーザの利き手を判定することによっても実現できる。
【0042】
図4(b)は、タッチIC対応ファームウェア51によるユーザの利き手の判定の例を説明する図である。同図の例では、ペン座標の左側に2つのタッチ領域A,Bが存在している。タッチ領域A,Bとペン座標の位置関係がこの状態を保ったまま一定時間以上継続する場合、タッチIC対応ファームウェア51は、ユーザの利き手は左手であると判定することができる。このように、タッチIC対応ファームウェア51によってユーザの利き手を判定することも可能である。
【0043】
なお、ここではペン座標との位置関係に基づいてパーム領域を導出する例を説明したが、タッチIC対応ファームウェア51は、例えば、面積が所定値以上であるタッチ領域をパーム領域として取得することとしてもよい。
【0044】
図1に戻る。オペレーティングシステム52には、タッチドライバ53及びペンドライバ54が含まれる。タッチドライバ53は、タッチIC対応ファームウェア51により導出されたタッチ領域及びパーム領域を受け取り、所定の処理を加えたうえで、オペレーティングシステム52上で動作する描画アプリケーションなどに渡す役割を担う。また、ペンドライバ54は、タッチIC3からペンデータを受け取り、所定の処理を加えたうえで上記描画アプリケーションなどに渡す役割を担う。描画アプリケーションは、こうしてタッチドライバ53及びペンドライバ54から受け取ったデータに基づき、タッチ面上における指8又は電子ペン7の軌跡を示すインクデータの生成及びレンダリングなどを行う。これにより、ユーザは、電子ペン7又は指8で入力した結果を画面上で確認することができる。
【0045】
次に、タッチIC対応ファームウェア51による判定データの生成及び還元について、
図5~
図8を参照しながら、詳しく説明する。
【0046】
図5は、
図1に示したシステム1の動作を示すシーケンス図である。タッチIC3は、ペン検出部33によるペン検出(ステップS1)と、タッチ検出部32によるタッチ検出(ステップS2)とを繰り返し実行するように構成される。なお、詳しくは後述するが、ステップS1,S2の実行比率(スキャンシナリオ)は、タッチIC対応ファームウェア51からタッチIC3に還元される判定データに含まれるペン制御データ(ペン検出の動作を制御するためのデータ)によって、タッチIC対応ファームウェア51からタッチIC3に指示される。タッチIC3は、この指示に従ってステップS1,S2を実行するよう構成される。
【0047】
タッチIC3は、ペン検出部33によるペン検出(ステップS1)を実行した場合、タッチIC対応ファームウェア51とオペレーティングシステム52(より具体的にはペンドライバ54)に対して、ペンデータを供給する。この供給は、周辺機器バス4bを介して実行される。また、タッチIC3は、タッチ検出部32によるタッチ検出(ステップS2)を実行した場合、タッチIC対応ファームウェア51に対して、ヒートマップを含むフレームデータを供給する。この供給は、専用バス4aを介して実行される。
【0048】
ペンデータ及びフレームデータを受信したタッチIC対応ファームウェア51は、判定処理を実行する(ステップS3)。この処理により、タッチ領域及びパーム領域を含むタッチ制御データと、ペン制御データとを含む判定データが生成される。生成された判定データは、専用バス4a又は周辺機器バス4bを介して、タッチIC3に還元される。タッチ領域及びパーム領域は、オペレーティングシステム52(より具体的にはタッチドライバ53)にも供給される。
【0049】
図6は、ステップS3で行われる判定処理の詳細を示す処理フロー図である。同図に示すように、タッチIC対応ファームウェア51はまず、ペンデータにペン座標又はペン不検出を示すデータのいずれが含まれるかを判定する(ステップS40)。そして、ペン座標が含まれると判定した場合には、ペン検出時のスキャンシナリオと、セクタスキャン位置とを指定するペン制御データを生成する(ステップS41)。一方、ペン不検出を示すデータが含まれると判定した場合には、ペン未検出時のスキャンシナリオと、グローバルスキャン実行とを指定するペン制御データを生成する(ステップS42)。
【0050】
ここで、ペン検出時のスキャンシナリオは、ペン未検出時のスキャンシナリオに比べてペン検出を高い頻度で含むシナリオである。こうすることで、ペン検出時にはタッチIC3によるペン信号の受信頻度を上げることができるので、より高い頻度で電子ペン7の位置を検出することが可能になる他、電子ペン7からタッチIC3に対して、よりサイズの大きいデータを送信することが可能になる。一方、ペン未検出時には、タッチ領域及びパーム領域をより高い頻度で取得することが可能になる。
【0051】
続いてタッチIC対応ファームウェア51は、受信したフレームデータからヒートマップ取り出し、取り出したヒートマップに基づき、タッチ領域を導出する(ステップS43)。タッチIC対応ファームウェア51はさらに、受信したペンデータに含まれるペン座標と、ステップS43で導出したタッチ領域とに基づき、パーム領域を導出する(ステップS44)。この導出の詳細は、
図4(a)を参照して説明したとおりである。ペン座標が受信されていない場合には、パーム領域を導出しないこととしてもよいし、面積が所定値以上であるタッチ領域をパーム領域として導出することとしてもよい。タッチIC対応ファームウェア51は、こうして導出したタッチ領域及びパーム領域をオペレーティングシステム52(より具体的にはタッチドライバ53)に供給する(ステップS45)。
【0052】
次にタッチIC対応ファームウェア51は、導出したタッチ領域及びパーム領域を含むタッチ制御データを生成する(ステップS46)とともに、受信したペン座標並びに導出したタッチ領域及びパーム領域等に基づいて上述したペン検出用各種パラメータの制御内容を生成し、ペン制御データに追加する(ステップS47)。そして、タッチIC対応ファームウェア51は、タッチ制御データ及びペン制御データを含む判定データを生成してタッチIC3に向けて送信し(ステップS48)、判定処理を終了する。
【0053】
図5に戻る。判定データを受信したタッチIC3は、タッチ検出部32及びペン検出部33のそれぞれにおいて、判定データに基づく処理を実行する(ステップS4)。
【0054】
図7は、ステップS4で行われる判定データに基づく処理のうち、タッチ検出に関する部分の詳細を示す処理フロー図である。同図に示すように、タッチ検出部32はまず、判定データからタッチ制御データを取得し(ステップS50)、その中に含まれるタッチ領域及びパーム領域と、タッチIC3の内部で導出したタッチ領域及びパーム領域とを比較する(ステップS51)。そしてタッチ検出部32は、比較の結果に基づき、タッチIC3内部で導出するタッチ領域及びパーム領域が、タッチIC対応ファームウェア51で導出されるタッチ領域及びパーム領域に近づくように、上述したタッチ検出用各種パラメータを制御し(ステップS52)、処理を終了する。
【0055】
ステップ52の制御には、タッチIC対応ファームウェア51側で5本の指が検出されているのにタッチIC3側で4本しか検出されていない場合に、タッチの検出感度を上げるためにタッチを検出するための閾値(静電容量の閾値)を下げる、という制御、タッチIC対応ファームウェア51側でパームが検出されているのにタッチIC3側でパームが検出されていない場合に、パームを検出しやすくするためにパームを検出するための閾値(面積の閾値)を上げる、という制御などが含まれ得る。また、それぞれ1以上のタッチ検出用各種パラメータをプリセットしてなる複数の動作モード(例えば、手袋モード、水滴等の異物付モード)を予めタッチIC対応ファームウェア51及びタッチ検出部32のそれぞれに記憶しておき、タッチIC対応ファームウェア51がヒートマップに基づいて最適な動作モードを決定し、決定された動作モードで動作するようタッチIC3がタッチ検出用各種パラメータを制御することとしてもよい。ステップS52において、上述したその他のパラメータを制御することとしてもよいのは勿論である。
【0056】
図8は、ステップS4で行われる判定データに基づく処理のうち、ペン検出に関する部分の詳細を示す処理フロー図である。ペン検出部33はまず、判定データからペン制御データを取得する(ステップS60)。そして、取得ペン制御データの指定に従い、ウチを設定する(ステップS61)。これ以降のペン検出動作及びタッチ検出動作は、ここで設定されたスキャンシナリオに従って実行される。
【0057】
次にペン検出部33は、ペン制御データによりグローバルスキャン実行とセクタスキャン位置のいずれが指定されているかを判定する(ステップS62)。グローバルスキャン実行が指定されていると判定した場合、ペン検出部33は、次回のペン検出をグローバルスキャンに設定する(ステップS63)。これにより、次回のペン検出においては、
図3のステップS21の判定結果が肯定となる。一方、ステップS62でセクタスキャン位置が指定されていると判定した場合、ペン検出部33は、次回のペン検出をセクタスキャンに設定するとともに、その位置を設定する(ステップS64)。これにより、次回のペン検出においては、
図3のステップS21の判定結果が否定となり、また、
図3のステップS26でスキャンの対象となるセンサ電極が決定される。
【0058】
最後にペン検出部33は、ペン制御データに含まれるペン検出用各種パラメータの制御内容に基づいてペン検出用各種パラメータを制御し(ステップS65)、処理を終了する。ステップ65の制御には、タッチIC対応ファームウェア51とタッチIC3のそれぞれにおける電子ペン7の検出の有無に応じて、
図3のステップS23,S27でペン信号を検出したと判定するためのペン信号の検出レベルを上下し、又は、グローバルスキャンとセクタスキャンの動作割合を変更する制御などが含まれ得る。ステップS65において、上述したその他のパラメータを制御することとしてもよいのは勿論である。
【0059】
以上説明したように、本実施の形態によるシステム1で実行される方法によれば、ホストプロセッサ5による処理の結果である判定データをタッチIC対応ファームウェア51からタッチIC3に還元しているので、タッチIC3は、ホストプロセッサ5による処理の結果を利用することが可能になる。その結果として、例えばタッチIC3は、より高い精度でタッチ領域及びパーム領域を導出できるようになるし、タッチIC対応ファームウェア51からの制御に基づいてペン検出を行えるようになる。
【0060】
また、データサイズの大きいヒートマップを専用バス4aにより送信することとしたので、周辺機器バス4bの通信リソースを圧迫することなく、タッチIC3からホストプロセッサ5にヒートマップを供給することが可能になる。
【0061】
なお、本実施の形態においては、ペン検出部33がペン検出を実行する都度、ペンデータがタッチIC対応ファームウェア51に供給されることとしたが、例えば、複数回のペン検出を実行した後に1回のタッチ検出を実行する、といったスキャンシナリオが採用される場合には、タッチ検出の直前に行われたペン検出の結果として得られたペンデータのみがタッチIC対応ファームウェア51に供給されることとしてもよい。このようにすれば、
図5のステップS3における判定処理に影響を与えずに、タッチIC対応ファームウェア51の処理を軽減することが可能になる。
【0062】
また、本実施の形態においては、タッチIC対応ファームウェア51からオペレーティングシステム52に対してタッチ領域及びパーム領域を供給するとしたが、ヒートマップに基づくジェスチャ認識などより高度な処理をタッチIC対応ファームウェア51において実施し、その結果もオペレーティングシステム52に対して供給することとしてもよい。また、タッチIC3に還元する判定データにも、高度な処理の結果を含めることとしてもよい。こうすることで、タッチIC対応ファームウェア51をより有意義に活用することが可能になる。
【0063】
また、本実施の形態においては、タッチIC対応ファームウェア51により導出されたタッチ領域及びパーム領域のみがタッチ制御データに含まれることとしたが、ペン検出用各種パラメータと同じように、タッチIC対応ファームウェア51において具体的なタッチ検出用各種パラメータの制御内容を生成し、タッチ制御データに含めることとしてもよい。こうすれば、タッチ検出部32で使用されるタッチ検出用各種パラメータをタッチIC対応ファームウェア51から具体的に制御することが可能になる。
【0064】
図9は、本発明の第2の実施の形態によるシステム1の構成を示す図である。本実施の形態によるシステム1は、ホストプロセッサ5とは別に設けられるAI(Artificial Intelligence)コプロセッサ9をタッチIC3の外部プロセッサとして使用する点、外部プロセッサであるAIコプロセッサ9にペンデータが供給されない点で、第1の実施の形態によるシステム1と相違する。その他の点では第1の実施の形態によるシステム1と同様であるので、第1の実施の形態と同一の構成については同一の符号を付し、以下では、第1の実施の形態によるシステム1との相違点を中心に説明する。
【0065】
図9に示すように、本実施の形態によるシステム1は、AIコプロセッサ9を有して構成される。
図1に示したタッチIC対応ファームウェア51は、本実施の形態によるシステム1には設けられない。また、バスインターフェース40は、AIコプロセッサ9内に設けられ、内部バス6には接続されない。
【0066】
AIコプロセッサ9は、人工知能を内蔵する補助プロセッサであり、専用バス4aによりタッチIC3に接続される。AIコプロセッサ9は、タッチIC3から専用バス4aを介してヒートマップを含むフレームデータを受け取り、受け取ったヒートマップに基づいてタッチ座標及びパーム座標を導出し、その結果を含む判定データを専用バス4aを介してタッチIC3に還元する役割を担う。
【0067】
本実施の形態によるタッチ検出部32は、還元された判定データからタッチ座標及びパーム座標を取り出し、周辺機器バス4bを介してホストプロセッサ5にレポートするよう構成される。これにより、ホストプロセッサ5は、AIコプロセッサ9と通信を行うことなく、AIコプロセッサ9により導出されたタッチ領域及びパーム領域を取得することができる。つまり、ホストプロセッサ5から見ればAIコプロセッサ9が隠蔽されていることになるので、ホストプロセッサ5の実装を変更せずに、外部プロセッサであるAIコプロセッサ9を追加することが実現される。
【0068】
図10は、本実施の形態によるシステム1の動作を示すシーケンス図である。同図に示すように、本実施の形態では、ペン検出部33によるペン検出(ステップS1)の結果として得られるペンデータは、オペレーティングシステム52(より具体的にはペンドライバ54)に対してのみ供給され、AIコプロセッサ9へは供給されない。また、ステップS3の判定処理に代えて、ステップS3aの判定処理が実行される。
【0069】
図11は、ステップS3aで行われる判定処理の詳細を示す処理フロー図である。同図に示すように、ステップS3aで行われる判定処理は、
図6に示した判定処理からステップS40~S42,S45,S47を省き、ステップS44,S48をそれぞれステップS44a,S48aに変更したものとなっている。
【0070】
ステップS44aは、ペン座標を使用しない点で、
図6に示したステップS44と相違する。すなわち、AIコプロセッサ9は、ステップS43で導出したタッチ領域のみに基づき、パーム領域を導出するよう構成される。具体的な例では、面積が所定値以上であるタッチ領域をパーム領域として導出すればよい。ステップS48aは、判定データにペン制御データが含まれない点で、
図6に示したステップS48と相違する。
【0071】
図10に戻る。タッチ検出部32は、AIコプロセッサ9から受信した判定データに含まれるタッチ領域及びパーム領域を、自身が導出したタッチ領域及びパーム領域としてホストプロセッサ5にレポートする。これにより、上記したように、ホストプロセッサ5の実装を変更せずに、外部プロセッサであるAIコプロセッサ9を追加することが実現される。
【0072】
以上説明したように、本実施の形態によるシステム1で実行される方法によれば、AIコプロセッサ9で導出されたタッチ座標及びパーム座標をタッチIC3経由でホストプロセッサ5に供給しているので、ホストプロセッサ5の実装を変更せずに外部プロセッサを追加することが可能になる。
【0073】
なお、本実施の形態によるタッチ検出部32においても、
図7に示した処理を実行することとしてもよい。こうすることで、本実施の形態においても、タッチIC3は、より高い精度でタッチ領域及びパーム領域を導出できるようになる。
【0074】
また、本実施の形態においても、ペン検出部33によるペン検出(ステップS1)の結果として得られるペンデータをAIコプロセッサ9へ供給することとしてもよい。こうすれば、本実施の形態においても、ペン検出部33は、ホストプロセッサ5からの制御に基づいてペン検出を行えるようになる。また、AIコプロセッサ9において、パーム領域の導出をペン座標に基づいて行うことが可能になる。
【0075】
また、本実施の形態においても、ヒートマップに基づくジェスチャ認識などより高度な処理をAIコプロセッサ9において実施し、タッチIC3に還元される判定データにその結果を含めることとしてもよい。この場合、タッチIC3は、こうして還元された高度な処理の結果もホストプロセッサ5にレポートすることが好ましい。こうすることで、AIコプロセッサ9をより有意義に活用することが可能になる。
【0076】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【符号の説明】
【0077】
1 システム
2 センサ電極群
2x X電極
2y Y電極
3 タッチIC
4a 専用バス
4b 周辺機器バス
5 ホストプロセッサ
6 内部バス
7 電子ペン
8 指
9 AIコプロセッサ
31 ファームウェア
32 タッチ検出部
33 ペン検出部
40,41 バスインターフェース
42 メモリ
51 タッチIC対応ファームウェア
52 オペレーティングシステム
53 タッチドライバ
54 ペンドライバ