説明

位置座標処理装置、及び、位置座標処理方法

【課題】ユーザーの意図しない位置座標が誤って検出されることを防止する位置座標処理装置を提供する。
【解決手段】本発明に係る位置座標処理装置1は、少なくとも1つの物体の位置を示す位置座標からなる位置座標集合を、位置座標間の距離に基づいて部分集合に分割する分割部10と、各部分集合に含まれる位置座標に基づいて、当該部分集合における位置座標の代表値を算出すると共に、算出した代表値を、物体の位置座標として設定する位置座標設定部11とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の接触点を検出可能なタッチパネルに関するものであり、特には、パネルにおける物体の接触点の検出精度を向上させる位置座標処理装置に関する。
【背景技術】
【0002】
画像を表示する表示部として液晶ディスプレイを備えた画像表示装置(以下、単に表示装置と称する)は、携帯電話およびPDA(Personal Digital Assistants)をはじめとして、各種情報機器において幅広く用いられている。
【0003】
PDAでは、指またはペンなどを表示装置に直接接触させることにより情報の入力が可能であるタッチセンサを備えた表示装置を搭載していることが一般的である。これによって、キーボードなどの操作入力部と画像を表示する表示装置とを一体とすることができるため、情報機器の小型化を実現することができる。また、近年では携帯電話または携帯型の音楽プレーヤーにおいても、タッチセンサを備える表示装置の普及が進んでいる。
【0004】
このようなタッチセンサを備えた表示装置は、例えば特許文献1に開示されている。特許文献1に記載の表示装置は、主として、エッジ検出回路、接触判定回路および座標計算回路を備えている。
【0005】
エッジ検出回路は、撮影された画像のエッジを検出することによりエッジ画像を取得する。接触判定回路は、エッジ検出回路において取得されたエッジ画像を用いて、物体が表示装置の表示画面に接触したか否かを判定する。より具体的には、接触回路は、エッジ毎にその移動方向(すなわち、エッジの座標の時間変化)を検出し、互いに逆方向に移動するエッジがある場合に、物体が表示装置の表示画面に接触したと判定する。
【0006】
このように、特許文献1に記載の表示装置では、物体が接触しない限りはエッジが互いに逆方向に移動しないという原理を利用して、物体の接触を判定している。すなわち、特許文献1に記載の表示装置は、逆方向への移動量が所定の閾値以上の場合に物体が表示装置の表示画面に接触したと判定することによって、判定の精度を高めている。
【0007】
また、座標計算回路は、物体が接触したと判定された場合に、エッジの重心を物体の座標位置として計算する。すなわち、物体が接触する前に座標位置を計算することにより、位置算出精度が低下することを抑制している。
【0008】
なお、近年では、表示装置上に複数の物体が接触していることを検出することができる、すなわち表示画面上における複数の接触点を同時に検出することができるタッチセンサも普及しつつある。
【特許文献1】特開2006−244446号公報(平成18年9月14日公開)
【発明の開示】
【発明が解決しようとする課題】
【0009】
物体と表示装置との接触座標(位置座標)を複数個出力することが可能であるセンサを備えた表示装置(「位置座標を複数出力することが可能であるセンサを備えた表示装置」を、以下単にタッチパネルとも称する)では、物体と表示装置との接触を誤検出することがある。例えば、タッチパネルに接触する物体の接触面積がタッチパネルの位置分解能よりも大きい場合、接触している物体(例えば、指)が1つであるにも関わらず、すなわち、表示装置に接触している接触領域が1つであるにも関わらず、複数の物体が接触していると誤検出されることがある。このような誤検出について、図11(a)〜(c)を参照して具体的に説明する。
【0010】
光センサアレイを用いて画像処理する方式の表示装置である場合、図11(a)に示すように、親指および人差し指が表示装置に接触している状態で接触認識処理を行うと、表示装置は、図11(b)に示すように、4つの接触部が存在すると認識する。したがって、表示装置は、図11(c)に示すように、4つの接触点の座標を検出(出力)してしまう。
【0011】
このような表示装置における接触点の誤検出は、指の爪の存在、指が動く場合の圧力分布の変化、検出素子の温度特性およびその他の外的要因(例えば、光センサアレイを用いる場合には、外乱光)など多岐にわたるため、センサの信号処理のアルゴリズムを改良したのみでは、全ての要因に起因する誤検出を防止することは困難である。また、特許文献1には、このような誤検出を防止する技術について何ら開示されていない。
【0012】
本発明は、上記の問題点に鑑みてなされたものであり、その主たる目的は、ユーザーが意図しない位置座標が誤って検出されてしまうことを防止する位置座標処理装置を提供する。
【課題を解決するための手段】
【0013】
本発明に係る位置座標処理装置では、上記課題を解決するために、
少なくとも1つの物体の位置を示す位置座標からなる位置座標集合を、該位置座標集合に属する位置座標間の距離に基づいて部分集合に分割する分割手段と、
上記分割手段により分割された各部分集合の代表値を、当該部分集合に属する位置座標に基づいて算出する算出手段と、
上記算出手段により算出された代表値を、上記少なくとも1つの物体の位置を示す位置座標として設定する設定手段と、
を備えていることを特徴としている。
【0014】
本発明に係る位置座標処理装置では、位置座標集合を、位置座標間の距離に基づいて分割した部分集合毎に代表値を算出し、算出した代表値を物体の位置を示す位置座標として設定する。
【0015】
上記の構成によれば、当該位置座標処理装置に入力された位置座標を、ノイズとして検出される位置座標を考慮した新たな位置座標として出力することができる。これによって、ユーザーが意図した位置座標ではない位置座標が誤って検出されてしまうことを防止することができる効果を奏する。
【0016】
したがって、例えば、本発明に係る位置座標処理装置をタッチパネルに搭載した場合には、物体の接触点として検出される位置座標の検出精度を向上させることができる効果を奏する。
【0017】
なお、上記距離は、2つの位置座標p=(xp、yp)、q=(xq、yq)の各成分の2乗和の平方根として算出されるユークリッド距離d(p、q)=[(xp−xq)2+(yp−yq)2]1/2に限らない。すなわち、4つの条件(1)d(p、q)≧0、(2)d(p、q)=d(q、p)、(3)d(p、q)=0⇔p=q、(4)d(p、r)+d(r、q)≧d(p、q)を満足する任意の実数値関数dを、位置座標p、qの間の距離として用いることができる。例えば、d(p、q)=|xp−xq|+|yp−yq|(各成分の差の絶対値の和)を距離として用いてもよい。
【0018】
本発明に係る位置座標処理装置では、さらに、上記分割手段は、上記位置座標集合に属し、かつ、距離が所定の閾値を下回る2つの位置座標が同一の部分集合に属するように、上記位置座標集合を分割することが好ましい。
【0019】
本発明に係る位置座標処理装置では、さらに、上記設定手段により設定された設定済みの位置座標を記憶するための記憶部を更に備え、上記分割手段は、上記位置座標集合に属する位置座標のうち、上記設定済み位置座標との距離が上記閾値を下回る位置座標を、上記設定済み位置座標に関連付けられた部分集合の要素としたうえで、上記位置座標集合に属する位置座標のうち、上記設定済み位置座標との距離が上記閾値を上回る位置座標からなる集合を、距離が上記閾値を下回る2つの位置座標が同一の部分集合に属するように部分集合に分割することが好ましい。
【0020】
上記の構成によれば、位置座標集合に属する位置座標のうち、設定済み位置座標との距離が閾値より小さい位置座標を、設定済み位置座標に関連付けられた部分集合の要素とする。すなわち、本発明に係る位置座標処理装置では、位置座標を、設定済みの位置座標の移動点として認識させることができる。
【0021】
これによって、移動点として認識されるべき位置座標が新たな接触点として認識されることを防止することができるため、本発明に係る位置座標処理装置では、ユーザーの意図しない位置座標を誤って検出してしまうことをさらに一層防止することができる効果を奏する。
【0022】
したがって、例えば、本発明に係る位置座標処理装置をタッチパネルに搭載した場合には、物体の接触点として検出される位置座標の検出精度をより一層向上させることができる効果を奏する。
【0023】
本発明に係る位置座標処理装置では、さらに、上記距離の統計分布に基づいて、上記閾値を設定する閾値設定手段をさらに備えていることが好ましい。
【0024】
本発明に係る位置座標処理装置では、さらに、上記閾値設定手段は、上記閾値設定手段は、上記位置座標集合に属する2つの位置座標からなる位置座標対のうち位置座標間の距離が所定値未満となる位置座標対の数と、当該所定値未満の距離の総和と、当該所定値未満の距離の二乗和とに基づいて、上記閾値を設定することが好ましい。
【0025】
上記の構成によれば、ユーザーの意図しない位置座標の検出数に応じて、分割手段において用いる閾値を適宜変更することができる。すなわち、位置検出する物体の違いまたは外的環境に応じて、最も適切な値となるように閾値を設定することができる。
【0026】
これによって、ユーザーが意図した位置座標ではない位置座標が誤って検出されてしまうことをより一層防止することができる効果を奏する。
【0027】
したがって、例えば、本発明に係る位置座標処理装置をタッチパネルに搭載した場合には、物体の接触点として検出される位置座標の検出精度をさらに一層向上させることができる効果を奏する。
【0028】
本発明に係る位置座標処理方法では、上記課題を解決するために、
少なくとも1つの物体の位置を示す位置座標からなる位置座標集合を、位置座標間の距離に基づいて部分集合に分割する分割ステップと、
上記分割ステップにおいて分割された各部分集合の代表値を、当該部分集合に属する位置座標に基づいて算出する算出ステップと、
上記算出ステップにおいて算出された代表値を、上記少なくとも1つの物体の位置を示す位置座標として設定する設定ステップと、
を含むことを特徴としている。
【0029】
上記の構成によれば、本発明に係る位置座標処理装置と同様の作用効果を奏する。
【0030】
なお、画像を表示する表示パネルと、当該表示パネルに接触する物体の位置を示す位置座標を同時に複数出力するセンサと、本発明に係る位置座標処理装置と、を備えており、上記位置座標処理装置は、上記センサから入力される位置座標に基づいて算出した代表値を上記表示パネルに接触する物体の位置を示す新たな位置座標として設定することを特徴とする表示装置、および当該表示装置を備えた携帯型情報端末も本発明の範疇に含まれる。
【0031】
さらに、本発明に係る位置座標処理装置を動作させるためのプログラムであって、コンピュータを上記の各手段として駆動させることを特徴とするプログラムおよび該プログラムを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に含まれる。
【発明の効果】
【0032】
本発明に係る位置座標処理装置は、以上のように、物体の位置を示す位置座標からなる位置座標集合を、位置座標間の距離に基づいて分割した部分集合毎に代表値を算出し、算出した代表値を物体の位置を示す位置座標として設定する。
【0033】
これによって、本発明に係る位置座標処理装置では、ユーザーが意図した位置座標ではない位置座標が誤って検出されてしまうことを防止することができる効果を奏する。
【発明を実施するための最良の形態】
【0034】
〔実施形態1〕
本発明に係る位置情報処理装置の一実施形態について、図1〜7を参照しつつ以下に説明する。なお、本実施形態では、光センサを内蔵した液晶パネルである光センサ内蔵液晶パネルを備えた携帯型情報端末に搭載される位置情報処理装置を例に挙げて説明する。
【0035】
(携帯型情報端末100の構成)
光センサ内蔵液晶パネル(以下、単に液晶パネルと称する)を備えた端末装置の構成について、図2を参照しつつ以下に説明する。携帯型情報端末100は、図2に示すように、液晶パネル110、画像処理回路111、位置処理装置1、SRAM112、およびフラッシュメモリ113を備えている。
【0036】
液晶パネル110内部のには、光センサが2次元アレイ状に配置されている。すなわち、液晶パネル110は、パックライトから放射され、液晶パネル上の物体表面で反射した光に基づいて、画像情報を取得する。画像処理回路111は、取得した画像における物体の位置座標を算出すると共に、および物体とパネルとの接触を判定する。すなわち、物体とパネルとの接触位置の位置座標を算出し、出力する。
【0037】
このとき、パネルには光センサが2次元アレイ状に備えられているため、物体とパネルとの複数の接触位置を検出し、位置座標を算出することができる。もちろん、位置座標を算出するためのセンサは、光センサに限定されるものではなく、複数の接触位置を検出し、それぞれの位置座標を算出できるものであればよい。
【0038】
なお、本明細書等における「接触」とは、厳密には、物体と液晶パネル表面とが物理的には接していなくてもよい。例えば、光センサを備えた液晶パネルの場合には、画像情報に基づいて、画像処理回路111において接触していると判定されれば、物理的には非接触であっても接触しているとする。
【0039】
位置座標処理装置1は、フラッシュメモリ113に書き込まれたプログラムにしたがって、SRAM112を利用しつつ、画像処理回路111から出力された位置座標を処理する。位置座標処理装置1のより具体的な構成および動作について、以下に説明する。
【0040】
(位置座標処理装置1の構成)
位置座標処理装置1は、図1に示すように、分割部10、位置座標設定部11、閾値設定部12、状態推定部13、記憶部14および15を備えている。なお、図1は、本発明に係る位置座標処理装置1の要部構成を示すブロック図である。位置座標処理装置1における各部材について、以下に説明する。
【0041】
(分割部10)
分割部10は、画像処理回路111より出力された位置座標からなる位置座標集合を、所定の処理に基づいて部分集合に分割する。分割部10は、図1に示すように、距離算出部20および比較部21を備えている。距離算出部20は、位置座標に基づいて、座標間の距離を算出する。比較部21は、距離算出部20において算出した位置座標間の距離と閾値Th1とを比較し、比較結果に基づいて、画像処理回路111より出力された位置座標集合を部分集合に分割する。なお、距離算出部20および比較部21の具体的な動作については、下記に詳述するため、ここではその説明を省略する。
【0042】
(位置座標設定部11)
位置座標設定部11は、分割部10において分割した部分集合に要素として含まれる位置座標に基づいて、当該部分集合の代表値を算出すると共に、算出した代表値を、物体の位置を示す位置座標として新たに設定する。すなわち、位置座標設定部11は、画像処理回路111より出力された位置座標からなる位置座標に基づいて、新たな位置座標を算出し、設定する。なお、設定された位置座標はアプリケーションの動作などにおいて利用される。
【0043】
(閾値設定部12)
閾値設定部12は、距離算出部20において算出した位置座標間の距離に基づいて、閾値Th1を設定する。なお、閾値設定部12における閾値Th1の設定方法の詳細は下記に詳述するため、ここではその説明を省略する。
【0044】
(状態推定部13)
状態推定部13は、物体の接触状態を判定する。より具体的には、状態推定部13は、位置座標設定部11において設定された位置座標が物体の新規接触により生じた座標であるのか、物体が移動したことにより生じた座標であるのかを判定する。また、状態推定部13は、上記の判定に加えて、物体との接触が解除されたことにより消失した位置座標があるか否かについても判定する。なお、判定された物体の接触状態については、位置座標設定部11において設定された位置座標と共に、アプリケーションの動作などにおいて利用される。なお、状態推定部13における判定は、従来公知の手法を用いればよい。
【0045】
(記憶部14および15)
記憶部14は、閾値設定部12において設定された閾値Th1を記憶する。記憶部15は、位置座標設定部11において設定された位置座標を記憶する。すなわち、位置座標処理装置1では、記憶部15は、画像処理回路111より出力された位置座標かならる位置座標集合を分割部10において分割して得られた部分集合の代表値を記憶している。
【0046】
(位置座標処理装置1の動作)
次に、位置座標処理装置1の動作について、図3を参照しつつ以下に説明する。図3は、位置座標処理装置1の動作を示すフローチャートである。
【0047】
まず、分割部10は入力された位置座標から任意の2点を選択する(ステップS1)。距離算出部20は、選択された2点の位置座標の座標値に基づいて、2点間の距離を算出する(ステップS2)。
【0048】
比較部21は、算出された距離が閾値Th1未満であるか否かを判定する(ステップS3)。算出された距離が閾値Th1未満である場合(ステップS3においてYes)、分割部10は選択した2点の位置座標が同一の集合に含まれる要素であると設定する(ステップS4)。より具体的には、選択した2点の位置座標を連結し、無向グラフを作成する。一方、算出された距離が閾値Th1以上である場合(ステップS3においてNo)、分割部10は選択した2点の位置座標が異なる集合に含まれる要素であると設定する(ステップS5)。すなわち、選択した2点の位置座標を連結しない。
【0049】
続いて、分割部10は、入力された位置座標の全ての組み合わせにおいて距離を算出したか否かを判定する(ステップS6)。入力された位置座標の全ての組み合わせにおいて距離を算出した場合(ステップS6においてYes)、分割部10は、互いに連結されている位置座標同士が1つの集合となるように、入力された位置座標それぞれを集合に類別する(ステップS7)。入力された位置座標の全ての組み合わせにおいて距離を算出していない場合(ステップS6においてNo)、分割部10は距離を算出していない位置座標から2点を選択する(ステップS1)。すなわち、分割部10はステップS1からステップS4またはステップS5までの処理を再度実行し、入力された位置座標の全ての組み合わせにおいて距離を算出するまで繰り返す。
【0050】
次に、位置座標設定部11は、各集合に要素として含まれる位置座標に基づいて、各集合の代表値を算出する(ステップS8)。位置座標設定部11は、算出した代表値を物体の接触している接触点の位置座標として設定し(ステップS9)、記憶部15に記憶すると共に、算出した代表値を状態推定部13および位置座標処理装置1外部へ出力する。
【0051】
状態推定部13は、入力された代表値(位置座標設定部11において物体の位置座標として設定された座標値)と、記憶部15において直近に記憶された代表値とを比較することにより、位置座標設定部11において設定された位置座標とが新規の接触点であるのか、または移動した接触点であるのかを判定する(ステップS10)。また、状態推定部13は、接触の解除された点があるか否かについても判定する。状態推定部13において判定された結果は、位置座標設定部11において設定された位置座標と共に、位置座標処理装置1の外部へと出力される。なお、状態推定部13における位置座標の状態の判定は、従来公知のアルゴリズムを用いて判定すればよい。
【0052】
(位置座標処理装置1の利点)
以上説明したように、位置座標処理装置1は、画像処理回路111より出力された、少なくとも1つの物体の位置を示す位置座標からなる位置座標集合を、位置座標間の距離に基づいて部分集合に分割し、分割した部分集合毎に代表値を算出し、算出した代表値を物体の位置を示す位置座標として設定する。より具体的には、画像処理回路111より出力された位置座標間の距離が閾値Th1未満となる位置座標同士を、同一の集合に類別する。そして、類別した位置座標を要素として含む集合毎に算出した代表値を物体の位置を表す座標として設定する。
【0053】
これによって、位置座標処理装置1では、ユーザーの意図していない位置座標が誤って検出されてしまうことを防止することができる。
【0054】
したがって、液晶パネル110および画像処理回路111と共に位置座標処理装置1を搭載した表示装置(いわゆるタッチパネル)では、物体の接触点として検出される位置座標の検出精度を向上することができる。
【0055】
(閾値Th1の設定方法の詳細)
閾値Th1は、所定の値として設定されていてもよいし、ユーザーにより適宜することが可能であってもよい。さらに、閾値Th1は、所定のアルゴリズムに基づいて、動的に設定されてもよい。すなわち、閾値Th1は、距離の統計分布に基づいて設定されてもよい。
【0056】
本項では、閾値Th1を動的に設定する場合の設定方法について、図4および5を参照しつつ以下に説明する。図4は、2本の指を一定時間適当に移動させた場合に、距離算出部10において算出した距離の頻度情報を示すヒストグラムである。なお、図4では、算出した距離を2mm程度の単位でまとめた場合を一例として挙げている。
【0057】
図4に示すように、距離の頻度は、大別して2つの山に分かれている。図4において右側の山は、位置座標間の距離が離れているため、2本の指の間の距離の頻度を示している。一方、図4において左側の山は、位置座標間の距離が接近しているため、接触点の位置座標と、いずれかの指のブレなどに起因するノイズとして検出される位置座標との間の距離の頻度を示している。すなわち、左側の山は、誤検出の原因となる位置座標間の距離の頻度である。したがって、閾値Th1の設定には、図4に示すように位置座標間の距離が所定の閾値Th2以下の値のみを用いることが好ましい。
【0058】
閾値Th1を動的に設定する場合の設定方法の詳細について、図5を参照しつつ以下に説明する。図5は、閾値Th1の設定方法を示すフローチャートである。
【0059】
まず、閾値設定部12は、カウンタk、総和S1、二乗和S2の値を初期化する(ステップS20)。続いて、閾値設定部12は、距離算出部20において算出された値(距離L)が閾値Th2以下であるか否かを判定する(ステップS21)。
【0060】
距離Lが閾値Th2未満である場合(ステップS21においてYes)、閾値設定部12は、カウンタkに「1」を加算する(ステップS22)。続いて、閾値設定部12は、総和S1に距離Lの値を加算する(ステップS23)。また、閾値設定部12は、二乗和S2に距離Lの二乗の値を加算する(ステップS24)。
【0061】
なお、距離Lが閾値Th2以上である場合(ステップS21においてNo)には、閾値設定部12は、カウンタk、総和S1、二乗和S2の値を変更することなく、距離算出部20において算出された次の距離Lが閾値Th2以下であるか否かを判定する(ステップS21)。
【0062】
次に、閾値設定部12は、カウンタkの値が所定値以上であるか否かを判定する(ステップS25)。カウンタkの値が所定値未満である場合(ステップS25においてNo)、閾値設定部12は、距離算出部20において算出された距離Lの値が閾値Th2以下であるか否かを判定する。すなわち、閾値設定部12は、ステップS21からの処理をカウンタkの値が所定値以上となるまで繰り返す。
【0063】
カウンタkの値が所定値以上である場合(ステップS25においてYes)、閾値設定部12は、カウンタk、総和S1および二乗和S2の値に基づいて、閾値Th2未満であった距離の平均値および標準偏差を算出する(ステップS26)。続いて、閾値設定部12は、算出した平均値に標準偏差を加算し、得られた値を閾値Th1として設定する(ステップS27)。なお、閾値設定部12は、設定した閾値Th1を記憶部14に記憶する。すでに、記憶部14に閾値Th1が記憶されている場合には、記憶されている閾値Th1を新たに設定した閾値Th1に置き換える。
【0064】
なお、上述した閾値Th1の動的な設定動作におけるカウンタkの所定値は、特に限定されるものではない。所定値としては、例えば、画像処理回路111における位置座標のサンプリングレートの値を用いればよい。具体的には、画像処理会とにおける位置座標のサンプリングレートが60Hzである場合には、所定値を「60」と設定すればよい。
【0065】
閾値Th1を上述したように設定することにより、接触点の位置座標のノイズとして検出される位置座標の多少に応じて、閾値Th1を変更することができる。すなわち、位置検出する物体の違い(例えば、指であるのか、またはペンであるのか)、および外的環境(例えば、外乱光など)に応じて、最も適切な値となるように閾値Th1を設定することができる。これによって、例えば、位置座標処理装置1がタッチパネルに搭載されている場合には、物体の位置検出精度をより一層向上させることができる。
【0066】
(位置座標の類別方法の変形例)
上述した位置座標処理装置1の動作では、入力された位置座標の2点を連結する無向グラフを作成することにより、入力された位置座標からなる位置座標集合を部分集合に分割する方法を例に挙げているが、位置座標集合の分割はこれに限定されるものではない。本項では、位置座標処理装置1に入力された位置座標からなる位置座標集合の分割方法の変形例について、図6および7を参照しつつ以下に説明する。図6は、位置座標処理装置1の変形例の要部構成を示す図である。
【0067】
図6に示すように、位置座標処理装置1aは、分割部10a、位置座標設定部11a、閾値設定部12、状態推定部13、記憶部14および15を備えている。このうち、分割部10aおよび位置座標設定部11a以外は位置座標処理装置1において説明した部材と同様であるため、ここではその説明を省略する。
【0068】
分割部10aは、距離算出部20aおよび比較部21を備えている。位置座標設定部11aは、部分集合の代表値を算出すると共に、算出した代表値を距離算出部20aにフィードバックする。位置座標設定部11aから代表値のフィードバックを受けた距離算出部20aは、位置座標設定部11aから入力された代表値を含めて位置座標間の距離を再度算出する。
【0069】
位置座標処理装置1aにおける位置座標の類別方法について、図7を参照しつつより具体的に説明する。図7は、位置情報処理装置1aの動作の概要を示すフローチャートである。
【0070】
まず、距離算出部20aは、位置座標処理装置1に入力された位置座標における全ての位置座標間の距離を算出する(ステップS30)。全ての位置座標間の距離の算出が終了すると、分割部10aは、位置座標1つ1つに対して、重みを設定する(ステップS31)。より具体的には、分割部10aは、位置座標と重みの値とを互いに関連付けて内部のメモリに記憶する。なお、設定される重みの値については特に限定されるものではないが、後段における計算を容易にするために、初期値は「1」に設定することが好ましい。
【0071】
続いて、分割部10aは、距離算出部20aにおいて算出した位置座標間の距離のうち、最も短い距離を抽出する(ステップS32)。比較部21は、抽出された距離が閾値Th1未満であるか否かを判定する(ステップS33)。
【0072】
距離が閾値Th1未満である場合(ステップS33においてYes)、位置座標設定部11aは、抽出された距離を算出するために用いた位置座標の代表値を算出する(ステップS34)。より具体的には、位置座標設定部11aは、重み付き加算平均を用いて、2つの位置座標の平均座標を算出する。位置座標設定部11aは、算出した代表値(平均座標)を分割部10aにおける内部メモリに記憶する。分割部10aは記憶された代表値(平均座標)の重みを設定する(ステップS35)。より具体的には、分割部10aは、代表値の算出に用いた位置座標の重みを加算することにより代表値の重みを算出し、算出された代表値と関連付けて内部メモリに記憶する。続いて、分割部10aは、代表値の算出に用いられた2つの位置座標を内部メモリから消去する(ステップS36)。
【0073】
次に、距離算出部20aは、再度、位置座標間の全ての距離の算出する(ステップS30)。すなわち、抽出した最も短い距離が閾値Th1以上となるまで、ステップS30からの処理を繰り返す。なお、位置座標設置部11aにおいて算出した代表値の距離以外は算出済であるため、ここでは、代表値とそれ以外の位置座標との間の距離を算出すればよい。
【0074】
抽出した最も短い距離が閾値Th1以上である場合(ステップS33においてYes)、位置座標設定手段11aは、分割部10aの内部メモリに記憶されている位置座標を物体の位置座標として設定する(ステップS37)。そして、位置座標設定部11は、位置座標処理装置1と同様に、設定した位置座標を記憶部15に記憶すると共に、状態推定部13および位置座標処理装置1外部へと出力する。
【0075】
以上説明したように、位置座標処理装置1aの構成であっても、位置座標間の距離が閾値Th1未満である場合には代表値を算出し、その代表値を物体の位置座標として設定することができる。すなわち、位置座標処理装置1aでは、距離の算出に用いた2つの位置座標を、当該2つの位置座標を要素として含む部分集合に分割するか否か判定し、部分集合に分割する場合には、分割した部分集合の代表値を算出する処理を繰り返すことにより、物体の位置を示す位置座標を設定する。
【0076】
これによって、位置座標処理装置1と同様に、複数の位置座標が同時に入力される場合であっても、ユーザーの意図しない位置座標が誤って検出されてしまうことを防止することができる。したがって、位置座標処理装置1の場合と同様に、位置座標処理装置1aを備えたタッチパネルにおける物体の位置座標の検出精度を向上させることができる。
【0077】
(付記事項)
位置座標処理装置1および1aでは、いわゆるユークリッド距離を用いた場合を例に挙げて説明しているが、もちろんこれに限定されるものではない。例えば、位置座標の座標成分の差の絶対値を加算した値を距離として用いてもよい。この値を距離として用いる場合には、いわゆるユークリッド距離を算出する場合と比較して、距離の算出に要する演算量を低減することができる。
【0078】
また、物体が液晶パネル110に接触する際の接触面の形状に特徴がある場合には、その接触面の特徴に応じて距離を算出することもできる。例えば、右利きの人がタッチペンを用いて液晶パネル110を操作する場合、通常、タッチペンは液晶パネル110に対して右下から接触することになる。すなわち、タッチペンと液晶パネル110の接触面は液晶パネル110の左上から右下に伸びた楕円となる。そこで、分割部10は、一方の位置座標を中心とする楕円の焦点座標を、所定の角度および焦点間距離に基づいて算出し、もう一方の位置座標と算出した焦点座標との距離の和を近接度として算出するようにしてもよい。楕円を用いて距離を算出する場合であっても、位置座標と焦点座標との座標の差の絶対値を算出することにより、演算量を低減することができる。
【0079】
〔実施形態2〕
(位置座標処理装置1bの構成)
本発明に係る位置座標処理装置の別の実施形態について、図8〜10を参照しつつ以下に説明する。本実施形態における位置座標処理装置のの要部構成を図8に示す。図8は、位置座標処理装置1bの要部構成を示すブロック図である。なお、実施形態1と同様の部材については、同じ参照符号を付し、その詳細な説明を省略する。したがって、本実施形態では、類別部10bについてのみ以下に説明する。また、特に断りのない限り、実施形態1と同様の用語は、同様の意味で用いている。
【0080】
図8に示すように、位置座標処理装置1bは、類別部10b、位置座標設定部11、閾値設定部12、状態推定部13、記憶部14および15を備えている。
【0081】
類別部10bは、図8に示すように、距離算出部20bおよび比較部21を備えている。距離算出部20bは、位置座標間の距離を算出する点では距離算出部20と同様である。しかし、距離算出部20bは、入力された位置座標のうちの任意の位置座標を選択すると共に、選択した位置座標と、記憶部15に記憶されている位置座標との距離を算出する。
【0082】
次に、位置座標処理1bの動作について、図9を参照しつつ以下に説明する。図9は、位置情報処理装置1bの動作の概要を示すフローチャートである。なお、類別部10bにおける処理以外については、実施形態1において説明した処理と同様であるため、ここではその説明を省略する。
【0083】
まず、距離算出部20bは、位置座標処理装置1bに入力された位置座標のうちから1点を選択する(ステップS40)。次に、距離算出部20bは記憶部15に記憶されている位置座標のうち直近に記憶された位置座標を対象座標として選択する(ステップS41)。続いて、距離算出部20bは、位置座標と対象座標との距離を算出する(ステップS42)。なお、距離算出部20bは、直近に記憶された位置座標全てを対象座標として設定し、位置座標との距離を算出する。したがって、距離算出部20bの算出した距離の最小値は、選択した位置座標とその位置座標の最近傍に位置する対象座標との間の距離となる。
【0084】
次に、比較部21は、算出した距離の最小値が閾値Th1未満であるか否かを判定する(ステップS43)。算出した距離の最小値が閾値Th1未満である場合(ステップS43においてYes)、類別部10bは、選択した位置座標を、対象座標と同一の集合に類別する(ステップS49)。一方、算出した距離の最小値が閾値Th1以上である場合(ステップS43においてNo)、距離算出部20bは、選択した位置座標以外の位置座標との距離を算出する(ステップS45)。なお、この場合においても選択した位置座標以外全ての位置座標との間の距離を算出する。
【0085】
比較部21は、算出した距離の最小値が閾値Th1未満であるか否かを判定する(ステップS46)。算出した距離の最小値が閾値Th1未満である場合(ステップS46においてYes)、類別部10bは、選択した位置座標を、最小値となる距離を算出する際に用いた位置座標とを同一の集合に類別する(ステップS47)。算出した距離の最小値が閾値Th1以上である場合(ステップS46においてNo)、類別部10bは、選択した位置座標を、その位置座標を要素として含む新たな集合に類別する(ステップS48)。
【0086】
最後に、類別部10bは入力された位置座標全てにおいて類別処理が完了したか否かを判定する(ステップS49)。全ての位置座標において類別処理が完了していない場合(ステップS49においてNo)、類別処理の済んでいない位置座標を選択し、再度ステップS40からの処理を実行する。全ての位置座標において類別処理が完了した場合(ステップS49においてYes)、位置座標設定部11は位置座標の類別された集合毎に代表値を算出する。
【0087】
(位置座標処理装置1bの利点)
実施形態1において説明したように、算出した位置座標間の近接度が閾値Th1未満である位置座標を同一の集合として位置座標集合を分割することにより、ユーザーの意図しない位置座標を検出する新たな可能性が生じる。例えば、図10(a)および(b)を参照して説明すると、図10(a)に示すように2本の指を互いに寄せる動作を行った場合、図10(b)に示す状態となる。このとき、検出される2つの位置座標の座標間の距離が閾値Th1未満である場合、2つの位置座標が1つであるとみなされ、ユーザーの位置しない1つの位置座標として検出されてしまうおそれがある。
【0088】
そこで、位置座標処理装置1bでは、実施形態1において説明した処理を実行する前に、入力された位置座標のうち、直前に算出された位置座標からの移動点がないかを判定する。
【0089】
より具体的には、位置座標処理装置1bは、記憶部15に記憶されている位置座標(すなわち、対象座標)との間の距離が閾値Th1未満である位置座標を、予め対象座標と同一の集合に類別する。これによって、本来移動点として認識されるべき位置座標が新たな接触点として認識されることを防止することができる。
【0090】
したがって、位置座標処理装置1bでは、ユーザーの意図しない位置座標の検出をさらに一層防止することができる効果を奏する。また、液晶パネル110および画像処理回路111と共に位置座標処理装置1bを搭載した表示装置(いわゆるタッチパネル)では、物体の接触点として検出される位置座標の検出精度を向上することができる。
【0091】
(プログラムおよび記録媒体)
位置座標処理装置1、1a、1bに含まれている各ブロックは、ハードウェアロジックによって構成すればよい。または、次のように、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
【0092】
すなわち位置座標処理装置1、1a、1bは、各機能を実現するプログラムの命令を実行するCPU、このプログラムを格納したROM(Read Only Memory)、上記プログラムを実行可能な形式に展開するRAM(Random Access Memory)、および、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)を備えている。この構成により、本発明の目的は、所定の記録媒体によっても、達成できる。
【0093】
この記録媒体は、上述した機能を実現するソフトウェアである位置座標処理装置1、1a、1bのプログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録していればよい。位置座標処理装置1、1a、1bに、この記録媒体を供給する。これにより、コンピュータとしての位置座標処理装置1、1a、1b(またはCPUあるいはMPU)が、供給された記録媒体に記録されているプログラムコードを読み出し、実行すればよい。
【0094】
プログラムコードを位置座標処理装置1、1a、1bに供給する記録媒体は、特定の構造または種類のものに限定されない。すなわちこの記録媒体は、たとえば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などとすることができる。
【0095】
また、位置座標処理装置1、1a、1bを通信ネットワークと接続可能に構成しても、本発明の目的を達成できる。この場合、上記のプログラムコードを、通信ネットワークを介して位置座標処理装置1、1a、1bに供給する。この通信ネットワークは位置座標処理装置1、1a、1bにプログラムコードを供給できるものであればよく、特定の種類または形態に限定されない。たとえばインターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等であればよい。
【0096】
この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な任意の媒体であればよく、特定の構成または種類のものに限定されない。たとえばIEEE1394、USB(Universal Serial Bus)、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【0097】
以上、本発明を実施形態に基づいて具体的に説明したが、本発明は、上述した各実施形態に限定されるものではなく、請求項に示した範囲において種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0098】
本発明に係る位置座標処理装置は、タッチパネルにおいて検出される位置座標を処理する処理装置または処理回路として好適に利用することができる。
【図面の簡単な説明】
【0099】
【図1】実施形態1に係る位置情報処理装置の要部構成を示すブロック図である。
【図2】位置情報処理装置を備えた携帯型情報端末の要部構成を示すブロック図である。
【図3】実施形態1に係る位置情報処理装置の動作の概要を示すフローチャートである。
【図4】距離算出手段において算出した距離の頻度情報を示すヒストグラムである。
【図5】閾値Th1の動的な設定方法を示すフローチャートである。
【図6】実施形態1に係る位置情報処理装置の変形例の要部構成を示すブロック図である。
【図7】実施形態1に係る位置情報処理装置の変形例の動作の概要を示すフローチャートである。
【図8】実施形態2に係る位置情報処理装置の要部構成を示すブロック図である。
【図9】実施形態2に係る位置情報処理装置の動作の概要を示すフローチャートである。
【図10】複数の物体の接触を検出するタッチパネルにおける誤検出の一例を示す図であり、(a)は2本の指を離して液晶パネルに接触させている状態であり、(b)は2本の指を近接して液晶パネルに接触させている状態である。
【図11】複数の物体の接触を検出するタッチパネルにおける誤検出の一例を示す図であり、(a)は親指および人差し指がタッチパネルに接触している状態を示しており、(b)は、接触領域の認識状態を示しており、(c)は、接触点の座標の検出を示している。
【符号の説明】
【0100】
1 位置座標処理装置
1a 位置座標処理装置
1b 位置座標処置装置
10 分割部(分割手段)
10a 分割部(分割手段)
10b 類別部(分割手段)
11 位置座標設定部(算出手段、設定手段)
11a 位置座標設定部(算出手段、設定手段)
12 閾値設定部
13 状態推定部
14 記憶部
15 記憶部
20 距離算出部
20a 距離算出部
20b 距離算出部
21 比較部
100 携帯型情報端末
110 光センサ内蔵液晶パネル(表示パネル)
111 画像処理回路
112 SRAM
113 フラッシュメモリ

【特許請求の範囲】
【請求項1】
少なくとも1つの物体の位置を示す位置座標からなる位置座標集合を、該位置座標集合に属する位置座標間の距離に基づいて部分集合に分割する分割手段と、
上記分割手段により分割された各部分集合の代表値を、当該部分集合に属する位置座標に基づいて算出する算出手段と、
上記算出手段により算出された代表値を、上記少なくとも1つの物体の位置を示す位置座標として設定する設定手段と、
を備えていることを特徴とする位置座標処理装置。
【請求項2】
上記分割手段は、上記位置座標集合に属し、かつ、距離が所定の閾値を下回る2つの位置座標が同一の部分集合に属するように、上記位置座標集合を分割することを特徴とする請求項1に記載の位置座標処理装置。
【請求項3】
上記設定手段により設定された設定済み位置座標を記憶するための記憶部をさらに備え、
上記分割手段は、上記位置座標集合に属する位置座標のうち、上記設定済み位置座標との距離が上記閾値を下回る位置座標を、上記設定済み位置座標に関連付けられた部分集合の要素としたうえで、上記位置座標集合に属する位置座標のうち、上記設定済み位置座標との距離が上記閾値を上回る位置座標からなる集合を、距離が上記閾値を下回る2つの位置座標が同一の部分集合に属するように部分集合に分割することを特徴とする請求項1または2に記載の位置座標処理装置。
【請求項4】
上記距離の統計分布に基づいて、上記閾値を設定する閾値設定手段をさらに備えていることを特徴とする請求項2または3に記載の位置座標処理装置。
【請求項5】
上記閾値設定手段は、上記位置座標集合に属する2つの位置座標からなる位置座標対のうち位置座標間の距離が所定値未満となる位置座標対の数と、当該所定値未満の距離の総和と、当該所定値未満の距離の二乗和とに基づいて、上記閾値を設定することを特徴とする請求項4に記載の位置座標処理装置。
【請求項6】
少なくとも1つの物体の位置を示す位置座標からなる位置座標集合を、該位置座標集合に属する位置座標間の距離に基づいて部分集合に分割する分割ステップと、
上記分割ステップにおいて分割された各部分集合の代表値を、当該部分集合に属する位置座標に基づいて算出する算出ステップと、
上記算出ステップにおいて算出された代表値を、上記少なくとも1つの物体の位置を示す位置座標として設定する設定ステップと、
を含むことを特徴とする位置座標処理方法。
【請求項7】
画像を表示する表示パネルと、当該表示パネルに接触する物体の位置を示す位置座標を同時に複数出力するセンサと、請求項1から5のいずれか1項に記載の位置座標処理装置と、を備えており、
上記位置座標処理装置は、上記センサから入力される位置座標に基づいて算出した代表値を上記表示パネルに接触する物体の位置を示す新たな位置座標として設定することを特徴とする表示装置。
【請求項8】
請求項7に記載の表示装置を備えていることを特徴とする携帯型情報端末。
【請求項9】
請求項1から5のいずれか1項に記載の位置座標処理装置を動作させるプログラムであって、コンピュータを上記の各手段として機能させるためのプログラム。
【請求項10】
請求項9に記載のプログラムを記録しているコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2010−39868(P2010−39868A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−203542(P2008−203542)
【出願日】平成20年8月6日(2008.8.6)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】