(58)【調査した分野】(Int.Cl.,DB名)
前記領域特定部において前記集合領域の輪郭追跡が行われる度に、前記変換された2次元データにおいて当該輪郭追跡された集合領域に属するオンデータを前記オフデータに更新する2次元データ更新部を有し、
前記領域特定部は、前記2次元データ更新部による2次元データの前記更新が行われたときに、前記変換された2次元データの中で未だ前記オンデータか否かを判定していないデータが存在するならば、当該未判定のデータを順に取得して前記判定を行い、取得したデータがオンデータの場合、当該取得したデータを新たな開始点として前記輪郭追跡を行う
ことを特徴とする請求項1に記載の入力装置。
前記領域特定部において前記集合領域の輪郭追跡が行われる度に、前記2次元データにおいて当該輪郭追跡された集合領域に属する検出データの値を、前記領域特定部の前記判定において物体の接触若しくは近接が無いと判定される値に更新する2次元データ更新部を有し、
前記領域特定部は、前記2次元データ更新部によって前記2次元データが更新されたときに、前記2次元データの中で未だ前記判定が行われていない検出データが存在するならば、当該未判定の検出データを順に取得して前記判定を行い、取得した検出データが物体の接触若しくは近接を示す場合、当該取得した検出データを新たな開始点として前記輪郭の追跡を行う
ことを特徴とする請求項3に記載の入力装置。
前記領域特定部は、前記探索点及び前記次の探索点候補に対応する前記検出データにそれぞれ第1係数を乗じて得た値と、前記探索方向点及び前記逆探索方向点に対応する前記検出データに前記第1係数と反対の符号を持つ第2係数をそれぞれ乗じて得た値とを足し合わせることにより前記評価値を算出する
ことを特徴とする請求項1乃至4のいずれか一項に記載の入力装置。
前記領域の特定を行うステップにおいて前記集合領域の輪郭追跡が行われる度に、前記変換された2次元データにおいて当該輪郭追跡された集合領域に属するオンデータを前記オフデータに更新するステップを有し、
前記判定を行うステップでは、前記変換された2次元データの更新を行うステップにおいて当該更新が行われたときに、前記変換された2次元データの中でまだ前記判定を行っていないデータが存在するならば、当該未判定のデータを順に取得して前記判定を行い、
前記領域の特定を行うステップでは、前記判定を行うステップにおいて前記オンデータが見つかる度に、当該見つかったオンデータを新たな開始点として前記輪郭の追跡を行う
ことを特徴とする請求項6に記載の情報入力方法。
前記領域の特定を行うステップにおいて前記集合領域の輪郭追跡が行われる度に、前記2次元データにおいて当該輪郭追跡された集合領域に属する検出データの値を、前記判定のステップにおいて物体の接触若しくは近接が無いと判定される値に更新するステップを有し、
前記判定を行うステップでは、前記2次元データの更新を行うステップにおいて前記2次元データが更新されたときに、前記2次元データの中で未だ前記判定が行われていない検出データが存在するならば、当該未判定の検出データを順に取得して前記判定を行い、
前記領域の特定を行うステップでは、前記判定を行うステップにおいて物体の接触若しくは近接を示す検出データが見つかる度に、当該見つかった検出データを新たな開始点として前記輪郭の追跡を行う
ことを特徴とする請求項8に記載の情報入力方法。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した特許文献1に記載される入力装置では、格子状に配置されたX電極とY電極の各交差点において静電容量の検出データが得られる。各交差点の検出データを集めることにより、操作面の各所における静電容量を表した2次元データが形成される。操作面における指の接触位置の情報は、この2次元データに基づいて取得される。すなわち、2次元データの下段から上段に向かって一ラインずつ水平方向に検出データがスキャンされ、各ラインのスキャンにおいて、指の接触を示す検出データが連続している領域に同一のラベルが付与される。このようなスキャンが、水平方向のラインについて下段から上段に向かう順序とその逆方向の順序で行われるとともに、垂直方向のラインについても、左端から右端へ向かう順序とその逆方向の順序で行われる。
【0006】
しかしながら、上述のように2次元データの全体を何度もスキャンする方法では、スキャンの履歴を広範囲で記憶して置かねばならず、そのために必要なメモリの容量が大きくなるという問題や、演算の負荷が大きくなるという問題がある。
【0007】
本発明はかかる事情に鑑みてなされたものであり、その目的は、物体の接触若しくは近接の状態を検出するセンサから得られた2次元データに基づいて、操作面における物体の接触領域若しくは近接領域を特定する処理において、必要なメモリの容量を削減でき、演算負荷を小さくできる入力装置とその情報入力方法を提供することにある。
【課題を解決するための手段】
【0008】
本発明の第1の観点に係る入力装置は、操作面への物体の接触若しくは近接に応じた情報を入力する入力装置であって、前記操作面上に分布する複数の検出位置において物体の接触若しくは近接の状態をそれぞれ検出するセンサ部と、前記センサ部の検出結果に基づいて、前記操作面の複数の位置における物体の接触若しくは近接の状態を示す複数の検出データからなる2次元データを生成する2次元データ生成部と、前記2次元データに含まれる複数の検出データを、物体の接触若しくは近接が有ることを示すオンデータ又は物体の接触若しくは近接が無いことを示すオフデータにそれぞれ変換するデータ変換部と、前記変換された2次元データの各データを前記操作面の端から順に取得して前記オンデータか否か判定し、取得したデータがオンデータの場合、当該取得したデータを開始点として、前記オンデータが隣接して集合した集合領域の輪郭を、前記開始点から出発して前記開始点に戻るまで順に追跡し、当該輪郭の追跡の結果に基づいて、一の物体が前記操作面に接触若しくは近接した領域を特定する領域特定部とを有することを特徴とする。
【0009】
上記第1の観点に係る入力装置では、前記センサ部の検出結果に基づいて生成された2次元データに含まれる複数の検出データが、前記データ変換部によって前記オンデータ又は前記オフデータにそれぞれ変換される。当該変換された2次元データに含まれる各データは、前記領域特定部によって操作面の端から順に取得され、前記オンデータか否か判定される。当該取得されたデータがオンデータであると前記領域特定部において判定された場合、当該取得されたデータを開始点として、前記オンデータが隣接して集合した集合領域の輪郭が、前記開始点から出発して再び元の前記開始点に戻るまで順に追跡される。そして、この輪郭追跡の結果に基づいて、一の物体が操作面に接触若しくは近接した領域が特定される。
2次元データのうちの一部分(オンデータの集合領域の輪郭周辺)に絞って接触領域若しくは近接領域を特定するための処理が行われるため、処理に必要なメモリ容量が削減され、演算の負荷が小さくなる。
【0010】
好適に、上記第1の観点に係る入力装置は、前記領域特定部において前記集合領域の輪郭追跡が行われる度に、前記変換された2次元データにおいて当該輪郭追跡された集合領域に属するオンデータを前記オフデータに更新する2次元データ更新部を有してよい。
前記領域特定部は、前記2次元データ更新部による2次元データの前記更新が行われたときに、前記変換された2次元データの中で未だ前記オンデータか否かを判定していないデータが存在するならば、当該未判定のデータを順に取得して前記判定を行い、取得したデータがオンデータの場合、当該取得したデータを新たな開始点として前記輪郭追跡を行ってよい。
【0011】
上記の構成によれば、前記領域特定部において集合領域の輪郭追跡が行われる度に、前記データ変換部で変換された2次元データにおいて当該輪郭追跡された集合領域に属するオンデータが、前記2次元データ更新部によってオフデータに更新される。前記2次元データ更新部によって上記の更新が行われたとき、当該変換された2次元データの中でまだ前記領域特定部がオンデータか否かの判定を行っていないデータが残っているならば、その未判定のデータが前記領域特定部によって順に取得されて、オンデータか否か判定される。そして、前記領域特定部の上記判定においてオンデータが見つかる度に、当該見つかったオンデータを新たな開始点として輪郭追跡が行われ、物体が操作面に接触若しくは近接した領域が特定される。
従って、操作面に複数の物体が同時に接触若しくは近接した場合でも、各物体の接触領域若しくは近接領域を的確に特定することが可能となる。
【0012】
本発明の第2の観点に係る入力装置は、操作面への物体の接触若しくは近接に応じた情報を入力する入力装置であって、前記操作面上に分布する複数の検出位置において物体の接触若しくは近接の状態をそれぞれ検出するセンサ部と、前記センサ部の検出結果に基づいて、前記操作面の複数の位置における物体の接触若しくは近接の状態を示す複数の検出データからなる2次元データを生成する2次元データ生成部と、前記2次元データの各検出データを前記操作面の端から順に取得して、物体の接触若しくは近接を示すか否か判定し、取得した検出データが物体の接触若しくは近接を示す場合、当該取得した検出データを開始点として、物体の接触若しくは近接を示す検出データが隣接して集合した集合領域の輪郭を、前記開始点から出発して前記開始点に戻るまで順に追跡し、当該輪郭の追跡の結果に基づいて、一の物体が前記操作面に接触若しくは近接した領域を特定する領域特定部とを有することを特徴とする。
【0013】
上記第2の観点に係る入力装置では、前記センサ部の検出結果に基づいて生成された2次元データに含まれる各検出データが前記領域特定部によって操作面の端から順に取得され、物体の接触若しくは近接を示すか否か判定される。取得された検出データが物体の接触若しくは近接を示す場合、当該取得され検出データを開始点として、物体の接触若しくは近接を示す検出データが隣接して集合した集合領域の輪郭が、前記開始点から出発して再び元の前記開始点に戻るまで順に追跡される。そして、当該輪郭の追跡の結果に基づいて、一の物体が前記操作面に接触若しくは近接した領域が特定される。
2次元データのうちの一部分(物体の接触若しくは近接を示す検出データの集合領域の輪郭周辺)に絞って接触領域若しくは近接領域を特定するための処理が行われるため、処理に必要なメモリ容量が削減され、演算の負荷が小さくなる。
【0014】
好適に、上記第2の観点に係る入力装置は、前記領域特定部において前記集合領域の輪郭追跡が行われる度に、前記2次元データにおいて当該輪郭追跡された集合領域に属する検出データの値を、前記領域特定部の前記判定において物体の接触若しくは近接が無いと判定される値に更新する2次元データ更新部を有してよい。
前記領域特定部は、前記2次元データ更新部によって前記2次元データが更新されたときに、前記2次元データの中で未だ前記判定が行われていない検出データが存在するならば、当該未判定の検出データを順に取得して前記判定を行い、取得した検出データが物体の接触若しくは近接を示す場合、当該取得した検出データを新たな開始点として前記輪郭の追跡を行ってよい。
【0015】
上記の構成によれば、前記領域特定部において前記集合領域の輪郭追跡が行われる度に、前記2次元データにおいて当該輪郭追跡された集合領域に属する検出データの値が、前記領域特定部の前記判定において物体の接触若しくは近接が無いと判定される値に更新される。前記2次元データ更新部によって前記2次元データが更新されたときに、前記2次元データの中で未だ前記判定が行われていない検出データが存在するならば、当該未判定の検出データが前記領域特定部によって順に取得されて、物体の接触若しくは近接を示すか否か判定される。そして、前記取得された検出データが物体の接触若しくは近接を示す場合、当該取得された検出データを新たな開始点として、前記輪郭の追跡が行われる。
従って、操作面に複数の物体が同時に接触若しくは近接した場合でも、各物体の接触領域若しくは近接領域を的確に特定することが可能となる。
【0016】
好適に、上記第1及び第2の観点に係る入力装置において、前記領域特定部は、前記集合領域の輪郭を形成する輪郭点を前記開始点から順に探索する処理において、前記探索により見つかった輪郭点を探索点として設定し、前記探索点から見た次の探索点候補の位置を指示する探索方向を設定した場合、前記探索点、前記次の探索点候補、前記次の探索点候補から見て前記探索方向に隣接する少なくとも1つの探索方向点、及び、前記探索点から見て前記探索方向と逆方向に隣接する少なくとも1つの逆探索方向点に対応する前記検出データを前記2次元データ生成部において生成された2次元データからそれぞれ取得し、当該取得した一群の検出データに基づいて、前記探索点及び前記次の探索点候補における物体の接触若しくは近接の度合いと、前記探索方向点及び前記逆探索方向点における物体の接触若しくは近接の度合いとの大小関係を示す評価値を算出し、当該算出した評価値に応じて、前記次の探索点候補を探索点に設定可能か否か判定してよい。
【0017】
上記の構成によれば、前記集合領域の輪郭追跡において、前記探索点、前記次の探索点候補、前記次の探索点候補から見て前記探索方向に隣接する少なくとも1つの探索方向点、及び、前記探索点から見て前記探索方向と逆方向に隣接する少なくとも1つの逆探索方向点に対応する前記検出データが前記2次元データ生成部において生成された2次元データからそれぞれ取得される。そして、当該取得された一群の検出データに基づいて、前記探索点及び前記次の探索点候補における物体の接触若しくは近接の度合いと、前記探索方向点及び前記逆探索方向点における物体の接触若しくは近接の度合いとの大小関係を示す評価値が算出され、当該算出された評価値に応じて、前記次の探索点候補を探索点に設定可能か否かが判定される。
これにより、探索方向に沿うライン上において隣接した一群の検出データに基づいて、輪郭追跡における探索方向に物体と物体との隙間が存在するか否かを判定することが可能となり、隙間を超えて輪郭追跡が行われないようにすることができるため、複数の物体が近づいた状態で操作面に同時に接触若しくは近接している場合でも、各物体の接触領域若しくは近接領域を的確に特定することが可能となる。
【0018】
好適に、前記領域特定部は、前記探索点及び前記次の探索点候補に対応する前記検出データにそれぞれ第1係数を乗じて得た値と、前記探索方向点及び前記逆探索方向点に対応する前記検出データに前記第1係数と反対の符号を持つ第2係数をそれぞれ乗じて得た値とを足し合わせることにより前記評価値を算出してよい。
【0019】
本発明の第3の観点に係る情報入力方法は、操作面への物体の接触若しくは近接に応じた情報を入力する入力装置において行われる情報入力方法であって、前記操作面上に分布する複数の検出位置において物体の接触若しくは近接の状態をそれぞれ検出するステップと、前記複数の検出位置における前記検出の結果に基づいて、前記操作面の複数の位置における物体の接触若しくは近接の状態を示す複数の検出データからなる2次元データを生成するステップと、前記2次元データに含まれる複数の検出データを、物体の接触若しくは近接が有ることを示すオンデータ又は物体の接触若しくは近接が無いことを示すオフデータにそれぞれ変換するステップと、前記変換された2次元データの各データを前記操作面の端から順に取得して前記オンデータか否かを判定するステップと、前記判定を行うステップにおいて前記2次元データから取得したデータがオンデータであると判定した場合、当該取得したデータを開始点として、前記オンデータが隣接して集合した集合領域の輪郭を、前記開始点から出発して前記開始点に戻るまで順に追跡し、当該輪郭の追跡の結果に基づいて、一の物体が前記操作面に接触若しくは近接した領域を特定するステップとを有
し、前記領域の特定を行うステップでは、前記集合領域の輪郭を形成する輪郭点を前記開始点から順に探索する処理において、前記探索により見つかった輪郭点を探索点として設定し、前記探索点から見た次の探索点候補の位置を指示する探索方向を設定した場合、前記探索点、前記次の探索点候補、前記次の探索点候補から見て前記探索方向に隣接する少なくとも1つの探索方向点、及び、前記探索点から見て前記探索方向と逆方向に隣接する少なくとも1つの逆探索方向点に対応する前記検出データを前記2次元データ生成部において生成された2次元データからそれぞれ取得し、当該取得した一群の検出データに基づいて、前記探索点及び前記次の探索点候補における物体の接触若しくは近接の度合いと、前記探索方向点及び前記逆探索方向点における物体の接触若しくは近接の度合いとの大小関係を示す評価値を算出し、当該算出した評価値に応じて、前記次の探索点候補を探索点に設定可能か否か判定することを特徴とする。
【0020】
好適に、上記第3の観点に係る情報入力方法は、前記領域の特定を行うステップにおいて前記集合領域の輪郭追跡が行われる度に、前記変換された2次元データにおいて当該輪郭追跡された集合領域に属するオンデータを前記オフデータに更新するステップを有してよい。前記判定を行うステップでは、前記変換された2次元データの更新を行うステップにおいて当該更新が行われたときに、前記変換された2次元データの中でまだ前記判定を行っていないデータが存在するならば、当該未判定のデータを順に取得して前記判定を行ってよい。
前記領域の特定を行うステップでは、前記判定を行うステップにおいて前記オンデータが見つかる度に、当該見つかったオンデータを新たな開始点として前記輪郭の追跡を行ってよい。
【0021】
本発明の第4の観点に係る情報入力方法は、操作面への物体の接触若しくは近接に応じた情報を入力する入力装置において行われる情報入力方法であって、前記操作面上に分布する複数の検出位置において物体の接触若しくは近接の状態をそれぞれ検出するステップと、前記複数の検出位置における前記検出の結果に基づいて、前記操作面の複数の位置における物体の接触若しくは近接の状態を示す複数の検出データからなる2次元データを生成するステップと、前記2次元データの各検出データを前記操作面の端から順に取得して、物体の接触若しくは近接を示すか否か判定するステップと、前記判定を行うステップにおいて前記2次元データから取得した検出データが物体の接触若しくは近接を示すと判定した場合、当該取得した検出データを開始点として、物体の接触若しくは近接を示す検出データが隣接して集合した集合領域の輪郭を、前記開始点から出発して前記開始点に戻るまで順に追跡し、当該輪郭の追跡の結果に基づいて、一の物体が前記操作面に接触若しくは近接した領域を特定するステップとを有
し、前記領域の特定を行うステップでは、前記集合領域の輪郭を形成する輪郭点を前記開始点から順に探索する処理において、前記探索により見つかった輪郭点を探索点として設定し、前記探索点から見た次の探索点候補の位置を指示する探索方向を設定した場合、前記探索点、前記次の探索点候補、前記次の探索点候補から見て前記探索方向に隣接する少なくとも1つの探索方向点、及び、前記探索点から見て前記探索方向と逆方向に隣接する少なくとも1つの逆探索方向点に対応する前記検出データを前記2次元データ生成部において生成された2次元データからそれぞれ取得し、当該取得した一群の検出データに基づいて、前記探索点及び前記次の探索点候補における物体の接触若しくは近接の度合いと、前記探索方向点及び前記逆探索方向点における物体の接触若しくは近接の度合いとの大小関係を示す評価値を算出し、当該算出した評価値に応じて、前記次の探索点候補を探索点に設定可能か否か判定することを特徴とする。
【0022】
好適に、上記第4の観点に係る情報入力方法は、前記領域の特定を行うステップにおいて前記集合領域の輪郭追跡が行われる度に、前記2次元データにおいて当該輪郭追跡された集合領域に属する検出データの値を、前記判定のステップにおいて物体の接触若しくは近接が無いと判定される値に更新するステップを有してよい
前記判定を行うステップでは、前記2次元データの更新を行うステップにおいて前記2次元データが更新されたときに、前記2次元データの中で未だ前記判定が行われていない検出データが存在するならば、当該未判定の検出データを順に取得して前記判定を行ってよい。
前記領域の特定を行うステップでは、前記判定を行うステップにおいて物体の接触若しくは近接を示す検出データが見つかる度に、当該見つかった検出データを新たな開始点として前記輪郭の追跡を行ってよい。
【発明の効果】
【0023】
本発明によれば、2次元データにおいて物体の接触若しくは近接が有ることを示すデータが隣接して集合した領域の輪郭追跡を行うことにより、物体の接触領域若しくは近接領域が特定されるため、処理に必要なメモリの容量を削減でき、演算負荷を小さくできる。
【発明を実施するための形態】
【0025】
<第1の実施形態>
以下、本発明の第1の実施形態に係る入力装置について、図面を参照しながら説明する。
本実施形態に係る入力装置は、センサが設けられた操作面に指やペンなどの物体を接触若しくは近接させることによって、その接触若しくは近接の位置に応じた情報を入力する装置である。
図1は、第1の実施形態に係る入力装置の構成の一例を示す図である。
図1に示す入力装置は、センサ部10と、処理部20と、記憶部30と、インターフェース部40を有する。なお、本明細書における「近接」とは、接触した状態で近くにあることと、接触しない状態で近くにあることを両方含む。
【0026】
[センサ部10]
センサ部10は、操作面に分布した複数の検出位置において、指やペンなどの物体の接触若しくは近接の状態をそれぞれ検出する。例えばセンサ部10は、物体の接触若しくは近接に応じて静電容量が変化する複数の容量性センサ素子12がマトリクス状に形成されたセンサマトリクス11と、センサマトリクス11の容量性センサ素子12において生じた静電容量の変化を電圧に変換する静電容量−電圧変換回路(CV変換回路)13と、センサマトリクス11の容量性センサ素子12に電圧を供給するセンサ駆動回路14を有する。
【0027】
センサマトリクス11は、縦方向に延在した複数の電極Lxと、横方向に延在した複数の電極Lyを備える。複数の電極Lxは横方向へ平行に並び、複数の電極Lyは縦方向へ平行に並ぶ。複数の電極Lxと複数の電極Lyが格子状に交差しており、その各交差点に容量性センサ素子12が形成される。電極Lx及び電極Lyは、その一方が駆動電極として機能し、他方が検出電極として機能する。
【0028】
センサ駆動回路14は、複数の駆動電極から順に一の駆動電極を選択し、当該一の駆動電極にパルス電圧を印加する。
【0029】
静電容量−電圧変換回路13は、複数の検出電極から順に一の検出電極を選択し、センサ駆動回路14によるパルス電圧の印加に応じて容量性センサ素子12に出入りする電荷を、当該一の検出電極から参照用のキャパシタに移送する。静電容量−電圧変換回路13は、容量性センサ素子12から移送された電荷によって参照用のキャパシタに生じる電圧に基づいて、容量性センサ素子12の静電容量に応じた検出信号を出力する。
【0030】
センサ部10は、静電容量−電圧変換回路13において出力される検出信号を図示しないアナログ−デジタル変換器においてデジタル信号に変換し、これを検出データとして処理部20に出力する。
【0031】
なお、上述の例において示したセンサ部10は、電極間に生じる静電容量(相互容量)を容量性センサ素子12として利用し、その静電容量の変化によって物体の接触若しくは近接を検出するものであるが、この例に限らず、他の種々の方式によって物体の接触若しくは近接を検出してもよい。例えば、センサ部10は、電極とグランドの間に生じる静電容量(自己容量)を検出する方式でもよい。また、センサ部10は、静電容量方式に限定されるものではなく、例えば抵抗膜方式や電磁誘導式などでもよい。
【0032】
[処理部20]
処理部20は、入力装置の全体的な動作を制御する回路であり、例えばプログラムの命令コードに従って処理を行うCPUや、特定の機能を実現するロジック回路を含んで構成される。処理部20の処理は、全てCPUにおいてプログラムに基づいて実現してもよいし、その一部若しくは全部をロジック回路で実現してもよい。
【0033】
図1の例において、処理部20は、タイミング制御部21と、2次元データ生成部22と、データ変換部25と、領域特定部26と、座標演算部27を有する。
【0034】
タイミング制御部21は、センサ部10における検出のタイミングを制御する。具体的には、タイミング制御部21は、センサ駆動回路14における駆動電極の選択とパルス電圧の発生、並びに、静電容量−電圧変換回路13における検出電極の選択と検出信号の生成が適切なタイミングで行われるように、これらの回路を制御する。
【0035】
2次元データ生成部22は、センサ部10の検出結果に基づいて、操作面の複数の位置における物体の接触若しくは近接の状態を示す複数の検出データからなる2次元データを生成し、記憶部30の2次元データメモリ33に格納する。
【0036】
2次元データ生成部22は、例えば
図1に示すように、データ取得部23と変化量演算部24を有する。データ取得部23は、センサ部10から出力される検出データを行列形式の2次元データとして記憶部30の現在値メモリ31に格納する。変化量演算部24は、記憶部30の現在値メモリ31に格納される2次元データの各検出データと、記憶部30の基準値メモリ32に格納される2次元データの各検出データとの差を、相互に対応する検出データについてそれぞれ演算し、それらの演算結果を記憶部30の2次元データメモリ33に行列形式で格納する。
【0037】
基準値メモリ32には、操作面に何も接触若しくは近接していない状態でセンサ部10から出力された検出データが予め記憶されている。そのため、変化量演算部24において演算される検出データは、物体が操作面に接触若しくは近接していない状態からの変化量を表す。
【0038】
なお、2次元データ生成部22において生成する2次元データの各検出データは、上述のように未接触状態からの変化量を表すデータに限定されず、例えばセンサ部10において出力される検出データと同じものでもよい。
【0039】
データ変換部25は、記憶部30の2次元データメモリ33に格納された2次元データに含まれる複数の検出データを、物体の接触若しくは近接が有ることを示すオンデータ(例えば値「1」のデータ)又は物体の接触若しくは近接が無いことを示すオフデータ(例えば値「0」のデータ)にそれぞれ変換し、その変換結果を記憶部30の2次元データメモリ34に格納する。例えば、データ変換部25は、検出データを所定のしきい値と比較し、しきい値より大きいか否かに応じて当該検出データをオンデータ又はオフデータに変換する。
【0040】
なお、1つのしきい値との比較結果に基づいて検出データをオンデータ又はオフデータに変換すると、検出データがしきい値付近で変動している場合に、変換結果が不安定に変化してしまうことがある。そこで、データ変換部25は、ヒステリシス幅だけ離れた2つのしきい値と検出データとの比較結果に基づいて、検出データをオンデータ又はオフデータに変換してもよい。すなわち、データ変換部25は、検出データが2つのしきい値の間(ヒステリシス範囲)に含まれていない場合、検出データと2つのしきい値との大小関係に応じて、検出データをオンデータ又はオフデータに変換する。他方、検出データがヒステリシス範囲に含まれている場合、データ変換部25は、2次元データメモリ34に別途記憶された前回の変換結果(オンデータ/オフデータ)を、そのまま今回の変換結果として引き継ぐ。このように、しきい値による判定において前回の変換結果を維持するヒステリシス範囲を設けることによって、上述のような変換結果の不安定な変化を生じ難くすることができる。
【0041】
領域特定部27は、データ変換部25によって各検出データがオンデータ又はオフデータに変換された2次元データを参照して、オンデータが隣接して集合した領域(以下、単に「集合領域」と記す場合がある。)の輪郭を追跡することにより、物体が接触若しくは近接した領域を特定する。
【0042】
具体的には、領域特定部27は、記憶部30の2次元データメモリ34に記憶される2次元データの各データを操作面の端から順に取得して、オンデータか否かを判定する。取得したデータがオンデータの場合、領域特定部27は、取得したデータを開始点として設定し、その座標を記憶部30の開始点メモリ36に格納する。そして領域特定部27は、オンデータが隣接して集合した集合領域の輪郭を、この開始点から出発して再び開始点に戻るまで順に追跡する。領域特定部27は、この輪郭の追跡の結果に基づいて、一の物体が操作面に接触若しくは近接した領域を特定し、特定した領域に関する情報を記憶部30の領域情報メモリ35に格納する。
【0043】
また、領域特定部27は、オンの集合領域の輪郭追跡を行った後、後述する2次元データ更新部26によって当該集合領域に属するオンデータがオフデータへ更新された場合に、記憶部30の2次元データメモリ34に格納される2次元データの中でまだオンデータか否かの判定をしていないデータが存在するならば、その未判定のデータを更に順番に取得して、オンデータか否かの判定を行う。取得したデータがオンデータの場合、領域特定部27は、上述と同様に、当該取得したデータを新たな開始点として集合領域の輪郭追跡を行い、この輪郭追跡の結果に基づいて、物体が操作面に接触若しくは近接した領域を特定する。
【0044】
2次元データ更新部26は、領域特定部27において集合領域の輪郭追跡が行われる度に、記憶部30の2次元データメモリ34に記憶される2次元データにおいて当該輪郭追跡された集合領域に属するオンデータをオフデータに更新する(書き換える)。
【0045】
なお、領域特定部27による輪郭追跡及び接触領域(近接領域)の特定と、2次元データ更新部26による2次元データの更新が繰り返されることにより、2次元データメモリ34に記憶される2次元データに含まれたオンデータは、徐々にオフデータに更新される。そして、操作面に接触若しくは近接した全ての物体の接触領域若しくは近接領域が特定されると、当該2次元データに含まれるデータは全てオフデータとなる。データ変換部25において上述のようなヒステリシス範囲を設けた変換を行う場合、前回の変換結果を参照して変換を行う必要があるため、その場合には、2次元データ更新部26の更新対象となる2次元データとは別に、データ変換部25の参照用の2次元データを2次元データメモリ34に格納してもよい。
【0046】
座標演算部28は、領域特定部27において特定された物体の接触領域若しくは近接領域に基づいて、物体が接触若しくは近接した操作面上の座標を演算する。
例えば、座標演算部28は、領域特定部27において特定された領域の横方向(電極Lyが配列する方向)と縦方向(電極Lyが配列する方向)のそれぞれについてプロファイルデータを作成する。横方向のプロファイルデータは、操作面の縦方向における一群の検出データの和を1列毎に算出し、その検出データの和を操作面の横方向の順番に配列したものである。縦方向のプロファイルデータは、操作面の横方向における一群の検出データの和を1行毎に算出し、その検出データの和を操作面の縦方向の順番に配列したものである。座標演算部28は、この横方向のプロファイルデータと縦方向のプロファイルデータのそれぞれについて、検出データのピークの位置や重心の位置を演算する。この演算により求められた横方向の位置と縦方向の位置が、操作面上において物体が接触若しくは近接した座標を表す。座標演算部28は、このような演算により求めた座標のデータを、記憶部30の物体座標メモリ38に格納する。また、座標演算部28は、操作面上の座標が求められた物体の数を、記憶部30の物体数メモリ37に格納する。
【0047】
[記憶部30]
記憶部30は、処理部20において処理に使用される定数データや変数データを記憶する。処理部20がCPUを含む場合、記憶部30はそのCPUにおいて実行されるプログラムを記憶してもよい。記憶部30は、例えば、DRAMやSRAMなどの揮発性メモリ、フラッシュメモリなどの不揮発性メモリを含んで構成される。
【0048】
[インターフェース部40]
インターフェース部40は、入力装置と他の制御装置(入力装置を搭載する情報機器のコントロール用ICなど)との間でデータをやり取りするための回路である。処理部20は、記憶部30に記憶される情報(物体の座標、物体数など)をインターフェース部40から図示しない制御装置へ出力する。
【0049】
ここで、上述した構成を有する入力装置の動作について、
図2に示すフローチャートを参照して説明する。なお、
図2に示すフローチャートは、センサ部10において操作面の全面の検出が行われる度に実行される処理を示しており、スマートフォンなどの情報機器の操作に用いられる場合は、この処理が一定の時間間隔で繰り返し実行される。
【0050】
ST100:
処理部20のタイミング制御部21は、操作面の全面に分布する複数の検出位置において検出データが得られるようにセンサ部10を制御する。センサ部10のセンサ駆動回路14は、タイミング制御部21の制御に従って、センサマトリクス11の複数の駆動電極を順番に選択し、パルス電圧を印加する。静電容量−電圧変換回路13は、一の駆動電極が選択されて駆動される度に、センサマトリクス11の複数の検出電極を順番に選択して、駆動電極と検出電極との交差点における容量性センサ素子12の静電容量に応じた電圧を有する検出信号を出力する。センサ部10は、静電容量−電圧変換回路13から順次に出力される検出信号をデジタル信号に変換し、検出データとして処理部20に出力する。処理部20の2次元データ生成部22は、センサ部10から順次に出力される検出データを、記憶部30の現在値メモリ31に行列形式で格納する。
【0051】
ST105:
2次元データ生成部22は、操作面の全面の検出データが行列形式の2次元データとして現在値メモリ31に格納されると、その現在値メモリ31に格納される各検出データと、基準値メモリ32に格納される各検出データ(物体が操作面に接触していないときの検出データ)との差を、相互に対応する検出データ(操作面の同じ位置の検出データ)についてそれぞれ演算する。この演算によって得られる検出データは、物体が未接触の状態からの変化量を示す。2次元データ生成部22は、この変化量を示す検出データからなる2次元データを記憶部30の2次元データメモリ33に格納する。
【0052】
ST110:
データ変換部25は、2次元データメモリ33に格納された2次元データに含まれる各検出データをオンデータ又はオフデータにそれぞれ変換し、その変換結果を2次元データメモリ34に格納する。
図3は、データ変換部25において2次元データの各検出データをオンデータ又はオフデータに変換する例を示す図である。
図3Aは変換前の2次元データを示し、
図3Bは変換後の2次元データを示す。
図3の例では、しきい値「50」より大きい検出データがオンデータ(値「1」)、これより小さい検出データがオフデータ(値「0」)に変換されている。
【0053】
ST115,ST120:
領域特定部27は、2次元データメモリ34に記憶される2次元データの各データを操作面の端から順に取得し(ST115)、オンデータか否かを判定する(ST120)。取得したデータがオンデータの場合、領域特定部27は、後述するステップST130〜ST150の処理を行う。
図4は、領域特定部27において2次元データ中のオンデータを検索する処理の一例を示す図である。
図4の例では、操作面の左端から右端へ向かって順番に列が選択され、選択された列の上から下へ向かって順番にオンデータの検索が行われており、座標(X1,Y3)の位置に最初のオンデータが見つかっている。
【0054】
ST130:
ステップST115,120の検索によって2次元データからオンデータが見つかると、領域特定部27は、そのオンデータを開始点として、オンデータの集合領域の輪郭を追跡する処理を行う。
【0055】
図5は、本実施形態に係る入力装置における輪郭追跡処理の一例を説明するためのフローチャートである。
領域特定部27は、ステップST115,120の検索によって見つかったオンデータの座標を、輪郭追跡の開始点の座標として開始点メモリ36に格納する(ST200)。また、領域特定部27は、この開始点を最初の探索点として設定するとともに(ST210)、その探索点から次の探索点候補の位置を指示する探索方向を、
図6によって定義された「0」の方向(右斜め上の方向)に設定する(ST210)。
【0056】
図6は、輪郭追跡において設定可能な探索方向の一例を示す図である。
図6の例では、探索点を中心とした8方向(右斜め上、右、右斜め下、下、左斜め下、左、左斜め上、上)を探索方向として設定可能であり、それぞれの方向に「0」から「7」までの数値が割り当てられている。
【0057】
また、領域特定部27は、探索点を輪郭点として領域情報メモリ35に保存する(ST215)。領域情報メモリ35は、例えば、輪郭点を「1」、その他の点を「0」で表す2次元データを記憶しており、領域特定部27は、この2次元データにおいて探索点に対応するデータを「1」に書き換える。
【0058】
次に、領域特定部27は、探索方向のデータを2次元データメモリ34の2次元データから取得し(ST220)、オンデータか否か判定する(ST225)。探索方向のデータがオンデータの場合、領域特定部27は、探索点を探索方向へ移動させるとともに(ST260)、その探索方向へ向かって左側を新たな探索方向として設定する(ST265)。
【0059】
例えば探索点を「0」(右斜め上)へ移動させた場合、領域特定部27は、その方向に向かって左側にあたる「6」を新たな探索方向として設定する。探索点を「1」へ移動させた場合の新たな探索方向は「7」、探索点を「2」へ移動させた場合の新たな探索方向は「0」となる。すなわち、新な探索方向を示す数値は、現在の探索方向の数値に「6」を加えた結果を「8」で割った余りとして求めることができる。
【0060】
探索点と探索方向を新たに設定すると、領域特定部27は再びステップST215に戻り、探索点を輪郭点として領域情報メモリ35に保存する。そして、新たに設定した探索方向のデータを2次元データメモリ34から取得し(ST220)、オンデータか否か判定する(ST225)。
【0061】
2次元データメモリ34から取得したデータがオンデータでないと判定した場合(ST225)、領域特定部27は、現在の探索点が開始点か否か判定し(ST230)、開始点でなければ、探索方向を時計回りに変更する(ST235)。すなわち、探索方向が「0」の場合は「1」へ、探索方向が「1」の場合は「2」へ、探索方向が「2」の場合は「3」へ、探索方向が「3」の場合は「4」へ、探索方向が「4」の場合は「5」へ、探索方向が「5」の場合は「6」へ、探索方向が「6」の場合は「7」へ、探索方向が「7」の場合は「0」へ変更する。
【0062】
探索方向を時計回りに変更した後、領域特定部27は再びステップST220に戻り、変更した探索方向のデータを2次元データメモリ34から取得して、オンデータか否か判定する(ST225)。
【0063】
探索方向のデータがオンデータではなく(ST225)、かつ、現在の探索点が開始点である場合(ST230)、領域特定部27は、集合領域の輪郭追跡が完了したと判断して、処理を終了する。
【0064】
図7は、上述した輪郭追跡の具体例を説明するための図である。
図7の具体例において輪郭追跡が行われる2次元データは、
図4に示したものと同じである。
【0065】
まず、領域特定部27は、
図4に示すように2次元データを検索し、最初にオンデータが見つかる座標(X1,Y3)のデータを輪郭追跡の開始点とする。領域特定部27は、この開始点を探索点として、「0」の方向を最初の探索方向に設定する(
図7A)。「0」の方向にはオンデータがあるため、領域特定部27は、探索点を座標(X2,Y2)に移動する(
図7B)。
探索点を「0」の探索方向へ移動したため、領域特定部27は、「0」の方向に向かって左側にあたる「6」の方向を新たな探索方向とする。領域特定部27は、この「6」の方向から時計周りに探索方向を回転させながら、オンデータを探索する。この探索によって最初に見つかるオンデータは「1」の方向にあるため、領域特定部27は、探索点を「1」の方向に移動する。これにより、新たな探索点は座標(X3,Y2)に移動する(
図7C)。
探索点を「1」の探索方向へ移動したため、領域特定部27は、「1」の方向に向かって左側にあたる「7」の方向を新たな探索方向とする。領域特定部27は、この「7」の方向から時計周りに探索方向を回転させながら、オンデータを探索する。この探索によって最初に見つかるオンデータは「3」の方向にあるため、領域特定部27は、探索点を「3」の方向に移動する。これにより、新たな探索点は座標(X3,Y3)に移動する(
図7D)。
探索点を「3」の探索方向へ移動したため、領域特定部27は、「3」の方向に向かって左側にあたる「1」の方向を新たな探索方向とする。領域特定部27は、この「1」の方向から時計周りに探索方向を回転させながら、オンデータを探索する。この探索によって最初に見つかるオンデータは「4」の方向にあるため、領域特定部27は、探索点を「4」の方向に移動する。これにより、新たな探索点は座標(X2,Y4)に移動する(
図7E)。
探索点を「4」の探索方向へ移動したため、領域特定部27は、「4」の方向に向かって左側にあたる「2」の方向を新たな探索方向とする。領域特定部27は、この「2」の方向から時計周りに探索方向を回転させながら、オンデータを探索する。この探索によって最初に見つかるオンデータは「6」の方向にあるため、領域特定部27は、探索点を「6」の方向に移動する。これにより、新たな探索点は座標(X1,Y3)の開始点に移動する。
探索点を「6」の探索方向へ移動したため、領域特定部27は、「6」の方向に向かって左側にあたる「4」の方向を新たな探索方向とするが、この探索方向におけるデータはオフデータとなっている。探索点が開始点と等しくなり、かつ、探索方向を「4」としているため、領域特定部27は輪郭追跡の処理を終了する。
以上が、
図2のフローチャートにおける輪郭追跡処理(ST130)の説明である。
【0066】
ST135:
輪郭追跡が終了すると、次に領域特定部27は、輪郭の内側の領域を埋める処理を行う。すなわち、領域特定部27は、領域情報メモリ35に格納した2次元データにおいて輪郭の内側の点を検索し、検索した点を「1」に設定する。
図8は、
図7に示す輪郭追跡によって求められた輪郭の内側を埋める処理を示す図である。
図7に示す輪郭追跡によって、座標(X2,Y3)を取り囲む輪郭が求められた場合(
図8A)、領域特定部27は、座標(X2,Y3)のデータを「1」に設定する(
図8B)。このように、輪郭の内側を輪郭と同じ値のデータで埋めることにより、領域情報メモリ35の2次元データは、一の物体が接触若しくは近接した一纏まりの領域を特定するデータとなる。
【0067】
ST140:
領域特定部27によって一の物体が接触若しくは近接した領域が特定され、その領域を示す2次元データが領域情報メモリ35に格納されると、座標演算部28は、領域情報メモリ35に格納された当該2次元データに基づいて、物体が接触若しくは近接した操作面上の座標を演算する。例えば、座標演算部28は、領域情報メモリ35に格納された2次元データが示す領域の横方向のプロファイルデータと縦方向のプロファイルデータを作成し、それぞれのプロファイルデータについて検出データのピークの位置や重心の位置を算出し、横方向と縦方向の位置を示す座標を求める。領域特定部27は、演算により求めた座標の情報を物体座標メモリ38に格納する。
【0068】
ST145:
座標演算部28は、物体の位置を示す座標を算出すると、物体数メモリ37に格納される物体数の値に1を加える。
【0069】
ST150:
領域特定部27においてオンデータの集合領域の輪郭追跡が行われると、2次元データ更新部26は、2次元データメモリ34に記憶される2次元データにおいて当該輪郭追跡された集合領域に属するオンデータをオフデータに更新する。例えば2次元データ更新部26は、領域情報メモリ35に格納された2次元データが表す領域と同じ領域を2次元データメモリ34に記憶される2次元データから検索し、検索したデータを全てオフデータに書き換える。
図9は、
図7に示す輪郭追跡がなされた集合領域中のオンデータをオフデータに更新する処理を示す図である。
図9Aは2次元データメモリ34に記憶される2次元データを示し、
図9Bは領域情報メモリ35に示す2次元データを示し、
図9Cは2次元データ更新部26により更新された後の2次元データを示す。
このように、輪郭追跡が行われた集合領域のオンデータをオフデータに更新することによって、操作面に複数の物体が接触若しくは近接した場合でも、各物体の接触領域若しくは近接領域を輪郭追跡によって特定することが可能となる。
【0070】
ST125:
2次元データメモリ34の2次元データから取得したデータがオフデータであるとステップST120において判定した場合、又は、当該2次元データから取得したデータがオンデータであると判定したためステップST130〜ST150の処理を実行した場合、領域特定部27は、まだオンデータであるか否かの判定(ステップST120)を行っていないデータが当該2次元データに残っていれば、ステップST115に戻って、当該2次元データから未判定のデータを順に取得し、ステップST120の判定を行う。その判定においてオンデータを見つけた場合、領域特定部27は、上記と同様にステップST130〜150の処理を実行する。当該2次元データの全てのデータについてステップST120の判定を行った場合、領域特定部27は、当該2次元データについての処理を終了する。
【0071】
以上説明したように、本実施形態に係る入力装置によれば、センサ部10の検出結果に基づいて生成された2次元データに含まれる複数の検出データが、データ変換部25によってオンデータ又はオフデータにそれぞれ変換される。当該変換された2次元データに含まれる各データは、領域特定部27によって操作面の端から順に取得され、オンデータか否か判定される。当該取得されたデータがオンデータであると領域特定部27において判定された場合、当該取得されたデータを開始点として、オンデータが隣接して集合した集合領域の輪郭が、開始点から出発して再び元の開始点に戻るまで順に追跡される。そして、この輪郭追跡の結果に基づいて、一の物体が操作面に接触若しくは近接した領域が特定される。
従って、2次元データのうちの一部分(オンデータの集合領域の輪郭周辺)に絞って接触(近接)領域を特定するための処理が行われるため、2次元データの全面に渡って繰り返し処理を行う従来の方法に比べて、処理に必要なメモリ容量を削減できるとともに、演算の負荷を小さくすることができる。
【0072】
また、本実施形態に係る入力装置によれば、領域特定部27において集合領域の輪郭追跡が行われる度に、データ変換部25で変換された2次元データにおいて当該輪郭追跡された集合領域に属するオンデータが、2次元データ更新部26によってオフデータに更新される。そして、2次元データ更新部26によって上記の更新が行われたとき、当該変換された2次元データの中でまだ領域特定部27がオンデータか否かの判定を行っていないデータが残っているならば、その未判定のデータが領域特定部27によって順に取得されて、オンデータか否か判定される。そして、領域特定部27の上記判定においてオンデータが見つかる度に、当該見つかったオンデータを新たな開始点として輪郭追跡処理が行われ、物体が操作面に接触若しくは近接した領域が特定される。
従って、操作面に複数の物体が同時に接触若しくは近接した場合でも、各物体の接触領域若しくは近接領域を的確に特定することができる。また、2次元データメモリ34に格納する2次元データ(オンデータ又はオフデータへ変換した後の2次元データ)の一部を書き換えながら、各物体の接触領域若しくは近接領域を特定しているため、処理に必要なメモリ容量を抑えることができるとともに、演算の負荷を小さくすることができる。
【0073】
次に、本実施形態に係る入力装置の一変形例について説明する。
【0074】
上述した実施形態では、輪郭追跡において探索点の周囲の8方向を探索方向に設定する例を挙げているが(
図6)、探索方向は任意に変更可能であり、例えば
図10において示すように、探索点の周囲の4方向を探索方向に設定してもよい。
【0075】
図11は、本実施形態に係る入力装置における輪郭追跡処理の一変形例を説明するためのフローチャートである。
図11に示すフローチャートにおけるステップST300〜ST365は、
図5に示すフローチャートにおけるステップST200〜ST265にそれぞれ対応しており、ほぼ同様の処理を行う。
【0076】
ただし、ステップST310において設定される探索方向の初期値「0」は、
図10において示すように右方向である。
【0077】
また、ステップST335において探索方向を時計回りに変更する場合、探索方向が「0」の場合は「1」へ、探索方向が「1」の場合は「2」へ、探索方向が「2」の場合は「3」へ、探索方向が「3」の場合は「0」へ変更する。
【0078】
更に、ステップST365において新たな探索方向を元の探索方向の左側に設定する場合、探索点を「0」へ移動させた場合の新たな探索方向は「3」、探索点を「1」へ移動させた場合の新たな探索方向は「0」、探索点を「2」へ移動させた場合の新たな探索方向は「1」、探索点を「3」へ移動させた場合の新たな探索方向は「2」となる。すなわち、新な探索方向を示す数値は、現在の探索方向の数値に「3」を加えた結果を「4」で割った余りとして求めることができる。
【0079】
また、
図11に示すフローチャートに従って輪郭追跡処理を行う場合、領域特定部27によるオンデータの検索(ST115,
図2)は、
図12に示す順番で行われる。
図12の例では、操作面の上端から下端へ向かって順番に行が選択され、選択された行の左端から右端へ向かって順番にオンデータの検索が行われており、座標(X2,Y2)の位置に最初のオンデータが見つかっている。
【0080】
図13は、探索方向が4方向の場合における輪郭追跡の具体例を説明するための図である。
図13の具体例において輪郭追跡が行われる2次元データは、
図12に示したものと同じである。
【0081】
まず、領域特定部27は、
図12に示すように2次元データを検索し、最初にオンデータが見つかる座標(X2,Y2)のデータを輪郭追跡の開始点とする。領域特定部27は、この開始点を探索点として、「0(右)」の方向を最初の探索方向に設定する(
図13A)。「0(右)」の方向にはオンデータがあるため、領域特定部27は、探索点を座標(X3,Y2)に移動する(
図13B)。
探索点を「0(右)」の探索方向へ移動したため、領域特定部27は、「0(右)」の方向に向かって左側にあたる「3(上)」の方向を新たな探索方向とする。領域特定部27は、この「3(上)」の方向から時計周りに探索方向を回転させながら、オンデータを探索する。この探索によって最初に見つかるオンデータは「1(下)」の方向にあるため、領域特定部27は、探索点を「1(下)」の方向に移動する。これにより、新たな探索点は座標(X3,Y3)に移動する(
図13C)。
探索点を「1(下)」の探索方向へ移動したため、領域特定部27は、「1(下)」の方向に向かって左側にあたる「0(右)」の方向を新たな探索方向とする。領域特定部27は、この「0(右)」の方向から時計周りに探索方向を回転させながら、オンデータを探索する。この探索によって最初に見つかるオンデータは「2(左)」の方向にあるため、領域特定部27は、探索点を「2(左)」の方向に移動する。これにより、新たな探索点は座標(X2,Y3)に移動する(
図13D)。
以下、同様にして、探索点を「1(下)」,「3(上)」,「2(左)」,「0(右)」,「3(上)」に移動させ、元の開始点の座標(X2,Y2)に戻る(
図13D〜
図13H)。探索点を「3(上)」の探索方向へ移動して開始点に戻ったため、領域特定部27は、「3(上)」の方向に向かって左側にあたる「2(左)」の方向を新たな探索方向とするが、この探索方向におけるデータはオフデータとなっている。探索点が開始点と等しくなり、かつ、探索方向を「2(左)」としているため、領域特定部27は輪郭追跡の処理を終了する。
【0082】
なお、この変形例のように4方向を探索方向として斜め方向を探索方向としない場合、輪郭追跡の途中で探索点が開始点に戻る場合がある。よって探索点が開始点に戻ったことで輪郭追跡を終了させると輪郭追跡が不完全となってしまう。そのようなことを避けるため、ステップST340にて探索方向が「2(左)」以外の場合は輪郭追跡を終了させずに続行するようにしている。
ステップST340にて探索方向が「2(左)」であれば、
図12に示すオンデータの検索経過から分かるように、開始点から見て「2(左)」〜「3(上)」の方向は全てオフデータになっているので、探索方向を時計回りに変更しても、これらの方向ではオンデータを見つけることができないのは明らかである。よって、この場合は集合領域の輪郭追跡が完了したと判断して、処理を終了する。
【0083】
このように、探索点からの探索方向が4方向に限定される場合でも、オンデータの集合領域の輪郭を追跡することが可能であり、物体の接触領域若しくは近接領域の特定が可能である。
【0084】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
第2の実施形態に係る入力装置は、上述した
図1に示す入力装置と同様な構成を有しているが、領域特定部27における領域特定の処理に関して、
図1に示す入力装置と異なっている。
【0085】
図14は、第2の実施形態に係る入力装置における輪郭追跡処理の一例を説明するためのフローチャートである。
図14に示すフローチャートは、第1の実施形態の変形例において説明した
図11に示すフローチャートと同様なステップST300〜ST365を有するとともに、ステップST325とステップST360の間において実行されるステップST350及びST355を有する。
【0086】
ステップST325において2次元データメモリ34の2次元データから取得した探索方向のデータがオンデータであると判定した場合、領域特定部27は、その探索方向に移動可能か否かを判定するための評価値を、2次元データメモリ33に格納される2次元データの検出データに基づいて算出する(ST350)。領域特定部27は、その評価値に基づいて探索方向に移動可能か否か判定を行い(ST355)、移動可能と判定した場合はステップST360に移行し、移動不可と判定した場合はステップST340に移行する。
【0087】
図15は、2次元データ生成部22において生成された2次元データと、これをデータ変換部25において変換した後の2次元データの一例を示す図である。
図15Aは2次元データ生成部22において生成された2次元データを示し、
図15Bはデータ変換部25において変換した後の2次元データを示す。
例えば
図15Bに示す変換後の2次元データを第1の実施形態に係る入力装置において輪郭追跡した場合、
図15Bの太線の枠で囲まれた領域の全体が、一の物体に対応する領域として特定される。しかしながら、
図15Aに示す2次元データの数値を詳しく見ると、この領域には3つのピークを示す座標(X3,Y3)、(X6,Y3)、(X3,Y6)が存在していることが分かる。このピークの中間部分は、オンデータとして判定されてはいるものの、検出データの値が低下した谷の領域となっている。このような谷の領域を持つ検出データのパターンは、複数の物体が互いに近づいた状態で操作面と接触(近接)している場合における、物体と物体との隙間に生じ易い。従って、領域特定部27は、探索方向に上記のような物体と物体との隙間があるか否かを調べるために、その探索方向のライン上に並んだ一群の検出データに基づいた評価値を算出する。
【0088】
すなわち、領域特定部27は、探索点と、探索方向における次の探索点候補と、次の探索点候補から見て探索方向に隣接する少なくとも1つの探索方向点と、探索点から見て探索方向と逆方向に隣接する少なくとも1つの逆探索方向点とに対応した検出データを、2次元データメモリ33に格納される2次元データからそれぞれ取得する。そして、領域特定部27は、取得した一群の検出データに基づいて、探索点及び次の探索点候補における物体の接触若しくは近接の度合いと、探索方向点及び逆探索方向点における物体の接触若しくは近接の度合いとの大小関係を示す評価値を算出する。この評価値において、探索点及び次の探索点候補における物体の接触若しくは近接の度合いが、探索方向点及び逆探索方向点における物体の接触若しくは近接の度合いよりも一定限度より小さい場合、探索点及び次の探索点候補が物体と物体との隙間に位置すると推定されるため、領域特定部27はその探索方向への移動を不可と判定する。
【0089】
具体的には、領域特定部27は、探索点及び次の探索点候補に対応する検出データにそれぞれ係数K1を乗じて得た値と、探索方向点及び逆探索方向点に対応する検出データに係数K2(ただし、「K2」は「K1」と逆の符号を有する。)をそれぞれ乗じて得た値とを足し合わせることにより、上述した評価値を算出する。領域特定部27は、算出した評価値としきい値とを比較した結果に応じて、探索方向への移動が可能か否か判定する。
【0090】
図16は、評価値を算出するための係数の例を示す図である。
図16Aは探索方向が「0(右)」の場合を示し、
図16Bは探索方向が「1(下)」の場合を示し、
図16Cは探索方向が「2(下)」の場合を示し、
図16Dは探索方向が「3(上)」の場合を示す。
図16の例において、探索点及び次の探索点候補に対応する検出データに乗ぜられる係数K1は「1」であり、探索方向点及び逆探索方向点に対応する検出データに乗ぜられる係数K2は「−1」である。
【0091】
図17及び
図18を参照して、本実施形態に係る入力装置における輪郭追跡の具体例を説明する。
図17は、本実施形態に係る入力装置の輪郭追跡において2次元データ中のオンデータを検索する処理の一例を示す図である。
図18は、評価値に基づいて探索方向への移動が可能か否か判定する場合における輪郭追跡の具体例を説明するための図である。
【0092】
図18に示すオンデータの検索処理では、
図12と同様に、操作面の上端から下端へ向かって順番に行が選択され、選択された行の左端から右端へ向かって順番にオンデータの検索が行われており、座標(X3,Y2)の位置に最初のオンデータが見つかっている。
【0093】
まず、領域特定部27は、
図17に示すように2次元データを検索し、最初にオンデータが見つかる座標(X3,Y2)のデータを輪郭追跡の開始点とする。領域特定部27は、この開始点を探索点として、「0(右)」の方向を最初の探索方向に設定し、時計回りにオンデータを探索する。この探索によって「1(下)」の方向に最初のオンデータが見つかると、領域特定部27は、「1(下)」の方向への評価値を算出する。
図15Aに示す検出データと、
図16Bに示す係数を参照すると、この場合の評価値は「−10+50+99−85」で計算され、その値は「54」となる。領域特定部27は、例えば、この評価値が「−20」より大きい場合に移動可能と判定し、これより小さい場合に移動不可と判定する。従ってこの場合、領域特定部27は、「1(下)」の方向へ移動可能と判定する。領域特定部27は、探索点を「1(下)」方向の座標(X3,Y3)へ移動する(
図18B)。
【0094】
次に領域特定部27は、探索方向を「1(下)」方向の左側にあたる「0(右)」に設定する。「0(右)」にはオンデータが存在するため、領域特定部27は、「0(右)」の方向への評価値を算出する。
図15Aに示す検出データと、
図16Aに示す係数を参照すると、この場合の評価値は「−52+99+79−72」で計算され、その値は「54」となる。従って、領域特定部27は「0(右)」の方向へ移動可能と判定する。領域特定部27は、探索点を「0(右)」方向の座標(X4,Y3)へ移動する(
図18C)。
【0095】
次に領域特定部27は、探索方向を「0(右)」方向の左側にあたる「3(上)」に設定し、時計回りに探索方向を変更してオンデータを探索する。この探索によって最初に「0(右)」のオンデータが見つかるため、領域特定部27は、「0(右)」の方向への評価値を算出する。
図15Aに示す検出データと、
図16Aに示す係数を参照すると、この場合の評価値は「−99+79+72−98」で計算され、その値は「−46」となる。従って、領域特定部27は「0(右)」の方向へ移動は不可であると判定する。そこで、領域特定部27は、更に時計回り探索点を変更させ、「2(左)」方向にオンデータを見つける。領域特定部27は、次に「2(左)」の方向への評価値を算出する。この場合の評価値は「−52+99+79−72」で計算され、その値は「54」となる。従って、領域特定部27は「2(左)」の方向へ移動可能と判定する。領域特定部27は、探索点を「2(左)」方向の座標(X3,Y3)へ移動する(
図18D)。
【0096】
以下、同様にして、探索点を「1(下)」,「3(上)」,「2(左)」,「0(右)」,「3(上)」に移動させ、元の開始点の座標(X3,Y2)に戻る(
図18D〜
図18H)。探索点を「3(上)」の探索方向へ移動して開始点に戻ったため、領域特定部27は、「3(上)」の方向に向かって左側にあたる「2(左)」の方向を新たな探索方向とするが、この探索方向におけるデータはオフデータとなっている。探索点が開始点と等しくなり、かつ、探索方向を「2(左)」としているため、領域特定部27は輪郭追跡の処理を終了する。
【0097】
図19は、
図18に示す輪郭追跡がなされた集合領域中のオンデータをオフデータに更新する処理を示す図である。
図19に示すように、オンデータが連続している領域の中から、座標(X3,Y3)における検出データのピークを中心とした一部の領域が輪郭追跡によって特定され、他の領域から区別されている。
【0098】
以上説明したように、本実施形態に係る入力装置によれば、オンデータの集合領域の輪郭追跡処理において、探索点と、探索方向における次の探索点候補と、次の探索点候補から見て探索方向に隣接する少なくとも1つの探索方向点と、探索点から見て探索方向と逆方向に隣接する少なくとも1つの逆探索方向点とに対応した検出データが2次元データ生成部22において生成された2次元データから取得される。そして、取得された一群の検出データに基づいて、探索点及び次の探索点候補における物体の接触若しくは近接の度合いと、探索方向点及び逆探索方向点における物体の接触若しくは近接の度合いとの大小関係を示す評価値が算出される。この評価値において、探索点及び次の探索点候補における物体の接触若しくは近接の度合いが、探索方向点及び逆探索方向点における物体の接触若しくは近接の度合いよりも一定限度より小さい場合、探索点及び次の探索点候補が物体と物体の隙間に位置していると推定されるため、探索方向への移動が不可と判定される。
このように、1つの検出データだけでなく、これに隣接する一群の検出データの傾向から、輪郭追跡における探索方向に物体と物体との隙間が存在するか否か判定され、隙間を超えて輪郭追跡が行われないようにしているため、複数の物体が近づいた状態で操作面に同時に接触若しくは近接している場合でも、各物体の接触領域若しくは近接領域を的確に特定することができる。
【0099】
以上、本発明の幾つかの実施形態について説明したが、本発明は上述した実施形態に限定されるものではなく、種々のバリエーションを含んでいる。
【0100】
例えば、上述した実施形態では、領域特定部27において輪郭追跡を行う前に、2次元データ生成部22で生成された2次元データの全体がデータ変換部25によってオンデータ又はオフデータに変換されているが、本発明の他の実施形態では、このデータ変換部25による変換を省略してもよい。この場合、領域特定部27は、輪郭追跡の過程で、検出データがオンデータであるかオフデータであるかに相当する判定を行う。
【0101】
具体的には、例えば
図2に示すフローチャートにおいて、ステップST110のデータ変換部25の変換処理は省略される。
ステップST115(
図2)において、領域特定部27は、2次元データメモリ33に記憶される2次元データの各検出データを、操作面の端から順番に取得する。次いでステップST120において、領域特定部27は、取得した検出データがオンデータであるか否かをしきい値との比較に基づいて判定し、オンデータであると判定した場合はステップST130へ移行し、オフデータであると判定した場合はステップST125へ移行する。
また、
図2のフローチャートのステップST150において、2次元データ更新部26は、2次元データメモリ33に格納される2次元データにおいて輪郭追跡が行われた集合領域に属する検出データを、領域特定部27においてオフデータと判定される値に更新する。
更に、
図5に示すフローチャートにおけるステップST220(
図11,
図14に示すフローチャートにおけるステップST320も同様)において、領域特定部27は、2次元データメモリ33に記憶される2次元データから、探索方向の検出データを取得する。次いで、ステップST225(ステップST325)において、領域特定部27は、取得した検出データがオンデータであるか否かをしきい値との比較に基づいて判定し、オンデータであると判定した場合はステップST260(ステップST360)へ移行し、オフデータであると判定した場合はステップST230(ステップST330)へ移行する。
【0102】
上述した第2の実施形態では、輪郭追跡の探索方向が4方向に設定されている場合において4方向の評価値を算出する例を挙げているが、本発明はこの例に限定されない。例えば輪郭追跡の探索方向が8方向に設定されている場合は、8方向の評価値を算出して移動の可否を判定してもよい。