(57)【特許請求の範囲】
【請求項１】
検出面への物体の近接状態に応じた情報を入力する入力装置であって、
前記検出面の複数の位置において物体の近接状態を検出するセンサ部と、
前記複数の位置における物体の近接状態を１サイクルごとに検出する周期的な検出動作を行うように前記センサ部を制御するセンサ制御部と、
前記検出動作の１サイクルごとに、前記センサ部の検出結果に基づいて、前記検出面に近接した物体の位置の座標を取得する座標取得部と、
前記検出動作の異なるサイクルにおいて取得された同一物体の前記座標を紐付ける紐付け部と、
前記検出動作の一連のサイクルに渡って前記紐付け部により紐付けられた一連の前記座標に基づいて、当該一連の座標に対する紐付けのエラーを検出するエラー検出部と、
前記エラー検出部において検出された前記紐付けのエラーを補正するエラー補正部とを有し、
前記紐付け部は、前記検出動作の異なるサイクルにおいて取得された同一物体の前記座標に同一の識別コードを割り当て、
前記エラー補正部は、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得された第２の座標との紐付けにエラーがあると前記エラー検出部において判定された場合、前記第１の座標に前記第２の座標とは異なる識別コードを割り当てる
ことを特徴とする入力装置。
【請求項２】
前記エラー補正部は、前記第１の座標と前記第２の座標との紐付けにエラーがあると判定された場合において、前記第１の座標が取得されたサイクルにおける前記識別コードの割り当て個数が所定の上限値に達しているならば、前記第１の座標に対する識別コードの割り当てを中止する
ことを特徴とする請求項１に記載の入力装置。
【請求項３】
前記エラー検出部は、前記紐付け部によって紐付けられた前記一連の座標に基づいて、前記検出面に近接する物体の位置の時間的な変化に応じた評価値を算出し、当該算出した評価値が所定のエラー判定条件を満たす場合、前記一連の座標に対する紐付けにエラーがあると判定する
ことを特徴とする請求項１又は２に記載の入力装置。
【請求項４】
前記エラー検出部は、前記検出面に近接する物体の速度に応じた評価値及び当該物体の加速度に応じた評価値の少なくとも一方を算出する
ことを特徴とする請求項３に記載の入力装置。
【請求項５】
前記エラー検出部は、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得され、前記第１の座標に紐付けられた第２の座標と、当該一のサイクルより２つ前のサイクルにおいて取得され、前記第２の座標に紐付けられた第３の座標とに基づいて、前記加速度に応じた評価値を算出する
ことを特徴とする請求項４に記載の入力装置。
【請求項６】
前記エラー検出部は、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得され、前記第１の座標に紐付けられた第２の座標とに基づいて、前記速度に応じた評価値を算出する
ことを特徴とする請求項４に記載の入力装置。
【請求項７】
前記エラー検出部は、前記評価値が所定のエラー判定条件を満たす場合、前記第１の座標と前記第２の座標との紐付けにエラーがあると判定する
ことを特徴とする請求項５又は６に記載の入力装置。
【請求項８】
検出面の複数の位置において物体の近接状態を検出するセンサ部を備え、前記検出面への物体の近接状態に応じた情報を入力する入力装置をコンピュータが制御する方法であって、
前記複数の位置における物体の近接状態を１サイクルごとに検出する周期的な検出動作を行うように前記センサ部を制御するステップと、
前記検出動作の１サイクルごとに、前記センサ部の検出結果に基づいて、前記検出面に近接した物体の位置の座標を取得するステップと、
前記検出動作の異なるサイクルにおいて取得された同一物体の前記座標を紐付けるステップと、
前記検出動作の一連のサイクルに渡って前記座標の紐付けを行うステップにより紐付けられた一連の前記座標に基づいて、当該一連の座標に対する紐付けのエラーを検出するステップと、
前記エラーを検出するステップにおいて検出された前記紐付けのエラーを補正するステップとを有し、
前記座標の紐付けを行うステップは、前記検出動作の異なるサイクルにおいて取得された同一物体の前記座標に同一の識別コードを割り当て、
前記エラーの補正を行うステップは、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得された第２の座標との紐付けにエラーがあると前記エラーを検出するステップにおいて判定された場合、前記第１の座標に前記第２の座標とは異なる識別コードを割り当てる
ことを特徴とする入力装置の制御方法。
【請求項９】
前記エラーの補正を行うステップは、前記第１の座標と前記第２の座標との紐付けにエラーがあると判定された場合において、前記第１の座標が取得されたサイクルにおける前記識別コードの割り当て個数が所定の上限値に達しているならば、前記第１の座標に対する識別コードの割り当てを中止する
ことを特徴とする請求項８に記載の入力装置の制御方法。
【請求項１０】
前記エラーを検出するステップは、前記座標の紐付けを行うステップによって紐付けられた前記一連の座標に基づいて、前記検出面に近接する物体の位置の時間的な変化に応じた評価値を算出し、当該算出した評価値が所定のエラー判定条件を満たす場合、前記一連の座標に対する紐付けにエラーがあると判定する
ことを特徴とする請求項８又は９に記載の入力装置の制御方法。
【請求項１１】
前記エラーの検出を行うステップは、前記検出面に近接する物体の速度に応じた評価値及び当該物体の加速度に応じた評価値の少なくとも一方を算出する
ことを特徴とする請求項１０に記載の入力装置の制御方法。
【請求項１２】
前記エラーの検出を行うステップは、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得され、前記第１の座標に紐付けられた第２の座標と、当該一のサイクルより２つ前のサイクルにおいて取得され、前記第２の座標に紐付けられた第３の座標とに基づいて、前記加速度に応じた評価値を算出する
ことを特徴とする請求項１１に記載の入力装置の制御方法。
【請求項１３】
前記エラーの検出を行うステップは、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得され、前記第１の座標に紐付けられた第２の座標とに基づいて、前記速度に応じた評価値を算出する
ことを特徴とする請求項１１に記載の入力装置の制御方法。
【請求項１４】
前記エラーの検出を行うステップは、前記評価値が所定のエラー判定条件を満たす場合、前記第１の座標と前記第２の座標との紐付けにエラーがあると判定する
ことを特徴とする請求項１２又は１３に記載の入力装置の制御方法。
【請求項１５】
請求項８乃至１４の何れか一項に記載された入力装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、静電容量の変化などを利用して物体の近接状態に応じた情報を入力する入力装置とその制御方法及びプログラムに係り、特に、コンピュータ等の各種の情報機器において指やペンなどの操作に応じた情報を入力する入力装置に関する。
【背景技術】
【０００２】
静電容量の変化を検出するセンサは、簡易な構成で物体（指やペンなど）の近接を検出できることから、ノート型コンピュータのタッチパッドや、スマートフォンのタッチパネルなど、各種の電子機器のユーザーインターフェース装置に広く用いられている。
【０００３】
下記の特許文献１には、複数の電極が配置されたタッチパネル部を備えるタッチパネル装置が記載されている。タッチパネル部の複数の電極の中から走査電極が決定され、当該決定された走査電極に対してタッチパネル部が操作されることにより、各電極の静電容量の変化が反映された計測値が取得され、その取得された計測値に基づいてタッチパネル部へのタッチの有無が検出される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１２／１１７４３７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
タッチパネルを用いたユーザーインターフェース装置では、タップ、フリック、スワイプ等の様々な指の操作が定義されており、指を接触させる時間や、指の位置を移動させる速度、距離、方向などを解析することにより、指の操作に応じたコマンドが入力される。そのため、指の接触位置を１サイクルごとに検出するだけでなく、複数のサイクルに渡って同一の指の接触位置を追跡し、その軌跡を求めることが必要となる。
【０００６】
しかしながら、タッチパネル等の入力装置は、センサの検出面に近接する物体を感度よく検出できるように構成されていることから、特にセンサにおいて外部からの電磁ノイズを受け易いという問題がある。例えば上述した静電容量式のセンサの場合、物体の近接に伴う電極の静電容量の変化を微小な電荷量の変化として検出するため、ノイズの影響により物体の座標や接触状態の誤検知を生じ易い。このような誤検知が生じると、実際には指ではないものを指の位置として追跡してしまう場合がある。
【０００７】
図５は、ノイズ等により指の位置を誤って追跡する例を示した図である。図５において、「Ｎ１］〜「Ｎ４」は、ノイズの影響により指の接触位置として誤って検出された座標を示す。また、「Ａ１」〜「Ａ５」は指Ａの接触位置の座標を示し、「Ｂ６」〜「Ｂ９」は指Ｂの接触位置の座標を示す。各符号に付された数字は、座標が検出されるサイクル数を示す。例えば「Ｎ１」と「Ａ１」は、同じサイクル「１」において検出された異なる座標である。
【０００８】
同一の指の接触位置を追跡するためには、新たなサイクルで検出された座標と、その前のサイクルで検出された座標とを、同一の指同士で正しく紐付ける必要がある。図５の例では、この紐付けが座標間の距離に基づいて行われる。すなわち、新たなサイクルで検出された座標は、その前のサイクルで検出された座標の中で最も近いものと紐付けられる。従って、サイクル「１」〜「４」では、近接した座標「Ａ１」〜「Ａ４」が紐付けられるとともに、残りの座標「Ｎ１」〜「Ｎ４」が紐付けられる。座標「Ａ１」〜「Ａ４」は指Ａの座標であるため、この紐付けは正しい。しかしながら、座標「Ｎ１」〜「Ｎ４」はそれぞれノイズにより誤検知された座標であるため、これらが指の座標として紐付けられると、ノイズが指の操作として誤認識されてしまう。
【０００９】
また、図５の例では、サイクル「１」〜「５」においてセンサの座標「Ａ１」〜「Ａ５」に接触していた指Ａが、サイクル「６」以降センサから離れる。ところが、このサイクル「６」から、新たに別の指Ｂがセンサの座標「Ｂ６」に接触を開始する。サイクル「６」の座標「Ｂ６」はサイクル「５」の座標「Ａ５」と最も近いため、座標「６」は座標「Ａ５」と紐付けられてしまう。その結果、座標「Ａ１」〜「Ａ５」における指Ａの軌跡と、座標「Ｂ６」〜「Ｂ９」における指Ｂの軌跡が、同一の指の軌跡として誤って処理されてしまう。
【００１０】
本発明はかかる事情に鑑みてなされたものであり、その目的は、検出面に接触する同一物体の座標の動きを正しく追跡できる入力装置とその制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の観点に係る入力装置は、検出面への物体の近接状態に応じた情報を入力する入力装置であって、前記検出面の複数の位置において物体の近接状態を検出するセンサ部と、前記複数の位置における物体の近接状態を１サイクルごとに検出する周期的な検出動作を行うように前記センサ部を制御するセンサ制御部と、前記検出動作の１サイクルごとに、前記センサ部の検出結果に基づいて、前記検出面に近接した物体の位置の座標を取得する座標取得部と、前記検出動作の異なるサイクルにおいて取得された同一物体の前記座標を紐付ける紐付け部と、前記検出動作の一連のサイクルに渡って前記紐付け部により紐付けられた一連の前記座標に基づいて、当該一連の座標に対する紐付けのエラーを検出するエラー検出部と、前記エラー検出部において検出された前記紐付けのエラーを補正するエラー補正部とを有する。
【００１２】
上記の構成によれば、前記検出動作の一連のサイクルに渡って前記紐付け部により紐付けられた同一物体の前記一連の座標に基づいて、前記一連の座標に対する紐付けのエラーが検出され、当該検出された前記紐付けのエラーが前記エラー補正部により補正される。そのため、前記検出面に接触する同一物体の座標の動きが正しく追跡される。
【００１３】
好適に、前記エラー検出部は、前記紐付け部によって紐付けられた前記一連の座標に基づいて、前記検出面に近接する物体の位置の時間的な変化に応じた評価値を算出し、当該算出した評価値が所定のエラー判定条件を満たす場合、前記一連の座標に対する紐付けにエラーがあると判定してよい。
これにより、前記検出面に近接する物体の位置の時間的な変化から、前記一連の座標に対する紐付けのエラーの有無が判定される。
【００１４】
好適に、前記エラー検出部は、前記検出面に近接する物体の速度に応じた評価値及び当該物体の加速度に応じた評価値の少なくとも一方を算出してよい。
これにより、前記検出面に近接する物体の速度や加速度から、前記一連の座標に対する紐付けのエラーの有無が判定される。
【００１５】
好適に、前記エラー検出部は、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得され、前記第１の座標に紐付けられた第２の座標と、当該一のサイクルより２つ前のサイクルにおいて取得され、前記第２の座標に紐付けられた第３の座標とに基づいて、前記加速度に応じた評価値を算出してよい。
これにより、連続した３サイクルの座標が示す物体の加速度に応じた評価値を用いて、前記紐付けのエラーが検出される。
【００１６】
好適に、前記エラー検出部は、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得され、前記第１の座標に紐付けられた第２の座標とに基づいて、前記速度に応じた評価値を算出してよい。
これにより、連続した２サイクルの座標が示す物体の速度に応じた評価値を用いて、前記紐付けのエラーが検出される。
【００１７】
好適に、前記エラー検出部は、前記評価値が所定のエラー判定条件を満たす場合、前記第１の座標と前記第２の座標との紐付けにエラーがあると判定してよい。
【００１８】
好適に、前記紐付け部は、前記検出動作の異なるサイクルにおいて取得された同一物体の前記座標に同一の識別コードを割り当ててよい。前記エラー補正部は、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得された第２の座標との紐付けにエラーがあると前記エラー検出部において判定された場合、前記第１の座標に前記第２の座標とは異なる識別コードを割り当ててよい。
これにより、先に取得された前記第１の座標と後に取得された前記第２の座標との紐付けにエラーがあると判定された場合、後に取得された前記第１の座標の前記識別コードが、先に取得された前記第２の座標とは異なる識別コードに変更される。
【００１９】
好適に、前記エラー補正部は、前記第１の座標と前記第２の座標との紐付けにエラーがあると判定された場合において、前記第１の座標が取得されたサイクルにおける前記識別コードの割り当て個数が所定の上限値に達しているならば、前記第１の座標に対する識別コードの割り当てを中止してよい。
これにより、座標の動きの追跡対象となる物体の個数が前記上限値に制限される。
【００２０】
本発明の第２の観点は、検出面の複数の位置において物体の近接状態を検出するセンサ部を備え、前記検出面への物体の近接状態に応じた情報を入力する入力装置をコンピュータが制御する方法に関する。この入力装置の制御方法は、前記複数の位置における物体の近接状態を１サイクルごとに検出する周期的な検出動作を行うように前記センサ部を制御するステップと、前記検出動作の１サイクルごとに、前記センサ部の検出結果に基づいて、前記検出面に近接した物体の位置の座標を取得するステップと、前記検出動作の異なるサイクルにおいて取得された同一物体の前記座標を紐付けるステップと、前記検出動作の一連のサイクルに渡って前記座標の紐付けを行うステップにより紐付けられた一連の前記座標に基づいて、当該一連の座標に対する紐付けのエラーを検出するステップと、前記エラーを検出するステップにおいて検出された前記紐付けのエラーを補正するステップとを有する。
【００２１】
好適に、前記エラーを検出するステップは、前記座標の紐付けを行うステップによって紐付けられた前記一連の座標に基づいて、前記検出面に近接する物体の位置の時間的な変化に応じた評価値を算出し、当該算出した評価値が所定のエラー判定条件を満たす場合、当該一連の座標に対する紐付けにエラーがあると判定してよい。
【００２２】
好適に、前記エラーの検出を行うステップは、前記検出面に近接する物体の速度に応じた評価値及び当該物体の加速度に応じた評価値の少なくとも一方を算出してよい。
【００２３】
好適に、前記エラーの検出を行うステップは、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得され、前記第１の座標に紐付けられた第２の座標と、当該一のサイクルより２つ前のサイクルにおいて取得され、前記第２の座標に紐付けられた第３の座標とに基づいて、前記加速度に応じた評価値を算出してよい。
【００２４】
好適に、前記エラーの検出を行うステップは、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得され、前記第１の座標に紐付けられた第２の座標とに基づいて、前記速度に応じた評価値を算出してよい。
【００２５】
好適に、前記エラーの検出を行うステップは、前記評価値が所定のエラー判定条件を満たす場合、前記第１の座標と前記第２の座標との紐付けにエラーがあると判定してよい。
【００２６】
好適に、前記座標の紐付けを行うステップは、前記検出動作の異なるサイクルにおいて取得された同一物体の前記座標に同一の識別コードを割り当ててよい。前記エラーの補正を行うステップは、前記検出動作の一のサイクルにおいて取得された第１の座標と、当該一のサイクルより１つ前のサイクルにおいて取得された第２の座標との紐付けにエラーがあると前記エラーを検出するステップにおいて判定された場合、前記第１の座標に前記第２の座標とは異なる識別コードを割り当ててよい。
【００２７】
好適に、前記エラーの補正を行うステップは、前記第１の座標と前記第２の座標との紐付けにエラーがあると判定された場合において、前記第１の座標が取得されたサイクルにおける前記識別コードの割り当て個数が所定の上限値に達しているならば、前記第１の座標に対する識別コードの割り当てを中止してよい。
【００２８】
本発明の第３の観点は、本発明の第２の観点に係る上記入力装置の制御方法をコンピュータに実行させるためのプログラムに関する。
【発明の効果】
【００２９】
本発明によれば、検出面に接触する同一物体の座標の動きを正しく追跡できる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施形態に係る入力装置の構成の一例を示す図である。
【図２】連続した３サイクルの座標から求められる速度と加速度を図解した図である。
【図３】本発明の実施形態に係る入力装置において識別コードの割り当てと座標の紐付けエラーの補正を説明するためのフローチャートである。
【図４】座標の紐付けエラーの検出と補正に関わる処理を説明するためのフローチャートである。
【図５】ノイズ等により指の接触位置を誤って追跡する例を示した図である。
【発明を実施するための形態】
【００３１】
＜第１の実施形態＞
図１は、本発明の実施形態に係る入力装置の構成の一例を示す図である。
図１に示す入力装置は、センサ部１０と、処理部２０と、記憶部３０と、インターフェース部４０を有する。本実施形態に係る入力装置は、センサが設けられた検出面に指やペンなどの物体を近接させることによって、その近接状態に応じた情報を入力する装置である。なお、本明細書における「近接」とは、接触した状態で近くにあることと、接触しない状態で近くにあることを両方含む。
【００３２】
［センサ部１０］
センサ部１０は、検出面に分布する複数の検出位置において、指やペンなどの物体の近接状態をそれぞれ検出する。例えばセンサ部１０は、物体の近接に応じて静電容量が変化する容量性センサ素子（キャパシタ）１２がマトリクス状に形成されたセンサマトリクス１１と、容量性センサ素子１２の静電容量に応じた検出データを生成する検出データ生成部１３と、容量性センサ素子１２に駆動電圧を印加する駆動部１４を有する。
【００３３】
センサマトリクス１１は、縦方向に延在した複数の駆動電極Ｌxと、横方向に延在した複数の検出電極Ｌyを備える。複数の駆動電極Ｌxは横方向へ平行に並び、複数の検出電極Ｌyは縦方向へ平行に並ぶ。複数の駆動電極Ｌxと複数の検出電極Ｌyが格子状に交差しており、互いに絶縁されている。駆動電極Ｌxと検出電極Ｌyの交差部付近に容量性センサ素子１２が形成される。なお、図１の例では電極（Ｌx，Ｌy）の形状が短冊状に描かれているが、他の任意の形状（ダイヤモンドパターンなど）でもよい。
【００３４】
駆動部１４は、センサマトリクス１１の各容量性センサ素子１２に駆動電圧を印加する。具体的には、駆動部１４は、処理部２０の制御に従って、複数の駆動電極Ｌｘから順番に一の駆動電極Ｌxを選択し、当該選択した一の駆動電極Ｌｘの電位を周期的に変化させる。駆動電極Ｌxの電位が所定の範囲で変化することにより、この駆動電極Ｌxと検出電極Ｌyとの交差点付近に形成された容量性センサ素子１２に印加される駆動電圧が所定の範囲で変化し、容量性センサ素子１２において充電や放電が生じる。
【００３５】
検出データ生成部１３は、駆動部１４による駆動電圧の印加に伴って容量性センサ素子１２が充電又は放電される際に各検出電極Ｌyにおいて伝送される電荷に応じた検出データを生成する。すなわち、検出データ生成部１３は、駆動部１４の駆動電圧の周期的な変化と同期したタイミングで、各検出電極Ｌyにおいて伝送される電荷をサンプリングし、そのサンプリングの結果に応じた検出データを生成する。
【００３６】
例えば、検出データ生成部１３は、容量性センサ素子１２の静電容量に応じた電圧を出力する静電容量−電圧変換回路（ＣＶ変換回路）と、ＣＶ変換回路の出力信号をデジタル信号に変換し、検出データとして出力するアナログ−デジタル変換回路（ＡＤ変換回路）を有する。
ＣＶ変換回路は、駆動部１４の駆動電圧が周期的に変化して容量性センサ素子１２が充電又は放電される度に、処理部２０の制御に従って、検出電極Ｌyにおいて伝送される電荷をサンプリングする。具体的には、ＣＶ変換回路は、検出電極Ｌyにおいて正又は負の電荷が伝送される度に、この電荷若しくはこれに比例した電荷を参照用のキャパシタに移送し、参照用のキャパシタに発生する電圧に応じた信号を出力する。例えば、ＣＶ変換回路は、検出電極Ｌyにおいて周期的に伝送される電荷若しくはこれに比例した電荷の積算値や平均値に応じた信号を出力する。ＡＤ変換回路は、処理部２０の制御に従って、ＣＶ変換回路の出力信号を所定の周期でデジタル信号に変換し、検出データとして出力する。
【００３７】
なお、上述の例において示したセンサ部１０は、電極間（Ｌx，Ｌy）に生じる静電容量（相互容量）の変化によって物体の近接を検出するものであるが、この例に限らず、他の種々の方式によって物体の近接を検出してもよい。例えば、センサ部１０は、物体の接近によって電極とグランドの間に生じる静電容量（自己容量）を検出する方式でもよい。自己容量を検出する方式の場合、検出電極に駆動電圧が印加される。また、センサ部１０は、静電容量方式に限定されるものではなく、例えば抵抗膜方式や電磁誘導式などでもよい。
【００３８】
［処理部２０］
処理部２０は、入力装置の全体的な動作を制御する回路であり、例えば、記憶部３０に格納されるプログラムの命令コードに従って処理を行うコンピュータや、特定の機能を実現するロジック回路を含んで構成される。処理部２０の処理は、その全てをコンピュータとプログラムにより実現してもよいし、その一部若しくは全部を専用のロジック回路で実現してもよい。
【００３９】
図１の例において、処理部２０は、センサ制御部２１と、２次元データ生成部２２と、座標取得部２３と、接触状態判定部２４と、紐付け部２５と、エラー検出部２６と、エラー補正部２７を有する。
【００４０】
センサ制御部２１は、検出面の複数の検出位置（センサマトリクス１１の各容量性センサ素子１２）における物体の近接状態を１サイクルごとに検出する周期的な検出動作を行うようにセンサ部１０を制御する。具体的には、センサ制御部２１は、駆動部１４における駆動電極の選択とパルス電圧の発生、並びに、検出データ生成部１３における検出電極の選択と検出データの生成が周期的に適切なタイミングで行われるように、これらの回路を制御する。
【００４１】
２次元データ生成部２２は、センサ部１０の検出結果に基づいて、操作面の複数の位置における物体の近接の度合を示す複数の検出データを含んだ行列形式の２次元データ３１を生成し、記憶部３０に格納する。
【００４２】
例えば２次元データ生成部２２は、センサ部１０から出力される検出データを、行列形式で記憶部３０の記憶領域（現在値メモリ）に格納する。２次元データ生成部２２は、現在値メモリに格納した行列形式の検出データと、記憶部３０の別の記憶領域（ベース値メモリ）に予め格納した行列形式のベース値との差を演算し、それらの演算結果を２次元データ３１として記憶部３０に格納する。ベース値メモリには、検出面に物体が近接していない状態における検出データの基準となる値（ベース値）が記憶される。２次元データ３１は、物体が検出面に近接していない状態からの検出データの変化量を表す。
【００４３】
座標取得部２３は、センサ部１０における検出動作の１サイクルごとに、センサ部１０の検出結果に基づいて、検出面に近接した物体の位置の座標Ｐを取得する。例えば座標取得部２３は、２次元データ生成部２２より生成された２次元データ３１に基づいて、検出面上における物体の近接領域を特定し、特定した近接領域の形状や当該近接領域内のデータ値の分布などから物体の座標Ｐを算出する。
【００４４】
接触状態判定部２４は、センサ部１０における検出動作の１サイクルごとに、センサ部１０の検出結果に基づいて、座標取得部２３により座標が取得された物体の検出面への接触状態を判定し、その判定結果を示す接触状態値Ｔを取得する。例えば接触状態判定部２４は、座標Ｐが算出された物体の検出面における近接領域の面積や、近接領域内におけるデータ値の大きさなどに基づいて、物体（指）が検出面に接触しているか否かを判定する。
【００４５】
また、接触状態判定部２４は、各物体について取得した接触状態値Ｔに基づいて、センサ部１０の検出面に接触している「指」の数（接触指数Ｍ）を計数する。
【００４６】
紐付け部２５は、センサ部１０の検出動作の異なるサイクルにおいて取得された同一物体の座標を紐付ける処理を行う。例えば、紐付け部２５は、センサ部１０による検出動作の異なるサイクルにおいて取得された同一物体の座標に同一の識別コードｉを割り当てる。識別コードｉは、複数のサイクルに渡って同一の物体の座標を追跡するための情報である。例えば紐付け部２５は、前回のサイクルで取得された座標Ｐと今回のサイクルで新たに取得された座標Ｐとの距離をそれぞれ算出し、互いの距離が最も短い前回の座標Ｐと今回の座標Ｐとの組み合わせを特定する。そして、紐付け部２５は、今回のサイクルの座標Ｐに対して、最も距離が短い前回のサイクルの座標Ｐと同一の識別コードｉを割り当てる。
【００４７】
また、紐付け部２５は、座標Ｐと共に、接触状態値Ｔについても識別コードｉを割り当てる。例えば、紐付け部２５は、検出動作の複数のサイクルに渡って、同一物体の同一サイクルにおける座標Ｐ及び接触状態値Ｔを含んだデータＤに対して、同一の識別コードｉを割り当てる。すなわち、紐付け部２５は、同一のサイクルに取得された同一物体の座標Ｐ及び接触状態値Ｔを一つのデータＤとしてまとめて扱い、このデータＤに識別コードｉを割り当てる。サイクルｎにおいて識別コードｉが割り当てられたデータＤを“Ｄ［ｎ］［ｉ］”と記す。
【００４８】
具体的には、紐付け部２５は、次のようにして識別コードｉの割り当てを行う。
まず、紐付け部２５は、サイクルｎにおいて同一の物体について取得された座標Ｐ及び接触状態値Ｔを一つのデータＣとしてまとめて扱い、このデータＣに仮の識別コードｋを割り当てる。サイクルｎにおいて仮の識別コードｋが割り当てられたデータＣを“Ｃ［ｎ］［ｋ］”と記す。
次に、紐付け部２５は、前回のサイクルｎ−１において識別コードｉが割り当てられたデータＤ［ｎ−１］［ｉ］の座標Ｐと、今回のサイクルｎにおいて仮の識別コードｋが割り当てられたデータＣ［ｎ］［ｋ］の座標Ｐとの距離をそれぞれ算出し、互いの座標Ｐの距離が最も短いデータＤ［ｎ−１］［ｉ］とデータＣ［ｎ］［ｋ］の組み合わせを特定する。
そして、紐付け部２５は、データＤ［ｎ−１］［ｉ］と最短距離の関係にあるデータＣ［ｎ］［ｋ］の座標Ｐ及び接触状態値Ｔを、今回のサイクルｎにおけるデータＤ［ｎ］［ｉ］に代入する。
【００４９】
なお、紐付け部２５は、最短距離の関係にあるデータＤ［ｎ−１］［ｉ］が存在しないデータＣ［ｎ］［ｋ］（サイクルｎにおいて新たに接触した指など）については、サイクルｎ−１において未割り当ての識別コードｉを用いたデータＤ［ｎ］［ｉ］に代入する。
【００５０】
エラー検出部２６は、センサ部１０による検出動作の一連のサイクルに渡って紐付け部２５により紐付けられた一連の座標Ｐに基づいて、この一連の座標Ｐに対する紐付けのエラーを検出する。例えば、エラー検出部２６は、紐付け部２５によって紐付けられた一連の座標Ｐに基づいて、検出面に近接する物体の位置の時間的な変化に応じた評価値Ｅを算出し、算出した評価値Ｅが所定のエラー判定条件を満たす場合、一連の座標Ｐに対する紐付けにエラーがあると判定する。
【００５１】
具体的には、エラー検出部２６は、検出面に近接する物体の速度や加速度に応じた評価値Ｅを算出する。
図２は、連続した３サイクルの座標（Ｐ［ｎ］，Ｐ［ｎ−１］，Ｐ［ｎ−２］）から求められる速度（Ｖ［ｎ］，Ｖ［ｎ−１］）と加速度（Ａ［ｎ］）を図解した図である。図２において、“Ｐ［ｎ］”，“Ｐ［ｎ−１］”，“Ｐ［ｎ−２］”は、サイクルｎ，ｎ−１，ｎ−２において取得された座標であり、紐付け部２５によって紐付けられている（同一の識別コードｉが割り当てられている）。各座標は一定の時間間隔で取得されるため、連続する２サイクルの座標は物体の速度ベクトルを表す。図２において、“Ｖ［ｎ］”は座標Ｐ［ｎ−１］から座標Ｐ［ｎ］へ移動する物体の速度ベクトルを表し、“Ｖ［ｎ−１］”は座標Ｐ［ｎ−２］から座標Ｐ［ｎ−１］へ移動する物体の速度ベクトルを表す。
【００５２】
速度ベクトルＶ［ｎ］と速度ベクトルＶ［ｎ−１］との差であるベクトル“Ａ［ｎ］”は、物体の加速度ベクトルを表す。加速度ベクトルＡ［ｎ］の大きさは、座標Ｐ［ｎ］，Ｐ［ｎ−１］，Ｐ［ｎ−２］の各座標値（Ｘ［ｎ］，Ｙ［ｎ］），（Ｘ［ｎ−１］，Ｙ［ｎ−１］），（Ｘ［ｎ−２］，Ｙ［ｎ−２］）を用いて、次の式により算出される。
【００５３】
【数１】
0006278888.tif 000002
【００５４】
平方根の開平演算を省略するため、エラー検出部２６は、“｜Ａ［ｎ］｜”の二乗を評価値Ｅとして算出する。評価値Ｅは次の式で表される。
【００５５】
【数２】
0006278888.tif 000003
【００５６】
エラー検出部２６は、式（２）により算出した評価値Ｅが所定のエラー判定条件を満たす場合、座標Ｐ［ｎ］と座標Ｐ［ｎ−１］との紐付けにエラーがあると判定する。具体的には、エラー検出部２６は、評価値Ｅがしきい値ＴＨより大きい場合（すなわち、｜Ａ［ｎ］｜が基準値より大きい場合）に紐付けのエラーがあると判定する。
【００５７】
エラー補正部２７は、エラー検出部２６において検出された紐付けのエラーを補正する。具体的には、エラー補正部２７は、検出動作のサイクルｎにおいて取得された座標Ｐ［ｎ］と、その１つ前のサイクルｎ−１において取得された座標Ｐ［ｎ−１］との紐付けにエラーがあるとエラー検出部２６において判定された場合、座標Ｐ［ｎ］に座標Ｐ［ｎ−１］とは異なる識別コードｉを割り当てる。例えばエラー補正部２７は、サイクルｎにおいて未割り当ての識別コードｉを当該座標Ｐ［ｎ］に割り当てる。これにより、座標Ｐ［ｎ］は、サイクルｎにおいて検出面へ新たに接触した物体の座標として扱われる。
【００５８】
ただし、エラー補正部２７は、座標Ｐ［ｎ］と座標Ｐ［ｎ−１］との紐付けにエラーがあると判定された場合において、座標Ｐ［ｎ］が取得されたサイクルｎにおける識別コードｉの割り当て個数（サイクルｎにおいて識別コードｉが割り当てられた座標の数）が所定の上限値に達しているならば、座標Ｐ［ｎ］に対する識別コードの割り当てを中止する。この場合、例えばエラー補正部２７は、紐付けエラーがある座標Ｐ［ｎ］を初期化する。この上限値は、検出対象とする物体の個数の上限を設定する値であり、上限値を超えて接触した物体は検出対象から除外される。
【００５９】
［記憶部３０］
記憶部３０は、処理部２０において処理に使用される定数データや変数データを記憶する。処理部２０がコンピュータを含む場合、記憶部３０は、そのコンピュータにおいて実行されるプログラムを記憶してもよい。記憶部３０は、例えば、ＤＲＡＭやＳＲＡＭなどの揮発性メモリ、フラッシュメモリなどの不揮発性メモリ、ハードディスクなどを含んで構成される。
【００６０】
［インターフェース部４０］
インターフェース部４０は、入力装置と他の制御装置（入力装置を搭載する情報機器のコントロール用ＩＣなど）との間でデータをやり取りするための回路である。処理部２０は、記憶部３０に記憶される情報（物体の座標情報、物体数など）をインターフェース部４０から図示しない制御装置へ出力する。また、インターフェース部４０は、処理部２０のコンピュータにおいて実行されるプログラムを不図示のディスクドライブ装置（非一時的記録媒体に記録されたプログラムを読み取る装置）やサーバなどから取得して、記憶部３０にロードしてもよい。
【００６１】
次に、上述した構成を有する入力装置において座標Ｐの紐付けのエラーを補正する動作について説明する。図３は、本実施形態に係る入力装置における識別コードｉの割り当てと座標の紐付けエラーの補正を説明するためのフローチャートである。
【００６２】
ＳＴ１００：
動作を開始する際、処理部２０は、各サイクルにおける各物体の座標Ｐ及び接触状態値Ｔを示すデータＣ，Ｄを初期化し、センサ部１０の検出動作のサイクルｎに初期値２を代入する。
【００６３】
ＳＴ１１０：
座標取得部２３は、現在のサイクルｎにおけるセンサ部１０の検出結果として記憶部３０に格納される２次元データ３１に基づいて、検出面に近接した各物体の位置の座標Ｐを取得する。
接触状態判定部２４は、２次元データ３１に基づいて、座標Ｐが算出された各物体の検出面への接触状態を示す接触状態値Ｔを取得するとともに、検出面に接触した物体（指）の数（接触指数Ｍ）を計数する。
紐付け部２５は、各物体の座標Ｐ及び接触状態値Ｔにそれぞれ仮の識別コードｋを割り当て、データＣ［ｎ］［ｋ］として記憶部３０に保存する。
【００６４】
ＳＴ１２０：
紐付け部２５は、前回のサイクルｎ−１において識別コードｉが割り当てられたデータＤ［ｎ−１］［ｉ］の座標Ｐと、今回のサイクルｎにおいて仮の識別コードｋが割り当てられたデータＣ［ｎ］［ｋ］の座標Ｐとの距離をそれぞれ算出し、互いの座標Ｐの距離が最も短いデータＤ［ｎ−１］［ｉ］とデータＣ［ｎ］［ｋ］の組み合わせを特定する。最短距離の組み合わせが特定されると、紐付け部２５は、データＤ［ｎ−１］［ｉ］と最短距離の関係にあるデータＣ［ｎ］［ｋ］の座標Ｐ及び接触状態値Ｔを、今回のサイクルｎにおけるデータＤ［ｎ］［ｉ］に代入する。
【００６５】
ＳＴ１３０：
処理部２０は、物体の識別コードｉに初期値０を代入する。
【００６６】
ＳＴ１４０：
エラー検出部２６は、紐付け部２５によって識別コードｉが割り当てられた座標Ｐ［ｎ］，Ｐ［ｎ−１］，Ｐ［ｎ−２］に基づいて評価値Ｅを算出し、評価値Ｅが所定のエラー判定条件を満たす場合、座標Ｐ［ｎ］と座標Ｐ［ｎ−１］の紐付けにエラーがあると判定する。エラー検出部２６によって紐付けエラーが検出された場合、エラー補正部２７は、座標Ｐ［ｎ］に座標Ｐ［ｎ−１］と異なる識別コードｉを割り当てる。
【００６７】
図４は、ステップＳＴ１４０における座標の紐付けエラーの検出と補正に関わる処理をより詳細に説明するためのフローチャートである。
エラー検出部２６は、直近の連続した３サイクル（ｎ，ｎ−１，ｎ−２）におけるデータＤ［ｎ］［ｉ］，Ｄ［ｎ−１］［ｉ］，Ｄ［ｎ−２］［ｉ］に含まれた接触状態値Ｔが全て「指」の接触中を示しているか否か判定し（ＳＴ２００）、全ての接触状態値Ｔが「指」の接触中を示す場合はステップＳＴ２１０に移行する。サイクルｎ，ｎ−１，ｎ−２における全ての接触状態値Ｔが「指」の接触中を示していない場合、エラー検出部２６は評価値Ｅを算出できないため、処理を終了する。
【００６８】
ステップＳＴ２１０に移行すると、エラー検出部２６は、データＤ［ｎ］［ｉ］，Ｄ［ｎ−１］［ｉ］，Ｄ［ｎ−２］［ｉ］に含まれる３つの座標Ｐ［ｎ］，Ｐ［ｎ−１］，Ｐ［ｎ−２］に基づいて式（２）の評価値Ｅを算出し（ＳＴ２１０）、この評価値Ｅがしきい値ＴＨ以上か否かを判定する（ＳＴ２２０）。評価値Ｅがしきい値ＴＨより小さい場合、エラー検出部２６は紐付けのエラーが無いと判定し、処理を終了する。
【００６９】
評価値Ｅがしきい値ＴＨより小さい場合、エラー検出部２６は、座標Ｐ［ｎ］と座標Ｐ［ｎ−１］との紐付けにエラーがあると判定する。紐付けエラーを検出した場合、エラー補正部２７は、サイクルｎにおける識別コードｉの割り当て個数が上限値に達しているか否か判定する（ＳＴ２５０）。識別コードｉの割り当て個数が上限値に達している場合、エラー補正部２７は、サイクルｎのデータＤ［ｎ］［ｉ］を初期化する（ＳＴ２６０）。他方、識別コードｉの割り当て個数が上限値に達していない場合、エラー補正部２７は、紐付けエラーを検出したデータＤ［ｎ］［ｉ］に含まれる座標Ｐ［ｎ］と接触状態値Ｔを、別の識別コードを用いたデータＤに代入する（ＳＴ２７０）。例えばエラー補正部２７は、未割り当ての識別コードを用いたデータＤ［ｎ］に、これらの座標Ｐ［ｎ］と接触状態値Ｔを代入する。あるいは、エラー補正部２７は、接触状態値Ｔが指の非接触状態を示す別の識別コードを用いたデータＤ［ｎ］に、これらの座標Ｐ［ｎ］と接触状態値Ｔを代入してもよい。これにより、紐付けエラーを検出された座標Ｐ［ｎ］は、サイクルｎにおいて新たに検出面へ接触した物体（指）の座標として扱われる。
以上が、ステップＳＴ１４０の処理の説明である。
【００７０】
ＳＴ１５０〜ＳＴ１７０：
処理部２０は、次の物体の処理に進むため、識別コードｉに「１」を加え（ＳＴ１５０）、識別コードｉを接触指数Ｍと比較する（ＳＴ１６０）。識別コードｉが接触指数Ｍより小さい場合、まだ処理していない物体（指）が存在するため、処理部２０はステップＳＴ１４０に戻る。識別コードｉが接触指数Ｍ以上になった場合、全ての物体（指）が処理されたので、処理部２０はサイクルｎに「１」を加算し（ＳＴ１７０）、ステップＳＴ１１０に戻る。
【００７１】
以上説明したように、本実施形態に係る入力装置によれば、センサ部１０による検出動作の一連のサイクルに渡って紐付け部２５により紐付けられた同一物体の一連の座標Ｐに基づいて、検出面に近接する物体の位置の時間的な変化に応じた評価値Ｅが算出される。そして、算出された評価値Ｅが所定のエラー判定条件を満たす場合、一連の座標Ｐに対する紐付けにエラーがあると判定され、当該紐付けのエラーがエラー補正部２７によって補正される。これにより、検出面に近接する物体の位置の時間的変化から、座標Ｐの紐付けのエラーを検出して補正できるため、検出面に接触する同一物体の座標の動きを正しく追跡することができる。
【００７２】
また、本実施形態に係る入力装置によれば、一連の座標Ｐに基づいて算出される物体の加速度に応じた評価値Ｅがエラー判定条件を満たす場合、一連の座標Ｐの紐付けにエラーがあると判定される。これにより、一定以上の加速度で移動した座標を紐付けエラーとして補正することが可能になるため、極端に大きな加速度で移動しない物体（指）の座標の動きを正しく追跡することができる。
【００７３】
更に、本実施形態に係る入力装置によれば、先に取得された座標Ｐ［ｎ−１］と後に取得された座標Ｐ［ｎ］との紐付けにエラーがあると判定された場合、後に取得された座標Ｐ［ｎ］の識別コードｉが、先に取得された座標Ｐ［ｎ−１］とは異なる識別コードに変更される。これにより、新規の座標Ｐが取得される度に、当該新規の座標Ｐについて紐付けエラーの検出と補正を行うことができる。すなわち、以前取得された座標Ｐの紐付けを変更することなく、座標Ｐの取得と並行して、座標Ｐの紐付けエラーの検出と補正を行うことができるため、紐付けエラーの検出と補正を簡易な手順で高速に行うことができる。
【００７４】
以上、本発明の種々の実施形態について説明したが、本発明は上述した実施形態にのみ限定されるものではなく、種々のバリエーションを含んでいる。
【００７５】
上述した実施形態では、評価値Ｅとして加速度の大きさの二乗に相当する値（式（２））を算出しているが、本発明はこれに限定されない。本発明の他の実施形態では、評価値Ｅとして、速度に応じた値を算出してもよい。例えば、連続する２つのサイクルの座標Ｐ［ｎ］，Ｐ［ｎ−１］を用いることにより、速度の大きさの二乗に相当する評価値Ｅを算出することができる。この評価値Ｅは、次の式で表される。
【００７６】
【数３】
0006278888.tif 000004
【００７７】
式（３）に示す評価値Ｅを用いて座標の紐付けのエラーを検出する場合、センサ部１０の検出動作の周期は十分に短くすることが望ましい。これにより、短時間で極端に速度が速くなる異常な動きを捉えやすくなるため、速度に応じた評価値Ｅを用いる方法でも、座標の紐付けエラーを精度よく検出することが可能となる。
【００７８】
また、本発明の入力装置は、指等の操作による情報を入力するユーザーインターフェース装置に限定されない。すなわち、本発明の入力装置は、人体に限定されない様々な物体の検出面への近接状態に応じた情報を入力する装置に広く適用可能である。
【符号の説明】
【００７９】
１０…センサ部、１１…センサマトリクス、１３…検出データ生成部、１４…駆動部、２０…処理部、２１…センサ制御部、２２…２次元データ生成部、２３…座標取得部、２４…接触状態判定部、２５…紐付け部、２６…エラー検出部、２７…エラー補正部、３０…記憶部、３１…２次元データ、４０…インターフェース部。
【図１】
0006278888.tif 000005
【図２】
0006278888.tif 000006
【図３】
0006278888.tif 000007
【図４】
0006278888.tif 000008
【図５】
0006278888.tif 000009