(57)【要約】【課題】検出位置と実際位置との間の誤差をリアルタイムに低減するための座標補正関数を生成すること。【解決手段】タッチセンサにより取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いて、前記座標Ｘｎに対応するノイズが除去された座標Ｘｎ’を算出するノイズ除去部と、前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される写像関数Ｆｎを機械学習により生成する写像生成部と、を備える、座標補正関数生成装置が提供される。【選択図】図１２
2012198607.tif 000002
【特許請求の範囲】
【請求項１】
タッチセンサにより取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いて、前記座標Ｘｎに対応するノイズが除去された座標Ｘｎ’を算出するノイズ除去部と、
前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎを機械学習により生成する関数生成部と、
を備える、
座標補正関数生成装置。
【請求項２】
前記関数生成部は、前記関数Ｆｎを前記座標Ｘ（ｎ−ｍ）（ｍ＝１〜Ｍ）の線形結合で表現し、前記座標Ｘｎ’及び前記座標Ｘ（ｎ−ｍ）（ｍ＝１〜Ｍ）の実測値を用いて最小二乗法により結合係数を算出する、
請求項１に記載の座標補正関数生成装置。
【請求項３】
前記ノイズ除去部は、前記座標Ｘｎと、前記座標Ｘ（ｎ−ｐ）（ｐ＝１〜Ｐ）と、前記座標Ｘ（ｎ＋ｑ）（ｑ＝１〜Ｑ）とを平均して前記座標Ｘｎ’を算出する、
請求項２に記載の座標補正関数生成装置。
【請求項４】
前記ノイズ除去部は、前記座標Ｘｎと、ｐが大きくなるにつれて値が小さくなる重みＤｐ（Ｄｐ＜１）を前記座標Ｘ（ｎ−ｐ）にかけた値と、ｑが大きくなるにつれて値が小さくなる重みＤｑ（Ｄｑ＜１）を前記座標Ｘ（ｎ＋ｑ）にかけた値とを平均して前記座標Ｘｎ’を算出する、
請求項２に記載の座標補正関数生成装置。
【請求項５】
前記ノイズ除去部は、前記座標Ｘｎと、前記座標Ｘ（ｎ−ｐ）（ｐ＝１〜Ｐ）と、前記座標Ｘ（ｎ＋ｑ）（ｑ＝１〜Ｑ）とをバタワースフィルタに入力することで前記座標Ｘｎ’を算出する、
請求項２に記載の座標補正関数生成装置。
【請求項６】
前記ノイズ除去部は、前記座標Ｘｎと、前記座標Ｘ（ｎ−ｐ）（ｐ＝１〜Ｐ）と、前記座標Ｘ（ｎ＋ｑ）（ｑ＝１〜Ｑ）との関係を示す回帰直線又は回帰曲線を算出し、前記座標Ｘｎに対応する回帰直線又は回帰曲線上の座標を前記座標Ｘｎ’とする、
請求項２に記載の座標補正関数生成装置。
【請求項７】
前記座標Ｘｎにおける移動速度を算出する速度算出部と、
前記速度算出部により算出された移動速度に基づいて前記関数Ｆｎをクラス分類し、各クラスを代表する関数を生成する関数分類部と、
をさらに備える、
請求項３に記載の座標補正関数生成装置。
【請求項８】
前記座標Ｘｎにおける移動速度を算出する速度算出部と、
前記タッチセンサのグリッドを複数の領域に分け、前記座標Ｘｎが含まれる領域を判定する領域判定部と、
前記速度算出部により算出された移動速度及び前記領域判定部により判定された領域に基づいて前記関数Ｆｎをクラス分類し、各クラスを代表する関数を生成する関数分類部と、
をさらに備える、
請求項３に記載の座標補正関数生成装置。
【請求項９】
前記タッチセンサと、前記関数生成部により生成された関数に前記タッチセンサにより取得された座標を入力して当該座標を補正する座標補正部と、を有する入力装置から、ユーザが前記タッチセンサを用いて入力した座標に関する情報を取得する座標情報取得部をさらに備え、
前記ノイズ除去部は、前記座標情報取得部により取得された情報が示す座標群を用いてノイズが除去された座標を算出し、
前記関数生成部は、前記座標情報取得部により取得された情報が示す座標群、及び前記ノイズ除去部により算出された座標を用いて関数を生成する、
請求項１に記載の座標補正関数生成装置。
【請求項１０】
前記座標情報取得部は、前記座標に関する情報として前記ユーザの操作パターンを示す情報を取得し、
前記ノイズ除去部は、前記操作パターンに対応する座標群を用いてノイズが除去された座標を算出し、
前記関数生成部は、前記操作パターンに対応する座標群、及び前記ノイズ除去部により算出された座標を用いて関数を生成する、
請求項９に記載の座標補正関数生成装置。
【請求項１１】
タッチされた座標を検出するタッチセンサと、
前記タッチセンサにより予め取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いてノイズが除去された前記座標Ｘｎに対応する座標Ｘｎ’に基づき、機械学習により生成された、前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎに対し、前記タッチセンサにより検出された座標を入力して当該座標を補正する座標補正部と、
を備える、
入力装置。
【請求項１２】
前記タッチセンサを用いたユーザの操作パターンを検出する操作パターン検出部と、
所定の操作パターン毎に用意された関数のうち、前記操作パターン検出部により検出された操作パターンに対応する関数を選択する関数選択部と、
をさらに備え、
前記座標補正部は、前記関数選択部により選択された関数に対し、前記タッチセンサにより検出された座標を入力して当該座標を補正する、
請求項１１に記載の入力装置。
【請求項１３】
前記タッチセンサを操作する操作体の大きさを検出する操作体サイズ検出部と、
操作体の大きさ毎に用意された関数のうち、前記操作体サイズ検出部により検出された操作体の大きさに対応する関数を選択する関数選択部と、
をさらに備え、
前記座標補正部は、前記関数選択部により選択された関数に対し、前記タッチセンサにより検出された座標を入力して当該座標を補正する、
請求項１１に記載の入力装置。
【請求項１４】
前記タッチセンサにより検出された座標と、前記座標補正部により補正された座標との乖離度合いを検出する乖離度検出部をさらに備え、
前記座標補正部は、前記乖離度検出部により検出された乖離度合いが所定の閾値よりも大きい場合に前記関数を変更する、
請求項１１に記載の入力装置。
【請求項１５】
タッチセンサにより取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いて、前記座標Ｘｎに対応するノイズが除去された座標Ｘｎ’を算出するノイズ除去ステップと、
前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎを機械学習により生成する関数生成ステップと、
を含む、
座標補正関数生成方法。
【請求項１６】
タッチセンサにより取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いて、前記座標Ｘｎに対応するノイズが除去された座標Ｘｎ’を算出するノイズ除去機能と、
前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎを機械学習により生成する関数生成機能と、
をコンピュータに実現させるためのプログラム。
【請求項１７】
タッチセンサにより、タッチされた座標が検出される座標検出ステップと、
前記タッチセンサにより予め取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いてノイズが除去された前記座標Ｘｎに対応する座標Ｘｎ’に基づき、機械学習により生成された、前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎに対し、前記タッチセンサにより検出された座標を入力して当該座標を補正する座標補正ステップと、
を含む、
座標補正方法。
【請求項１８】
タッチセンサにより、タッチされた座標を検出する座標検出機能と、
前記タッチセンサにより予め取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いてノイズが除去された前記座標Ｘｎに対応する座標Ｘｎ’に基づき、機械学習により生成された、前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎに対し、前記タッチセンサにより検出された座標を入力して当該座標を補正する座標補正機能と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、座標補正関数生成装置、入力装置、座標補正関数生成方法、座標補正方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、様々な方式のタッチセンサが開発され（例えば、下記の特許文献１などを参照）、既に実用化されている方式も多数存在する。その中でも、操作性の良さや耐久性の高さなどの観点から、静電容量式のタッチセンサに大きな注目が集まっている。静電容量式のタッチセンサは、タッチセンサに操作体（例えば、指など）が近づくことによってタッチセンサ内の電極と操作体との間に生じる静電容量の変化を利用して操作体の位置を検出する。電極と操作体との間に生じる静電容量の変化は、操作体がタッチセンサに接触しなくても生じる。そのため、タッチセンサは、その表面に操作体が近づいたり、その表面に操作体が軽く触れたりしただけでも反応する。このような反応の良さから、ユーザは、良好な操作感を得ることができる。また、静電容量式のタッチセンサは、その表面に近接又は接触した複数の操作体の位置をそれぞれ検出することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３９５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
静電容量式のタッチセンサは、操作性の良さなどを理由に、様々な電子機器に搭載されるようになってきている。例えば、静電容量式のタッチセンサは、携帯電話、携帯情報端末、携帯音楽プレーヤ、携帯ゲーム機など、様々な携帯型の電子機器に搭載されている。また、静電容量式のタッチセンサは、テレビジョン受像機、パーソナルコンピュータ、カーナビゲーションシステム、デジタルサイネージ端末、ＡＴＭなど、比較的大きなサイズの電子機器への適用も期待されている。
【０００５】
しかし、静電容量式のタッチセンサにより検出されたタッチ位置（以下、検出位置）は、実際にタッチした位置（以下、実際位置）とずれていることがある。そのため、検出位置と実際位置との間の誤差を減らす様々な研究が各所でなされている。なお、ここでは静電容量式のタッチセンサを例に挙げたが、位置を検出する他の各種センサについても、検出位置と実際位置との間の誤差を減らす方法が研究されている。本件発明者も、検出位置と実際位置との間の誤差を減らす方法について検討した。
【０００６】
本技術は、上記のような事情を受けて考案されたものであり、処理遅延を発生させることなく、検出位置と実際位置との間の誤差を低減するための座標補正関数を生成することが可能な、新規かつ改良された座標補正関数生成装置、入力装置、座標補正関数生成方法、座標補正方法、及びプログラムを提供することを意図している。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本技術のある観点によれば、タッチセンサにより取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いて、前記座標Ｘｎに対応するノイズが除去された座標Ｘｎ’を算出するノイズ除去部と、前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎを機械学習により生成する関数生成部と、を備える、座標補正関数生成装置が提供される。
【０００８】
また、前記関数生成部は、前記関数Ｆｎを前記座標Ｘ（ｎ−ｍ）（ｍ＝１〜Ｍ）の線形結合で表現し、前記座標Ｘｎ’及び前記座標Ｘ（ｎ−ｍ）（ｍ＝１〜Ｍ）の実測値を用いて最小二乗法により結合係数を算出するように構成されていてもよい。
【０００９】
また、前記ノイズ除去部は、前記座標Ｘｎと、前記座標Ｘ（ｎ−ｐ）（ｐ＝１〜Ｐ）と、前記座標Ｘ（ｎ＋ｑ）（ｑ＝１〜Ｑ）とを平均して前記座標Ｘｎ’を算出するように構成されていてもよい。
【００１０】
また、前記ノイズ除去部は、前記座標Ｘｎと、ｐが大きくなるにつれて値が小さくなる重みＤｐ（Ｄｐ＜１）を前記座標Ｘ（ｎ−ｐ）にかけた値と、ｑが大きくなるにつれて値が小さくなる重みＤｑ（Ｄｑ＜１）を前記座標Ｘ（ｎ＋ｑ）にかけた値とを平均して前記座標Ｘｎ’を算出するように構成されていてもよい。
【００１１】
また、前記ノイズ除去部は、前記座標Ｘｎと、前記座標Ｘ（ｎ−ｐ）（ｐ＝１〜Ｐ）と、前記座標Ｘ（ｎ＋ｑ）（ｑ＝１〜Ｑ）とをバタワースフィルタに入力することで前記座標Ｘｎ’を算出するように構成されていてもよい。
【００１２】
また、前記ノイズ除去部は、前記座標Ｘｎと、前記座標Ｘ（ｎ−ｐ）（ｐ＝１〜Ｐ）と、前記座標Ｘ（ｎ＋ｑ）（ｑ＝１〜Ｑ）との関係を示す回帰直線又は回帰曲線を算出し、前記座標Ｘｎに対応する回帰直線又は回帰曲線上の座標を前記座標Ｘｎ’とするように構成されていてもよい。
【００１３】
また、上記の座標補正関数生成装置は、前記座標Ｘｎにおける移動速度を算出する速度算出部と、前記速度算出部により算出された移動速度に基づいて前記関数Ｆｎをクラス分類し、各クラスを代表する関数を生成する関数分類部と、をさらに備えていてもよい。
【００１４】
また、上記の座標補正関数生成装置は、前記座標Ｘｎにおける移動速度を算出する速度算出部と、前記タッチセンサのグリッドを複数の領域に分け、前記座標Ｘｎが含まれる領域を判定する領域判定部と、前記速度算出部により算出された移動速度及び前記領域判定部により判定された領域に基づいて前記関数Ｆｎをクラス分類し、各クラスを代表する関数を生成する関数分類部と、をさらに備えていてもよい。
【００１５】
また、上記の座標補正関数生成装置は、前記タッチセンサと、前記関数生成部により生成された関数に前記タッチセンサにより取得された座標を入力して当該座標を補正する座標補正部と、を有する入力装置から、ユーザが前記タッチセンサを用いて入力した座標に関する情報を取得する座標情報取得部をさらに備えていてもよい。この場合、前記ノイズ除去部は、前記座標情報取得部により取得された情報が示す座標群を用いてノイズが除去された座標を算出し、前記関数生成部は、前記座標情報取得部により取得された情報が示す座標群、及び前記ノイズ除去部により算出された座標を用いて関数を生成する。
【００１６】
また、前記座標情報取得部は、前記座標に関する情報として前記ユーザの操作パターンを示す情報を取得するように構成されていてもよい。さらに、前記ノイズ除去部は、前記操作パターンに対応する座標群を用いてノイズが除去された座標を算出するように構成されていてもよい。そして、前記関数生成部は、前記操作パターンに対応する座標群、及び前記ノイズ除去部により算出された座標を用いて関数を生成するように構成されていてもよい。
【００１７】
また、上記課題を解決するために、本技術の別の観点によれば、タッチされた座標を検出するタッチセンサと、前記タッチセンサにより予め取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いてノイズが除去された前記座標Ｘｎに対応する座標Ｘｎ’に基づき、機械学習により生成された、前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎに対し、前記タッチセンサにより検出された座標を入力して当該座標を補正する座標補正部と、を備える、入力装置が提供される。
【００１８】
また、上記の入力装置は、前記タッチセンサを用いたユーザの操作パターンを検出する操作パターン検出部と、所定の操作パターン毎に用意された関数のうち、前記操作パターン検出部により検出された操作パターンに対応する関数を選択する関数選択部と、をさらに備えていてもよい。この場合、前記座標補正部は、前記関数選択部により選択された関数に対し、前記タッチセンサにより検出された座標を入力して当該座標を補正する。
【００１９】
また、上記の入力装置は、前記タッチセンサを操作する操作体の大きさを検出する操作体サイズ検出部と、操作体の大きさ毎に用意された関数のうち、前記操作体サイズ検出部により検出された操作体の大きさに対応する関数を選択する関数選択部と、をさらに備えていてもよい。この場合、前記座標補正部は、前記関数選択部により選択された関数に対し、前記タッチセンサにより検出された座標を入力して当該座標を補正する。
【００２０】
また、上記の入力装置は、前記タッチセンサにより検出された座標と、前記座標補正部により補正された座標との乖離度合いを検出する乖離度検出部をさらに備えていてもよい。この場合、前記座標補正部は、前記乖離度検出部により検出された乖離度合いが所定の閾値よりも大きい場合に前記関数を変更する。
【００２１】
また、上記課題を解決するために、本技術の別の観点によれば、タッチセンサにより取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いて、前記座標Ｘｎに対応するノイズが除去された座標Ｘｎ’を算出するノイズ除去ステップと、前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎを機械学習により生成する関数生成ステップと、を含む、座標補正関数生成方法が提供される。
【００２２】
また、上記課題を解決するために、本技術の別の観点によれば、タッチセンサにより取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いて、前記座標Ｘｎに対応するノイズが除去された座標Ｘｎ’を算出するノイズ除去機能と、前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎを機械学習により生成する関数生成機能と、をコンピュータに実現させるためのプログラムが提供される。
【００２３】
また、上記課題を解決するために、本技術の別の観点によれば、タッチセンサにより、タッチされた座標が検出される座標検出ステップと、前記タッチセンサにより予め取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いてノイズが除去された前記座標Ｘｎに対応する座標Ｘｎ’に基づき、機械学習により生成された、前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎに対し、前記タッチセンサにより検出された座標を入力して当該座標を補正する座標補正ステップと、を含む、座標補正方法が提供される。
【００２４】
また、上記課題を解決するために、本技術の別の観点によれば、タッチセンサにより、タッチされた座標を検出する座標検出機能と、前記タッチセンサにより予め取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いてノイズが除去された前記座標Ｘｎに対応する座標Ｘｎ’に基づき、機械学習により生成された、前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎに対し、前記タッチセンサにより検出された座標を入力して当該座標を補正する座標補正機能と、をコンピュータに実現させるためのプログラムが提供される。
【００２５】
また、上記課題を解決するために、本技術の別の観点によれば、上記のプログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
【発明の効果】
【００２６】
以上説明したように本技術によれば、処理遅延を発生させることなく、検出位置と実際位置との間の誤差を低減するための座標補正関数を生成することが可能になる。
【図面の簡単な説明】
【００２７】
【図１】静電容量式タッチセンサの電極構造を示す説明図である。
【図２】静電容量式タッチセンサによるタッチ位置の検出方法を示す説明図である。
【図３】静電容量式タッチセンサの検出精度について説明するための説明図である。
【図４】移動平均を利用したノイズ低減方法について説明するための説明図である。
【図５】移動平均を利用したノイズ低減方法について説明するための説明図である。
【図６】本技術の一実施形態に係る情報処理装置の構成を示す説明図である。
【図７】移動平均に基づく座標補正の性質について説明するための説明図である。
【図８】本実施形態に係る補正関数の特性について説明するための説明図である。
【図９】本実施形態に係る補正処理の流れを示す説明図である。
【図１０】本実施形態に係る補正関数の更新処理の流れを示す説明図である。
【図１１】本実施形態に係る補正関数の更新処理の流れを示す説明図である。
【図１２】本実施形態に係る情報処理システムの構成を示す説明図である。
【図１３】本実施形態に係る教師データの生成方法について説明するための説明図である。
【図１４】本実施形態に係る補正関数の生成方法について説明するための説明図である。
【図１５】本実施形態に係る補正関数の分類方法について説明するための説明図である。
【図１６】本実施形態に係る補正関数の分類方法について説明するための説明図である。
【図１７】本実施形態に係る補正関数の生成処理及び分類処理の流れを示す説明図である。
【図１８】本実施形態に係る補正関数の生成処理及び分類処理の流れを示す説明図である。
【図１９】本実施形態に係る補正関数の生成処理及び分類処理の流れを示す説明図である。
【図２０】本実施形態の一変形例に係るシステム構成例を示した説明図である。
【図２１】本実施形態の一変形例に係るシステム構成例を示した説明図である。
【図２２】本実施形態に係る情報処理装置及び情報処理システムの機能を実現することが可能なハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００２８】
以下に添付図面を参照しながら、本技術に係る好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２９】
［説明の流れについて］
ここで、以下に記載する説明の流れについて簡単に述べる。
【００３０】
まず、図１〜図３を参照しながら、静電容量式タッチセンサの電極構造及びその性質について簡単に説明する。また、静電容量式タッチセンサ以外のセンサについて述べる。次いで、図４及び図５を参照しながら、移動平均を利用したノイズ低減方法について説明する。次いで、図６〜図１１を参照しながら、本技術の一実施形態に係る情報処理装置の構成及び動作について説明する。次いで、図１２〜図１９を参照しながら、同実施形態に係る情報処理システム１００の構成及び動作について説明する。
【００３１】
次いで、図２０及び図２１を参照しながら、同実施形態に係る技術を実現することが可能なシステム構成について簡単に纏める。次いで、図２２を参照しながら、本技術の実施形態に係る情報処理装置の機能を実現することが可能なハードウェア構成例について説明する。最後に、同実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【００３２】
（説明項目）
１：はじめに
１−１：静電容量式タッチセンサの構造とタッチ位置の検出方法
１−２：静電容量式タッチセンサの検出精度
１−３：その他のセンサについて
１−４：ノイズ低減方法
２：実施形態
２−１：情報処理装置の構成
２−２：情報処理装置の動作
２−３：情報処理システム１００の構成
２−４：情報処理システム１００の動作
２−５：システム構成のまとめ
２−５−１：構成例１
２−５−２：構成例２
３：ハードウェア構成
４：まとめ
【００３３】
＜１：はじめに＞
はじめに、静電容量式タッチセンサの構造、静電容量式タッチセンサの検出精度、その他のセンサによる検出精度、及びノイズ低減方法について簡単に説明する。
【００３４】
［１−１：静電容量式タッチセンサの構造とタッチ位置の検出方法］
まず、図１を参照しながら、静電容量式タッチセンサの電極構造について説明する。また、図２を参照しながら、静電容量式タッチセンサによるタッチ位置の検出方法について説明する。図１は、静電容量式タッチセンサの電極構造について説明するための説明図である。また、図２は、静電容量式タッチセンサによるタッチ位置の検出方法について説明するための説明図である。なお、ここでは一例として、ダイヤモンドタイプの電極構造を例に挙げて説明する。
【００３５】
図１に示すように、静電容量式タッチセンサは、Ｘ方向に沿って配線された複数のＸ電極、及びＹ方向に沿って配線された複数のＹ電極を有する。また、Ｘ電極とＹ電極とは、Ｚ方向に見た場合にＸ電極の矩形部分（電極パッド）とＹ電極の矩形部分（電極パッド）とが均等に露出するように並べて配線される。なお、ここでは簡単のために数本の電極しか図示しないが、実際には多数の電極が存在する。
【００３６】
図２に示すように、指などの誘電体（以下、操作体）がＸ電極（Ｙ電極）に近づくと、操作体とＸ電極（Ｙ電極）との間に静電結合が形成され、Ｘ電極（Ｙ電極）の静電容量が増加する。そのため、静電容量の変化を検出することにより、操作体の近接を検知することが可能である。また、各Ｘ電極及び各Ｙ電極の静電容量を監視することにより、操作体が接触又は近接した位置を検出することができる。
【００３７】
［１−２：静電容量式タッチセンサの検出精度］
次に、図３を参照しながら、静電容量式タッチセンサの検出精度について説明する。図３左図に示すように操作体によりタッチ面上を斜め方向に向けて直線的になぞると、図３右図のようなタッチ位置の軌跡が検出される。図３右図から明らかなように、静電容量式タッチセンサにより検出されるタッチ位置の軌跡は周期的に波打っている。つまり、ユーザが操作体で描いた軌跡と、実際に静電容量式タッチセンサで検出される軌跡とが一致していない。言い換えると、操作体がタッチ面に近接又は接触した位置の座標と、実際に検出されたタッチ位置の座標との間に誤差が生じている。
【００３８】
このように、操作体が近接又は接触した位置と違う座標が検出されると、ユーザが意図していないコマンドが実行されてしまうことがある。また、ドラッグ操作の際に検出されるタッチ位置の軌跡が波打つと、ドラッグ操作に追従して動くオブジェクトが不自然な動きをしたり、正しくジェスチャーが認識されなかったりすることがある。また、画面のスクロールなどの動きの方向が決まっている動作をユーザが行った際に動作速度に揺らぎが生じることで、ユーザに違和感を与えてしまうことがある。上記のような誤差を減らすには、例えば、Ｘ電極及びＹ電極の間隔を狭めればよい。
【００３９】
しかしながら、電極の本数が増えると、タッチ位置の走査に要する時間が延びてしまい、レスポンスが低下してしまう。さらに、端子数が増えることにより製造コストが増大してしまう。こうした理由から、Ｘ電極及びＹ電極で形成される升目（グリッド）の大きさを維持しつつ、上記の誤差を低減させる技術が注目されている。
【００４０】
［１−３：その他のセンサについて］
ところで、上述したダイヤモンド型の電極構造を有する静電容量式タッチセンサだけでなく、他の電極構造を有する静電容量式タッチセンサや、静電容量式以外の方式を採用したタッチセンサにおいても、タッチ位置の検出精度を向上させる技術が求められている。また、タッチセンサに限らず、赤外線や可視光などを利用して位置を検出する光センサの分野においても、光源の位置を精度良く検出する技術の実現が求められている。これらのセンサによる検出結果には、様々な要因で生じるノイズの影響が含まれてしまう。そのため、電気的な方法や光学的な方法で位置を検出するセンサの検出結果に含まれるノイズの影響を除去する技術については各所で様々な研究が行われている。
【００４１】
［１−４：ノイズ低減方法］
センサによる検出結果に含まれるノイズを低減する方法として、センサにより測定された測定値を平均化して測定値のばらつきを抑制する方法がある。ここで、図４及び図５を参照しながら、移動平均を利用したノイズ低減方法について説明する。図４及び図５は、移動平均を利用したノイズ低減方法について説明するための説明図である。
【００４２】
いま、センサにより時刻ｔ１〜ｔ８において測定値Ｘ１〜Ｘ８が測定されたものとしよう。時刻ｔ及び測定値Ｘを座標軸とする座標空間に測定値Ｘ１〜Ｘ８をプロットすると、図４のようになる。まず、測定値Ｘ３のノイズを低減する処理について考えてみよう。５点の移動平均を考えるものとすると、測定値Ｘ３のノイズを低減する処理においては、測定値Ｘ３の前後２点ずつが抽出され、測定値Ｘ３を含めた５点の平均値Ｘ３’が算出される。つまり、測定値Ｘ１〜Ｘ５の平均値Ｘ３’が算出される。この平均値Ｘ３’に対応する点をＰ（ｔ３）と表記することにしよう。
【００４３】
点Ｐ（ｔ３）が求まると、次に、測定値Ｘ４のノイズを低減する処理が実行される。測定値Ｘ４のノイズを低減する処理においては、測定値Ｘ４の前後ずつが抽出され、測定値Ｘ４を含めた５点の平均値Ｘ４’が算出される。つまり、ノイズ低減処理の対象とする測定値の移動に伴い、図５に示すように、平均値Ｘ４’の算出に用いる測定値の範囲が移動する（Ａ（ｔ３）→Ａ（ｔ４））。そして、測定値Ｘ２〜Ｘ６の平均値Ｘ４’が算出される。このように、測定値の範囲を移動させつつ、その範囲に含まれる平均値が順次算出される。移動平均を用いて算出された平均値Ｘ３’，Ｘ４’，…は、それぞれ測定値Ｘ３，Ｘ４，…に含まれる低減した値となる。
【００４４】
しかしながら、図５に示すように、測定値Ｘ３の平均値Ｘ３’を算出するのに測定値Ｘ１〜Ｘ５を用いるため、少なくとも時刻ｔ５まで待たなければ平均値Ｘ３’を算出することができない。そのため、遅延Δｔ＝ｔ５−ｔ３が発生してしまう。この遅延Δｔは、平均値Ｘ４’，Ｘ５’，…を算出する際にも同じように発生する。つまり、移動平均を利用したノイズ低減方法を適用すると、センサにより位置が検出されてから、ノイズ低減後の位置情報が出力されるまでに遅延Δｔが発生することになる。このような遅延Δｔの発生は、レスポンスの低下を招き、ユーザに違和感を与える。そのため、遅延Δｔの発生を抑制しつつ、センサによる検出結果に含まれるノイズを除去する技術が求められている。
【００４５】
＜２：実施形態＞
以下、本技術の一実施形態について説明する。
【００４６】
［２−１：情報処理装置の構成］
まず、図６を参照しながら、本実施形態に係る情報処理装置の構成について説明する。図６は、本実施形態に係る情報処理装置の構成について説明するための説明図である。
【００４７】
（全体的な構成）
図６に示すように、本実施形態に係る情報処理装置は、主に、入力装置１０と、情報処理部２０と、表示部３０とにより構成される。また、入力装置１０は、主に、タッチセンサ１１と、座標格納部１２と、座標補正部１３と、関数格納部１４と、関数更新部１５とにより構成される。なお、タッチセンサ１１に代えて、赤外線や可視光などの光を利用してユーザが示す位置を検出するタイプのセンサを用いることも可能である。但し、以下では、一例としてタッチセンサ１１からタッチ位置の座標を取得することを念頭において説明を進める。
【００４８】
ユーザがタッチセンサ１１に指などの操作体を近接又は接触させると、タッチセンサ１１は、近接又は接触した操作体の位置（以下、タッチ位置）を検出する。そして、タッチセンサ１１により検出されたタッチ位置を示す座標は、座標格納部１２に格納される。座標格納部１２に格納された座標は、必要に応じて、座標補正部１３及び関数更新部１５により読み出される。座標補正部１３は、関数格納部１４に予め格納された関数（以下、補正関数）を用いて座標格納部１２に格納された最新の座標を補正する。なお、座標補正部１３により補正された座標を補正座標と呼ぶことにする。
【００４９】
上記の補正座標は、座標補正部１３から出力され、情報処理部２０に入力される。補正座標が入力されると、情報処理部２０は、入力された補正座標に基づいて所定の処理を実行する。そして、情報処理部２０は、実行した処理結果を表示部３０に表示する。また、関数更新部１５は、関数格納部１４に格納された補正関数を更新する。例えば、関数更新部１５は、ユーザの操作パターンや操作体のサイズなどに適した補正関数を情報処理システム１００から取得し、取得した補正関数で関数格納部１４に格納された補正関数を更新する。
【００５０】
（座標補正部１３の詳細な構成）
ここで、座標補正部１３の構成について、より詳細に説明する。
【００５１】
上記の通り、座標補正部１３は、関数格納部１４に格納された補正関数を用いて座標格納部１２に格納された最新の座標（以下、対象座標）を補正する。座標の補正方法としては、例えば、移動平均による補正、加重平均による補正、非線形フィッティングによる補正、バタワースフィルタによる補正などが考えられる。移動平均による補正は、図７に示すように、対象座標及び対象座標の前後に取得された所定数の座標を平均し、その平均値を補正座標に設定する方法である。
【００５２】
加重平均による補正は、対象座標の前後に取得された所定数の座標にそれぞれ重み付けし、重み付けした座標の平均値を補正座標に設定する方法である。この方法で用いられる重み付けは、例えば、取得時刻が対象座標の取得時刻から離れるにつれて値が小さくなるような１未満の重み値を用いて行われる。また、非線形フィッティングによる補正は、座標群を非線形関数によりフィッティングし、対象座標の取得時刻における非線形関数の値を補正座標に設定する方法である。また、バタワースフィルタによる補正は、対象座標及び対象座標の前後に取得された所定数の座標をバタワースフィルタに入力し、バタワースフィルタの出力値を補正座標に設定する方法である。
【００５３】
上記の方法は、いずれも、対象座標の後に取得された座標を用いる。例えば、図７に示すように、５つの座標を用いた移動平均を考えると、時刻ｔ３に取得された対象座標Ｘ（ｔ３）の補正座標Ｘ’（ｔ３）を求める際、対象座標Ｘ（ｔ３）の他に、時刻ｔ３の前後に取得された座標Ｘ（ｔ１）、Ｘ（ｔ２）、Ｘ（ｔ４）、Ｘ（ｔ５）が必要になる。そのため、時刻ｔ５に座標Ｘ（ｔ５）が取得されるまで補正座標Ｘ’（ｔ３）を算出することができない。従って、図７に示すような補正方法を用いると、補正座標Ｘ’（ｔ３）の算出時に、少なくともΔｔ＝ｔ５−ｔ３の処理遅延が発生してしまう。なお、上記の他の補正方法を用いる場合も同様の理由で処理遅延が発生する。
【００５４】
そこで、座標補正部１３は、図８に示すような特性を持つ補正関数Ｆを利用して対象座標を補正する。この補正関数Ｆは、関数格納部１４に予め格納されている。図８に示すように、この補正関数Ｆは、対象座標及び対象座標の前に取得された所定数の座標を入力すると、補正座標を出力する特性を持つ。例えば、座標Ｘ（ｔ１）〜Ｘ（ｔ５）を補正関数Ｆに入力すると、座標Ｘ（ｔ５）に対応する補正座標Ｘ’（ｔ５）が出力される。つまり、座標補正部１３は、対象座標Ｘ（ｔ５）が取得された時点で既に座標格納部１２に格納されている座標Ｘ（ｔ１）〜Ｘ（ｔ４）を用いて補正座標Ｘ’（ｔ５）を得ることができる。そのため、上述した処理遅延Δｔは発生しない。
【００５５】
上記の補正関数Ｆは、機械学習により生成される。そのため、任意の補正方法に基づく補正関数Ｆを生成することができる。なお、補正関数Ｆの生成方法については後述する。
【００５６】
以上、座標補正部１３の詳細な構成について説明した。
【００５７】
（関数更新部１５の詳細な構成）
次に、関数更新部１５の構成について、より詳細に説明する。
【００５８】
上記の通り、関数更新部１５は、関数格納部１４に格納された補正関数を更新する。上述したように、関数格納部１４に格納された補正関数は、機械学習により生成される。そのため、機械学習を行う際に用いた生徒データがユーザの操作パターンや操作体の特徴など（以下、ユーザ特徴）に合っていない場合、補正関数を用いて正しく補正することが困難になる。そこで、関数更新部１５は、ユーザ特徴に合う補正関数を情報処理システム１００から取得し、取得した補正関数で関数格納部１４に格納された補正関数を更新する。
【００５９】
例えば、指先で操作する場合と指の平で操作する場合とでは、補正により除去すべきノイズの大きさが異なる。また、操作体を素早く動かす場合とゆっくり動かす場合とでは、補正により除去すべきノイズの大きさが異なる。さらに、タッチセンサ１１を軽く押圧しながら操作する場合と強く押圧しながら操作する場合とでは、補正により除去すべきノイズの大きさが異なる。また、操作体のサイズが大きい場合と小さい場合とでは、補正により除去すべきノイズの大きさが異なる。そのため、効果的にノイズを除去することが可能な補正関数はユーザ特徴に応じて異なるのである。
【００６０】
ユーザ特徴に合う補正関数を生成するには、ユーザ特徴を反映した座標群又はユーザ特徴を示す情報が必要になる。そこで、関数更新部１５は、座標格納部１２に格納された座標群又はユーザ特徴を示す情報（以下、ユーザフィードバック）を情報処理システム１００に送信する。情報処理システム１００においては、このユーザフィードバックに応じて新たに補正関数が生成されたり、ユーザ特徴毎に予め用意された補正関数の中からユーザフィードバックに適合する補正関数が選択されたりする。関数更新部１５は、送信したユーザフィードバックに基づいて情報処理システム１００により生成又は選択された補正関数を受信し、その補正関数で関数格納部１４に格納された補正関数を更新する。
【００６１】
なお、関数更新部１５は、所定の周期で補正関数を更新するように構成されていてもよいし、或いは、補正関数による補正の精度が低い場合に補正関数を更新するように構成されていてもよい。補正関数による補正の精度は、補正関数により算出された補正座標と対象座標との誤差の二乗和や平均誤差などを用いて評価することができる。例えば、関数更新部１５は、実際に検出された所定数の座標に関する誤差の二乗和を求め、その二乗和が所定の閾値を超えた場合に補正関数を更新する。このとき、関数更新部１５は、関数格納部１４に格納されている補正関数を用いて誤差の二乗和を求める。また、関数更新部１５は、実際にユーザが使用している状況において得られる教師データと対象座標との誤差を用いて補正の精度を評価するように構成されていてもよい。
【００６２】
なお、関数更新部１５は、関数格納部１４に格納された補正関数に合うユーザ特徴の情報を取得し、取得した情報に示されたユーザ特徴と実際に検出されたユーザ特徴とが異なる場合に補正関数を更新するように構成されていてもよい。この場合、関数更新部１５は、ユーザ特徴を検出する機能を有する。例えば、関数更新部１５は、座標格納部１２に格納された座標を用いて操作体の平均的な移動速度を算出する機能を有する。また、関数更新部１５は、タッチセンサ１１により検出可能な操作体のサイズ、押圧力、押圧面積などの情報を取得し、取得した情報が示す値の平均値を算出する機能を有する。なお、関数更新部１５は、ユーザ特徴を示す情報として、平均値の代わりに中央値などの他の統計量を算出するように構成されていてもよい。
【００６３】
以上、関数更新部１５の詳細な構成について説明した。
【００６４】
以上説明したように、座標補正部１３は、対象座標より前に取得された座標を用いて対象座標を補正する。そのため、タッチセンサ１１のデバイス特性や外来ノイズなどの影響により生じる座標の誤差をリアルタイムに補正することが可能になる。また、補正関数を更新して、ユーザ特徴に合った補正関数を利用することにより、高い精度でノイズを除去することが可能になる。
【００６５】
以上、本実施形態に係る情報処理装置の構成について説明した。
【００６６】
［２−２：情報処理装置の動作］
次に、図９〜図１１を参照しながら、本実施形態に係る情報処理装置の動作について説明する。図９〜図１１は、本実施形態に係る情報処理装置の動作について説明するための説明図である。
【００６７】
（補正処理について）
まず、図９を参照する。図９に示す処理は、主に座標補正部１３により実行される。図９に示すように、まず、座標補正部１３は、対象座標として、座標格納部１２から最新の座標を取得する（Ｓ１０１）。次いで、座標補正部１３は、座標格納部１２から対象座標より前に検出された過去の座標を取得する（Ｓ１０２）。次いで、座標補正部１３は、ステップＳ１０１及びＳ１０２で取得された最新及び過去の座標を補正関数に入力する（Ｓ１０３）。次いで、座標補正部１３は、補正関数の出力値を補正座標として出力し（Ｓ１０４）、補正処理に関する一連の処理を終了する。
【００６８】
（補正関数の更新処理について）
次に、図１０を参照する。図１０に示す処理は、主に関数更新部１５により実行される。図１０に示すように、まず、関数更新部１５は、座標格納部１２から座標群を取得する（Ｓ１１１）。次いで、関数更新部１５は、ステップＳ１１１で取得した座標群を補正関数に入力する（Ｓ１１２）。次いで、関数更新部１５は、補正関数から出力される補正座標と対象座標とを比較する（Ｓ１１３）。例えば、関数更新部１５は、補正座標と対象座標との誤差の二乗和や平均誤差などを求め、両座標間の乖離幅を評価する。次いで、関数更新部１５は、座標値の乖離幅が所定以上であるか否かを判定する（Ｓ１１４）。
【００６９】
座標値の乖離幅が所定以上である場合、関数更新部１５は、処理をステップＳ１１５に進める。一方、座標値の乖離幅が所定未満である場合、関数更新部１５は、補正関数の更新に関する一連の処理を終了する。処理をステップＳ１１５に進めた場合、関数更新部１５は、補正関数を更新し（Ｓ１１５）、補正関数の更新に関する一連の処理を終了する。なお、ここでは座標値の乖離幅を基準に補正関数の更新を実行する構成について説明したが、この構成は、ユーザ特徴の比較結果を基準に補正関数の更新を実行する構成に変形してもよいし、所定周期で補正関数の更新を実行する構成に変形してもよい。
【００７０】
ここで、図１１を参照しながら、ステップＳ１１５における補正関数の更新処理について、より詳細に説明する。図１１に示すように、関数更新部１５は、まず、ユーザの操作パターンを検出する（Ｓ１２１）。次いで、関数更新部１５は、ユーザの指の大きさを検出する（Ｓ１２２）。次いで、関数更新部１５は、ステップＳ１２１及びＳ１２２における検出処理の結果を情報処理システム１００に送信する（Ｓ１２３）。次いで、関数更新部１５は、情報処理システム１００から新たな補正関数を受信する（Ｓ１２４）。次いで、関数更新部１５は、関数格納部１４に格納された補正関数を更新し（Ｓ１２５）、一連の処理を終了する。
【００７１】
なお、ここでは一例として、ユーザの操作パターン及びユーザの指の大きさに関する情報を情報処理システム１００に送信し、その情報に応じて生成又は選択された新たな補正関数で関数格納部１４に格納された補正関数を更新する構成について説明した。しかし、補正関数の更新に用いるユーザ特徴の種類などは適宜変更することが可能である。また、ユーザ特徴の情報に代えて、実際に検出された座標群を情報処理システム１００に送信するように構成を変更することも可能である。
【００７２】
以上、本実施形態に係る情報処理装置の動作について説明した。
【００７３】
［２−３：情報処理システム１００の構成］
次に、図１２〜図１６を参照しながら、本実施形態に係る情報処理システム１００の構成について説明する。図１２〜図１６は、本実施形態に係る情報処理システム１００の構成について説明するための説明図である。
【００７４】
図１２に示すように、情報処理システム１００は、座標格納部１０１と、教師データ生成部１０２と、補正関数生成部１０３と、特徴量抽出部１０４と、補正関数分類部１０５と、補正関数提供部１０６と、ユーザフィードバック受信部１０７とにより構成される。なお、座標格納部１０１には、タッチセンサ１１を用いて予め検出された座標群が格納されている。
【００７５】
まず、教師データ生成部１０２は、座標格納部１０１に格納された座標群を取得する。次いで、教師データ生成部１０２は、取得した座標群を生徒データとして利用し、教師データを生成する。例えば、図１３に示すように、教師データ生成部１０２は、生徒データとして、座標格納部１０１に格納された座標Ｘ（ｔ１）〜Ｘ（ｔ５）を取得する。次いで、教師データ生成部１０２は、取得した座標Ｘ（ｔ１）〜Ｘ（ｔ５）を補正して教師データの座標Ｘ’（ｔ３）を生成する。なお、ここで用いる補正の種類は、補正関数による補正の種類に対応する。例えば、移動平均による補正、加重平均による補正、非線形フィッティングによる補正、バタワースフィルタによる補正などが利用可能である。また、電極構造などの影響を受けて場所毎にノイズ量が異なることを考慮し、場所毎に教師データの生成に用いるフィルタの強度を変更するようにしてもよい。場所毎にフィルタの強度を変更することで、場所毎の教師データが得られるため、その教師データを用いて生成される補正関数は場所毎に適したものとなる。
【００７６】
教師データ生成部１０２は、教師データの生成に用いる生徒データの範囲を移動させながら、図１３に示した方法で教師データを順次生成する。教師データ生成部１０２により生成された教師データは、補正関数生成部１０３に入力される。また、教師データの生成に用いた生徒データは、補正関数生成部１０３及び特徴量抽出部１０４に入力される。教師データ及び生徒データが入力されると、補正関数生成部１０３は、入力された教師データ及び生徒データを用いて、機械学習により補正関数を生成する。例えば、図１４に示すように、補正関数生成部１０３は、生徒データの座標Ｘ（ｔ１）〜Ｘ（ｔ５）を教師データの座標Ｘ’（ｔ５）に写像する補正関数Ｆを生成する。
【００７７】
例えば、補正関数Ｆの関数形が下記の式（１）に示すような線形関数の場合について考えてみよう。この場合、補正関数生成部１０３は、下記の式（２）で表現される二乗誤差Δ２を最小化する係数Ａλ（λ＝１〜５）の組を算出する。なお、補正関数生成部１０３は、様々な生徒データの座標Ｘ（ｔ１）〜Ｘ（ｔ５）と教師データの座標Ｘ’（ｔ５）との組み合わせについて係数Ａλ（λ＝１〜５）の組を算出する。そして、補正関数生成部１０３は、算出した係数Ａλを下記の式（１）に代入して補正関数Ｆを生成する。補正関数生成部１０３により生成された補正関数Ｆは、補正関数分類部１０５に入力される。
【００７８】
【数１】
2012198607.tif 000003
【００７９】
なお、ここでは補正関数Ｆの関数形が線形関数の場合について述べたが、補正関数Ｆの関数形が非線形関数の場合についても同様である。また、５つの生徒データの座標を入力して１つの教師データの座標を出力する補正関数Ｆについて述べたが、生徒データの座標数は５以外であってもよい。また、係数Ａλの算出方法として、二乗誤差Δ２を最小化する方法について述べたが、誤差Δを最小化する方法であってもよい。なお、ここでは後述するクラスに関係なく係数を算出する方法について説明したが、クラス毎に係数を算出するようにしてもよい。クラス毎に係数を算出する方法については後述する。但し、説明の都合上、ここでは補正関数Ｆが上記の式（１）に示した線形関数であるものとし、係数Ａλが二乗誤差Δ２を最小化する方法で求められたものとして説明を進める。
【００８０】
さて、特徴量抽出部１０４は、生徒データとして用いた座標群を座標格納部１０１から取得し、取得した座標群を所定のクラスに分類する。まず、特徴量抽出部１０４は、取得した座標群を用いて、各座標における操作体の速度を算出する。例えば、特徴量抽出部１０４は、生徒データの座標Ｘ（ｔ１）〜Ｘ（ｔ５）に関する速度の組み合わせｖ＝（ｖ１，…，ｖ５）を算出する。なお、特徴量抽出部１０４は、生徒データの座標Ｘ（ｔ１）〜Ｘ（ｔ５）を移動させながら、様々な生徒データの座標Ｘ（ｔ１）〜Ｘ（ｔ５）に関して速度の組み合わせｖを算出する。特徴量抽出部１０４により算出された速度の組み合わせｖは、補正関数分類部１０５に入力される。
【００８１】
さらに、特徴量抽出部１０４は、生徒データの座標Ｘ（ｔ１）〜Ｘ（ｔ５）に関する速度以外の特徴量を抽出する。例えば、特徴量抽出部１０４は、図１５に示すように、生徒データの座標Ｘ（ｔ１）〜Ｘ（ｔ５）がタッチセンサ１１のグリッド内における操作を示すものか、グリッドの境界を跨ぐ操作を示すものかを判定する。そして、特徴量抽出部１０４は、その判定結果を特徴量として補正関数分類部１０５に入力する。なお、各座標に対応するユーザ特徴の情報が取得できる場合、特徴量抽出部１０４は、生徒データの座標Ｘ（ｔ１）〜Ｘ（ｔ５）に対応するユーザ特徴の情報を特徴量として補正関数分類部１０５に入力する。例えば、指の平での操作に対応する座標か、指の先での操作に対応する座標かを示す情報（図１６を参照）が特徴量として補正関数分類部１０５に入力される。
【００８２】
特徴量が入力されると、補正関数分類部１０５は、入力された特徴量を用いて補正関数をクラス分類する。まず、補正関数分類部１０５は、速度の組み合わせｖを用いて教師データと生徒データとの組み合わせ（以下、学習データ）をクラス分類する。例えば、補正関数分類部１０５は、速度の組み合わせｖの構成が近い学習データを同じクラスに分類し、クラス毎に代表となる学習データを抽出する。例えば、補正関数分類部１０５は、クラス毎に学習データに対応する速度の組み合わせｖの重心を求め、重心に最も近い速度の組み合わせｖに対応する学習データを抽出する。そして、補正関数分類部１０５は、クラス毎に抽出した代表となる学習データに対応する補正関数を選択する。
【００８３】
なお、補正関数分類部１０５は、ユーザ特徴などの他の特徴量を用いて、より細かく補正関数をクラス分類してもよい。この場合、補正関数分類部１０５は、速度の組み合わせｖを用いて学習データをクラス分類した後、各クラスの学習データを他の特徴量によりサブクラスにクラス分類する。そして、補正関数分類部１０５は、サブクラス毎に代表となる学習データを抽出する。例えば、補正関数分類部１０５は、サブクラス毎に学習データに対応する速度の組み合わせｖの重心を求め、重心に最も近い速度の組み合わせｖに対応する学習データを抽出する。そして、補正関数分類部１０５は、サブクラス毎に抽出した代表となる学習データに対応する補正関数を選択する。
【００８４】
このようにして補正関数分類部１０５によりクラス分類された補正関数は、上述した情報処理装置の関数格納部１４に格納される。上記のようにクラス分類しておくことで、上述した情報処理装置の座標補正部１３は、タッチセンサ１１により検出された座標群の特徴に応じて補正関数を使い分けることが可能になる。例えば、座標補正部１３は、タッチセンサ１１により検出された座標群に関する速度の組み合わせｖ’を算出し、算出した速度の組み合わせｖ’に最も近い速度の組み合わせｖに対応するクラスを選択する。そして、座標補正部１３は、選択したクラスに対応する補正関数を関数格納部１４から取得し、取得した補正関数を用いて補正座標を算出する。また、補正関数がサブクラスに分類されている場合、座標補正部１３は、検出されたユーザ特徴などの他の特徴量に対応するサブクラスの補正関数を利用して補正座標を算出するように構成されていてもよい。
【００８５】
さて、情報処理システム１００に対してユーザフィードバックが送信された場合、このユーザフィードバックは、ユーザフィードバック受信部１０７により受信される。例えば、ユーザフィードバックとして座標群が送信された場合、ユーザフィードバック受信部１０７は、受信した座標群を教師データ生成部１０２、補正関数生成部１０３、及び特徴量抽出部１０４に入力する。座標群が入力されると、教師データ生成部１０２は、入力された座標群を生徒データとして利用し、教師データを生成する。また、補正関数生成部１０３は、教師データ生成部１０２により生成された教師データと座標群（生徒データ）とを利用して補正関数を生成する。さらに、特徴量抽出部１０４は、入力された座標群から特徴量を抽出する。そして、補正関数分類部１０５は、座標群の特徴量を用いて補正関数をクラス分類し、補正関数提供部１０６に入力する。補正関数提供部１０６は、ユーザフィードバックを送信した情報処理装置に対して補正関数を提供する。
【００８６】
また、ユーザ特徴などの特徴量に基づいてサブクラスに分類された補正関数を保持していない情報処理装置から、ユーザ特徴などの特徴量を示す情報がユーザフィードバックとして送信されることがある。この場合、補正関数提供部１０６は、ユーザフィードバックとして送信されたユーザ特徴などの特徴量に対応するサブクラスを選択し、選択したサブクラスに属する補正関数を情報処理装置に提供する。
【００８７】
以上、本実施形態に係る情報処理システム１００の構成について説明した。なお、上記の説明においては、補正関数を生成した後で補正関数をクラス分類する構成について述べたが、学習データをクラス分類した後で各クラスを代表する学習データについて補正関数を生成する構成に変形することも可能である。この変形によると、補正関数の生成に要する演算量を低減することができる。
【００８８】
（クラス毎に係数を算出する方法について）
上記の方法は、生徒データ及び教師データを用いて補正関数の係数を算出しておき、補正関数をクラス分類するというものであった。しかし、生徒データとして用いる座標群をクラス分類した後、クラス毎に分類された座標群を用いて各クラスに対応する補正関数を生成してもよい。例えば、ｔ番目の生徒データをベクトルｖｘｔ＝（ｘｔ−４，ｘｔ−３，ｘｔ−２，ｘｔ−１，ｘｔ）とし、教師データをｘｔ’とすると、教師データｘｔ’は、補正関数ｇを用いてｘｔ’＝ｇ（ｘｔ−２，ｘｔ−１，ｘｔ，ｘｔ＋１，ｘｔ＋２）と表現される。
【００８９】
このとき、生徒データｖｘｔがクラスｃに分類されているとすると、補正関数ｇｃは、下記の式（３）のように、クラスｃに対応する係数Ａｊｃにより表現される。このクラスｃに対応する係数Ａｊｃは、例えば、下記の式（４）で表現される二乗誤差Δ２を最小化するように決定される。このような方法により、各クラスに対応する補正関数ｇｃを算出することができる。なお、生徒データをクラス分類する方法は先に説明した通りである。また、ここで説明した方法により補正関数を生成する場合、情報処理システム１００のうち、補正関数分類部１０５の機能を省略することができる。また、補正関数生成部１０３は、特徴量抽出部１０４によりクラス毎に分類された座標群を用いて各クラスに対応する補正関数を生成する。
【００９０】
【数２】
2012198607.tif 000004
【００９１】
［２−４：情報処理システム１００の動作］
次に、図１７〜図１９を参照しながら、本実施形態に係る情報処理システム１００の動作について説明する。図１７〜図１９は、本実施形態に係る情報処理システム１００の動作について説明するための説明図である。
【００９２】
（非更新時の動作）
まず、座標格納部１０１に格納された座標群を用いて補正関数を生成する際の動作について説明する。
【００９３】
図１７に示すように、まず、教師データ生成部１０２は、生徒データとして予め用意された座標群を座標格納部１０１から取得する（Ｓ２０１）。次いで、教師データ生成部１０２は、ステップＳ２０１で取得した生徒データを用いて教師データを生成する（Ｓ２０２）。次いで、補正関数生成部１０３は、ステップＳ２０２で生成された教師データと、ステップＳ２０１で取得された生徒データとを用いて、機械学習により補正関数を生成する（Ｓ２０３）。次いで、補正関数分類部１０５は、特徴量抽出部１０４により生徒データから抽出された特徴量に基づいて補正関数をクラス分類し（Ｓ２０４）、各クラスの代表となる補正関数を選択する（Ｓ２０５）。次いで、補正関数分類部１０５によりクラス分類された補正関数が入力装置１０に提供され（Ｓ２０６）、一連の処理が終了する。
【００９４】
（更新時の動作＃１）
次に、ユーザフィードバックとして入力装置１０から座標群が送信された状況における情報処理システム１００の動作について説明する。
【００９５】
図１８に示すように、まず、ユーザフィードバック受信部１０７は、ユーザフィードバックとして座標群を受信する（Ｓ２１１）。次いで、教師データ生成部１０２は、受信された座標群を生徒データに設定する（Ｓ２１２）。次いで、教師データ生成部１０２は、ステップＳ２１２で設定した生徒データを用いて教師データを生成する（Ｓ２１３）。次いで、補正関数生成部１０３は、ステップＳ２１３で生成された教師データと、ステップＳ２１２で設定された生徒データとを用いて、機械学習により補正関数を生成する（Ｓ２１４）。次いで、補正関数分類部１０５は、特徴量抽出部１０４により生徒データから抽出された特徴量に基づいて補正関数をクラス分類し（Ｓ２１５）、各クラスの代表となる補正関数を選択する（Ｓ２１６）。次いで、補正関数分類部１０５によりクラス分類された補正関数が入力装置１０に提供され（Ｓ２１７）、一連の処理が終了する。
【００９６】
（更新時の動作＃２）
次に、ユーザフィードバックとしてユーザの操作パターンが送信された状況における情報処理システム１００の動作について説明する。
【００９７】
図１９に示すように、まず、ユーザフィードバック受信部１０７は、ユーザの操作パターンを受信する（Ｓ２２１）。次いで、補正関数提供部１０６は、ステップＳ２２１で受信したユーザの操作パターンに対応する補正関数を検索する（Ｓ２２２）。次いで、補正関数提供部１０６は、ユーザの操作パターンに対応する補正関数が存在するか否かを判定する（Ｓ２２３）。ユーザの操作パターンに対応する補正関数が存在する場合、情報処理システム１００は、処理をステップＳ２３０に進める。一方、ユーザの操作パターンに対応する補正関数が存在しない場合、情報処理システム１００は、処理をステップＳ２２４に進める。
【００９８】
処理がステップＳ２２４に進んだ場合、ユーザフィードバック受信部１０７は、入力装置１０に対してユーザの操作パターンに対応する座標群を要求し、その要求に応じて送信された座標群を受信する（Ｓ２２４）。次いで、教師データ生成部１０２は、受信された座標群を生徒データに設定する（Ｓ２２５）。次いで、教師データ生成部１０２は、ステップＳ２２４で設定した生徒データを用いて教師データを生成する（Ｓ２２６）。次いで、補正関数生成部１０３は、ステップＳ２２６で生成された教師データと、ステップＳ２２５で設定された生徒データとを用いて、機械学習により補正関数を生成する（Ｓ２２７）。次いで、補正関数分類部１０５は、特徴量抽出部１０４により生徒データから抽出された特徴量に基づいて補正関数をクラス分類し（Ｓ２２８）、各クラスの代表となる補正関数を選択する（Ｓ２２９）。
【００９９】
処理がステップＳ２３０に進んだ場合、補正関数分類部１０５によりクラス分類された補正関数が入力装置１０に提供され（Ｓ２３０）、一連の処理が終了する。このような構成にすると、ユーザの操作パターンに対応する補正関数が未生成の状態であっても、その操作パターンに合う補正関数を入力装置１０に提供することが可能になる。
【０１００】
以上、本実施形態に係る情報処理システム１００の動作について説明した。
【０１０１】
［２−５：システム構成のまとめ］
これまで、補正関数を更新する機能を搭載した情報処理装置の構成について説明してきた。しかし、十分な数のクラスに対応する補正関数が用意されている場合、補正関数を更新する機能を省略することも可能である。また、上記の説明では補正関数の生成を情報処理システム１００で行うこととしていたが、情報処理装置に補正関数の生成機能を搭載してもよい。このように、情報処理装置及び情報処理システム１００の構成は、適宜変更することが可能である。そこで、情報処理装置及び情報処理システム１００の区別をせず、本実施形態に係る技術を実現することが可能なシステム構成について簡単にまとめる。
【０１０２】
（２−５−１：構成例１）
まず、図２０を参照する。図２０は、本実施形態に係る技術を実現することが可能なシステム構成の一例（構成例１）を示した説明図である。図２０に示すように、構成例１に係るシステムは、タッチセンサ５１と、座標格納部５２と、クラス分類部５３と、係数格納部５４と、座標補正部５５と、スイッチ５６と、教師データ生成部５７と、教師データ格納部５８と、生徒データ格納部５９と、係数算出部６０と、スイッチ６１とを含む。
【０１０３】
例えば、タッチセンサ５１、座標格納部５２、クラス分類部５３、係数格納部５４、座標補正部５５が情報処理装置に搭載され、教師データ生成部５７、教師データ格納部５８、生徒データ格納部５９、係数算出部６０が情報処理システム１００に搭載される。なお、スイッチ５６、６１は、システムの動作を説明するために模式的に記載されたものである。もちろん、スイッチ５６、６１に相当する構成要素をシステム内に実際に設けてもよい。
【０１０４】
まず、スイッチ５６、６１がオフの場合におけるシステムの動作について説明する。
【０１０５】
入力操作が行われると、タッチセンサ５１により座標が取得される。タッチセンサ５１により取得された座標は、座標格納部５２に格納される。座標格納部５２に格納された座標は、クラス分類部５３により読み出される。クラス分類部５３は、座標格納部５２から読み出した座標群の特徴量を検出し、検出した特徴量に基づいて座標群に対応するクラスを判定する。例えば、クラス分類部５３は、座標格納部５２から読み出した各座標における速度を算出し、算出した速度の組み合わせに基づいて座標格納部５２から読み出した座標群に対応するクラスを判定する。
【０１０６】
クラス分類部５３により判定されたクラスの情報は、係数格納部５４に入力される。クラスの情報が入力されると、係数格納部５４は、予めクラス毎に用意された補正関数の係数の中から、入力されたクラスに対応する係数を選択し、選択した係数を座標補正部５５に入力する。係数が入力されると、座標補正部５５は、入力された係数を用いて表現される補正関数に対し、座標格納部５２から読み出した座標群を入力する。そして、座標補正部５５は、補正関数の出力値を補正座標として出力する。
【０１０７】
以上、スイッチ５６、６１がオフの場合におけるシステムの動作について説明した。補正関数の係数がクラス毎に予め用意されている場合、上記の動作により容易に補正座標を得ることができる。例えば、実際に行われた操作の特徴に近い特徴に対応するクラスが存在し、そのクラスに対応する係数が用意されている場合、上記の構成により十分に高い補正精度が得られる。
【０１０８】
次に、スイッチ５６、６１をオンに切り替える場合におけるシステムの動作について説明する。つまり、機械学習により係数を算出する際の動作について説明する。
【０１０９】
まず、スイッチ５６がオンにされ、クラス分類部５３によりクラス分類された座標群が学習データとして教師データ生成部５７及び生徒データ格納部５９に入力される。この座標群が入力されると、教師データ生成部５７は、入力された座標群を生徒データとして利用し、図１３に示した方法により教師データを生成する。教師データ生成部５７により生成された教師データは、教師データ格納部５８に格納される。一方、生徒データ格納部５９に入力された座標群は、生徒データとして生徒データ格納部５９により保持される。
【０１１０】
教師データ格納部５８に教師データが格納され、生徒データ格納部５９に生徒データが格納されると、係数算出部６０は、これら教師データ及び生徒データを用いて補正関数の係数を算出する。なお、教師データ５８に格納された教師データ及び生徒データ格納部５９に格納された生徒データはクラス毎に分類されている。そのため、クラス毎に分類された教師データ及び生徒データを用いることで、係数算出部６０によりクラス毎の係数が算出される。例えば、係数算出部６０は、補正関数を上記の式（３）のように定義し、クラスｃに対応する教師データｘｔｃ及び生徒データｖｘｔを用いて、上記の式（４）で定義される二乗誤差Δｃ２が最小化されるように係数Ａλｃを算出する。次いで、スイッチ６１がオンにされ、係数算出部６０により算出された係数は、係数格納部５４に格納される。
【０１１１】
以上、スイッチ５６、６１をオンに切り替える場合におけるシステムの動作について説明した。例えば、実際に行われた操作パターンに適したクラスが存在しない場合でも、ここで説明した動作により新たなクラスに対応する係数を生成することができる。
【０１１２】
以上、本実施形態に係る技術を実現することが可能なシステム構成の一例（構成例１）について説明した。
【０１１３】
（２−５−２：構成例２）
次に、図２１を参照しながら、本実施形態に係る技術を実現することが可能なシステム構成の一例（構成例２）について説明する。図２０に示した構成例１との違いは、補正関数の精度が低い場合に補正関数の係数を更新することが前提になっているか否かという点である。図２１に示すように、構成例２に係るシステムは、タッチセンサ７１と、座標格納部７２と、クラス分類部７３と、係数格納部７４と、座標補正部７５と、教師データ生成部７６と、教師データ格納部７７と、生徒データ格納部７８と、乖離度算出部７９と、スイッチ８０と、係数算出部８１とを含む。
【０１１４】
以下、構成例２に係るシステムの動作について説明する。
【０１１５】
入力操作が行われると、タッチセンサ７１により座標が取得される。タッチセンサ７１により取得された座標は、座標格納部７２に格納される。座標格納部７２に格納された座標は、クラス分類部７３により読み出される。クラス分類部７３は、座標格納部７２から読み出した座標群の特徴量を検出し、検出した特徴量に基づいて座標群に対応するクラスを判定する。例えば、クラス分類部７３は、座標格納部７２から読み出した各座標における速度を算出し、算出した速度の組み合わせに基づいて座標格納部７２から読み出した座標群に対応するクラスを判定する。
【０１１６】
クラス分類部７３により判定されたクラスの情報は、係数格納部７４に入力される。クラスの情報が入力されると、係数格納部７４は、予めクラス毎に用意された補正関数の係数の中から、入力されたクラスに対応する係数を選択し、選択した係数を座標補正部７５に入力する。係数が入力されると、座標補正部７５は、入力された係数を用いて表現される補正関数に対し、座標格納部７２から読み出した座標群を入力する。そして、座標補正部７５は、補正関数の出力値を補正座標として出力する。
【０１１７】
また、クラス分類部７３によりクラス分類された座標群は、学習データとして教師データ生成部７６及び生徒データ格納部７８に入力される。この座標群が入力されると、教師データ生成部７６は、入力された座標群を生徒データとして利用し、図１３に示した方法により教師データを生成する。教師データ生成部７６により生成された教師データは、教師データ格納部７７に格納される。一方、生徒データ格納部７８に入力された座標群は、生徒データとして生徒データ格納部７８により保持される。
【０１１８】
教師データ格納部７７に教師データが格納され、生徒データ格納部７８に生徒データが格納されると、乖離度算出部７９は、教師データの座標と、その座標に対応する生徒データの座標との間の乖離度を算出する。例えば、乖離度算出部７９は、クラス毎に教師データと生徒データとを抽出し、各クラスの平均乖離度を算出する。そして、乖離度算出部７９は、算出した乖離度が所定の閾値を上回るか否かを判定する。乖離度が所定の閾値を上回る場合、乖離度算出部７９は、スイッチ８０をオンにし、その乖離度に対応するクラスの教師データ及び生徒データを係数算出部８１に入力する。
【０１１９】
教師データ及び生徒データが入力されると、係数算出部８１は、入力された教師データ及び生徒データを用いて補正関数の係数を算出する。例えば、所定の閾値を上回る乖離度に対応するクラスがクラスｃである場合、係数算出部８１は、補正関数を上記の式（３）のように定義し、入力された教師データｘｔｃ及び生徒データｖｘｔを用いて、上記の式（４）で定義される二乗誤差Δｃ２が最小化されるように係数Ａλｃを算出する。係数算出部８１により算出された係数は、係数格納部７４に格納される。
【０１２０】
以上、本実施形態に係る技術を実現することが可能なシステム構成の一例（構成例２）について説明した。このような構成にすることで、実際の操作パターンに適したクラスが存在しない場合など、補正関数の精度が低い場合に、補正関数の係数が更新される。
【０１２１】
＜３：ハードウェア構成＞
上記の情報処理装置及び情報処理システム１００が有する各構成要素の機能は、例えば、図２２に示すハードウェア構成の一部又は全部を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図２２に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、ＰＨＳ、ＰＤＡ等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のＰＨＳは、Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍの略である。また、上記のＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である。
【０１２２】
図２２に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、を有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６と、を有する。但し、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。そして、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【０１２３】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０１２４】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。
【０１２５】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。そして、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。さらに、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。
【０１２６】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【０１２７】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。但し、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【０１２８】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。但し、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【０１２９】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は各種通信用のモデム等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。そして、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【０１３０】
＜４：まとめ＞
最後に、本実施形態の技術的思想について簡単に纏める。以下に記載する技術的思想は、例えば、ＰＣ、携帯電話、携帯ゲーム機、携帯情報端末、情報家電、カーナビゲーションシステム等、種々の情報処理装置に対して適用することができる。
【０１３１】
上記の情報処理装置の機能構成は次のように表現することができる。当該情報処理装置は、以下に示すノイズ除去部と、関数生成部とを有する。当該ノイズ除去部は、タッチセンサにより取得された複数の座標のうち、第ｎ番目に取得された座標Ｘｎと、第（ｎ−ｐ）番目（ｐ＝１〜Ｐ）に取得された座標Ｘ（ｎ−ｐ）と、第（ｎ＋ｑ）番目（ｑ＝１〜Ｑ）に取得された座標Ｘ（ｎ−ｑ）と、を用いて、前記座標Ｘｎに対応するノイズが除去された座標Ｘｎ’を算出する。また、上記の関数生成部は、前記第（ｎ−ｍ）番目（ｍ＝１〜Ｍ）に取得された座標Ｘ（ｎ−ｍ）を入力した場合に前記座標Ｘｎ’が出力される関数Ｆｎを機械学習により生成する。
【０１３２】
上記の関数Ｆｎを用いると、座標Ｘｎが取得されたタイミングで既に保持している座標群を用いて座標Ｘｎのノイズを除去することが可能になる。例えば、上記の関数Ｆｎを用いずに上記のノイズ除去部と同じ方法で第ｎ番目に取得された座標Ｙｎのノイズを除去しようとすると、第（ｎ＋Ｑ）番目の座標Ｙ（ｎ＋Ｑ）が取得されるまで待つ必要がある。つまり、座標Ｙｎが取得されてから座標Ｙ（ｎ＋Ｑ）が取得されるまでの時間だけ遅延が発生してしまう。しかし、上記の関数Ｆｎを用いると、座標Ｙｎが取得されたタイミングでノイズを除去することが可能になるため、上記の遅延は発生しない。つまり、上記の関数Ｆｎを用いると、リアルタイムに座標のノイズを除去することが可能になる。その結果、レスポンスを低下させずに、座標の検出精度を向上させることができるようになる。
【０１３３】
（備考）
上記の情報処理システム１００は、座標補正関数生成装置の一例である。上記の教師データ生成部１０２は、ノイズ除去部の一例である。上記の補正関数生成部１０３は、関数生成部の一例である。上記の特徴量抽出部１０４は、速度算出部、領域判定部の一例である。上記の補正関数分類部１０５は、関数分類部の一例である。上記のユーザフィードバック受信部１０７は、座標情報取得部の一例である。上記の関数更新部１５は、操作パターン検出部、関数選択部、操作体サイズ検出部、乖離度検出部の一例である。
【０１３４】
以上、添付図面を参照しながら本技術に係る好適な実施形態について説明したが、本技術はここで開示した構成例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本技術の技術的範囲に属するものと了解される。
【０１３５】
例えば、これまで説明してきたシステム構成のうち、どの構成要素を情報処理装置に搭載し、どの構成要素を情報処理システム１００に搭載するか、といったシステム設計に関わる事項は、実施の態様に応じて適切に決められることが望ましい。例えば、図６に示すように、補正関数を更新する構成を情報処理装置（又は入力装置１０）に搭載してもよいし、補正関数を更新する構成を省略してもよい。図２０に示した構成要素のうち、タッチセンサ５１、座標格納部５２、クラス分類部５３、係数格納部５４、座標補正部５５だけを情報処理装置（又は入力装置）に搭載するといった変形も可能である。もちろん、こうした変形例についても本実施形態の技術的範囲に含まれることは言うまでもない。
【符号の説明】
【０１３６】
１０      入力装置
１１      タッチセンサ
１２      座標格納部
１３      座標補正部
１４      関数格納部
１５      関数更新部
２０      情報処理部
３０      表示部
５１、７１    タッチセンサ
５２、７２    座標格納部
５３、７３    クラス分類部
５４、７４    係数格納部
５５、７５    座標補正部
５６、６１、８０    スイッチ
５７、７６    教師データ生成部
５８、７７    教師データ格納部
５９、７８    生徒データ格納部
６０、８１    係数算出部
７９    乖離度算出部
１００    情報処理システム
１０１    座標格納部
１０２    教師データ生成部
１０３    補正関数生成部
１０４    特徴量抽出部
１０５    補正関数分類部
１０６    補正関数提供部
１０７    ユーザフィードバック受信部
【図１】
2012198607.tif 000005
【図２】
2012198607.tif 000006
【図３】
2012198607.tif 000007
【図４】
2012198607.tif 000008
【図５】
2012198607.tif 000009
【図６】
2012198607.tif 000010
【図７】
2012198607.tif 000011
【図８】
2012198607.tif 000012
【図９】
2012198607.tif 000013
【図１０】
2012198607.tif 000014
【図１１】
2012198607.tif 000015
【図１２】
2012198607.tif 000016
【図１３】
2012198607.tif 000017
【図１４】
2012198607.tif 000018
【図１５】
2012198607.tif 000019
【図１６】
2012198607.tif 000020
【図１７】
2012198607.tif 000021
【図１８】
2012198607.tif 000022
【図１９】
2012198607.tif 000023
【図２０】
2012198607.tif 000024
【図２１】
2012198607.tif 000025
【図２２】
2012198607.tif 000026