(57)【要約】【課題】タッチパネルへの操作によって、コンピュータのマウスのボタンを押し下げていない状態の座標入力をエミュレートする技術を提供する。【解決手段】入力部５０は、タッチパネルでの検出結果を受けつける。特定部５２は、受けつけた検出結果をもとに、タッチパネルへのタッチの状態を特定する。特定部５２は、タッチの状態として、タッチパネルへのタップがなされずにタッチがなされた状態であるか、タッチパネルへのタップに続いてタッチがなされた状態であるかを特定する。決定部５４は、特定したタッチの状態をもとに、エミュレートすべきコンピュータにおけるマウスボタンが押し下げられていない第１状態であるか、マウスボタンが押し下げられた第２状態であるかを決定する。出力部５８は、決定した状態の情報を出力する。【選択図】図２
2015148908.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルでの検出結果を受けつける入力部と、
前記入力部において受けつけた検出結果をもとに、タッチパネルへのタッチの状態を特定する特定部と、
前記特定部において特定したタッチの状態をもとに、エミュレートすべきコンピュータにおけるマウスボタンが押し下げられていない第１状態であるか、マウスボタンが押し下げられた第２状態であるかを決定する決定部と、
前記決定部において決定した状態の情報を出力する出力部とを備え、
前記特定部は、タッチの状態として、タッチパネルへのタップがなされずにタッチがなされた状態であるか、タッチパネルへのタップに続いてタッチがなされた状態であるかを特定することを特徴とするエミュレーション装置。
【請求項２】
前記特定部は、前記入力部において受けつけたふたつの検出結果が、タッチパネルの所定範囲内でのタッチであり、かつ所定期間内でのタッチである場合、タッチパネルへのタップに続いてタッチがなされた状態であることを特定することを特徴とする請求項１に記載のエミュレーション装置。
【請求項３】
前記決定部は、タッチパネルへのタップがなされずにタッチがなされた状態を前記特定部が特定した場合、第１状態であることを決定し、タッチパネルへのタップに続いてタッチがなされた状態を前記特定部が特定した場合、第２状態であることを決定することを特徴とする請求項１または２に記載のエミュレーション装置。
【請求項４】
前記入力部において受けつけた検出結果をもとに、エミュレートすべきコンピュータに対する座標情報を生成する生成部をさらに備え、
前記入力部において受けつけた検出結果は、タッチパネルにタッチされた位置の情報であり、
前記生成部は、タッチパネルにタッチされた位置の情報のふたつの差分から、エミュレートすべきコンピュータに対する座標情報であって、かつ差分値として示された座標情報への変換を実行しており、
前記出力部は、前記決定部において決定した状態の情報に加えて、前記生成部において生成した座標情報も出力することを特徴とする請求項１から３のいずれかに記載のエミュレーション装置。
【請求項５】
前記生成部は、位置の情報のふたつの差分の大きさに応じて、変換の対応関係を変えることを特徴とする請求項４に記載のエミュレーション装置。
【請求項６】
前記生成部において生成した座標情報での差分値がしきい値以下である場合、差分値がゼロになるように座標情報を補正する補正部をさらに備えることを特徴とする請求項４または５に記載のエミュレーション装置。
【請求項７】
前記入力部において受けつけた検出結果の間隔に応じて、過去の位置の情報をリセットするリセット部をさらに備えることを特徴とする請求項４から６のいずれかに記載のエミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エミュレート技術に関し、特にタッチ入力をコンピュータのマウス操作にエミュレートするエミュレーション装置に関する。
【背景技術】
【０００２】
コンピュータへ情報を入力するための装置のひとつが、マウスである。一方、マウスの代わりに、タッチパネルが使用されることもある。その際、タッチパネルへの操作によって、マウスの左右クリック操作がエミュレートされている。例えば、タッチパネルの任意の位置でペンをタッチした状態で一定時間内のタッチ回数を検知し判別することで、左右のクリック操作が切りかえられる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２８２６２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コンピュータには、パーソナルコンピュータだけではなく、スマートフォン、タブレットも含まれる。このような場合において、マウスのボタンが押し下げられていない状態での座標入力をエミュレートする必要性が生じている。
【０００５】
本発明はこうした状況に鑑みてなされたものであり、その目的は、タッチパネルへの操作によって、コンピュータのマウスのボタンを押し下げていない状態の座標入力をエミュレートする技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様のエミュレーション装置は、タッチパネルでの検出結果を受けつける入力部と、入力部において受けつけた検出結果をもとに、タッチパネルへのタッチの状態を特定する特定部と、特定部において特定したタッチの状態をもとに、エミュレートすべきコンピュータにおけるマウスボタンが押し下げられていない第１状態であるか、マウスボタンが押し下げられた第２状態であるかを決定する決定部と、決定部において決定した状態の情報を出力する出力部とを備える。特定部は、タッチの状態として、タッチパネルへのタップがなされずにタッチがなされた状態であるか、タッチパネルへのタップに続いてタッチがなされた状態であるかを特定する。
【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、タッチパネルへの操作によって、コンピュータのマウスのボタンを押し下げていない状態の座標入力をエミュレートできる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例１に係るエミュレーションシステムの構成を示す図である。
【図２】図１のエミュレーション装置の構成を示す図である。
【図３】図１のタッチパネルにおける座標を示す図である。
【図４】図１のディスプレイにおける座標を示す図である。
【図５】図２の生成部における変換の対応関係を示す図である。
【図６】図２の生成部における変換の別の対応関係を示す図である。
【図７】図２のエミュレーション装置によるエミュレーション手順を示すフローチャートである。
【図８】図７の初期化ステップの手順を示すフローチャートである。
【図９】図７のタッチ入力処理ステップの手順を示すフローチャートである。
【図１０】図９のタッチ入力処理で入力される変数を示す図である。
【図１１】図７のタップ判定処理ステップの手順を示すフローチャートである。
【図１２】図１１のタイマ比較ステップの手順を示すフローチャートである。
【図１３】図１１の座標比較ステップの手順を示すフローチャートである。
【図１４】図１１の座標タイマ記憶ステップの手順を示すフローチャートである。
【図１５】図７の相対座標計算ステップの手順を示すフローチャートである。
【図１６】図１５の相対座標計算で使用する情報を示す図である。
【図１７】図７の移動情報送信ステップの手順を示すフローチャートである。
【図１８】図１７の移動情報送信で入力される情報を示す図である。
【図１９】図７の次検出時間待ちステップの手順を示すフローチャートである。
【図２０】図１のコンピュータにおけるマウス処理の手順を示すフローチャートである。
【図２１】本発明の実施例２に係るエミュレーション装置の構成を示す図である。
【図２２】図２１のエミュレーション装置によるエミュレーション手順を示すフローチャートである。
【図２３】図２２のリセット判定ステップの手順を示すフローチャートである。
【図２４】図２３のリセット判定で使用する情報を示す図である。
【図２５】図２２のリセット送信ステップの手順を示すフローチャートである。
【図２６】本発明の実施例３に係るエミュレーション装置の構成を示す図である。
【図２７】図２６の補正部の動作概要を示す図である。
【図２８】図２６のエミュレーション装置によるエミュレーション手順を示すフローチャートである。
【図２９】図２８の同一座標判定ステップの手順を示すフローチャートである。
【図３０】図２９の同一座標判定で使用する情報を示す図である。
【図３１】図２８の同一座標補正ステップの手順を示すフローチャートである。
【図３２】図３１の同一座標タイマ記憶ステップの手順を示すフローチャートである。
【図３３】本発明の実施例４に係るエミュレーション装置の構成を示す図である。
【図３４】図３３のエミュレーション装置によるエミュレーション手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
（実施例１）
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例１は、タッチパネルへの入力によって、コンピュータのマウス操作をエミュレートするエミュレーションシステムに関する。ここで、タッチパネルを備えた処理装置が、コンピュータと別に構成される。処理装置は、例えば、ナビゲーション装置、ディスプレイオーディオ装置である。処理装置は、タッチパネルへの入力をマウスの操作に変換し、変換結果をコンピュータへ送信する。コンピュータは、変換結果を受信し、変換結果に応じたマウスの処理を実行する。
【００１１】
マウスのボタンが押し下げられていない状態と、マウスのボタンが押し下げられている状態とを区別するために、本実施例に係る処理装置は、次の処理を実行する。なお、タッチパネルへの入力は、指によってなされるものとする。処理装置は、タッチパネルへのタップがなされずにタッチがなされた場合、マウスのボタンを押さない状態で座標入力とし、タッチパネルへのタップがなされてからタッチがなされた場合、マウスボタンを押した状態での座標入力とする。
【００１２】
図１は、本発明の実施例１に係るエミュレーションシステム１００の構成を示す。エミュレーションシステム１００は、処理装置１０、コンピュータ２０を含む。処理装置１０は、タッチパネル１２、タッチパネルコントローラ１４、エミュレーション装置１６、処理部１８を含み、コンピュータ２０は、処理部３２、ディスプレイ３４を含む。
【００１３】
タッチパネル１２は、液晶パネルのような表示装置とタッチパッドのような位置入力装置を組み合わせた電子部品である。ユーザが指で画面上の表示を押すことによって、情報あるいは指示を入力する入力装置である。タッチパネル１２には、例えば、静電容量方式が使用されるが、これに限定されるものではない。
【００１４】
タッチパネルコントローラ１４は、タッチパネル１２に接続され、指にて触れられた画面位置の情報を感知して、エミュレーション装置１６へ情報信号として出力する。情報信号には、例えば、タッチ位置に対応するタッチパネル１２上の座標データと、タッチの回数、タッチパネルに指先を接触させてから離間させるまでの時間等に応じた操作状況データとが含まれる。なお、タッチパネル１２、タッチパネルコントローラ１４には公知の技術が使用されればよい。
【００１５】
エミュレーション装置１６は、タッチパネルコントローラ１４からの情報信号（以下、「検出結果」という）を受けつける。エミュレーション装置１６は、検出結果をもとに、ディスプレイ３４に対する座標情報を生成するとともに、マウスボタンが押し下げられている状態であるか否かを示した情報（以下、「状態情報」という）を生成する。つまり、エミュレーション装置１６は、タッチ入力からマウス入力へのエミュレーションを実行する。エミュレーション装置１６は、座標情報および状態情報をコンピュータ２０へ送信する。送信には、例えば、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のような無線通信あるいは有線通信が使用されるが、これらは公知の技術であるので、ここでは説明を省略する。
【００１６】
処理部１８は、処理装置１０の本来の機能を実行する。処理装置１０がナビゲーション装置である場合、処理部１８はナビゲーション機能を実行し、処理装置１０がディスプレイオーディオ装置である場合、処理部１８はディスプレイオーディオ機能を実行する。処理装置１０がこれら以外の装置である場合、処理部１８は、その装置に応じた機能を実行すればよい。
【００１７】
処理部３２は、コンピュータ２０にインストールされたアプリケーションプログラムを実行する。ここでは、アプリケーションプログラムについての説明を省略する。また、処理部３２は、処理装置１０と通信する機能を有し、エミュレーション装置１６からの座標情報および状態情報を受信する。処理部３２は、マウスのドライバ機能を有しており、受信した座標情報および状態情報をマウスからの入力と理解し、マウスからの入力に応じた処理を実行する。つまり、処理部３２は、マウスによって示される位置座標を特定するとともに、位置座標の移動を把握する。また、処理部３２は、マウスのボタンが押し下げられているか否かを把握する。処理部３２は、このようなマウスの処理の結果をディスプレイ３４に表示してもよい。
【００１８】
図２は、エミュレーション装置１６の構成を示す。エミュレーション装置１６は、入力部５０、特定部５２、決定部５４、生成部５６、出力部５８を含む。特定部５２は、タイマ部６０、座標タイマ記憶部６２、座標比較部６４、タイマ比較部６６、判定部６８を含む。
【００１９】
入力部５０は、図１のタッチパネルコントローラ１４から、タッチパネル１２での検出結果を受けつける。前述のごとく、検出結果には、タッチパネル１２にタッチされた位置の情報である座標データが含まれている。図３は、タッチパネル１２における座標を示す。なお、これは座標の一例であり、これに限定されない。図示のごとく、左上端に原点（０，０）が最小座標として規定される。また、原点から左方向にｘ軸が規定され、原点から下方向にｙ軸が規定される。そのため、右下端が最大座標（Ｘｐ，Ｙｐ）となる。座標データは、図３の座標上に配置されており、絶対座標として示される。図２に戻る。入力部５０は、検出結果を特定部５２へ出力する。
【００２０】
特定部５２は、入力部５０からの検出結果を受けつける。特定部５２は、受けつけた検出結果をもとに、タッチパネルへのタッチの状態を特定する。特に、特定部５２は、タッチの状態として、タッチパネルへのタップがなされずにタッチがなされた状態であるか、タッチパネルへのタップに続いてタッチがなされた状態であるかを特定する。タイマ部６０は、検出結果の検出タイミング、つまりタッチパネル１２がタッチされたタイミング（以下、「タッチタイミング」という）を計測する。タイマ部６０は、タッチタイミングを座標タイマ記憶部６２、タイマ比較部６６へ出力する。座標タイマ記憶部６２は、タイマ部６０からのタッチタイミングを受けつけるとともに、入力部５０からの座標データを受けつける。タイマ比較部６６は、タッチタイミングと座標データとを記憶する。
【００２１】
タイマ比較部６６は、タイマ部６０からのタッチタイミングと、座標タイマ記憶部６２に記憶されたタッチタイミングとの間隔を導出する。座標タイマ記憶部６２に記憶されたタッチタイミングは、過去のタッチタイミングに相当する。そのため、タイマ比較部６６は、２回のタッチタイミングの間隔を導出するといえる。タイマ比較部６６は、導出した間隔としきい値とを比較する。タイマ比較部６６は、タップ間隔がしきい値以下である場合、タップありと決定し、タップ間隔がしきい値以下でない場合、タップなしと決定する。タイマ比較部６６は、決定の結果を判定部６８へ出力する。
【００２２】
座標比較部６４は、入力部５０からの座標データと、座標タイマ記憶部６２に記憶された座標データとの差分を導出する。座標タイマ記憶部６２に記憶された座標データは、過去の座標データに相当する。そのため、座標比較部６４は、２回のタッチにおける位置の差分を導出するといえる。座標比較部６４は、導出した差分としきい値とを比較する。座標比較部６４は、差分がしきい値以下でない場合、タップなしと決定する。座標比較部６４は、決定の結果を判定部６８へ出力する。
【００２３】
判定部６８は、タイマ比較部６６での決定結果を受けつけるとともに、座標比較部６４での決定結果も受けつける。判定部６８は、タイマ比較部６６あるいは座標比較部６４においてタップなしと決定した場合、タッチパネルへのタップがなされずにタッチがなされた状態であることを特定する。それ以外の場合、判定部６８は、タッチパネルへのタップに続いてタッチがなされた状態であることを特定する。つまり、特定部５２は、入力部５０において受けつけたふたつの検出結果が、タッチパネルの所定範囲内でのタッチであり、かつ所定期間内でのタッチである場合、タッチパネルへのタップに続いてタッチがなされた状態であることを特定する。判定部６８は、特定した状態を決定部５４へ出力する。
【００２４】
決定部５４は、判定部６８から、判定部６８において特定したタッチの状態、検出結果を受けつける。決定部５４は、特定したタッチの状態をもとに、エミュレートすべきコンピュータ２０におけるマウスボタンが押し下げられていない状態（以下、「第１状態」という）であるか、マウスボタンが押し下げられた状態（以下、「第２状態」という）であるかを決定する。具体的に説明すると、決定部５４は、タッチパネルへのタップがなされずにタッチがなされた状態を特定部５２が特定した場合、第１状態であることを決定し、タッチパネルへのタップに続いてタッチがなされた状態を特定部５２が特定した場合、第２状態であることを決定する。決定部５４において決定した状態が、前述の状態情報に相当する。決定部５４は、状態情報を出力部５８へ出力し、状態情報を出力部５８へ出力する。
【００２５】
生成部５６は、入力部５０からの検出結果を受けつける。生成部５６は、受けつけた検出結果をもとに、エミュレートすべきコンピュータ２０に対する座標情報を生成する。生成部５６は、検出結果に含まれた座標データ、つまり図３に示された座標データをもとに、エミュレートすべきコンピュータ２０に対する座標情報を生成する。これは、タッチパネル１２での座標をディスプレイ３４での座標に変換することに相当する。図４は、ディスプレイ３４における座標を示す。なお、これは座標の一例であり、これに限定されない。図示のごとく、左上端に原点（０，０）が最小座標として規定される。また、原点から左方向にｘ軸が規定され、原点から下方向にｙ軸が規定される。そのため、右下端が最大座標（Ｘｍ，Ｙｍ）となる。一般的に、最大座標（Ｘｍ，Ｙｍ）は、図３の最大座標（Ｘｐ，Ｙｐ）とは異なる。図２に戻る。
【００２６】
また、一般的に、マウスに対するコンピュータ２０のインターフェイスは、相対座標にて規定されている。相対座標は、絶対座標にて示された位置の時間変化、つまり位置の移動量を示す。
【００２７】
ここでは、生成部５６での処理を説明する前に、これまでなされている処理を先に説明する。タッチパネル１２でのタッチ位置の座標をそのままマッピングするのであれば、次のように示される。
Ｘｏｕｔｐｕｔ  ＝  （Ｘｍ  ×  Ｘｉｎｐｕｔ  ）／Ｘｐ
Ｙｏｕｔｐｕｔ  ＝  （Ｙｍ  ×  Ｙｉｎｐｕｔ  ）／Ｙｐ
タッチパネル１２のタッチ検出範囲から、ディスプレイ３４のターゲット画面へのＸ方向、Y方向変換比率（αｘ、αy）は、次のように示される。
αx  ＝  Ｘｍ  ／  Ｘｐ
αｙ  ＝  Ｙｍ  ／  Ｙｐ
この係数αx、αyを使用して相対座標を計算すれば、ターゲット画面に比例した相対座標が次のように得られる
ｄｘ  ＝  αｘ  ×  Ｘｉｎｐｕｔ
ｄｙ  ＝  αｙ  ×  Ｙｉｎｐｕｔ
【００２８】
しかしながら、このような変換を実行する場合、以下の３点で、ユーザにとって快適な座標入力が困難である。ひとつ目は、タッチパネル１２の精度あるいは処理装置１０の振動により、同じ座標をタッチできないことである。ふたつ目は、タッチパネル１２でのドラッグ処理中に誤差累積、通信路での相対座標情報欠落により、タッチ検出境界に達しているにも関わらずターゲット画面の相当する境界に到達しないことである。３つ目は、タッチパネル１２の実装構造によりタッチ検出の端の座標を入力が困難である場合が多いことである。
【００２９】
これらに対応するために、生成部５６は、座標データの差がＺより小さい場合、ディスプレイ３４上の座標データの相対座標を「０」とする。ディスプレイ３４上の座標データの相対座標が前述の座標情報である。また、生成部５６は、変換の対応関係の傾きαを相対座標の大きさに応じて変化させる。例えば、生成部５６は、傾きを２段階係数をとし、閾値Ｔより小さい場合に傾きβを使用し、閾値Ｔ以上の場合にγを使用する。ここで、０＜β≦α≦γであるとする。
【００３０】
図５は、生成部５６における変換の対応関係を示す。図中の横軸はタッチ相対座標を示し、これは、タッチパネル１２での座標に対する相対座標に相当する。また、図中の縦軸はターゲット相対座標を示し、これは、ディスプレイ３４での座標に対する相対座標に相当する。なお、参考のために、比較対象となるこれまでの傾きαも示している。図２に戻る。
【００３１】
これとは別に、生成部５６は、変換の対応関係として２次曲線を使用してもよい。図６は、生成部５６における変換の別の対応関係を示す。図示のごとく、タッチ相対座標が大きくなるにつれて、傾きも大きくなる。ここでも、参考のために、比較対象となるこれまでの傾きαも示している。図２に戻る。このように、生成部５６は、タッチパネル１２にタッチされた位置の座標データのふたつの差分から、エミュレートすべきコンピュータ２０に対する座標情報であって、かつ差分値として示された座標情報への変換を実行している。さらに、生成部５６は、位置の座標データのふたつの差分の大きさに応じて、変換の対応関係を変える。生成部５６は、座標情報を出力部５８へ出力する。
【００３２】
出力部５８は、生成部５６からの座標情報を受けつけるとともに、決定部５４からの状態情報を受けつける。出力部５８は、座標情報と状態情報とひとつのパケット信号に格納する。出力部５８は、パケット信号を送信する。その際、無線通信あるいは有線通信が使用されるが、公知の技術が使用されればよいので、ここでは説明する。このように、出力部５８は、状態情報を出力するとともに、座標情報も出力する。なお、座標情報と状態情報とは、別々に送信されてもよい。
【００３３】
この構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ハードウエアとソフトウエアの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００３４】
以上の構成によるエミュレーションシステム１００の動作を説明する。図７は、エミュレーション装置１６によるエミュレーション手順を示すフローチャートである。エミュレーション装置１６は、初期化を実行する（Ｓ１０）。特定部５２は、タッチ入力処理を実行する（Ｓ１２）。特定部５２は、タップ判定処理を実行する（Ｓ１４）。生成部５６は、相対座標を計算する（Ｓ１６）。出力部５８は、移動情報送信を実行する（Ｓ１８）。終了でなければ（Ｓ２０のＮ）、次検出時間待ちが実行されて（Ｓ２２）、ステップ１２に戻る。終了であれば（Ｓ２０のＹ）、処理は終了される。
【００３５】
図８は、初期化ステップの手順を示すフローチャートである。これは、図７のステップ１０に相当する。情報が初期化される（Ｓ３０）。これは、変数がリセットされることに相当する。
【００３６】
図９は、タッチ入力処理ステップの手順を示すフローチャートである。これは、図７のステップ１２に相当する。特定部５２は、ＸｉｎｐｕｔにタッチＸ座標を代入し、ＹｉｎｐｕｔにタッチＹ座標を代入する（Ｓ４０）。図１０は、タッチ入力処理で入力される変数を示す。
【００３７】
図１１は、タップ判定処理ステップの手順を示すフローチャートである。これは、図７のステップ１４に相当する。タイマ比較部６６は、タイマ比較を実行する（Ｓ５０）。座標比較部６４は、座標比較を実行する（Ｓ５２）。座標タイマ記憶部６２は、座標タイマ記憶を実行する（Ｓ５４）。
【００３８】
図１２は、タイマ比較ステップの手順を示すフローチャートである。これは、図１１のステップ５０に相当する。タイマ比較部６６は、タイマ値を読み込む（Ｓ６０）。タップ間隔がしきい値以下である場合（Ｓ６２のＹ）、タイマ比較部６６は、ボタンが押されていると判定する（Ｓ６４）。タップ間隔がしきい値以下でない場合（Ｓ６２のＮ）、タイマ比較部６６は、ボタンが押されていないと判定する（Ｓ６６）。
【００３９】
図１３は、座標比較ステップの手順を示すフローチャートである。これは、図１１のステップ５２に相当する。タッチＸ差分がしきい値以下でない場合（Ｓ７０のＮ）、座標比較部６４は、ボタンが押されていないと判定する（Ｓ７４）。タッチＸ差分がしきい値以下であり（Ｓ７０のＹ）、タッチＹ差分がしきい値以下でない場合（Ｓ７２のＮ）、座標比較部６４は、ボタンが押されていないと判定する（Ｓ７４）。タッチＹ差分がしきい値以下である場合（Ｓ７２のＹ）、ステップ７４はスキップされる。
【００４０】
図１４は、座標タイマ記憶ステップの手順を示すフローチャートである。これは、図１１のステップ５４に相当する。座標タイマ記憶部６２は、タイマ値を読み込む（Ｓ８０）。座標タイマ記憶部６２は、タッチ座標を記憶する（Ｓ８２）。
【００４１】
図１５は、相対座標計算ステップの手順を示すフローチャートである。これは、図７のステップ１６に相当する。生成部５６は、座標差分を計算する（Ｓ９０）。図１６は、相対座標計算で使用する情報を示す。図１５に戻る。Ｘ座標が零閾値以下であれば（Ｓ９２のＹ）、生成部５６は、Ｘ座標相対値を０にする（Ｓ９４）。Ｘ座標が零閾値以下でない場合（Ｓ９２のＮ）、Ｘ座標が閾値Ｔｘ以下であれば（Ｓ９６のＹ）、生成部５６は、傾きβｘで計算する（Ｓ９８）。Ｘ座標が閾値Ｔｘ以下でなければ（Ｓ９６のＮ）、生成部５６は、傾きγｘで計算する（Ｓ１００）。Ｙ座標が零閾値以下であれば（Ｓ１０２のＹ）、生成部５６は、Ｙ座標相対値を０にする（Ｓ１１０）。Ｙ座標が零閾値以下でない場合（Ｓ１０２のＮ）、Ｙ座標が閾値Ｔｙ以下であれば（Ｓ１０４のＹ）、生成部５６は、傾きβｙで計算する（Ｓ１０８）。Ｙ座標が閾値Ｔｙ以下でなければ（Ｓ１０４のＮ）、生成部５６は、傾きγｙで計算する（Ｓ１０６）。
【００４２】
図１７は、移動情報送信ステップの手順を示すフローチャートである。これは、図７のステップ１８に相当する。出力部５８は、状態情報であるボタン状態と、相対Ｘ座標、相対Ｙ座標とをパケット信号へフォーマット変化する（Ｓ１２０）。パケット信号は移動情報ともよばれる。図１８は、移動情報送信で入力される情報を示す図である。図１７に戻る。出力部５８は、移動情報を通信路に出力する（Ｓ７２）。
【００４３】
図１９は、次検出時間待ちステップの手順を示すフローチャートである。これは、図７のステップ２２に相当する。検出タイマ満了またはタッチ割り込み待ちが検出される（Ｓ１３０）。
【００４４】
図２０は、コンピュータにおけるマウス処理の手順を示すフローチャートである。これは、図１の処理部３２における処理に相当する。処理部３２は、移動情報の受信を待つ（Ｓ１４０）。処理部３２は、移動情報を取得する（Ｓ１４２）。処理部３２は、移動情報を処理する（Ｓ１４４）。終了でなければ（Ｓ１４６のＮ）、ステップ１４０へ戻る。一方、終了であれば（Ｓ１４６のＹ）、処理は終了される。
【００４５】
本発明の実施例によれば、タッチの前にタップがなされたか否かをもとに、マウスのボタンが押し下げられた否かを決定するので、タッチパネルへの操作によって、マウスを押し下げていない状態の座標入力をエミュレートできる。また、マウスを押し下げていない状態の座標入力がエミュレートされるので、マウスを押し下げていない状態の操作がコンピュータにおいて必要になる場合であっても、コンピュータとは別に構成された処理装置のタッチパネルによってコンピュータを操作できる。また、コンピュータとは別に構成された処理装置のタッチパネルによってコンピュータが操作されるので、ユーザの利便性を向上できる。また、タッチの前にタップがなされたか否かをもとに、マウスのボタンが押し下げられた否かを決定するので、処理を簡易にできる。また、ボタンが押し下げられているか否かの情報と、座標情報とをコンピュータへ出力するので、コンピュータとは別に構成された処理装置のタッチパネルによってコンピュータを操作できる。また、差分の大きさに応じて、変換の対応関係を変えるので、誤差の影響を低減できる。
【００４６】
（実施例２）
次に、実施例２を説明する。実施例２も、実施例１と同様に、タッチパネルへの入力によって、コンピュータのマウス操作をエミュレートするエミュレーションシステムに関する。実施例２は、実施例１のエミュレーションシステムに対する追加機能である。まず、前提となる技術を説明する。タッチパネルにタッチされた位置の座標データは絶対座標であり、マウスのエミュレーションにて使用される座標情報は相対座標である。ここでは、座標の変換に関して、これまでの技術をまず説明する。相対座標に変換するためには、ひとつ前に検出したタッチの座標データを記録し、現在のタッチの座標データからそれを下記のように減算する。
ｄｘ  ＝  Ｘｎｅｗ  −  Ｘｏｌｄ
ｄｙ  ＝  Ｙｎｅｗ  −  Ｙｏｌｄ
また、ひとつ前に検出したタッチの座標データは、初期化時に０とされる。
Ｘｏｌｄ  ＝  ０
Ｙｏｌｄ  ＝  ０
【００４７】
しかしながら、無線通信等においてエラーが発生し、データが欠落する環境では、相対座標で情報を送信した場合、処理装置側での絶対座標と通信先のコンピュータでは、双方での座標に差が発生する。例えば、コンピュータの画面をタッチパネルにオーバーレイしボタンを押下しようとした際に、コンピュータ側では該当ボタンに到達しない可能性がある。また、タッチパネル１２にタッチされた位置の座標データと、マウスのエミュレーションにて使用される座標情報のズレを補正する方法がないので、通信路の障害で座標差が発生したら誤差は累積する一方である。さらに、コンピュータ側では操作性を向上させる目的で相対座標をそのままマッピングせずに、観測間隔での相対移動量の絶対値により加速処理を実施し、タッチパネル側では対象となる座標情報がどの位置にあるかが予測できず、ユーザがタッチ操作実施するのに困難な状態に陥っていた。
【００４８】
一方、タッチパネルの特性として、（１）ユーザがタッチ入力しない状態、つまりタッチパネルを操作していない時間がある。ただし、（２）ダブルタッチなどのように、一旦、入力がなくなり再度同じ座標が入力される場合がある。さらに、（３）短い時間間隔で別の座標の入力される場合もある。実施例２では、(１)と(３)の場合に、タッチパネル側およびコンピュータ側の双方を初期化する。具体的には、タッチパネルへ入力の有無、その時間間隔、座標をもとに、初期化のタイミングが検出される。また、初期化のタイミングで保存している座標データが初期化される。さらに、初期化のタイミングでコンピュータ側でも初期化するような情報が送信される。実施例２に係るエミュレーションシステム１００は、図１と同様のタイプである。ここでは、差異を中心に説明する。
【００４９】
図２１は、本発明の実施例２に係るエミュレーション装置１６の構成を示す。エミュレーション装置１６は、図２にリセット部７０を追加した構成に相当する。リセット部７０は、入力部５０において受けつけた検出結果の間隔に応じて、座標タイマ記憶部６２に記憶した座標データ、つまり過去の位置の情報をリセットする。具体的に説明すると、前回のタッチタイミングから次のタッチタイミングまでの間隔がしきい値以上なれば、座標タイマ記憶部６２に記憶した座標データを初期化する。初期化によって、座標タイマ記憶部６２に記憶した座標データは、例えば（０，０）にされる。また、リセット部７０においてリセットがなされると、生成部５６は、座標情報として、（−Ｘｍ，−Ｙｍ）を出力する。
【００５０】
図２２は、エミュレーション装置１６によるエミュレーション手順を示すフローチャートである。エミュレーション装置１６は、初期化を実行する（Ｓ１６０）。特定部５２は、タッチ入力処理を実行する（Ｓ１６２）。リセット部７０は、リセット判定を実行する（Ｓ１６４）。特定部５２は、タップ判定処理を実行する（Ｓ１６６）。生成部５６は、相対座標を計算する（Ｓ１６８）。出力部５８は、リセット送信を実行する（Ｓ１７０）。出力部５８は、移動情報送信を実行する（Ｓ１７２）。終了でなければ（Ｓ１７４のＮ）、次検出時間待ちが実行されて（Ｓ１７６）、ステップ１６２に戻る。終了であれば（Ｓ１７４のＹ）、処理は終了される。
【００５１】
図２３は、リセット判定ステップの手順を示すフローチャートである。これは、図２２のステップ１６４に相当する。座標リセット済でなければ（Ｓ１９０のＮ）、リセット部７０は、タイマ値を取得する（Ｓ１９２）。図２４は、リセット判定で使用する情報を示す。図２３に戻る。前回タッチからＲ時間以上経過していれば（Ｓ１９４のＹ）、リセット部７０は、リセットフラグをＯＮにし（Ｓ１９６）、座標を初期化する（Ｓ１９８）。座標リセット済であれば（Ｓ１９０のＹ）、あるいは前回タッチからＲ時間以上経過していなければ（Ｓ１９４のＮ）、処理は終了される。
【００５２】
図２５は、リセット送信ステップの手順を示すフローチャートである。これは、図２２のステップ１７０に相当する。座標リセット済であれば（Ｓ２１０のＹ）、相対座標補正部８４は、ターゲット座標を初期化する（Ｓ２１２）。出力部５８は、移動情報を送信する（Ｓ２１４）。リセットフラグはＯＦＦにされる（Ｓ２１６）。座標リセット済でなければ（Ｓ２１０のＮ）、処理は終了される。
【００５３】
本発明の実施例によれば、タッチの間隔が大きくなると、リセットを実行するので、累積誤差の影響を低減できる。また、座標情報として、（−Ｘｍ，−Ｙｍ）を出力するので、ディスプレイの原点を指定できる。
【００５４】
（実施例３）
次に、実施例３を説明する。実施例３も、これまでと同様に、タッチパネルへの入力によって、コンピュータのマウス操作をエミュレートするエミュレーションシステムに関する。実施例３は、実施例１のエミュレーションシステムに対する追加機能である。まず、前提となる技術を説明する。タッチパネルに入力された座標は、絶対座標であるので、これが相対座標に順次変換され、送信される。他方、タッチパネルから制御できないコンピュータ側では、コンピュータの処理能力に応じて相対座標から絶対座標への変換を実行する。送信情報には、時間情報が含まれておらず、コンピュータ側で処理した時間でダブルタッチ等が判定されている。コンピュータにおいてすべての処理が遅滞なく処理されている場合には、この実装でも問題は発生しない。
【００５５】
しかしながら、無線通信等の通信路が不安定な状況になって遅延が発生したり、コンピュータの処理に遅延が発生したりすると、誤認識、誤動作が発生しうる。特に、ダブルタッチ入力においては、ユーザのタッチによるふたつの座標の誤差がコンピュータ側での処理タイミングで増大する。その結果、本来認識すべきダブルタッチではなく、別座標のシングルタッチ２回と誤認識される現象が発生する。これに対応するために、実施例３では、タッチパネル入力側でダブルタッチを認識する。また、コンピュータ側で誤認識しにくいフォーマットに加工し送信する。実施例３に係るエミュレーションシステム１００は、図１と同様のタイプである。ここでは、差異を中心に説明する。
【００５６】
図２６は、本発明の実施例３に係るエミュレーション装置１６の構成を示す。エミュレーション装置１６は、図２に補正部８０を追加した構成に相当する。補正部８０は、同一座標判定部８２、相対座標補正部８４、相対座標タイマ記憶部８６を含む。同一座標判定部８２は、前回の座標情報と、新たな座標情報との時間間隔がしきい値よりも短く、かつ両者の誤差がしきい値以下である場合、ダブルタッチがなされていると判定する。一方、これらの条件が満たされない場合、同一座標判定部８２は、２回の独立したタッチであると判定する。
【００５７】
相対座標補正部８４は、同一座標判定部８２において２回の独立したタッチであると判定された場合、生成部５６からの座標情報をそのまま出力部５８へ出力する。一方、相対座標補正部８４は、同一座標判定部８２においてダブルタッチがなされていると判定された場合、生成部５６からの座標情報を補正してから出力部５８へ出力する。例えば、相対座標補正部８４は、座標情報をゼロに補正する。つまり、補正部８０は、生成部５６において生成した座標情報での差分値がしきい値以下である場合、差分値がゼロになるように座標情報を補正する。
【００５８】
図２７は、補正部８０の動作概要を示す。横軸が時間を示し、縦軸がＯＮとＯＦＦとを示す。ここで、ＯＮは、タッチ状態に相当する。時間Ｔ１からが前タッチに相当し、時間Ｔ２からがリリースに相当し、時間Ｔ３からが現タッチに相当する。時間Ｔ２から時間Ｔ３までの経過時間が、ダブルタッチか否かを判定するための期間である。
【００５９】
図２８は、エミュレーション装置１６によるエミュレーション手順を示すフローチャートである。エミュレーション装置１６は、初期化を実行する（Ｓ２３０）。特定部５２は、タッチ入力処理を実行する（Ｓ２３２）。特定部５２は、タップ判定処理を実行する（Ｓ２３４）。生成部５６は、相対座標を計算する（Ｓ２３６）。同一座標判定部８２は、同一座標判定を実行する（Ｓ２３８）。相対座標補正部８４は、相対座標補正を実行する（Ｓ２４０）。出力部５８は、移動情報送信を実行する（Ｓ２４２）。終了でなければ（Ｓ２４４のＮ）、次検出時間待ちが実行されて（Ｓ２４６）、ステップ２３２に戻る。終了であれば（Ｓ２４４のＹ）、処理は終了される。
【００６０】
図２９は、同一座標判定ステップの手順を示すフローチャートである。これは、図２８のステップ２３８に相当する。同一座標判定部８２は、タイマ値を取得する（Ｓ２７０）。図３０は、同一座標判定で使用する情報を示す。図２９に戻る。前回座標記録からＴｄｉｆ経過すれば（Ｓ１７２のＹ）、同一座標判定部８２は、同一フラグをＯＦＦにする（Ｓ２７８）。前回座標記録からＴｄｉｆ経過せず（Ｓ１７２のＮ）、座標値が同一でなければ（Ｓ２７４のＮ）、同一座標判定部８２は、同一フラグをＯＦＦにする（Ｓ２７８）。座標値が同一であれば（Ｓ２７４のＹ）、同一座標判定部８２は、同一フラグをＯＮにする（Ｓ２７６）。
【００６１】
図３１は、同一座標補正ステップの手順を示すフローチャートである。これは、図２８のステップ２４０に相当する。相対座標タイマ記憶部８６は、相対座標タイマ記憶を実行する（Ｓ２９０）。同一フラグがＯＮであれば（Ｓ２９２のＹ）、相対座標補正部８４は、装置情報をクリアする（Ｓ２９４）。同一フラグがＯＮでなければ（Ｓ２９２のＮ）、処理は終了される。
【００６２】
図３２は、同一座標タイマ記憶ステップの手順を示すフローチャートである。これは、図３１のステップ２９０に相当する。ボタン押下状態であれば（Ｓ２６０のＹ）、座標タイマ記憶部６２は、タイマ値を取得し（Ｓ２６２）、相対情報を保存する（Ｓ２６４）。ボタン押下状態でなければ（Ｓ２６０のＮ）、処理が終了される。
【００６３】
本発明の実施例によれば、タッチの位置と間隔を使用するので、ダブルタッチを正確に判定できる。ダブルタッチの場合、座標情報をゼロにするので、ダブルタッチを通知できる。また、ダブルタッチを通知するので、誤認識による誤動作の発生を軽減できる。
【００６４】
（実施例４）
次に、実施例４を説明する。実施例４も、これまでと同様に、タッチパネルへの入力によって、コンピュータのマウス操作をエミュレートするエミュレーションシステムに関する。実施例４は、実施例２と実施例３との組合せに相当する。実施例４に係るエミュレーションシステム１００は、図１と同様のタイプである。ここでは、差異を中心に説明する。
【００６５】
図３３は、本発明の実施例４に係るエミュレーション装置１６の構成を示す。図示のごとく、エミュレーション装置１６は、図２１と図２６との組合せである。
【００６６】
図３４は、エミュレーション装置１６によるエミュレーション手順を示すフローチャートである。エミュレーション装置１６は、初期化を実行する（Ｓ３１０）。特定部５２は、タッチ入力処理を実行する（Ｓ３１２）。リセット部７０は、リセット判定を実行する（Ｓ３１４）。特定部５２は、タップ判定処理を実行する（Ｓ３１６）。生成部５６は、相対座標を計算する（Ｓ３１８）。出力部５８は、リセット送信を実行する（Ｓ３２０）。同一座標判定部８２は、同一座標判定を実行する（Ｓ３２２）。相対座標補正部８４は、相対座標補正を実行する（Ｓ３２４）。出力部５８は、移動情報送信を実行する（Ｓ３２６）。終了でなければ（Ｓ３２８のＮ）、次検出時間待ちが実行されて（Ｓ３３０）、ステップ３１２に戻る。終了であれば（Ｓ３２８のＹ）、処理は終了される。
【００６７】
本発明の実施例によれば、実施例１から３を組み合わせた効果が得られる。
【００６８】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６９】
本発明の実施例において、コンピュータ２０におけるマウスとのインターフェイスの仕様にあわせて、座標情報が相対座標であるとしている。しかしながらこれに限らず例えば、コンピュータ２０におけるマウスとのインターフェイスの仕様が絶対座標である場合、生成部５６は、絶対座標である座標情報を生成してもよい。本変形例によれば、コンピュータ２０におけるマウスとのインターフェイスの仕様が多様であっても、エミュレーションを実行できる。
【符号の説明】
【００７０】
１０  処理装置、  １２  タッチパネル、  １４  タッチパネルコントローラ、  １６  エミュレーション装置、  １８  処理部、  ２０  コンピュータ、  ３２  処理部、  ３４  ディスプレイ、  ５０  入力部、  ５２  特定部、  ５４  決定部、  ５６  生成部、  ５８  出力部、  ６０  タイマ部、  ６２  座標タイマ記憶部、  ６４  座標比較部、  ６６  タイマ比較部、  ６８  判定部、  １００  エミュレーションシステム。
【図１】
2015148908.tif 000003
【図２】
2015148908.tif 000004
【図３】
2015148908.tif 000005
【図４】
2015148908.tif 000006
【図５】
2015148908.tif 000007
【図６】
2015148908.tif 000008
【図７】
2015148908.tif 000009
【図８】
2015148908.tif 000010
【図９】
2015148908.tif 000011
【図１０】
2015148908.tif 000012
【図１１】
2015148908.tif 000013
【図１２】
2015148908.tif 000014
【図１３】
2015148908.tif 000015
【図１４】
2015148908.tif 000016
【図１５】
2015148908.tif 000017
【図１６】
2015148908.tif 000018
【図１７】
2015148908.tif 000019
【図１８】
2015148908.tif 000020
【図１９】
2015148908.tif 000021
【図２０】
2015148908.tif 000022
【図２１】
2015148908.tif 000023
【図２２】
2015148908.tif 000024
【図２３】
2015148908.tif 000025
【図２４】
2015148908.tif 000026
【図２５】
2015148908.tif 000027
【図２６】
2015148908.tif 000028
【図２７】
2015148908.tif 000029
【図２８】
2015148908.tif 000030
【図２９】
2015148908.tif 000031
【図３０】
2015148908.tif 000032
【図３１】
2015148908.tif 000033
【図３２】
2015148908.tif 000034
【図３３】
2015148908.tif 000035
【図３４】
2015148908.tif 000036