"接触または近接した物体の二次元像を認識可能なセンサ部と、前記センサ部に認識された二次元像から、前記物体の方向を表す方向データを出力する方向演算部と、前記方向演算部が出力する方向データを連続的にサンプリングして記憶する記憶部と、前記記憶部に記憶された方向データに基づいて平均化処理を行う平均化処理部とを備える検出装置。前記記憶部は、前記方向演算部が出力する方向データを、θ1-θ0=360の関係を満たすθ0以上θ1未満の値をとる角度データとして記憶し、前記平均化処理部は、Δθ0およびΔθ1をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ0超Δθ1未満でない場合には、Δθ0以下の角度データに360を加える処理と、平均を求める処理と、求められた平均がθ1以上のときにθ1を引く処理とを含む処理を行う、請求項1に記載の検出装置。前記記憶部は、前記方向演算部が出力する方向データを角度データとして記憶し、前記平均化処理部は、前記記憶部に記憶された角度データを、円周上の座標に変換する処理と、前記変換された座標に基づいて平均を求める処理と、前記平均された座標を角度データに変換する処理とを含む処理を行う、請求項1に記載の検出装置。前記平均化処理部により算出された平均化された方向データの変化に基づいて、回転動作を検出する回転検出部をさらに備える、請求項1~3のいずれか一項に記載の検出装置。二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、前記記憶処理により記憶されたデータに基づいて行う平均化処理とを含む検出方法。前記記憶処理は、前記方向演算処理が算出した方向データを、θ1-θ0=360の関係を満たすθ0以上θ1未満の値をとる角度データとして記憶し、前記平均化処理は、Δθ0およびΔθ1をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ0超Δθ1未満でない場合には、Δθ0以下の角度データに360を加える処理と、平均を求める処理と、求められた平均がθ1以上のときにθ1を引く処理とを含む、請求項5に記載の検出方法。前記記憶処理は、前記方向演算処理が算出した方向データを、角度データとして記憶し、前記平均化処理は、前記記憶処理により記憶された方向データを、円周上の座標に変換する処理と、前記変換された座標に基づいて平均を求める処理と、前記平均された座標を角度データに変換する処理とを含む、請求項5に記載の検出方法。前記平均化処理により算出された平均化された方向データの変化に基づいて、回転動作を検出する回転検出処理をさらに含む、請求項5~7のいずれか一項に記載の検出方法。二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、前記記憶処理により記憶されたデータに基づいて行う平均化処理とをコンピュータに実行させるコンピュータプログラム。前記記憶処理は、前記方向演算処理が算出した方向データを、θ1-θ0=360の関係を満たすθ0以上θ1未満の値をとる角度データとして記憶し、前記平均化処理は、Δθ0およびΔθ1をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ0超Δθ1未満でない場合には、Δθ0以下の角度データに360を加える処理と、平均を求める処理と、求められた平均がθ1以上のときにθ1を引く処理とを含む、請求項9に記載のコンピュータプログラム。前記記憶処理は、前記方向演算処理が算出した方向データを、角度データとして記憶し、前記平均化処理は、前記記憶処理により記憶された方向データを、円周上の座標に変換する処理と、前記変換された座標に基づいて平均を求める処理と、前記平均された座標を角度データに変換する処理とを含む、請求項9に記載のコンピュータプログラム。前記平均化処理により算出された平均化された方向データの変化に基づいて、回転動作を検出する回転検出処理をさらにコンピュータに実行させる、請求項9~11のいずれか一項に記載のコンピュータプログラム。しかしながら、特にセンサタッチパネルの感度が低い場合、入力されたデータ指の形状によっては、正確な認識ができないときがある。このようなとき、判定された方向が不正確になったり、揺らいだりする。本発明の目的は、センサの感度が十分でない場合でも、センサに接触または近接した物体例えば、指、ペン等の入力装置、観察対象の物品等の二次元像から、物体の方向を安定して求めることができる、検出装置、検出方法および検出プログラムを得ることである。以下に開示する検出装置は、接触または近接した物体の二次元像を認識可能なセンサ部と、前記センサ部に認識された二次元像から、前記物体の方向を表す方向データを出力する方向演算部と、前記方向演算部が出力する方向データを連続的にサンプリングして記憶する記憶部と、前記記憶部に記憶された方向データに基づいて平均化処理を行う平均化処理部とを備える。また、以下に開示する検出方法は、二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、前記記憶処理により記憶されたデータに基づいて行う平均化処理とを含む。また、以下に開示するコンピュータプログラムは、二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、前記記憶処理により記憶されたデータに基づいて行う平均化処理とをコンピュータに実行させる。センサの感度が十分でない場合でも、センサに接触または近接した物体例えば、指、ペン等の入力装置、観察対象の物品等の二次元像から、物体の方向を安定して求めることができる、検出装置、検出方法および検出プログラムを得ることができる。本発明の一実施形態にかかる検出装置は、接触または近接した物体の二次元像を認識可能なセンサ部と、前記センサ部に認識された二次元像から、前記物体の方向を表す方向データを出力する方向演算部と、前記方向演算部が出力する方向データを連続的にサンプリングして記憶する記憶部と、前記記憶部に記憶された方向データに基づいて平均化処理を行う平均化処理部とを備える検出装置の第1の構成。上記の構成によれば、記憶部は、方向データを、連続的にサンプリングして記憶する。そして、平均化処理部により、記憶部に記憶された方向データに基づいて平均化処理が行われる。これにより、不正確な方向データや、方向データの揺らぎの影響が緩和され、安定した方向データが得られる。なお、この平均化処理とは、各データの総和をデータ点数で割った平均相加平均を求める処理のみを指すのではなく、各データに重みを付ける加重平均や、相乗平均、調和平均等を求める処理を含む。前記検出装置の第1の構成において、前記記憶部は、前記方向演算部が出力する方向データを、θ1-θ0=360の関係を満たすθ0以上θ1未満の値をとる角度データとして記憶し、前記平均化処理部は、Δθ0およびΔθ1をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ0超Δθ1未満ではない場合には、Δθ0以下の角度データに360を加える処理と、平均を求める処理と、求められた平均がθ1以上のときにθ1を引く処理とを含む処理を行う構成とすることができる検出装置の第2の構成。上記の構成によれば、記憶部は、方向データを、θ1-θ0=360の関係を満たすθ0以上θ1未満の値をとる角度データとして記憶する。これにより、記憶部は、方向データを、一義的に定義された角度データとして記憶する。さらに、平均化処理部は、平均化処理の対象となる角度データの全てが、Δθ0超Δθ1未満ではない場合には、Δθ0以下の角度データに360°を加えてから、平均を求める。これにより、角度の値が循環する問題を回避する。そして、平均化処理部は、求められた平均がθ1以上のときにθ1を引く。これにより、角度を一義的に定義された範囲に修正する。なお、ここでは記憶部に記憶された角度を度数法で表しているが、本発明は角度の表記方法によらず適用できる。例えば角度を弧度法で表すときは、上記の360を2πに置き換えれば良い。前記検出装置の第1の構成において、前記記憶部は、前記方向演算部が出力する方向データを角度データとして記憶し、前記平均化処理部は、前記記憶部に記憶された角度データを、円周上の座標に変換する処理と、前記変換された座標に基づいて平均を求める処理と、前記平均された座標を角度データに変換する処理とを含む処理を行う構成とすることができる検出装置の第3の構成。上記の構成によっても、角度の平均化を行うことができる。前記検出装置の第1~第3のいずれかの構成において、前記平均化処理部が算出した平均化された方向データの変化に基づいて、回転動作を検出する回転検出部をさらに備える構成としても良い検出装置の第4の構成。上記の構成によれば、回転検出部は、方向データの変化に基づいて、回転動作を検出する。従来、タッチパネル上で2本の指を回転させることで、回転動作を入力する入力方法が知られている。本発明の検出装置の第4の構成によれば、例えば、タッチパネル上の指の向きを判定することにより、1本の指で回転動作を入力する入力方法が実現できる。また、回転検出部は、平均化処理部が算出した平均化された方向データの変化に基づいて、回転動作を検出する。これにより、不正確な方向データや、方向データの揺らぎによりる誤検出を抑制できる。本発明の一実施形態にかかる検出方法は、二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、前記記憶処理により記憶されたデータに基づいて行う平均化処理とを含む検出方法の第1の構成。前記検出方法の第1の構成において、前記記憶処理は、前記方向演算処理が算出した方向データを、θ1-θ0=360の関係を満たすθ0以上θ1未満の値をとる角度データとして記憶し、前記平均化処理は、Δθ0およびΔθ1をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ0超Δθ1未満でない場合には、Δθ0以下の角度データに360を加える処理と、平均を求める処理と、求められた平均がθ1以上のときにθ1を引く処理とを含む構成とすることができる検出方法の第2の構成。前記検出方法の第1の構成において、前記記憶処理は、前記方向演算処理が算出した方向データを、角度データとして記憶し、前記平均化処理は、前記記憶処理により記憶された方向データを、円周上の座標に変換する処理と、前記変換された座標に基づいて平均を求める処理と、前記平均された座標を角度データに変換する処理とを含む構成とすることができる検出方法の第3の構成。前記検出方法の第1~第3のいずれかの構成において、前記平均化処理により算出された平均化された方向データの変化に基づいて、回転動作を検出する回転検出処理をさらに含む構成としても良い検出方法の第4の構成。本発明の一実施形態にかかるコンピュータプログラムは、二次元像のデータから、前記データ内の物体の方向を表す方向データを出力する方向演算処理と、前記方向演算処理の結果を連続的にサンプリングして記憶する記憶処理と、前記記憶処理により記憶されたデータに基づいて行う平均化処理とをコンピュータに実行させるコンピュータプログラムの第1の構成。前記コンピュータプログラムの第1の構成において、前記記憶処理は、前記方向演算処理が算出した方向データを、θ1-θ0=360の関係を満たすθ0以上θ1未満の値をとる角度データとして記憶し、前記平均化処理は、Δθ0およびΔθ1をあらかじめ定めた数として、平均化処理の対象となる前記角度データの全てが、Δθ0超Δθ1未満でない場合には、Δθ0以下の角度データに360を加える処理と、平均を求める処理と、求められた平均がθ1以上のときにθ1を引く処理とを含む構成とすることができるコンピュータプログラムの第2の構成。前記コンピュータプログラムの第1の構成において、前記記憶処理は、前記方向演算処理が算出した方向データを、角度データとして記憶し、前記平均化処理は、前記記憶処理により記憶された方向データを、円周上の座標に変換する処理と、前記変換された座標に基づいて平均を求める処理と、前記平均された座標を角度データに変換する処理とを含む構成とすることができるコンピュータプログラムの第3の構成。前記コンピュータプログラムの第1~第3のいずれかの構成において、前記平均化処理により算出された平均化された方向データの変化に基づいて、回転動作を検出する回転検出処理をさらにコンピュータに実行させる構成とすることができるコンピュータプログラムの第4の構成。[実施の形態]以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一または相当部分には同一符号を付してその説明は繰り返さない。[第1の実施形態][全体の構成]図1は、本発明の一実施形態にかかる検出装置1の構成を模式的に示すブロック図である。検出装置1は、センサパネル100と、制御部200とを備えている。センサパネル100は、センサ部101と、表示装置102と、駆動回路103とを備えている。なお、表示装置102は必須の構成要素ではない。すなわち、センサパネル100は、センサ部101と駆動回路103とを備えている構成であっても良い。センサ部101は、例えば、タッチパネル、トラックパッド、またはデジタイザ等である。センサ部101の方式は、特に限定されない。センサ部101がタッチパネルの場合には、静電容量式、抵抗膜式、または光学式等を採用できる。一方、センサ部101は、センサ部101に接触または近接した物体を、二次元像として認識できる必要がある。そのため、静電容量式のタッチパネルであれば投影型が好ましく、抵抗膜式のタッチパネルであればマトリクス抵抗膜を備えたものが好ましい。また、センサ部101の分解能は高いほど好ましい。表示装置102は、例えば液晶表示装置である。表示装置102が、センサ部101を兼ねる構成としても良い。例えば、表示装置102として、表示装置102の画素内に、フォトダイオード等が組み込まれたタッチパネル内蔵型表示装置を採用しても良い。駆動回路103は、センサ部101および表示装置102と、FPCFlexiblePrintedCircuit:フレキシブルプリント基板等を介して接続されている。駆動回路103は、センサ部101および表示装置102を駆動する。制御部200は、センサパネル100から信号を入力する。また、必要に応じて信号の一部をセンサパネル100にフィードバックする。制御部200は、入力されたセンサパネル100からの信号に含まれる二次元像のデータを解析し、物体がセンサ部101に接触または近接した位置、および物体の方向データを算出する。そして、算出した結果を外部に出力する。制御部200は、駆動回路103上にモジュールとして実装されていても良いし、センサパネル100とは別体の機器に実装されていても良い。また、制御部200の全てがハードウェアとして実装されていなくても良い。すなわち、制御部200の一部は、コンピュータプログラムをプロセッサが実行することによって実現される仮想的な機能ブロックであっても良い。制御部200は、方向演算部201と、記憶部202と、平均化処理部203とを備える。方向演算部201は、センサパネル100からの二次元像の信号を連続的にサンプリングする。そして、方向演算部201は、サンプリングした二次元像の信号を解析してセンサ部101に接触または近接した物体の方向を決定する。方向演算部201は、まずセンサパネル100から入力した二次元像の信号を2値化する。2値化されたデータに基づいて、センサ部101上での物体の座標と、物体の形状とを算出する。その後、ノイズキャンセル処理を行う。具体的には、あらかじめ定めた閾値以下の信号を除く処理や、一定範囲内の近接点を一つにまとめる処理等を行う。そして、ノイズキャンセルされた形状に基づいて、物体の方向を決定する。方向を決定する方法は任意であり、特に限定されない。方向を決定する方法の一例を、図2を用いて説明する。この例ではまず、センサ部101に近接した指の形状fの重心Pを求める。そして、形状fの輪郭上で、重心Pから最も距離の離れた点Sを求める。PとSを結ぶベクトルを、指の方向とする。方向演算部201の算出結果は、記憶部202に出力される。記憶部202は、方向演算部201が出力する方向データを、連続的にサンプリングし、記憶する。平均化処理部203は、記憶部202に格納された方向データに基づいて、方向データのブレを低減するための平均化処理を行う。具体的には例えば、記憶部202に格納された、直近および直近から複数回の方向データを用いて、平均を求める。なお、この平均化処理とは、各データの総和をデータ点数で割った平均相加平均を求める処理のみを指すのではなく、各データに重みを付ける加重平均や、相乗平均、調和平均等を求める処理を含む。また、中央値や最頻値を求める処理を行っても良い。あるいは、中央値や最頻値から大きく外れた値を除去した後で平均を求める処理を行っても良い。平均化処理部203により平均化処理された方向データが、外部に出力される。また、平均化処理部203の出力は、必要に応じて、記憶部202にも出力される。制御部200は、回転検出部204をさらに備えていても良い。回転検出部204は、平均化処理部203から出力される方向データおよび記憶部202に格納された方向データに基づいて、方向データの変化を回転動作として検出する。そして、回転角度、角速度および加速度等のデータを外部に出力する。以上、本発明の一実施形態にかかる検出装置1の全体構成について説明した。本実施形態によれば、記憶部に連続的にサンプリングされ記憶された値に基づいて平均化処理が行われる。この平均化処理により、センサ部101の感度が不十分な場合であっても、物体の方向を安定して求めることができる。[角度の平均化処理]以下では、記憶部202に格納されている方向データが、0°≦θ<360°で表された角度データである場合を説明する。なお、角度の定義方法は任意である。例えば、-180°≦θ<180°で表される角度θが出力格納されていても良い。あるいは、度数法の代わりに弧度法を用いて表された角度θが出力格納されていても良い。角度は値が循環する360°で一周する。このため、そのままでは平均をとることができない。例えば、1°と359°の平均値は180°である。一方、359°を‐1°と表現すれば、平均値は0°となる。以下では、角度の平均化処理の一例を具体的に説明する。図3Aは、記憶部202に格納された直近および直近から複数回のデータを用いて平均移動平均を求める場合のフローチャートである。平均をとるデータの個数は任意である。まず、ステップs11で、対象となる角度データの全てが、循環の起点となる0°から、一定の範囲内にあるかを調べる。具体的には角度データの全てが0°±90°の領域、すなわち、0°≦θ≦90°または270°≦θ≦360°の範囲内にあるかを調べる図3Bを参照。換言すれば、対象となる角度データの全てが、90°超270°未満の範囲にないことを調べる。そして、この条件を満たす場合には、ステップs12以降の特別な処理を行う。一方、この条件を満たさない場合には、ステップs15に進み、通常の移動平均を求める。上記の条件を満たす場合には、ステップs12において、90°以下の角度データに360°を加える。この操作により、0°≦θ≦90°および270°≦θ≦360°に存在していたデータが、270°≦θ≦450°の連続した範囲に存在するようになる。この操作をしてから、全ての角度について和を求める。そして、ステップ13で、角度の和をデータ数で割って平均を求める。ステップ14で、平均値が360°以上であれば360°を引き、値が0°≦θ<360°の範囲になるようにする。図4は、通常の平均と、本実施形態による角度の平均化処理とを、具体例で比較した表である。角度生値の欄には、方向演算部201が出力する角度データまたは記憶部202に格納されている角度データを示す。通常の移動平均3点の欄には、直近3点の角度データの平均値を示す。角度用移動平均3点の欄には、直近3点の角度データに基づいて、本実施形態による角度の平均化処理を行った値を示す。例えば、図4の表のNo.8,9,10の角度を単純に平均すると0315337.5/3=217.5という角度になる。一方、本実施形態による角度の平均化処理を行うと、0360315337.5/3=337.5という角度になる。図5から明らかなように、217.5よりも、337.5の方が、この3点の角度0,315,337.5をより良く代表する値となっている。本実施形態によれば、角度の平均化処理を行うことができる。[第2の実施形態]本発明の第2の実施形態は、第1の実施形態と比べて、角度の平均化処理が異なる。図6Aは、記憶部202に格納された直近および直近から複数回の角度データを用いて、移動平均を求める場合のフローチャートである。移動平均をとる角度データの個数は任意である。まず、ステップs21で、対象となる角度データの全てが、循環の起点となる0°から、一定の範囲内にあるかを調べる。本実施形態では、具体的には、対象となる角度データの全てが、0°±135°の領域、すなわち、0°≦θ≦135°または225°≦θ≦360°の範囲内にあるかを調べる図6Bを参照。換言すれば、対象となる角度データの全てが、135°超225°未満の範囲にないことを調べる。そして、この条件を満たす場合には、ステップs22以降の特別な処理を行う。一方、この条件を満たさない場合には、ステップs25に進み、通常の移動平均を求める。上記の条件を満たす場合には、ステップs22において、135°以下の角度データに360°を加える。この操作により、0°≦θ≦135°および225°≦θ≦360°に存在していた角度データが、225°≦θ≦495°の連続した範囲に存在するようになる。この操作をしてから、全ての角度について和を求める。そして、ステップs23で、角度の和をデータ数で割って平均を求める。ステップs24で、平均値が360°以上であれば360°を引き、値が0°≦θ<360°の範囲になるようにする。本実施形態によっても、角度の平均化処理を行うことができる。また、本実施形態によれば、第1の実施形態と比較して、角度の揺らぎがより大きい場合でも平均化処理を行うことができる。上記の第1または第2の実施形態では、平均化処理の対象となるデータが全て、0±90°または0±135°の領域にあるかを判定して分岐する例を説明した。平均化処理の対象となるデータの全てが、どのような範囲にある場合に特別な処理を行うかは、任意である。また、この範囲は、0°を中心に対称である必要もない。[第3の実施形態]本発明の第3の実施形態は、第1の実施形態と比べて、角度の平均化処理が異なる。図7Aは、記憶部202に格納された直近および直近から複数回の角度データを用いて、移動平均を求める場合のフローチャートである。移動平均をとるデータの個数は任意である。まず、ステップs31で、角度を単位円周上の座標x,yに変換する。次に、ステップs32で、変換された全ての座標x,yについて、x座標およびy座標のそれぞれの和を求める。x座標の和およびy座標の和をそれぞれデータ数で割り、平均を求める図7Bを参照。そして、ステップs33で、平均した座標を再び角度に変換する。図8は、本実施形態による角度の平均化処理の、具体例を示した表である。角度生値の欄には、記憶部202に格納されている角度データを示す。なお、角度生値の欄の数値は、図4のものと同じである。y座標の欄には、角度データを単位円周上のy座標に変換した値を示す。x座標の欄には、角度データを単位円周上のx座標に変換した値を示す。移動平均y座標3点の欄には、直近3点のy座標を平均した値を示す。移動平均x座標3点の欄には、直近3点のx座標を平均した値を示す。移動平均座標から生成した角度の欄には、移動平均y座標および移動平均x座標から、再変換した角度を示す。例えば、図8の表のNo.8,9,10の角度データを単純に平均すると0315337.5/3=217.5という角度になる。本実施形態による角度の平均化処理を行う場合、まず、No.8の角度データ0°は、x,y=cos0,sin0=1,0という座標に変換される。同様に、No.9の角度データ315°は、x,y=0.707,-0.707という座標に変換される。No.10の角度データ337.5°は、x,y=0.924,-0.383という座標に変換される。次に、これらの平均のx座標10.7070.924/3=0.877および平均のy座標0-0.707-0.383/3=-0.363が計算される。この平均された座標を角度に再変換すると、337.5という角度になる。図5から明らかなように、217.5よりも、337.5の方が、この3点の角度0,315,337.5をより良く代表する値となっている。本実施形態によっても、角度の平均化処理を行うことができる。[その他の実施形態]以上、本発明についての実施形態を説明したが、本発明は上述の各実施形態のみに限定されず、発明の範囲内で種々の変更が可能である。また、上述した各実施形態は、適宜組み合わせて実施が可能である。"