(57)【要約】【課題】センサの感度が十分でない場合でも、センサに接触または近接した物体（例えば、指、ペン等の入力装置、観察対象の物品等）の二次元像から、物体の方向を安定して求めることができる、検出装置、検出方法および検出プログラムを得る。【解決手段】検出装置１は、接触または近接した物体の二次元像を認識可能なセンサ部１０１と、前記センサ部１０１に認識された二次元像から、前記物体の方向を表す方向データを出力する方向演算部２０１と、前記方向演算部２０１が出力する方向データを連続的にサンプリングして記憶する記憶部２０２と、前記記憶部２０２に記憶された方向データに基づいて平均化処理を行う平均化処理部２０３とを備える。【選択図】図１
2014211661.tif 000002
【特許請求の範囲】
【請求項１】
接触または近接した物体の二次元像を認識可能なセンサ部と、
前記センサ部に認識された二次元像から、前記物体の方向を表す方向データを出力する方向演算部と、
前記方向演算部が出力する方向データを連続的にサンプリングして記憶する記憶部と、
前記記憶部に記憶された方向データに基づいて平均化処理を行う平均化処理部とを備える検出装置。
【請求項２】
前記記憶部は、前記方向演算部が出力する方向データを、θ１−θ０＝３６０の関係を満たすθ０以上θ１未満の値をとる角度データとして記憶し、
前記平均化処理部は、
Δθ０およびΔθ１をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ０超Δθ１未満でない場合には、Δθ０以下の角度データに３６０を加える処理と、平均を求める処理と、求められた平均がθ１以上のときにθ１を引く処理とを含む処理を行う、請求項１に記載の検出装置。
【請求項３】
前記記憶部は、前記方向演算部が出力する方向データを角度データとして記憶し、
前記平均化処理部は、
前記記憶部に記憶された角度データを、円周上の座標に変換する処理と、
前記変換された座標に基づいて平均を求める処理と、
前記平均された座標を角度データに変換する処理とを含む処理を行う、請求項１に記載の検出装置。
【請求項４】
前記平均化処理部により算出された平均化された方向データの変化に基づいて、回転動作を検出する回転検出部をさらに備える、請求項１〜３のいずれか一項に記載の検出装置。
【請求項５】
二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、
前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、
前記記憶処理により記憶されたデータに基づいて行う平均化処理とを含む検出方法。
【請求項６】
前記記憶処理は、前記方向演算処理が算出した方向データを、θ１−θ０＝３６０の関係を満たすθ０以上θ１未満の値をとる角度データとして記憶し、
前記平均化処理は、
Δθ０およびΔθ１をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ０超Δθ１未満でない場合には、Δθ０以下の角度データに３６０を加える処理と、平均を求める処理と、求められた平均がθ１以上のときにθ１を引く処理とを含む、請求項５に記載の検出方法。
【請求項７】
前記記憶処理は、前記方向演算処理が算出した方向データを、角度データとして記憶し、
前記平均化処理は、
前記記憶処理により記憶された方向データを、円周上の座標に変換する処理と、
前記変換された座標に基づいて平均を求める処理と、
前記平均された座標を角度データに変換する処理とを含む、請求項５に記載の検出方法。
【請求項８】
前記平均化処理により算出された平均化された方向データの変化に基づいて、回転動作を検出する回転検出処理をさらに含む、請求項５〜７のいずれか一項に記載の検出方法。
【請求項９】
二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、
前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、
前記記憶処理により記憶されたデータに基づいて行う平均化処理とをコンピュータに実行させるコンピュータプログラム。
【請求項１０】
前記記憶処理は、前記方向演算処理が算出した方向データを、θ１−θ０＝３６０の関係を満たすθ０以上θ１未満の値をとる角度データとして記憶し、
前記平均化処理は、
Δθ０およびΔθ１をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ０超Δθ１未満でない場合には、Δθ０以下の角度データに３６０を加える処理と、平均を求める処理と、求められた平均がθ１以上のときにθ１を引く処理とを含む、請求項９に記載のコンピュータプログラム。
【請求項１１】
前記記憶処理は、前記方向演算処理が算出した方向データを、角度データとして記憶し、
前記平均化処理は、
前記記憶処理により記憶された方向データを、円周上の座標に変換する処理と、
前記変換された座標に基づいて平均を求める処理と、
前記平均された座標を角度データに変換する処理とを含む、請求項９に記載のコンピュータプログラム。
【請求項１２】
前記平均化処理により算出された平均化された方向データの変化に基づいて、回転動作を検出する回転検出処理をさらにコンピュータに実行させる、請求項９〜１１のいずれか一項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出装置、検出方法および検出プログラムに関し、より詳しくは、センサに接触または近接した物体の方向を検出する検出装置、検出方法および検出プログラムに関する。
【背景技術】
【０００２】
近年、タッチパネルに代表される検出装置を備えた機器が急速に普及している。これらの機器の機能は多様化・複雑化しており、これに伴ってより多彩な操作方法が求められている。
【０００３】
特許文献１には、タッチパネル上の指の形状から、ユーザの手の方向を判定するタッチパネル式入力装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−５２５３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特にセンサ（タッチパネル）の感度が低い場合、入力されたデータ（指の形状）によっては、正確な認識ができないときがある。このようなとき、判定された方向が不正確になったり、揺らいだりする。
【０００６】
本発明の目的は、センサの感度が十分でない場合でも、センサに接触または近接した物体（例えば、指、ペン等の入力装置、観察対象の物品等）の二次元像から、物体の方向を安定して求めることができる、検出装置、検出方法および検出プログラムを得ることである。
【課題を解決するための手段】
【０００７】
以下に開示する検出装置は、接触または近接した物体の二次元像を認識可能なセンサ部と、前記センサ部に認識された二次元像から、前記物体の方向を表す方向データを出力する方向演算部と、前記方向演算部が出力する方向データを連続的にサンプリングして記憶する記憶部と、前記記憶部に記憶された方向データに基づいて平均化処理を行う平均化処理部とを備える。
【０００８】
また、以下に開示する検出方法は、二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、前記記憶処理により記憶されたデータに基づいて行う平均化処理とを含む。
【０００９】
また、以下に開示するコンピュータプログラムは、二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、前記記憶処理により記憶されたデータに基づいて行う平均化処理とをコンピュータに実行させる。
【発明の効果】
【００１０】
センサの感度が十分でない場合でも、センサに接触または近接した物体（例えば、指、ペン等の入力装置、観察対象の物品等）の二次元像から、物体の方向を安定して求めることができる、検出装置、検出方法および検出プログラムを得ることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の第１の実施形態にかかる検出装置の構成を模式的に示すブロック図である。
【図２】図２は、本発明の第１の実施形態における指等の方向の決定方法の一例を説明するための図である。
【図３Ａ】図３Ａは、本発明の第１の実施形態にかかる検出装置の、角度の平均化処理について示すフローチャートである。
【図３Ｂ】図３Ｂは、本発明の第１の実施形態にかかる検出装置の、角度の平均化処理を説明するための図である。
【図４】図４は、通常の移動平均と、本発明の第１の実施形態による角度の平均化処理とを、具体例で比較した表である。
【図５】図５は、通常の移動平均と、本発明の一実施形態よる角度の平均化処理で得られた値とを比較した図である。
【図６Ａ】図６Ａは、本発明の第２の実施形態にかかる検出装置の、角度の平均化処理について示すフローチャートである。
【図６Ｂ】図６Ｂは、本発明の第２の実施形態にかかる検出装置の、角度の平均化処理を説明するための図である。
【図７Ａ】図７Ａは、本発明の第３の実施形態にかかる検出装置の、角度の平均化処理について示すフローチャートである。
【図７Ｂ】図７Ｂは、本発明の第３の実施形態にかかる検出装置の、角度の平均化処理を説明するための図である。
【図８】図８は、本発明の第３の実施形態による角度の平均化処理の、具体例を示した表である。
【発明を実施するための形態】
【００１２】
本発明の一実施形態にかかる検出装置は、接触または近接した物体の二次元像を認識可能なセンサ部と、前記センサ部に認識された二次元像から、前記物体の方向を表す方向データを出力する方向演算部と、前記方向演算部が出力する方向データを連続的にサンプリングして記憶する記憶部と、前記記憶部に記憶された方向データに基づいて平均化処理を行う平均化処理部とを備える（検出装置の第１の構成）。
【００１３】
上記の構成によれば、記憶部は、方向データを、連続的にサンプリングして記憶する。そして、平均化処理部により、記憶部に記憶された方向データに基づいて平均化処理が行われる。これにより、不正確な方向データや、方向データの揺らぎの影響が緩和され、安定した方向データが得られる。
【００１４】
なお、この「平均化処理」とは、各データの総和をデータ点数で割った平均（相加平均）を求める処理のみを指すのではなく、各データに重みを付ける加重平均や、相乗平均、調和平均等を求める処理を含む。
【００１５】
前記検出装置の第１の構成において、前記記憶部は、前記方向演算部が出力する方向データを、θ１−θ０＝３６０の関係を満たすθ０以上θ１未満の値をとる角度データとして記憶し、前記平均化処理部は、Δθ０およびΔθ１をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ０超Δθ１未満ではない場合には、Δθ０以下の角度データに３６０を加える処理と、平均を求める処理と、求められた平均がθ１以上のときにθ１を引く処理とを含む処理を行う構成とすることができる（検出装置の第２の構成）。
【００１６】
上記の構成によれば、記憶部は、方向データを、θ１−θ０＝３６０の関係を満たすθ０以上θ１未満の値をとる角度データとして記憶する。これにより、記憶部は、方向データを、一義的に定義された角度データとして記憶する。さらに、平均化処理部は、平均化処理の対象となる角度データの全てが、Δθ０超Δθ１未満ではない場合には、Δθ０以下の角度データに３６０°を加えてから、平均を求める。これにより、角度の値が循環する問題を回避する。そして、平均化処理部は、求められた平均がθ１以上のときにθ１を引く。これにより、角度を一義的に定義された範囲に修正する。
【００１７】
なお、ここでは記憶部に記憶された角度を度数法で表しているが、本発明は角度の表記方法によらず適用できる。例えば角度を弧度法で表すときは、上記の３６０を２πに置き換えれば良い。
【００１８】
前記検出装置の第１の構成において、前記記憶部は、前記方向演算部が出力する方向データを角度データとして記憶し、前記平均化処理部は、前記記憶部に記憶された角度データを、円周上の座標に変換する処理と、前記変換された座標に基づいて平均を求める処理と、前記平均された座標を角度データに変換する処理とを含む処理を行う構成とすることができる（検出装置の第３の構成）。
【００１９】
上記の構成によっても、角度の平均化を行うことができる。
【００２０】
前記検出装置の第１〜第３のいずれかの構成において、前記平均化処理部が算出した平均化された方向データの変化に基づいて、回転動作を検出する回転検出部をさらに備える構成としても良い（検出装置の第４の構成）。
【００２１】
上記の構成によれば、回転検出部は、方向データの変化に基づいて、回転動作を検出する。従来、タッチパネル上で２本の指を回転させることで、回転動作を入力する入力方法が知られている。本発明の検出装置の第４の構成によれば、例えば、タッチパネル上の指の向きを判定することにより、１本の指で回転動作を入力する入力方法が実現できる。
【００２２】
また、回転検出部は、平均化処理部が算出した平均化された方向データの変化に基づいて、回転動作を検出する。これにより、不正確な方向データや、方向データの揺らぎによりる誤検出を抑制できる。
【００２３】
本発明の一実施形態にかかる検出方法は、二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、前記記憶処理により記憶されたデータに基づいて行う平均化処理とを含む（検出方法の第１の構成）。
【００２４】
前記検出方法の第１の構成において、前記記憶処理は、前記方向演算処理が算出した方向データを、θ１−θ０＝３６０の関係を満たすθ０以上θ１未満の値をとる角度データとして記憶し、前記平均化処理は、Δθ０およびΔθ１をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ０超Δθ１未満でない場合には、Δθ０以下の角度データに３６０を加える処理と、平均を求める処理と、求められた平均がθ１以上のときにθ１を引く処理とを含む構成とすることができる（検出方法の第２の構成）。
【００２５】
前記検出方法の第１の構成において、前記記憶処理は、前記方向演算処理が算出した方向データを、角度データとして記憶し、前記平均化処理は、前記記憶処理により記憶された方向データを、円周上の座標に変換する処理と、前記変換された座標に基づいて平均を求める処理と、前記平均された座標を角度データに変換する処理とを含む構成とすることができる（検出方法の第３の構成）。
【００２６】
前記検出方法の第１〜第３のいずれかの構成において、前記平均化処理により算出された平均化された方向データの変化に基づいて、回転動作を検出する回転検出処理をさらに含む構成としても良い（検出方法の第４の構成）。
【００２７】
本発明の一実施形態にかかるコンピュータプログラムは、二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、前記記憶処理により記憶されたデータに基づいて行う平均化処理とをコンピュータに実行させる（コンピュータプログラムの第１の構成）。
【００２８】
前記コンピュータプログラムの第１の構成において、前記記憶処理は、前記方向演算処理が算出した方向データを、θ１−θ０＝３６０の関係を満たすθ０以上θ１未満の値をとる角度データとして記憶し、前記平均化処理は、Δθ０およびΔθ１をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ０超Δθ１未満でない場合には、Δθ０以下の角度データに３６０を加える処理と、平均を求める処理と、求められた平均がθ１以上のときにθ１を引く処理とを含む構成とすることができる（コンピュータプログラムの第２の構成）。
【００２９】
前記コンピュータプログラムの第１の構成において、前記記憶処理は、前記方向演算処理が算出した方向データを、角度データとして記憶し、前記平均化処理は、前記記憶処理により記憶された方向データを、円周上の座標に変換する処理と、前記変換された座標に基づいて平均を求める処理と、前記平均された座標を角度データに変換する処理とを含む構成とすることができる（コンピュータプログラムの第３の構成）。
【００３０】
前記コンピュータプログラムの第１〜第３のいずれかの構成において、前記平均化処理により算出された平均化された方向データの変化に基づいて、回転動作を検出する回転検出処理をさらにコンピュータに実行させる構成とすることができる（コンピュータプログラムの第４の構成）。
【００３１】
［実施の形態］
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【００３２】
［第１の実施形態］
［全体の構成］
図１は、本発明の一実施形態にかかる検出装置１の構成を模式的に示すブロック図である。検出装置１は、センサパネル１００と、制御部２００とを備えている。
【００３３】
センサパネル１００は、センサ部１０１と、表示装置１０２と、駆動回路１０３とを備えている。なお、表示装置１０２は必須の構成要素ではない。すなわち、センサパネル１００は、センサ部１０１と駆動回路１０３とを備えている構成であっても良い。
【００３４】
センサ部１０１は、例えば、タッチパネル、トラックパッド、またはデジタイザ等である。センサ部１０１の方式は、特に限定されない。センサ部１０１がタッチパネルの場合には、静電容量式、抵抗膜式、または光学式等を採用できる。一方、センサ部１０１は、センサ部１０１に接触または近接した物体を、二次元像として認識できる必要がある。そのため、静電容量式のタッチパネルであれば投影型が好ましく、抵抗膜式のタッチパネルであればマトリクス抵抗膜を備えたものが好ましい。また、センサ部１０１の分解能は高いほど好ましい。
【００３５】
表示装置１０２は、例えば液晶表示装置である。表示装置１０２が、センサ部１０１を兼ねる構成としても良い。例えば、表示装置１０２として、表示装置１０２の画素内に、フォトダイオード等が組み込まれたタッチパネル内蔵型表示装置を採用しても良い。
【００３６】
駆動回路１０３は、センサ部１０１および表示装置１０２と、ＦＰＣ（Ｆｌｅｘｉｂｌｅ  Ｐｒｉｎｔｅｄ  Ｃｉｒｃｕｉｔ：フレキシブルプリント基板）等を介して接続されている。駆動回路１０３は、センサ部１０１および表示装置１０２を駆動する。
【００３７】
制御部２００は、センサパネル１００から信号を入力する。また、必要に応じて信号の一部をセンサパネル１００にフィードバックする。制御部２００は、入力されたセンサパネル１００からの信号に含まれる二次元像のデータを解析し、物体がセンサ部１０１に接触または近接した位置、および物体の方向データを算出する。そして、算出した結果を外部に出力する。制御部２００は、駆動回路１０３上にモジュールとして実装されていても良いし、センサパネル１００とは別体の機器に実装されていても良い。また、制御部２００の全てがハードウェアとして実装されていなくても良い。すなわち、制御部２００の一部は、コンピュータプログラムをプロセッサが実行することによって実現される仮想的な機能ブロックであっても良い。
【００３８】
制御部２００は、方向演算部２０１と、記憶部２０２と、平均化処理部２０３とを備える。
【００３９】
方向演算部２０１は、センサパネル１００からの二次元像の信号を連続的にサンプリングする。そして、方向演算部２０１は、サンプリングした二次元像の信号を解析してセンサ部１０１に接触または近接した物体の方向を決定する。
【００４０】
方向演算部２０１は、まずセンサパネル１００から入力した二次元像の信号を２値化する。２値化されたデータに基づいて、センサ部１０１上での物体の座標と、物体の形状とを算出する。
【００４１】
その後、ノイズキャンセル処理を行う。具体的には、あらかじめ定めた閾値以下の信号を除く処理や、一定範囲内の近接点を一つにまとめる処理等を行う。そして、ノイズキャンセルされた形状に基づいて、物体の方向を決定する。
【００４２】
方向を決定する方法は任意であり、特に限定されない。方向を決定する方法の一例を、図２を用いて説明する。この例ではまず、センサ部１０１に近接した指の形状ｆの重心Ｐを求める。そして、形状ｆの輪郭上で、重心Ｐから最も距離の離れた点Ｓを求める。ＰとＳを結ぶベクトルを、指の方向とする。
【００４３】
方向演算部２０１の算出結果は、記憶部２０２に出力される。記憶部２０２は、方向演算部２０１が出力する方向データを、連続的にサンプリングし、記憶する。
【００４４】
平均化処理部２０３は、記憶部２０２に格納された方向データに基づいて、方向データのブレを低減するための平均化処理を行う。具体的には例えば、記憶部２０２に格納された、直近および直近から複数回の方向データを用いて、平均を求める。
【００４５】
なお、この「平均化処理」とは、各データの総和をデータ点数で割った平均（相加平均）を求める処理のみを指すのではなく、各データに重みを付ける加重平均や、相乗平均、調和平均等を求める処理を含む。また、中央値や最頻値を求める処理を行っても良い。あるいは、中央値や最頻値から大きく外れた値を除去した後で平均を求める処理を行っても良い。
【００４６】
平均化処理部２０３により平均化処理された方向データが、外部に出力される。また、平均化処理部２０３の出力は、必要に応じて、記憶部２０２にも出力される。
【００４７】
制御部２００は、回転検出部２０４をさらに備えていても良い。回転検出部２０４は、平均化処理部２０３から出力される方向データおよび記憶部２０２に格納された方向データに基づいて、方向データの変化を回転動作として検出する。そして、回転角度、角速度および加速度等のデータを外部に出力する。
【００４８】
以上、本発明の一実施形態にかかる検出装置１の全体構成について説明した。本実施形態によれば、記憶部に連続的にサンプリングされ記憶された値に基づいて平均化処理が行われる。この平均化処理により、センサ部１０１の感度が不十分な場合であっても、物体の方向を安定して求めることができる。
【００４９】
［角度の平均化処理］
以下では、記憶部２０２に格納されている方向データが、０°≦θ＜３６０°で表された角度データである場合を説明する。なお、角度の定義方法は任意である。例えば、−１８０°≦θ＜１８０°で表される角度θが出力・格納されていても良い。あるいは、度数法の代わりに弧度法を用いて表された角度θが出力・格納されていても良い。
【００５０】
角度は値が循環する（３６０°で一周する）。このため、そのままでは平均をとることができない。例えば、１°と３５９°の平均値は１８０°である。一方、３５９°を‐１°と表現すれば、平均値は０°となる。
【００５１】
以下では、角度の平均化処理の一例を具体的に説明する。
【００５２】
図３Ａは、記憶部２０２に格納された直近および直近から複数回のデータを用いて平均（移動平均）を求める場合のフローチャートである。平均をとるデータの個数は任意である。
【００５３】
まず、ステップｓ１１で、対象となる角度データの全てが、循環の起点となる０°から、一定の範囲内にあるかを調べる。具体的には角度データの全てが０°±９０°の領域、すなわち、０°≦θ≦９０°または２７０°≦θ≦３６０°の範囲内にあるかを調べる（図３Ｂを参照）。換言すれば、対象となる角度データの全てが、９０°超２７０°未満の範囲にないことを調べる。そして、この条件を満たす場合には、ステップｓ１２以降の特別な処理を行う。一方、この条件を満たさない場合には、ステップｓ１５に進み、通常の移動平均を求める。
【００５４】
上記の条件を満たす場合には、ステップｓ１２において、９０°以下の角度データに３６０°を加える。この操作により、０°≦θ≦９０°および２７０°≦θ≦３６０°に存在していたデータが、２７０°≦θ≦４５０°の連続した範囲に存在するようになる。この操作をしてから、全ての角度について和を求める。
【００５５】
そして、ステップ１３で、角度の和をデータ数で割って平均を求める。ステップ１４で、平均値が３６０°以上であれば３６０°を引き、値が０°≦θ＜３６０°の範囲になるようにする。
【００５６】
図４は、通常の平均と、本実施形態による角度の平均化処理とを、具体例で比較した表である。「角度（生値）」の欄には、方向演算部２０１が出力する角度データまたは記憶部２０２に格納されている角度データを示す。「通常の移動平均（３点）」の欄には、直近３点の角度データの平均値を示す。「角度用移動平均（３点）」の欄には、直近３点の角度データに基づいて、本実施形態による角度の平均化処理を行った値を示す。
【００５７】
例えば、図４の表のＮｏ．８，９，１０の角度を単純に平均すると（０＋３１５＋３３７．５）／３＝２１７．５という角度になる。一方、本実施形態による角度の平均化処理を行うと、（（０＋３６０）＋３１５＋３３７．５）／３＝３３７．５という角度になる。図５から明らかなように、２１７．５よりも、３３７．５の方が、この３点の角度（０，３１５，３３７．５）をより良く代表する値となっている。
【００５８】
本実施形態によれば、角度の平均化処理を行うことができる。
【００５９】
［第２の実施形態］
本発明の第２の実施形態は、第１の実施形態と比べて、角度の平均化処理が異なる。
【００６０】
図６Ａは、記憶部２０２に格納された直近および直近から複数回の角度データを用いて、移動平均を求める場合のフローチャートである。移動平均をとる角度データの個数は任意である。
【００６１】
まず、ステップｓ２１で、対象となる角度データの全てが、循環の起点となる０°から、一定の範囲内にあるかを調べる。本実施形態では、具体的には、対象となる角度データの全てが、０°±１３５°の領域、すなわち、０°≦θ≦１３５°または２２５°≦θ≦３６０°の範囲内にあるかを調べる（図６Ｂを参照）。換言すれば、対象となる角度データの全てが、１３５°超２２５°未満の範囲にないことを調べる。そして、この条件を満たす場合には、ステップｓ２２以降の特別な処理を行う。一方、この条件を満たさない場合には、ステップｓ２５に進み、通常の移動平均を求める。
【００６２】
上記の条件を満たす場合には、ステップｓ２２において、１３５°以下の角度データに３６０°を加える。この操作により、０°≦θ≦１３５°および２２５°≦θ≦３６０°に存在していた角度データが、２２５°≦θ≦４９５°の連続した範囲に存在するようになる。この操作をしてから、全ての角度について和を求める。
【００６３】
そして、ステップｓ２３で、角度の和をデータ数で割って平均を求める。ステップｓ２４で、平均値が３６０°以上であれば３６０°を引き、値が０°≦θ＜３６０°の範囲になるようにする。
【００６４】
本実施形態によっても、角度の平均化処理を行うことができる。また、本実施形態によれば、第１の実施形態と比較して、角度の揺らぎがより大きい場合でも平均化処理を行うことができる。
【００６５】
上記の第１または第２の実施形態では、平均化処理の対象となるデータが全て、０±９０°または０±１３５°の領域にあるかを判定して分岐する例を説明した。平均化処理の対象となるデータの全てが、どのような範囲にある場合に特別な処理を行うかは、任意である。また、この範囲は、０°を中心に対称である必要もない。
【００６６】
［第３の実施形態］
本発明の第３の実施形態は、第１の実施形態と比べて、角度の平均化処理が異なる。
【００６７】
図７Ａは、記憶部２０２に格納された直近および直近から複数回の角度データを用いて、移動平均を求める場合のフローチャートである。移動平均をとるデータの個数は任意である。
【００６８】
まず、ステップｓ３１で、角度を単位円周上の座標（ｘ，ｙ）に変換する。次に、ステップｓ３２で、変換された全ての座標（ｘ，ｙ）について、ｘ座標およびｙ座標のそれぞれの和を求める。ｘ座標の和およびｙ座標の和をそれぞれデータ数で割り、平均を求める（図７Ｂを参照）。そして、ステップｓ３３で、平均した座標を再び角度に変換する。
【００６９】
図８は、本実施形態による角度の平均化処理の、具体例を示した表である。「角度（生値）」の欄には、記憶部２０２に格納されている角度データを示す。なお、「角度（生値）」の欄の数値は、図４のものと同じである。
【００７０】
「ｙ座標」の欄には、角度データを単位円周上のｙ座標に変換した値を示す。「ｘ座標」の欄には、角度データを単位円周上のｘ座標に変換した値を示す。「移動平均ｙ座標（３点）」の欄には、直近３点のｙ座標を平均した値を示す。「移動平均ｘ座標（３点）」の欄には、直近３点のｘ座標を平均した値を示す。「移動平均座標から生成した角度」の欄には、移動平均ｙ座標および移動平均ｘ座標から、再変換した角度を示す。
【００７１】
例えば、図８の表のＮｏ．８，９，１０の角度データを単純に平均すると（０＋３１５＋３３７．５）／３＝２１７．５という角度になる。本実施形態による角度の平均化処理を行う場合、まず、Ｎｏ．８の角度データ０°は、（ｘ，ｙ）＝（ｃｏｓ（０），ｓｉｎ（０））＝（１，０）という座標に変換される。同様に、Ｎｏ．９の角度データ３１５°は、（ｘ，ｙ）＝（０．７０７，−０．７０７）という座標に変換される。Ｎｏ．１０の角度データ３３７．５°は、（ｘ，ｙ）＝（０．９２４，−０．３８３）という座標に変換される。次に、これらの平均のｘ座標（１＋０．７０７＋０．９２４）／３＝０．８７７および平均のｙ座標（０＋（−０．７０７）＋（−０．３８３））／３＝−０．３６３が計算される。この平均された座標を角度に再変換すると、３３７．５という角度になる。図５から明らかなように、２１７．５よりも、３３７．５の方が、この３点の角度（０，３１５，３３７．５）をより良く代表する値となっている。
【００７２】
本実施形態によっても、角度の平均化処理を行うことができる。
【００７３】
［その他の実施形態］
以上、本発明についての実施形態を説明したが、本発明は上述の各実施形態のみに限定されず、発明の範囲内で種々の変更が可能である。また、上述した各実施形態は、適宜組み合わせて実施が可能である。
【産業上の利用可能性】
【００７４】
本発明は、センサに接触または近接した指等の方向を検出する検出装置、検出方法および検出プログラムとして産業上の利用が可能である。
【符号の説明】
【００７５】
１  検出装置
１００  センサパネル
１０１  センサ部
１０２  表示装置
１０３  駆動回路
２００  制御部
２０１  方向演算部
２０２  記憶部
２０３  平均化処理部
２０４  回転検出部
【図１】
2014211661.tif 000003
【図２】
2014211661.tif 000004
【図３Ａ】
2014211661.tif 000005
【図３Ｂ】
2014211661.tif 000006
【図４】
2014211661.tif 000007
【図５】
2014211661.tif 000008
【図６Ａ】
2014211661.tif 000009
【図６Ｂ】
2014211661.tif 000010
【図７Ａ】
2014211661.tif 000011
【図７Ｂ】
2014211661.tif 000012
【図８】
2014211661.tif 000013