(57)【要約】【課題】利用者が意図しない指示入力が行われた場合や、利用者が意図した指示入力が検出されなかった場合でも、誤検出や検出漏れを低減し、ドラッグ操作や回転操作等の連続動作を正しく動作させる。【解決手段】座標処理装置１００は、利用者の指示入力の動作により移動する指示位置の座標が表わす座標点を時系列に連続するフレーム上に配置し、各フレーム間における座標点の対応付けを追跡する追跡部１１と、利用者の指示入力の状態としてあらかじめ定義された、指示入力の開始待機状態である第１の状態、指示入力により移動する指示位置の移動状態である第２の状態、及び、指示入力の終了待機状態である第３の状態、を含む複数の状態間における状態遷移を追跡部１１による追跡結果に基づいて判定し、その判定された状態遷移が行なわれるときに実行される利用者の指示入力の動作を決定する判定部１３とを備えている。【選択図】図１
2010049469.tif 000002
【特許請求の範囲】
【請求項１】
利用者の指示入力により移動する指示位置の座標が表わす座標点を時系列に連続するフレーム上に配置し、各フレーム間における座標点の対応付けを追跡する追跡手段と、
前記利用者の指示入力の状態としてあらかじめ定義された、前記指示入力の開始待機状態である第１の状態、前記指示入力により移動する指示位置の移動状態である第２の状態、及び、前記指示入力の終了待機状態である第３の状態、を含む複数の状態間における状態遷移を前記追跡手段による追跡結果に基づいて判定し、その判定された状態遷移が行なわれるときに実行される前記利用者の指示入力の動作を決定する判定手段と
を備えていることを特徴とする座標処理装置。
【請求項２】
前記追跡手段は、異なるフレームに配置された座標点間における距離があらかじめ定められた距離以下であるときに、当該異なるフレームの各々に配置された座標点同士を対応付けることを特徴とする請求項１に記載の座標処理装置。
【請求項３】
前記判定手段が決定すべき前記利用者の指示入力の動作は、前記指示入力の開始確定を表わす第１の動作、前記指示位置の移動継続を表わす第２の動作、及び、前記指示入力の終了確定を表わす第３の動作、を含むことを特徴とする請求項１または２に記載の座標処理装置。
【請求項４】
前記判定手段は、前記第１の状態から前記第２の状態に状態遷移すると判定した場合、前記第１の動作を決定することを特徴とする請求項３に記載の座標処理装置。
【請求項５】
前記判定手段は、前記追跡手段により座標点が配置されたフレームの数があらかじめ定められた第１のフレーム数以上となり、且つ、当該フレームのうち、互いに対応付けられた他の座標点を持つ座標点が配置されたフレームの数があらかじめ定められた第２のフレーム数以上となったときに、前記第１の状態から前記第２の状態に遷移すると判定することを特徴とする請求項１〜４のいずれか１項に記載の座標処理装置。
【請求項６】
前記判定手段は、前記第２の状態から前記第２の状態に状態遷移すると判定した場合、または、前記第３の状態から前記第２の状態に状態遷移すると判定した場合、前記第２の動作を決定することを特徴とする請求項３に記載の座標処理装置。
【請求項７】
前記判定手段は、前記第２の状態において、連続するフレームの各々に配置された座標点同士が対応付けられたときに、前記第２の状態から前記第２の状態に遷移すると判定することを特徴とする請求項１〜６のいずれか１項に記載の座標処理装置。
【請求項８】
前記判定手段は、前記第３の状態において、前記追跡手段により座標点が配置されたフレームのうち、互いに対応付けられた他の座標点を持たない座標点が配置されたフレームの数があらかじめ定められた第３のフレーム数以上となったときに、前記第３の動作を決定することを特徴とする請求項３に記載の座標処理装置。
【請求項９】
請求項１〜８のいずれか１項に記載の座標処理装置の上記各手段としてコンピュータを動作させるための座標処理プログラム。
【請求項１０】
請求項９に記載の座標処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
利用者の指示入力により移動する指示位置の座標が表わす座標点を時系列に連続するフレーム上に配置し、各フレーム間における座標点の対応付けを追跡する追跡工程と、
前記利用者の指示入力の状態としてあらかじめ定義された、前記指示入力の開始待機状態である第１の状態、前記指示入力により移動する指示位置の移動状態である第２の状態、及び、前記指示入力の終了待機状態である第３の状態、を含む複数の状態間における状態遷移を前記追跡工程による追跡結果に基づいて判定し、その判定された状態遷移が行なわれるときに実行される前記利用者の指示入力の動作を決定する判定工程と
を備えていることを特徴とする座標処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネル、タッチスクリーン、タブレット等における座標位置の検出処理に好適な座標処理装置及び方法、並びに、座標処理プログラム及びその座標処理プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年、複数点のタッチ入力が可能な表示パネル（例えば、タッチパネル、タッチスクリーン、タブレット）を備えた直感的な操作性を有する携帯機器が商品として開発されて来ており、今後もタッチ入力可能な表示パネルのニーズは拡大することが予想される。
【０００３】
複数点のタッチ入力が可能な表示パネルにおいては、時間的に連続する点の軌跡情報を得る際に、前のフレームでタッチされた複数の点と、現在のフレームでタッチされた複数の点とを対応付けることが必要となる。
【０００４】
例えば、特許文献１では、タッチパネルにおける操作において、時間的に連続する点の軌跡情報に基づいてドラッグ操作や回転操作、拡大／縮小操作などの解釈をする方法が開示されている。
【０００５】
具体的には、特許文献１には、現在の点が前回のどの点と対応するかを判断する際に、前回の指示位置から最も近い点をそれぞれの現在の位置と判断する技術、複数箇所の指示位置の中で最も面積が近くなる点をそれぞれの現在の位置と判断する技術などが開示されている。
【０００６】
すなわち、特許文献１には、複数の指示位置が同時に移動する軌跡の組み合わせにより表現された指示を解釈できる技術が開示されている。
【特許文献１】特開２００１−２９０５８５号公報（平成１３年１０月１９日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の方法では、タッチパネルを装備した装置のノイズ等による誤検出や検出漏れが発生した場合や、利用者が意図せずに触れてしまった為に誤検出をした場合、タッチパネルに触れる力が弱く検出漏れをした場合、利用者による本来のタッチ意図とは異なる点をタッチ点としてしまう問題がある。さらに、タッチの継続による追跡点をタッチ終了（リリース）後の再タッチとしてしまう問題もある。
【０００８】
このため、特許文献１に記載の方法では、ドラッグ操作や回転操作、拡大／縮小操作等の連続動作を正しく動作させることが困難であった。
【０００９】
上記問題点に鑑み、本発明の目的は、装置のノイズ等や、利用者が意図せずタッチパネルに触れてしまったことによってタッチ検出が行われた場合や、タッチパネルへの押圧が弱く検出漏れが発生した場合でも、意図しない誤検出や検出漏れを低減し、ドラッグ操作や回転操作、拡大操作等の連続動作を正しく動作させる座標処理装置及び方法、並びに、座標処理プログラム及びその座標処理プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明における座標処理装置は、利用者の指示入力により移動する指示位置の座標が表わす座標点を時系列に連続するフレーム上に配置し、各フレーム間における座標点の対応付けを追跡する追跡手段と、前記利用者の指示入力の状態としてあらかじめ定義された、前記指示入力の開始待機状態である第１の状態、前記指示入力により移動する指示位置の移動状態である第２の状態、及び、前記指示入力の終了待機状態である第３の状態、を含む複数の状態間における状態遷移を前記追跡手段による追跡結果に基づいて判定し、その判定された状態遷移が行なわれるときに実行される前記利用者の指示入力の動作を決定する判定手段とを備えていることを特徴とする。
【００１１】
上記の座標処理装置では、追跡手段は、利用者の指示入力の動作により移動する指示位置の座標が表わす座標点を時系列に連続するフレーム上に配置し、各フレーム間における座標点の対応関係を追跡する。利用者の指示入力の状態として、指示入力の開始待機状態である第１の状態、指示入力により移動する指示位置の移動状態である第２の状態、及び、指示入力の終了待機状態である第３の状態、を含む複数の状態があらかじめ定義されており、判定手段は、それら状態間における状態遷移を追跡手段による追跡結果に基づいて判定する。そして、判定手段は、その判定された状態遷移が行なわれるときに実行される利用者の指示入力の動作を決定する。
【００１２】
すなわち、追跡手段が各フレーム間における座標点の対応付けを追跡しているので、利用者の意図しない誤った指示入力が一時的に検出された場合でも、誤った指示入力は無かったものと扱うことができる。このため、判定手段は誤った指示入力の影響を受けることなく、利用者の指示入力の状態遷移判定することができ、利用者の指示入力の動作を正確に決定することができる。
【００１３】
また、逆に、利用者の意図した指示入力が一時的に検出されなかった場合でも、その指示入力はあったものとして扱うことができる。このため、検出されなかった指示入力の影響を受けることなく、利用者の指示入力の状態遷移判定することができ、利用者の指示入力の動作を正確に決定することができる。
【００１４】
前記追跡手段は、異なるフレームに配置された座標点間における距離があらかじめ定められた距離以下であるときに、当該異なるフレームの各々に配置された座標点同士を対応付けることが好ましい。
【００１５】
この場合、２つの座標点間の距離とあらかじめ定められた距離との大小関係の比較により、座標点同士を対応付けることができるので、座標点同士の対応付けを効率的に行うことができる。
【００１６】
前記判定手段が決定すべき前記利用者の指示入力の動作は、前記指示入力の開始確定を表わす第１の動作、前記指示位置の移動継続を表わす第２の動作、及び、前記指示入力の終了確定を表わす第３の動作、を含むことが好ましい。
【００１７】
この場合、利用者の指示入力の状態遷移に応じた適切な動作を決定することができる。
【００１８】
前記判定手段は、前記第１の状態から前記第２の状態に状態遷移すると判定した場合、前記第１の動作を決定することが好ましい。
【００１９】
この場合、利用者の指示入力の状態が第１の状態から前記第２の状態に遷移したときに適切な動作を決定することができる。
【００２０】
前記判定手段は、前記追跡手段により座標点が配置されたフレームの数があらかじめ定められた第１のフレーム数以上となり、且つ、当該フレームのうち、互いに対応付けられた他の座標点を持つ座標点が配置されたフレームの数があらかじめ定められた第２のフレーム数以上となったときに、前記第１の状態から前記第２の状態に遷移すると判定することが好ましい。
【００２１】
この場合、利用者の指示入力の状態が第１の状態から第２の状態に遷移する状態遷移をより正確に判定することができる。
【００２２】
前記判定手段は、前記第２の状態から前記第２の状態に状態遷移すると判定した場合、または、前記第３の状態から前記第２の状態に状態遷移すると判定した場合、前記第２の動作を決定することが好ましい。
【００２３】
この場合、利用者の指示入力の状態が、第２の状態から第２の状態に遷移したとき、または、第３の状態から第２の状態に遷移したときに適切な動作を決定することができる。
【００２４】
前記判定手段は、前記第２の状態において、連続するフレームの各々に配置された座標点同士が対応付けられたときに、前記第２の状態から前記第２の状態に遷移すると判定することが好ましい。
【００２５】
この場合、利用者の指示入力の状態が第２の状態から第２の状態に遷移する状態遷移をより正確に判定することができる。
【００２６】
前記判定手段は、前記第３の状態において、前記追跡手段により座標点が配置されたフレームのうち、互いに対応付けられた他の座標点を持たない座標点が配置されたフレームの数があらかじめ定められた第３のフレーム数以上となったときに、前記第３の動作を決定することが好ましい。
【００２７】
この場合、利用者の指示入力の状態が第３の状態における第３の動作の決定を適切に行うことができる。
【００２８】
本発明における座標処理方法は、利用者の指示入力により移動する指示位置の座標が表わす座標点を時系列に連続するフレーム上に配置し、各フレーム間における座標点の対応付けを追跡する追跡工程と、前記利用者の指示入力の状態としてあらかじめ定義された、前記指示入力の開始待機状態である第１の状態、前記指示入力により移動する指示位置の移動状態である第２の状態、及び、前記指示入力の終了待機状態である第３の状態、を含む複数の状態間における状態遷移を前記追跡工程による追跡結果に基づいて判定し、その判定された状態遷移が行なわれるときに実行される前記利用者の指示入力の動作を決定する判定工程とを備えていることを特徴とする。
【００２９】
上記の座標処理方法では、追跡工程において、利用者の指示入力の動作により移動する指示位置の座標が表わす座標点を時系列に連続するフレーム上に配置し、各フレーム間における座標点の対応関係を追跡する。利用者の指示入力の状態として、指示入力の開始待機状態である第１の状態、指示入力により移動する指示位置の移動状態である第２の状態、及び、指示入力の終了待機状態である第３の状態、を含む複数の状態があらかじめ定義されており、判定工程においては、それら状態間における状態遷移を追跡手段による追跡結果に基づいて判定する。そして、その判定された状態遷移が行なわれるときに実行される前記利用者の指示入力の動作を決定する。
【００３０】
すなわち、各フレーム間における座標点の対応付けを追跡しているので、利用者の意図しない誤った指示入力が一時的に検出された場合でも、誤った指示入力は無かったものと扱うことができる。このため、誤った指示入力の影響を受けることなく、利用者の指示入力の状態遷移判定することができ、利用者の指示入力の動作を正確に決定することができる。
【００３１】
また、逆に、利用者の意図した指示入力が一時的に検出されなかった場合でも、その指示入力は有ったものとして扱うことができる。このため、検出されなかった指示入力の影響を受けることなく、利用者の指示入力の状態遷移判定することができ、利用者の指示入力の動作を正確に決定することができる。
【００３２】
なお、前記情報記録再生装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記各手段として動作させることにより前記情報記録再生装置をコンピュータにて実現させる情報記録再生装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００３３】
本発明の座標処理装置は、以上のように、利用者の指示入力により移動する指示位置の座標が表わす座標点を時系列に連続するフレーム上に配置し、各フレーム間における座標点の対応付けを追跡する追跡手段と、前記利用者の指示入力の状態としてあらかじめ定義された、前記指示入力の開始待機状態である第１の状態、前記指示入力により移動する指示位置の移動状態である第２の状態、及び、前記指示入力の終了待機状態である第３の状態、を含む複数の状態間における状態遷移を前記追跡手段による追跡結果に基づいて判定し、その判定された状態遷移が行なわれるときに実行される前記利用者の指示入力の動作を決定する判定手段とを備えているものである。
【００３４】
それゆえ、装置のノイズ等や、利用者が意図せずタッチパネルに触れてしまったことによってタッチ検出が行われた場合や、タッチパネルへの押圧が弱く検出漏れが発生した場合でも、意図しない誤検出や検出漏れを低減し、ドラッグ操作や回転操作、拡大操作等の連続動作を正しく動作させる座標処理装置及び方法、並びに、座標処理プログラム及びその座標処理プログラムを記録したコンピュータ読み取り可能な記録媒体を提供するという効果を奏する。
【発明を実施するための最良の形態】
【００３５】
以下、図面を参照しつつ本発明の実施の形態について説明する。なお、以下の説明に用いる図面では、同一の部品に同一の符号を付してある。それらの名称及び機能も同一である。したがって、それらについての詳細な説明は繰り返さない。
【００３６】
（実施の形態１）
本発明の実施の形態１における座標処理装置は、例えば、利用者が指などによる位置入力が可能なタッチパネルに接続されており、タッチパネルから出力される信号に基づいて利用者の指示位置の座標を検出し、タッチパネル上における利用者の指示位置の移動によるドラッグ操作や回転操作、拡大／縮小操作などの連続動作を実現するものである。図１は、本発明の実施の形態１における座標処理装置の構成を示すブロック図である。
【００３７】
図１に示すように、本発明の実施の形態１における座標処理装置１００は、検出部１０と、追跡部（追跡手段）１１と、座標情報記憶部１２と、判定部（判定手段）１３と、生成部１４と、設定部１５と、第１閾値記憶部１６と、第２閾値記憶部１７と、を備える。
【００３８】
検出部１０は、利用者による位置入力が可能なタッチパネル５００に接続されている。タッチパネル５００から出力された信号が検出部１０に入力されると、検出部１０はタッチパネル５００に利用者による位置入力が有ったものと判断し、その出力信号に基づいてタッチパネル５００上における利用者による指示位置の座標を検出する。そして、検出部１０は、この利用者による指示位置の座標を追跡部１１に出力する。
【００３９】
検出部１０による座標検出は、一定の周期（例えば、３０Ｈｚ）で実行される。したがって、検出部１０は、その座標検出を行なうタイミングにおいて、タッチパネル５００の出力信号が入力されないときには、タッチパネル５００に利用者による位置入力が無かったものと判断する。この場合、検出部１０は、そのタイミングにおいては、利用者による指示位置の座標を出力することは無い。なお、タッチパネル５００は、抵抗膜方式、静電容量方式、超音波表面弾性波方式等の公知の方式を用いたタッチパネルから適宜選択して用いることができる。
【００４０】
追跡部１１は、検出部１０から利用者による指示位置の座標が入力されると、その入力された座標に基づいて、その入力時点におけるフレーム情報を生成する。追跡部１１は、検出部１０から複数の座標が入力されたときには、その入力時点における同一のフレーム上に複数の座標が配置されたフレーム情報を生成する。
【００４１】
図２は、追跡部１１が生成するフレーム情報を説明するための図である。図２に示すように、追跡部１１は、一定の周期で検出部１０から出力される座標を、各フレーム２１〜２４上に配置し、各フレーム２１〜２４のフレーム情報を生成する。追跡部１１は、それらのフレーム情報を後述する座標情報記憶部１２に出力する。
【００４２】
また、追跡部１１は、検出部１０から利用者による指示位置の座標が入力されたときには、その入力された座標及びその入力時点より過去のフレーム情報に基づいて追跡点情報を生成する。この追跡点情報は、各フレーム間において利用者による同一の指示入力に対応する点（以下、「追跡点」ともいう。）ごとに生成される。もちろん、異なるフレーム間において利用者による指示位置に移動があった場合には、その指示位置に対応する追跡点は各フレームにおいて異なる座標を持つことになる。この追跡点情報は追跡点ごとに生成される。
【００４３】
座標情報記憶部１２は、追跡部１１から出力されたフレーム情報１２１及び追跡点情報１２２を記憶する。座標情報記憶部１２は、ハードディスクドライブ（以下、「ＨＤＤ」という）などの磁気ディスク装置や半導体メモリ等の公知の記憶装置から適宜選択して用いることができる。
【００４４】
図３に、座標情報記憶部１２に記憶されている追跡点情報１２２を説明するための図である。図３に示すように、この追跡点情報１２２には、追跡点ごとに、現在の状態３１、追跡フレーム数３２、現在フレーム座標３３、過去フレーム座標３４、識別子３５及び予約イベント３６が含まれる。これらについては後述する。
【００４５】
判定部１３は、利用者の指示位置の座標が検出部１０から追跡部１１に入力されたときに、その座標を追跡部１１から取得する。そして、判定部１３は、座標情報記憶部１２に記憶されている追跡点情報１２２を用いて、その座標点に対する状態遷移判定を行ない、その判定結果に基づいて、各座標点に対応する追跡点情報１２２に、状態の更新及びイベントの予約（ダウンイベント、ムーブイベント、アップイベント、イベントなし等）を実行する。もちろん、判定部１３は、同時に複数のイベントの生成も可）を出力する。
【００４６】
ここで、判定部１３が行なう状態遷移判定に用いられている状態遷移オートマトンについて説明する。図６は、その状態遷移オートマトンの一例を示す図である。
【００４７】
図６に示すように、判定部１３による状態遷移判定に用いられる状態遷移オートマトンは、ダウン監視（第１の状態）、ムーブ（第２の状態）及びアップ監視（第３の状態）の３つの状態と、各状態遷移の接続関係を示す矢印と、各状態間の遷移内容に応じて生成されるダウンイベント（第１の動作）、ムーブイベント（第２の動作）及びアップイベント（第３の動作）の３つのイベント（動作）と、から構成されている。本実施の形態における座標処理装置１００は、例えば、タッチパネル５００を１本以上の指でタッチする動作（プレス）、タッチの継続、タッチを継続しながらのパネル上での移動、タッチの終了（リリース）といったタッチ動作によって得られるタッチ位置の座標を処理するものである。
【００４８】
そこで、以下では、上述の各種動作について、タッチする動作（プレス）をダウンイベント、タッチの継続、並びにタッチを継続しながらのパネル上での移動をムーブイベント、タッチの終了（リリース）をアップイベントとして、各々表現する。このため、ダウンイベントが追跡点の確定を意味し、ムーブイベントが追跡点の継続を意味し、アップイベントが追跡点の消失確定を意味するものとなる。なお、本実施の形態では、利用者が１つのタッチを開始してからタッチを終了し、タッチパネル５００から指を離すまでの一連の座標追跡を行なうにあたり、ダウンイベントはタッチ開始時の１回のみ、ムーブイベントは全てのフレームごと、アップイベントはタッチ終了時の１回のみ、実行される場合について説明する。
【００４９】
生成部１４は、座標情報記憶部１２に記憶されている追跡点情報１２２からイベント予約された追跡点情報１２２に対応する追跡点を抽出する。生成部１４は、その抽出結果に基づいて、例えば、イベント種別ごとの追跡点の座標を生成し、出力する。
【００５０】
設定部１５は、例えば、テンキー、キーボードなどを持ち、第１閾値記憶部１６に記憶されている第１閾値の初期化、設定、及び、第２閾値記憶部１７に記憶されている第２閾値の初期化、設定を行なうためのものである。利用者は、この設定部１５を用いて、第１閾値記憶部１６に記憶されている第１閾値の初期化、設定、及び、第２閾値記憶部１７に記憶されている第２閾値の初期化、設定を行なうことができる。
【００５１】
第１閾値記憶部１６は、追跡部１１が追跡点情報を生成する場合において、過去のフレーム上に配置された追跡点のうち、新たに入力された座標点と同一の指示入力に対応する点があるか否かを判定するために用いられる第１閾値を記憶している。
【００５２】
この第１閾値は、例えば、新たな入力座標点からの距離であり、新たな入力座標点から最も距離の近い追跡点との距離がこの第１閾値以下のものがあれば、追跡部１１は、その追跡点と入力座標点とが同一の指示入力に対応するものと判定する。一方、新たな入力座標点から最も距離の近い追跡点との距離がこの第１閾値を超えるものであれば、追跡部１１は、入力座標と同一の指示入力に対応する追跡点は存在しないと判定する。
【００５３】
第２閾値記憶部１７は、判定部１３が入力座標点に対する状態遷移判定を行なうために用いられる第２閾値を記憶している。判定部１３は、追跡部１１から新たな座標が入力されると、第２閾値記憶部１７に記憶されている第２閾値を取得し、その第２閾値及び座標情報記憶部１２に記憶されている追跡点情報１２２を用いて、その座標点に対する状態遷移判定を行なう。なお、この第２閾値の具体例については、後述する。
【００５４】
次に、本発明の実施の形態１における座標処理装置１００の動作について、図４を用いて説明する。図４は、本発明の実施の形態１における座標処理装置１００の動作を説明するためのフローチャートである。
【００５５】
図４に示すように、追跡部１１は、検出部１０から新たな座標が入力されると、座標情報記憶部１２に記憶されているフレーム情報１２１を取得し、入力座標点の近傍に追跡点があるか否かを判定する（ステップＳ１０１）。
【００５６】
具体的には、追跡部１１は、検出部１０から新たな座標が入力されると、座標情報記憶部１２に記憶されているフレーム情報１２１から最新のフレームを読み出し、その読み出されたフレーム上の各追跡点と検出部１０から入力された座標点との距離を比較して、近傍追跡点の有無を判定する。
【００５７】
追跡部１１は、第１閾値記憶部１６に記憶されている第１閾値を取得する。この第１閾値は、利用者が設定部１５を用いて第１閾値記憶部１６にあらかじめ記憶させているものである。利用者は、この第１閾値を調節することにより、追跡部１１による近傍追跡点有無の判定精度を変化させることができる。
【００５８】
追跡部１１は、例えば第１閾値が所定の距離を表わすものであれば、最も近い追跡点が第１閾値以内の距離にあるときに、近傍追跡点ありと判定する（ステップＳ１０１ＹＥＳ）。
【００５９】
一方、入力された座標点と最も近い追跡点との距離が第１閾値よりも大きければ、追跡部１１は、近傍追跡点なしと判定する（ステップＳ１０１ＮＯ）。
【００６０】
ここで、上記のステップＳ１０１ＹＥＳにおいては、追跡部１１は、近傍追跡点ありと判定し、その近傍追跡点を入力座標点が追従する追跡点、つまり、利用者による同一の指示入力に対応する点であると判定する。そして、追跡部１１は、その追跡点に対応する追跡点情報１２２の追跡フレーム数３２を１つ加算すると共に、現在フレーム座標３３として入力された座標を設定する。
【００６１】
一方、上記のステップＳ１０１ＮＯにおいては、追跡部１１は、近傍追跡点なしと判定し、その入力座標点を新たな追加点とし、その追跡点情報１２２を生成する（ステップＳ１０２）。このとき、追跡部１１は、この新たな追跡点情報１２２にその初期情報として、現在の状態３１に「ダウン監視」、追跡フレーム数３２に「１」、現在フレーム座標３３に上記の入力座標を設定する。なお、過去フレーム座標３４には、ここでは何も設定されない。
【００６２】
判定部１３は、上記のステップＳ１０１ＹＥＳにおいて入力座標が追従すると判定された追跡点、及び、上記のステップＳ１０２において新たに設定された追跡点について第１の状態遷移判定を実行する（ステップＳ１０３）。本ステップＳ１０３における第１の状態遷移判定の処理内容については後述する。
【００６３】
追跡部１１及び判定部１３は、検出部１０から新たに入力された座標点の全てに対し、上記のステップＳ１０１〜１０３を実行するまで（ステップＳ１０４ＹＥＳ）、上記のステップＳ１０１〜１０３を繰り返して実行する（ステップＳ１０４ＮＯ）。
【００６４】
判定部１３は、座標情報記憶部１２に記憶されている追跡点情報１２２から状態遷移判定が未判定の追跡点の有無を判定し（ステップＳ１０５）、未判定の追跡点が有れば（ステップＳ１０５ＹＥＳ）、その追跡点について第２の状態遷移判定を実行する（ステップＳ１０６）。本ステップＳ１０６における第２の状態遷移判定の処理内容については、後述する。なお、上記ステップＳ１０３における第１の状態遷移判定の処理内容と本ステップＳ１０６における第２の状態遷移判定の処理内容とは同一である。
【００６５】
なお、本ステップＳ１０６においては、判定部１３は、未判定の追跡点の状態遷移判定処理開始前に、その追跡点に対応する追跡点情報１２２の追跡フレーム数３２に「１」を加算し、現在フレーム座標３３を未設定状態にする。
【００６６】
生成部１４は、座標情報記憶部１２に記憶されている追跡点情報１２２から予約イベントの有無を判定し（ステップＳ１０７）、いずれの追跡点についてもイベントが予約されていなければ（ステップＳ１０７ＮＯ）、処理を終了する。
【００６７】
一方、イベントの予約があった場合には、生成部１４は、イベント予約のある追跡点に対応する追跡点情報１２２から、その追跡点の識別子３５、予約イベント３６及び現在フレーム座標３３を抽出する。そして、生成部１４は、その抽出結果を用いて、例えば、イベントごとに、各イベントに対応する追跡点の識別子及び座標を生成し、出力する（ステップＳ１０８）。
【００６８】
具体的には、例えば、あるフレームに対する処理を行った結果として、新たにタッチが確定（ダウンイベント）した点が１点（Ｘｄ１，Ｙｄ１）、追跡中の追従点として判定（ムーブイベント）された点が２点（Ｘｍ１，Ｙｍ１）、（Ｘｍ２，Ｙｍ２）であった場合では、生成部１４は、ダウンイベントを生成するとともに、そのダウンイベントと対応付けられた座標として、座標（Ｘｄ１，Ｙｄ１）と識別子（例えば「追跡点Ｃ」）を出力する。また、ムーブイベントを生成するとともに、そのムーブイベントと対応付けられた座標として、座標（Ｘｍ１，Ｙｍ１）と識別子（例えば「追跡点Ａ」）、及び、座標（Ｘｍ２，Ｙｍ２）と識別子（例えば「追跡点Ｂ」）を出力する。
【００６９】
なお、上述の具体例では、ある１つのフレームに対する処理を行った結果として、同種のイベントは各々最大１つずつしか出力されない場合を前提として、１つのイベントにつき対応する１つまたは複数の座標と識別子をイベントと対応付けて出力する場合について説明したが、同種のイベントが複数個出力されるようにしてもよいし、１つのイベントにつき１つの対応付けられた座標と識別子を出力するようにしてもよい。
【００７０】
次に、図４のステップＳ１０３及びＳ１０６における第１及び第２の状態遷移判定の処理内容について説明する。図５は、ステップＳ１０３及びＳ１０６における第１及び第２の状態遷移判定の処理内容を示すフローチャートである。
【００７１】
なお、判定部１３は、上記のステップＳ１０３においては新たに設定された追跡点について第１の状態遷移判定を実行し、上記のステップＳ１０６においては未判定の追跡点について第２の状態遷移判定を実行する。第１の状態遷移判定と第２の状態遷移判定とは、それらの判定対象とする追跡点が異なるだけでは、処理内容自体は同様である。このため、以下では、上記のステップＳ１０３における第１の状態遷移判定について説明する。
【００７２】
図５に示すように、判定部１３は、追跡部１１から新たな座標が入力されると、その座標点に対応する追跡点情報１２２を座標情報記憶部１２から取得し、その座標点の現在の状態３１を検出する（ステップＳ２０１）。判定部１３は、ダウン監視状態の場合であれば、ステップＳ２０２に進む。また、ムーブ状態の場合であれば、ステップＳ２０７に進む。また、アップ監視状態の場合であれば、ステップＳ２１０に進む。
【００７３】
まず、上記のステップＳ２０１において、ダウン監視状態であると判定された場合には、判定部１３は、第２閾値記憶部１７に記憶されている第２閾値の１つである閾値フレーム数Ｍｄを取得し、座標点の追跡点情報１２２の追跡フレーム数３２がその閾値フレーム数Ｍｄに達しているか否か（経過しているか否か）を判定する（Ｓ２０２）。
【００７４】
ここで、閾値フレーム数Ｍｄは、ダウンを確定、つまり、ダウン監視からムーブに状態遷移するまでに、どれだけのフレーム数を蓄積するか、すなわち、ダウンを判定するために要するフレーム数を意味する。したがって、例えば、閾値フレーム数Ｍｄが小さいほど、上記のステップＳ２０２におけるダウン判定が早く出ることになり、閾値フレーム数Ｍｄが大きいほど、上記のステップＳ２０２におけるダウン判定が遅く出ることになる。また、閾値フレーム数Ｍｄと、後述の閾値フレーム数Ｎｄとが大きいほど、ダウン判定の精度は向上する。このため、利用者は、設定部１５を用いてこの閾値フレーム数Ｍｄを調節することにより、判定部１３による上記のステップＳ２０２におけるダウン判定の精度を変化させることができる。
【００７５】
閾値フレーム数Ｍｄに達していない場合（ステップＳ２０２ＮＯ）、判定部１３は、その座標点に対応する追跡点情報１２２に対し、過去フレーム座標３４の各々を、より過去のフレーム座標として１つずつシフトするとともに、現在フレーム座標を最新の過去フレーム座標として設定する。また、判定部１３は、現在フレーム座標３３を未設定状態にする。すなわち、判定部１３は、現在フレーム座標３３及び過去フレーム座標３４の各座標を１フレーム分だけ過去にシフトするように更新する。このとき、各フレームに対応する座標のうち、近傍座標が検出されなかったフレームの座標、すなわち、未設定状態のフレーム座標についても、そのまま、シフト更新する。このようにして、判定部１３による状態遷移判定がリターン（終了）する。
【００７６】
一方、閾値フレーム数Ｍｄに達していると判定された場合（ステップＳ２０２ＹＥＳ）、判定部１３は、第２閾値記憶部１７に記憶されている第２閾値の他の１つである閾値フレーム数Ｎｄを取得し、その座標に対応する追跡点情報１２２の現在フレーム座標３３及び過去フレーム座標３４のうち、設定状態の数がその閾値フレーム数Ｎｄ以上か否かを判定する（Ｓ２０３）。
【００７７】
ここで、閾値フレーム数Ｎｄは、利用者による位置入力（ここでは、利用者によるタッチ）の確定に要するフレーム数を意味する。したがって、例えば、閾値フレーム数Ｎｄが小さいほど、上記のステップＳ２０３においてタッチと判定されやすくなり、閾値フレーム数Ｎｄが大きいほど、上記のステップＳ２０３においてタッチと判定されにくくなる。すなわち、閾値フレーム数Ｎｄと、また前述の閾値フレーム数Ｍｄとが大きいほど、ダウン判定の精度は向上する。このため、利用者は、設定部１５を用いてこの閾値フレーム数Ｎｄを調節することにより、判定部１３による上記のステップＳ２０３におけるタッチ判定の精度を変化させることができる。
【００７８】
閾値フレーム数Ｎｄ以上と判定された場合（ステップＳ２０３ＹＥＳ）、判定部１３は、その座標点に対応する追跡点情報１２２の予約イベント３６としてダウンイベントを設定すると共に、その識別子３５も併せて設定する（ステップＳ２０４）。
【００７９】
そして、判定部１３は、その座標点に対応する追跡点情報１２２の現在の状態３１を「ムーブ状態」に更新する（Ｓ２０５）。さらに、判定部１３は、その座標点に対応する追跡点情報１２２に対し、過去フレーム座標３４の各々を、より過去のフレーム座標として１つずつシフトするとともに、現在フレーム座標を最新の過去フレーム座標として設定する。また、判定部１３は、現在フレーム座標３３に追跡部１１から入力された座標を設定する。すなわち、判定部１３は、現在フレーム座標３３及び過去フレーム座標３４の各座標を１フレーム分だけ過去にシフトするように更新する。このとき、各フレームに対応する座標のうち、近傍座標が検出されなかったフレームの座標、すなわち、未設定状態のフレーム座標についても、そのまま、シフト更新する。このようにして、判定部１３による状態遷移判定がリターン（終了）する。
【００８０】
一方、閾値フレーム数Ｎｄ未満と判定された場合（ステップＳ２０３ＮＯ）、判定部１３は、その座標点に対応する追跡点情報１２２から、その座標点を破棄する（Ｓ２０６）。すなわち、追跡フレーム数が閾値フレーム数Ｎｄに達しなかったことにより、その座標点は誤検出によって生成され、利用者の意図に反するものとして排除される。そして、判定部１３は、上記と同様に、状態遷移判定をリターン（終了）する。
【００８１】
次に、上記のステップＳ２０１において、ムーブ状態と判定された場合には、判定部１３は、追跡部１１から入力された新たな座標に対応する追跡点情報１２２の現在フレーム座標３３があるか否か、つまり、現在フレーム座標３３が設定状態であるか否かを判定する（ステップＳ２０７）。
【００８２】
現在フレーム座標３３があると判定された場合（ステップＳ２０７ＹＥＳ）、判定部１３は、その座標点に対応する追跡点情報１２２の予約イベント３６としてムーブイベントを設定すると共に、識別子３５を設定する。さらに、判定部１３は、その新たに入力された座標を現在フレーム座標３３として設定する（ステップＳ２０８）。また、判定部１３は、その追跡点情報１２２に関して、先に設定されていた現在フレーム座標３３を最新の過去フレーム座標３４として設定する。すなわち、フレーム座標の各々を１フレーム分だけ過去にシフトするように更新する。
【００８３】
一方、現在フレーム座標３３が無いと判定された場合（ステップＳ２０７ＮＯ）、判定部１３は、その座標点に対応する追跡点情報１２２の現在の状態３１を「アップ監視状態」に更新する（Ｓ２０９）。また、過去フレーム座標３４をより過去のフレーム座標として１つずつシフトするとともに、最新の過去フレーム座標３４及び現在フレーム座標３３を未設定状態にする。すなわち、フレーム座標の各々を１フレーム分だけ過去にシフトするように更新する。このとき、各フレームに対応する座標のうち、近傍座標が検出されなかったフレームの座標、すなわち、未設定状態のフレーム座標についても、そのまま、シフト更新する。このようにして、判定部１３による状態遷移判定がリターン（終了）する。
【００８４】
最後に、上記のステップＳ２０１において、アップ監視状態と判定された場合には、判定部１３は、追跡部１１から入力された新たな座標に対応する追跡点情報１２２の現在フレーム座標３３があるか否か、つまり、現在フレーム座標３３が設定状態であるか否かを判定する（ステップＳ２１０）。
【００８５】
現在フレーム座標３３が無いと判定された場合（ステップＳ２１０ＹＥＳ）、判定部１３は、第２閾値記憶部１７に記憶されている第２閾値のさらに他の１つである閾値フレーム数Ｎｕを取得し、その座標に対応する追跡点情報１２２の現在フレーム座標３３及び過去フレーム座標３４のうち未設定状態の数がその閾値フレーム数Ｎｕ以上か否かを判定する（Ｓ２１１）。
【００８６】
ここで、閾値フレーム数Ｎｕは、利用者による位置入力の終了（ここでは、利用者によるアップ）を確定させるまでに要するフレーム数を意味する。したがって、例えば、閾値フレーム数Ｎｕが小さいほど、上記のステップＳ２１１におけるアップ判定が早く出ることになり、閾値フレーム数Ｎｕが大きいほど、十分な期間、入力座標点の近傍に追跡点が検出されていないことが確認され、その判定精度は向上するが、上記のステップＳ２１１におけるアップ判定が遅く出ることになる。このため、利用者は、設定部１５を用いてこの閾値フレーム数Ｎｕを調節することにより、判定部１３による上記のステップＳ２１１におけるアップ判定の精度を変化させることができる。
【００８７】
閾値フレーム数Ｎｕ未満の場合（ステップＳ２１１ＮＯ）、判定部１３は、その座標点に対応する追跡点情報１２２の過去フレーム座標３４を、より過去のフレーム座標として１つずつシフトするとともに、最新の過去フレーム座標３４及び現在フレーム座標３３を未設定状態にする。すなわち、フレーム座標の各々を１フレーム分だけ過去にシフトするように更新する。このとき、各フレームに対応する座標のうち、近傍座標が検出されなかったフレームの座標、すなわち、未設定状態のフレーム座標についても、そのまま、シフト更新する。このようにして、判定部１３による状態遷移判定がリターン（終了）する。
【００８８】
一方、閾値フレーム数Ｎｕ以上と判定された場合（ステップＳ２１１ＹＥＳ）、判定部１３は、その座標点に対応する追跡点情報１２２の予約イベント３６としてアップイベントを設定すると共に、その識別子３５も併せて設定する（ステップＳ２１２）。そして、判定部１３は、その座標点に対応する追跡点情報１２２から、その座標点を破棄する（Ｓ２１３）。すなわち、閾値フレーム数Ｎｕに達したことにより、その座標点は検出漏れによる一時的なロス状態ではなく、利用者の意図によってリリース（アップ）されたものとして排除される。その後、判定部１３は、上記と同様に、状態遷移判定をリターン（終了）する。
【００８９】
現在フレーム座標３３があると判定された場合（ステップＳ２１０ＮＯ）、判定部１３は、その座標に対応する追跡点情報１２２の予約イベント３６としてムーブイベントを設定すると共に、その識別子３５も併せて設定する（ステップＳ２１４）。
【００９０】
判定部１３は、追跡点情報１２２の現在の状態３１を「ムーブ状態」に更新する。そして、判定部１３は、追跡点情報１２２の現在フレーム座標３３を最新の過去フレーム座標３４として設定し、現在フレーム座標は未設定状態にする。すなわち、判定部１３は、フレーム座標の情報を１フレーム分だけ過去にシフトするように更新する。
【００９１】
次に、本発明の実施の形態１における座標処理装置１００で実行される座標処理の具体例について説明する。
【００９２】
（具体例１）
図７は、本発明の実施の形態１における座標処理装置１００で実行される座標処理によるダウン確定の一例を説明するための図である。ここでは、閾値フレーム数Ｍｄを３、閾値フレーム数Ｎｄを２として説明する。
【００９３】
図７においては、フレーム４１ａ、フレーム４１ｂ、フレーム４１ｃは、時間的に連続する３つのフレームを表わしており、各フレームの中に示す×印と座標は、各フレームにおいて、検出部１０により検出された指示位置の座標を表わす。また、図７においては、座標情報記憶部１２に記憶されている追跡点情報１２２の現在の状態３１、追跡フレーム数３２、現在フレーム座標３３及び過去フレーム座標３４が、フレーム４１ａ〜４１ｃに対応して時間的に変化していく様子が表わされている（４２ａ〜４２ｆ）。
【００９４】
まず、検出部１０がフレーム４１ａの指示位置の座標（５０，１００）を検出した時点で、図４のステップＳ１０１において追跡部１１が近傍追跡点なしと判定した場合、ステップＳ２０２において追跡部１１は座標情報記憶部１２に記憶されている追跡点情報１２２を図７に示す追跡点情報４２ａに設定する。
【００９５】
次に、ステップＳ１０３及び図５のステップＳ２０２において、判定部１３は、追跡フレーム数３２が閾値フレーム数Ｍｄ（＝３）に達していないと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図７に示す追跡点情報４２ｂに設定する。
【００９６】
次に、検出部１０がフレーム４１ｂの指示位置の座標（４９，１０１）を検出した時点で、ステップＳ１０１において追跡部１１が近傍追跡点ありと判定し、追跡部１１は座標情報記憶部１２に記憶されている追跡点情報１２２を図７に示す追跡点情報４２ｃに設定する。
【００９７】
次に、ステップＳ１０３及びステップＳ２０２において、判定部１３は、追跡フレーム数３２が閾値フレーム数Ｍｄ（＝３）に達していないと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図７に示す追跡点情報４２ｄに設定する。
【００９８】
次に、検出部１０がフレーム４１ｃの指示位置の座標（５１，１０２）を検出した時点で、ステップＳ１０１において追跡部１１が近傍追跡点ありと判定し、追跡部１１は座標情報記憶部１２に記憶されている追跡点情報１２２を図７に示す追跡点情報４２ｅに設定する。
【００９９】
次に、ステップＳ１０３、ステップＳ２０２及びステップＳ２０３において、判定部１３が、追跡フレーム数３２が閾値フレーム数Ｍｄ（＝３）に到達したと判定し、且つ、追跡点情報４２ｅの現在フレーム座標３３及び過去フレーム座標３４のうち、設定状態の数が閾値フレーム数Ｎｄ（＝２）に到達したと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図７に示す追跡点情報４２ｆに設定する。
【０１００】
（具体例２）
図８は、本発明の実施の形態１における座標処理装置１００で実行される座標処理によるダウン確定の他の一例を説明するための図である。ここでは、閾値フレーム数Ｍｄを３、閾値フレーム数Ｎｄを２として説明する。
【０１０１】
図８においては、フレーム５１ａ、フレーム５１ｂ、フレーム５１ｃは、時間的に連続する３つのフレームを表わしており、各フレームの中に示す×印と座標は、各フレームにおいて、検出部１０により検出された指示位置の座標を表わす。また、点線の×印は過去のフレームで検出された指示位置の座標を示しており、現在のフレームでその指示位置の座標近傍に新たな指示位置が存在しない状態を表わす。さらに、図８においては、座標情報記憶部１２に記憶されている追跡点情報１２２の現在の状態３１、追跡フレーム数３２、現在フレーム座標３３及び過去フレーム座標３４が、フレーム５１ａ〜５１ｃに対応して時間的に変化していく様子が表わされている（５２ａ〜５２ｆ）。
【０１０２】
まず、検出部１０がフレーム５１ａの指示位置の座標（５０，１００）を検出した時点で、図４のステップＳ１０１において追跡部１１が近傍追跡点なしと判定した場合、ステップＳ２０２において追跡部１１は座標情報記憶部１２に記憶されている追跡点情報１２２を図８に示す追跡点情報５２ａに設定する。
【０１０３】
次に、ステップＳ１０３及び図５のステップＳ２０２において、判定部１３は、追跡フレーム数３２が閾値フレーム数Ｍｄ（＝３）に達していないと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図８に示す追跡点情報５２ｂに設定する。
【０１０４】
次に、検出部１０が新たな指示入力を検出しなかった時点で、図４のステップＳ１０５において判定部１３が未判定の追跡点ありと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図８に示す追跡点情報５２ｃに設定する。
【０１０５】
次に、ステップＳ１０６、ステップＳ２０２及びステップＳ２０３において、判定部１３は、追跡フレーム数３２が閾値フレーム数Ｍｄ（＝３）に達していないと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図８に示す追跡点情報５２ｄに設定する。
【０１０６】
次に、検出部１０がフレーム５１ｃの指示位置の座標（５１，１０２）を検出した時点で、ステップＳ１０１において追跡部１１が近傍追跡点ありと判定し、追跡部１１は座標情報記憶部１２に記憶されている追跡点情報１２２を図８に示す追跡点情報５２ｅに設定する。
【０１０７】
次に、ステップＳ１０３、ステップＳ２０２及びステップＳ２０３において、判定部１３が、追跡フレーム数３２が閾値フレーム数Ｍｄ（＝３）に到達したと判定し、且つ、追跡点情報５２ｅの現在フレーム座標３３及び過去フレーム座標３４のうち、設定状態の数が閾値フレーム数Ｎｄ（＝２）に到達したと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図８に示す追跡点情報５２ｆに設定する。
【０１０８】
（具体例３）
図９は、本発明の実施の形態１における座標処理装置１００で実行される座標処理による誤検出回避の一例を説明するための図である。ここでは、閾値フレーム数Ｍｄを３、閾値フレーム数Ｎｄを２として説明する。
【０１０９】
図９においては、フレーム６１ａ、フレーム６１ｂ、フレーム６１ｃは、時間的に連続する３つのフレームを表わしており、各フレームの中に示す×印と座標は、各フレームにおいて、検出部１０により検出された指示位置の座標を表わす。また、点線の×印は過去のフレームで検出された指示位置の座標を示しており、現在のフレームでその指示位置の座標近傍に新たな指示位置が存在しない状態を表わす。さらに、図９においては、座標情報記憶部１２に記憶されている追跡点情報１２２の現在の状態３１、追跡フレーム数３２、現在フレーム座標３３及び過去フレーム座標３４が、フレーム６１ａ〜６１ｃに対応して時間的に変化していく様子が表わされている（６２ａ〜６２ｆ）。
【０１１０】
まず、検出部１０がフレーム６１ａの指示位置の座標（５０，１００）を検出した時点で、図４のステップＳ１０１において追跡部１１が近傍追跡点なしと判定した場合、ステップＳ２０２において追跡部１１は座標情報記憶部１２に記憶されている追跡点情報１２２を図９に示す追跡点情報６２ａに設定する。
【０１１１】
次に、ステップＳ１０３及び図５のステップＳ２０２において、判定部１３は、追跡フレーム数３２が閾値フレーム数Ｍｄ（＝３）に達していないと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図９に示す追跡点情報６２ｂに設定する。
【０１１２】
次に、検出部１０が新たな指示入力を検出しなかった時点で、図４のステップＳ１０５において判定部１３が未判定の追跡点ありと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図９に示す追跡点情報６２ｃに設定する。
【０１１３】
次に、ステップＳ１０６、ステップＳ２０２及びステップＳ２０３において、判定部１３は、追跡フレーム数３２が閾値フレーム数Ｍｄ（＝３）に達していないと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図９に示す追跡点情報６２ｄに設定する。
【０１１４】
次に、検出部１０が新たな指示入力を検出しなかった時点で、図４のステップＳ１０５において判定部１３が未判定の追跡点ありと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図９に示す追跡点情報６２ｅに設定する。
【０１１５】
次に、ステップＳ１０３、ステップＳ２０２及びステップＳ２０３において、判定部１３が、追跡フレーム数３２が閾値フレーム数Ｍｄ（＝３）に到達したと判定し、且つ、追跡点情報５２ｅの現在フレーム座標３３及び過去フレーム座標３４のうち、設定状態の数が閾値フレーム数Ｎｄ（＝２）に未達であると判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図９に示す追跡点情報６２ｆに設定する。
【０１１６】
（具体例４）
図１０は、本発明の実施の形態１における座標処理装置１００で実行される座標処理によるムーブ継続の一例を説明するための図である。
【０１１７】
図１０においては、フレーム７１がダウン確定後のムーブ中のフレームを表わしており、フレーム７１中に示す×印と座標は、フレーム７１において、検出部１０により検出された指示位置の座標を表わす。また、点線の×印は前フレームで検出された指示位置の座標（５１，１０２）を表わす。また、図１０においては、座標情報記憶部１２に記憶されている追跡点情報１２２の現在の状態３１、追跡フレーム数３２、現在フレーム座標３３及び過去フレーム座標３４が、フレーム７１に対応して時間的に変化していく様子が表わされている（７２ａ〜７２ｂ）。
【０１１８】
まず、検出部１０がフレーム７１の指示位置の座標（３０，１５０）を検出した時点で、図４のステップＳ１０１において追跡部１１が近傍追跡点なしと判定した場合、ステップＳ２０２において追跡部１１は座標情報記憶部１２に記憶されている追跡点情報１２２を図１０に示す追跡点情報７２ａに設定する。
【０１１９】
次に、ステップＳ１０３及び図５のステップＳ２０７において、判定部１３は、現在フレーム座標３３があると判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図９に示す追跡点情報７２ｂに設定する。
【０１２０】
（具体例５）
図１１は、本発明の実施の形態１における座標処理装置１００で実行される座標処理によるアップ確定の一例を説明するための図である。ここでは、閾値フレーム数Ｎｕを２として説明する。
【０１２１】
図１１においては、フレーム８１ａ、フレーム８１ｂは、時間的に連続する２つのフレームを表わしており、各フレームの中に示す点線の×印は過去のフレームで検出された指示位置の座標を示しており、現在のフレームでその指示位置の座標近傍に新たな指示位置が存在しない状態を表わす。さらに、図１１においては、座標情報記憶部１２に記憶されている追跡点情報１２２の現在の状態３１、追跡フレーム数３２、現在フレーム座標３３及び過去フレーム座標３４が、フレーム８１ａ、８１ｂに対応して時間的に変化していく様子が表わされている（８２ａ〜８２ｄ）。
【０１２２】
まず、検出部１０が新たな指示入力を検出しなかった時点で、図４のステップＳ１０５において判定部１３が未判定の追跡点ありと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図１１に示す追跡点情報８２ａに設定する。
【０１２３】
次に、ステップＳ１０６及びステップＳ２０７において、判定部１３は、現在フレーム座標３３が未設定状態であると判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図１１に示す追跡点情報８２ｂに設定する。
【０１２４】
次に、検出部１０が新たな指示入力を検出しなかった時点で、図４のステップＳ１０５において判定部１３が未判定の追跡点ありと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図１１に示す追跡点情報８２ｃに設定する。
【０１２５】
次に、ステップＳ１０６、ステップＳ２１０及びステップＳ２１１において、判定部１３が、現在フレーム座標３３がないと判定し、且つ、現在フレーム座標３３及び過去フレーム座標３４のうち、未設定状態の数が閾値フレーム数Ｎｕ（＝２）に到達したと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図１１に示す追跡点情報８２ｄに設定する。
【０１２６】
（具体例６）
図１２は、本発明の実施の形態１における座標処理装置１００で実行される座標処理によるムーブ復帰の一例を説明するための図である。ここでは、閾値フレーム数Ｎｕを２として説明する。
【０１２７】
図１２においては、フレーム９１ａ、フレーム９１ｂは、時間的に連続する２つのフレームを表わしており、フレーム９１ｂの中に示す×印と座標は、検出部１０により検出された指示位置の座標を表わす。また、フレーム９１ａの中に示す点線の×印は過去のフレームで検出された指示位置の座標を示しており、現在のフレームでその指示位置の座標近傍に新たな指示位置が存在しない状態を表わす。さらに、図１２においては、座標情報記憶部１２に記憶されている追跡点情報１２２の現在の状態３１、追跡フレーム数３２、現在フレーム座標３３及び過去フレーム座標３４が、フレーム９１ａ、９１ｂに対応して時間的に変化していく様子が表わされている（９２ａ〜９２ｄ）。
【０１２８】
まず、検出部１０が新たな指示入力を検出しなかった時点で、図４のステップＳ１０５において判定部１３が未判定の追跡点ありと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図１２に示す追跡点情報９２ａに設定する。
【０１２９】
次に、ステップＳ１０３及び図５のステップＳ２０７において、判定部１３は、現在フレーム座標３３は無いと判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図１２に示す追跡点情報９２ｂに設定する。
【０１３０】
次に、検出部１０がフレーム９１ｂの指示位置の座標（３１，１５１）を検出した時点で、ステップＳ１０１において追跡部１１が近傍追跡点ありと判定し、追跡部１１は座標情報記憶部１２に記憶されている追跡点情報１２２を図１２に示す追跡点情報９２ｃに設定する。
【０１３１】
次に、ステップＳ１０３及び図５のステップＳ２１０において、判定部１３は、現在フレーム座標３３があると判定し、判定部１３は座標情報記憶部１２に記憶されている追跡点情報１２２を図１２に示す追跡点情報９２ｄに設定する。
【０１３２】
以上説明したように、本発明の実施の形態１における座標処理装置１００によれば、タッチパネルを装着した装置のノイズによる誤検出や検出漏れが発生した場合でも、ドラッグ操作や回転操作、拡大／縮小操作等の連続動作を正しく動作させることができる。また、利用者が意図せずタッチパネル装置に触れてしまったことによってタッチ検出が行われた場合や、タッチパネル装置への押圧が弱く検出漏れが発生した場合にでも、意図しない誤検出や検出漏れを低減することができ、その結果、ドラッグ操作や回転操作、拡大操作等の連続動作を正しく動作させることができる。
【０１３３】
なお、本発明の実施の形態１においては、利用者によるタッチパネル５００への指示入力を行なうための指示物として、指やペンなどがタッチパネル５００にタッチ（接触）、ムーブ（接触して移動）、アップ（接触移動後にリリース）する場合を前提とするものであるが、本発明はこれに限るものではない。例えば、タッチパネル５００が光センサを備えている場合に、ＬＥＤペンなど発光可能な指示物を用いて光入力の有無で制御することにより、タッチを光入力開始、ムーブを光入力継続、アップを光入力終了と対応付けて適用することができる。
【０１３４】
また、タッチパネル５００が熱センサを備えている場合に、発熱ペンなど発熱可能な指示物を用いて熱入力の有無で制御することにより、タッチを熱入力開始、ムーブを熱入力継続、アップを熱入力終了と対応付けて適用することができる。
【０１３５】
さらに、タッチパネル５００が音センサを備えている場合に、ペンスピーカなど音波発生可能な指示物を用いて音入力の有無で制御することにより、タッチを音入力開始、ムーブを音入力継続、アップを音入力終了と対応付けて適用することができる。
【０１３６】
すわなち、上述の通り、指示物は、指やペンに限定されるものではなく、光、熱、音などの様々な場合が考えられる。また、イベントについても、タッチパネル５００に接触する場合に限定されるものではなく、非接触のままの場合においても、各種イベントを対応付けることにより、誤検出や検出漏れに対してロバストな座標処理（イベント判定処理）が可能となる。
【０１３７】
なお、本発明の実施の形態１においては、ダウン、ムーブ、アップのイベントと対応付けて、追跡点の識別子と座標を出力する場合について説明したが、識別子と座標の両者を必ずしも出力する必要はなく、例えば、アプリケーションプログラムなどのイベント出力情報を用いて処理するプログラムや装置などに応じて、イベントのみ、または、イベントと識別子、イベントと座標、といった組み合わせを出力するようにしてもよい。
【０１３８】
また、本発明の実施の形態１においては、ダウンを判定する際に、追跡フレーム数３２が閾値フレーム数Ｍｄに達した時点で、その座標に対応する追跡点情報１２２の現在フレーム座標３３及び過去フレーム座標３４のうち、設定状態の数が閾値フレーム数Ｎｄ以上の時に、ダウンを確定する場合について説明したが、追跡フレーム数３２が閾値フレーム数Ｍｄに到達するのを待たずに、ダウンを判定してもよい。例えば、追跡点情報１２２の現在フレーム座標３３及び過去フレーム座標３４のうち、設定状態の数が閾値フレーム数Ｎｄに達した時点で、ダウンを確定するようにしてもよい。
【０１３９】
また、本発明の実施の形態１における座標処理装置１００は、集積回路などを用いたハードウェアにより実施してもよいし、ＣＰＵなどを用いたソフトウェアにより実施してもよい。
【０１４０】
本発明の実施の形態１における座標処理装置１００をハードウェアで実施する場合は、座標処理装置１００の各部を個別に１チップ化された集積回路としてもよいし、一部又はすべてを含むように１チップ化された集積回路としてもよい。また、それら集積回路は、専用回路又は汎用プロセッサーで実現してもよい。例えば、半導体チップを製造した後、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、集積回路内部のセルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用してもよい。
【０１４１】
（実施の形態２）
次に、本発明の実施の形態２について説明する。本発明の実施の形態２では、上記の座標処理装置１００の座標処理をソフトウェアで実施する実施の形態について説明する。以下、図面を用いてその構成を説明する。
【０１４２】
図１３は、本発明の実施の形態２におけるコンピュータシステムの構成を示すブロック図である。以下、実施の形態１と同様の部分については、同一符号を付し、その詳細な説明は省略する。
【０１４３】
図１３において、コンピュータシステム２００は、各種プログラムの命令を処理するＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、タッチパネル５００からの信号を受信し、座標処理結果を送信するために外部との通信を行なうＩ／Ｆ部２０４と、光ディスク３０１が挿入される光ディスクドライブ２０５と、磁気ディスク３０２が挿入される磁気ディスクドライブ２０６と、バス２０７と、座標情報記憶部１２と、設定部１５と、第１閾値記憶部１６と、第２閾値記憶部１７と、を備えている。なお、コンピュータシステム２００はさらに、ローカルエリアネットワーク（ＬＡＮ）への接続を提供するネットワークアダプタボードを含んでもよい。
【０１４４】
ＣＰＵ２０１、ＲＯＭ２０２及びＲＡＭ２０３は、上記の座標処理をするものであり、座標処理プログラムにより、タッチパネル５００から出力される信号の検出、その検出信号に基づく信号処理などを行ない、検出部１０、追跡部１１、判定部１３、生成部１４などとして機能する。
【０１４５】
コンピュータシステム２００に座標処理装置１００の機能を実現させるための座標処理プログラムは、光ディスクドライブ２０５又は磁気ディスクドライブ２０６に挿入される光ディスク３０１又は磁気ディスク３０２に記憶され、光ディスク３０１または磁気ディスク３０２から、又はネットワークを介して、直接にＲＡＭ２０３にプログラムをロードしてもよい。
【０１４６】
このプログラムは、コンピュータシステム２００に座標処理装置１００の機能を実現させる複数の命令を含む。これら機能を実現させるのに必要な基本的機能のいくつかはコンピュータシステム２００上で動作するオペレーティングシステム（ＯＳ）又はサードパーティのプログラム、若しくはコンピュータシステム２００にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムは座標処理装置１００の機能を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又は「ツール」を呼出すことにより座標処理装置１００の制御を実行する命令のみを含んでいればよい。コンピュータシステム２００の動作は周知であるので、ここでは繰り返さない。
【０１４７】
なお、座標処理装置１００の機能を実現するためのプログラムが記録される記録媒体は、ＣＤ−ＲＯＭ（コンパクトディスク読取専用メモリ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｃ）、ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）、及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の光ディスク３０１、ＦＤ（フレキシブルディスク）及びハードディスク等の磁気ディスク３０２に限らない。磁気テープ及びカセットテープ等のテープ、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード及び光カード等のカード型記録媒体、並びにマスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）、及びフラッシュＲＯＭ等の半導体メモリのいずれかでもよい。また、専用のＬＳＩとコンピュータやマイクロプロセッサとを組み合わせてもよく、一部または全てを一つの専用のＬＳＩとして構成してもよい。
【０１４８】
なお、本発明は、上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１４９】
なお、本発明は、以下のようにも表現することができる。すなわち、本発明における座標処理装置は、時系列のフレーム間の点の対応関係を追跡し、前記追跡結果に基づいて座標情報を出力する座標処理装置であって、指示物による座標入力を受け付ける座標入力部と、１つまたは複数入力される座標情報の各々について、追跡点を追跡する座標追跡手段と、追跡点に関する情報を記憶する追跡点記憶手段と、追跡点の状態と、座標情報とから、判定した前記追跡点の状態遷移の結果に応じて、前記座標入力部と、指示対象を指示する指示物との位置関係によって規定されるイベント種別を判定する状態遷移判定手段と、座標情報を出力する座標出力手段とを備える。
【０１５０】
前記状態遷移判定手段は、現在フレームの座標情報と、１つ以上の過去フレームの座標情報とに基づいて、座標情報の確定を判定することが好ましい。
【０１５１】
前記状態遷移判定手段が遷移を判定する状態の種類は、追跡点の確定を判定するためのダウン監視状態、または追跡点の継続に対応するムーブ状態、または追跡点の消失確定を判定するためのアップ監視状態のいずれかを含むことが好ましい。
【０１５２】
前記状態遷移判定手段は、前記追跡点の状態遷移の判定結果に応じて、追跡点の確定を意味するダウンイベント、または追跡点の継続を意味するムーブイベント、または追跡点の消失確定を意味するアップイベント、またはイベントなし、のいずれかを含むイベント出力を判定することが好ましい。
【０１５３】
前記状態遷移判定手段は、前記ダウン監視状態から前記ムーブ状態に状態遷移する際に、前記ダウンイベント出力を決定することが好ましい。
【０１５４】
前記状態遷移判定手段は、前記ダウン監視状態において、所定のフレーム数の過去フレーム座標情報を蓄積し、且つ前記過去フレーム座標情報の中で、近傍座標情報が所定のフレーム数以上存在する場合に、前記ムーブ状態に状態遷移することが好ましい。
【０１５５】
前記状態遷移判定手段は、前記ムーブ状態から前記ムーブ状態に自己遷移、すなわち自己ループする際、または前記ダウン監視状態から前記ムーブ状態に状態遷移する際に、前記ムーブイベント出力を決定することが好ましい。
【０１５６】
前記状態遷移判定手段は、前記ムーブ状態において、直前フレームの座標と現在フレームの座標が近傍と認められる際に、前記ムーブ状態に自己遷移することが好ましい。
【０１５７】
前記状態遷移判定手段は、前記アップ監視状態において追跡点の消失が確定した際に、前記アップイベント出力を決定することが好ましい。
【０１５８】
前記状態遷移判定手段は、前記アップ監視状態において、所定のフレーム数の過去フレーム座標情報を蓄積し、且つ前記蓄積した過去フレーム座標情報の全てが、近傍に検出座標がないことを示す座標情報である際に、追跡点の消失を確定することが好ましい。
【産業上の利用可能性】
【０１５９】
本発明は、タッチパネル、タッチスクリーン、タブレットなどの複数点のタッチ入力が可能な表示パネルを備えた直感的な操作性を有する携帯機器に適用することができる。
【図面の簡単な説明】
【０１６０】
【図１】本発明の実施の形態１における座標処理装置の構成を示す機能ブロック図である。
【図２】フレーム情報を説明するための図である。
【図３】追跡点情報を説明するための図である。
【図４】本発明の実施の形態１における座標処理装置の動作を説明するためのフローチャートである（その１）。
【図５】本発明の実施の形態１における座標処理装置の動作を説明するためのフローチャートである（その２）。
【図６】状態遷移オートマトンの一例を示す図である。
【図７】本発明の実施の形態１における座標処理装置１００で実行される座標処理によるダウン確定の一例を説明するための図である。
【図８】本発明の実施の形態１における座標処理装置１００で実行される座標処理によるダウン確定の他の一例を説明するための図である。
【図９】本発明の実施の形態１における座標処理装置１００で実行される座標処理による誤検出回避の一例を説明するための図である。
【図１０】本発明の実施の形態１における座標処理装置１００で実行される座標処理によるムーブ継続の一例を説明するための図である。
【図１１】本発明の実施の形態１における座標処理装置１００で実行される座標処理によるアップ確定の一例を説明するための図である。
【図１２】本発明の実施の形態１における座標処理装置１００で実行される座標処理によるムーブ復帰の一例を説明するための図である。
【図１３】本発明の実施の形態２におけるコンピュータシステムの構成を示すブロック図である。
【符号の説明】
【０１６１】
１０    検出部
１１    追跡部（追跡手段）
１２    座標情報記憶部
１３    判定部（判定手段）
１４    生成部
１５    設定部
１６    第１閾値記憶部
１７    第２閾値記憶部
１２１    フレーム情報
１２２    追跡点情報
２０１    ＣＰＵ
２０２    ＲＯＭ
２０３    ＲＡＭ
２０４    Ｉ／Ｆ部
２０５    光ディスクドライブ
２０６    磁気ディスクドライブ
２０７    バス
３０１    光ディスク
３０２    磁気ディスク
【図１】
2010049469.tif 000003
【図２】
2010049469.tif 000004
【図３】
2010049469.tif 000005
【図４】
2010049469.tif 000006
【図５】
2010049469.tif 000007
【図６】
2010049469.tif 000008
【図７】
2010049469.tif 000009
【図８】
2010049469.tif 000010
【図９】
2010049469.tif 000011
【図１０】
2010049469.tif 000012
【図１１】
2010049469.tif 000013
【図１２】
2010049469.tif 000014
【図１３】
2010049469.tif 000015