JP2017207868A - 情報処理装置、入力操作の判別方法、コンピュータプログラム - Google Patents
情報処理装置、入力操作の判別方法、コンピュータプログラム Download PDFInfo
- Publication number
- JP2017207868A JP2017207868A JP2016098970A JP2016098970A JP2017207868A JP 2017207868 A JP2017207868 A JP 2017207868A JP 2016098970 A JP2016098970 A JP 2016098970A JP 2016098970 A JP2016098970 A JP 2016098970A JP 2017207868 A JP2017207868 A JP 2017207868A
- Authority
- JP
- Japan
- Prior art keywords
- input
- movement
- coordinates
- information processing
- processing apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
【課題】入力位置の移動を伴うタッチ操作の追従性を低下させることなく、ユーザによるタッチ操作の誤判別を防止するタッチ操作の判別方法を提供する。【解決手段】タッチパネル111に対するユーザによる入力操作が、ムーブ操作か否かを判別するための基準値を記憶装置108又はRAM104に保持しておく。コンピュータ100は、入力操作に応じて移動する入力位置を取得し、この入力位置の入力が継続する時間の長さを含む当該入力位置の移動状況を特定する。そして、上記時間が所定時間よりも長い場合は、上記入力操作の判別前に、基準値を動的に変更し、直ちにムーブ操作と判別する。これにより、タッチ操作の追従性の低下を防止する。【選択図】図1
Description
本発明は、入力位置の移動を伴う所定の操作を受け付ける情報処理装置に関する。
この種の情報処理装置として、ユーザの指による入力操作を判別し、判別した入力操作に応じた動作を行うタッチパネル搭載の情報処理装置が普及している。指がタッチパネルの操作面に触れる操作は「タッチ操作」と呼ばれる。また、指をタッチパネルから離す操作は「リリース操作」、指がタッチパネルに触れた状態で、触れている位置を移動させる操作は「ムーブ操作」と呼ばれる。また、タッチパネル上の所望の領域を指で軽く叩く操作、すなわちタッチパネルに指が触れてから移動をせずに、すぐにタッチパネルから指を離す操作は「タップ操作」と呼ばれる。また、タッチパネルに指が触れている状態は「タッチオン状態」、触れていない状態は「タッチオフ状態」と呼ばれる。
このようなタッチパネル搭載の情報処理装置では、ユーザによる入力操作をいかに誤りなく判別できるかが、操作性に重大な影響を与える。この点に関し、特許文献1に開示された技術では、指がタッチパネルに触れてから一定時間が経過した場合、タップ操作やいわゆる長押し操作のような、移動を伴わない入力操作を無効にし、ムーブ操作のような移動を伴う入力操作だけの判別を行う。これにより、移動を伴わない入力操作と移動を伴う入力操作とを区別することができる。
このようなタッチパネル搭載の情報処理装置では、ユーザによる入力操作をいかに誤りなく判別できるかが、操作性に重大な影響を与える。この点に関し、特許文献1に開示された技術では、指がタッチパネルに触れてから一定時間が経過した場合、タップ操作やいわゆる長押し操作のような、移動を伴わない入力操作を無効にし、ムーブ操作のような移動を伴う入力操作だけの判別を行う。これにより、移動を伴わない入力操作と移動を伴う入力操作とを区別することができる。
特許文献1に開示された技術では、指がタッチパネルに触れた際、接触位置が変化し、ユーザがタッチ操作したつもりでもムーブ操作と誤って判別されることがある。このような判別の誤りを回避するために、タッチパネルに触れた初回の操作については、それが移動を伴う操作と判定するための判定距離を大きい値に設定することが考えられる。しかし、判定距離を大きい値にすると、判別の誤りは低減される反面、入力操作の追従性が低下するという問題がある。
このような問題は、タッチパネルに限らず、入力位置の座標の移動を伴う入力操作とそうでない入力操作との判別が困難な情報入力装置を用いる情報処理装置において共通に生じる。
このような問題は、タッチパネルに限らず、入力位置の座標の移動を伴う入力操作とそうでない入力操作との判別が困難な情報入力装置を用いる情報処理装置において共通に生じる。
本発明は、入力位置の移動を伴う入力操作の追従性を低下させることなく当該入力位置の移動を伴う入力操作を、入力位置の移動を伴わない操作と正しく判別することができる情報処理装置を提供することを主たる目的とする。
本発明の一態様によれば、ユーザによる入力操作が、入力位置の移動を伴う所定操作か否かを判別するための基準値を保持する保持手段と、前記入力操作に応じて移動する入力位置を取得する取得手段と、前記入力位置の入力が継続する時間の長さを含む当該入力位置の移動状況を特定する特定手段と、前記判別前に前記移動状況が所定条件を満たしたことに応じて前記基準値を動的に変更する変更手段と、を備えたことを特徴とする情報処理装置が得られる。
本発明の情報処理装置では入力位置の移動を伴う入力操作の追従性を低下させることなく当該入力位置の移動を伴う入力操作を、入力位置の移動を伴わない操作と正しく判別することができる。
以下、図面を参照して本発明の実施の形態例を説明する。
[第1実施形態]
図1は、第1実施形態に係る情報処理装置のハードウェア構成図である。情報処理装置は、CPU102、ROM103、RAM104、入力I/F105、出力I/F106、入出力I/F107を有するコンピュータ100と図示しないコンピュータプログラムとを構成要素として含む。バス101は、各構成要素を接続するためのアドレスバス、データバス及びコントロールバスである。
[第1実施形態]
図1は、第1実施形態に係る情報処理装置のハードウェア構成図である。情報処理装置は、CPU102、ROM103、RAM104、入力I/F105、出力I/F106、入出力I/F107を有するコンピュータ100と図示しないコンピュータプログラムとを構成要素として含む。バス101は、各構成要素を接続するためのアドレスバス、データバス及びコントロールバスである。
CPU(Central Processing Unit)102は、コンピュータプログラムを読み込んで実行することにより、バス101に接続された各構成要素の動作を制御する。CPU102は、図示しないタイマを内蔵する。RAM(Random Access Memory)104は、CPU102のワーク領域を有する書き換え可能なメモリである。RAM104は、また、エラー処理時の情報の退避領域、各種プログラム部品のロード領域なども有する。ROM(Read Only Memory)103は、上記コンピュータプログラム及びデータが記憶されている読み出し専用メモリである。上記コンピュータプログラムが後述する記憶装置108に記憶されている場合、当該コンピュータプログラムを読み出すための読み出し用プログラムをROM103に記憶しておく。
入力I/F105は、ユーザによる情報入力装置109の入力操作をバス101に入力するためのインタフェースである。出力I/F106は、バス101に存在する各種情報を情報出力装置110に出力するためのインタフェースである。入出力I/F107は、バス101と記憶装置108との間で各種情報の受け渡しを行うインタフェースである。記憶装置108は、HDD(Hard Disk Drive)などで構成される。記憶装置108には、後述する各種機能部の動作により生じた情報、ユーザによる入力操作を受け付ける操作面の大きさを表す情報(便宜上、「操作面情報」という)などのほか、後述する複数の基準値が動的に変更可能な形態で保持される。「動的に変更」とは、固定的でなく移動状況に応じて適宜変更されるという意味である。
情報入力装置109は、ユーザによる入力操作を受け付けるデバイスである。情報出力装置110は、情報入力装置109から入力された情報やCPU102で処理された情報などを出力するデバイスである。本実施形態では、情報入力装置109と情報出力装置110とが一体化されたタッチパネル111を用いる場合の例を示す。ただし、本発明は、ユーザによる入力操作により、操作された位置又は当該位置を表す座標を移動させるデバイスであれば実施が可能であり、各デバイスは上記例に限定されない。例えば、情報入力装置109として、マウス、トラックボール、キーボード、物理ボタンなどを用いることができる。また、赤外線センサ、光センサ、超音波センサなどの非接触式のセンサを情報入力装置109として用いることもできる。情報入力装置109には、圧力センサ、温度センサなども含めて使用することもできる。また、情報出力装置110は、液晶ディスプレイ、CRTディスプレイ、プロジェクタなどを用いることもできる。
タッチパネル111は、ユーザが入力操作をするための操作面をタッチパネルディスプレイとしたデバイスである。操作面には、互いに直交するX軸、Y軸が定義され、操作面情報は、それぞれX軸の最大/最小座標とY軸の最大/最小座標として記憶装置108に記憶されている。また、操作面上でユーザの指が接触する部分を入力位置として検知する。入力位置の座標は、操作面情報が表す操作面の大きさに対する相対座標(X座標,Y座標)として取得され、RAM104に保持される。ユーザによって入力操作された位置が移動されることで、座標の移動が検出される。タッチパネル111は、ユーザによる入力操作に応じたタッチ状態を表す情報(以下、「タッチ状態情報」という)、あるいは、タッチ状態情報と属性情報とのセットを所定間隔で1回ずつ出力する。所定間隔は、例えばコンピュータ100から出力されるクロックに従う20ms(ミリ/秒、以下同じ)間隔である。
タッチ状態情報は、タッチパネル111の操作面に対してタッチオン状態であるかタッチオフ状態であるかを表す情報である。タッチオン状態の場合、タッチ状態情報は、ユーザの指が操作面に触れている位置の座標(適宜、「タッチ座標」ないし「入力位置」と呼ぶ)を表すものとなる。タッチオン状態で指が移動する場合、それに応じてタッチ座標、すなわち入力位置も移動する。属性情報は、入力操作の属性、例えば、タッチパネル111の操作面に対する指の接触面積、指による操作面への操作圧力又は入力操作時の温度を表す情報である。属性情報は、タッチ状態情報と共に、あるいはタッチ状態情報に代えて、上記の基準値を動的に変更するために用いられる。属性情報を用いた場合の例については、第3実施形態で説明する。
図2は、第1実施形態に係る情報処理装置の機能構成図である。情報処理装置は、CPU102がコンピュータプログラムを読み込んで実行することにより、コンピュータ100を取得部201、特定部202、変更部203、操作判別部204、制御部205として機能させる。取得部201は、タッチパネル111からタッチ状態情報又は属性情報を取得する。取得部201は入力操作が継続する時間を計測するタイマ(CPU102のタイマ)を使用する。すなわち、取得したタッチ状態情報がタッチオン状態を表す場合、タイマを起動させ、タイマフラグをオンにする。また、タイマフラグがオンの状態でタッチオフ状態を表すタッチ状態情報を取得するとタイマを終了し、タイマフラグをオフにする。タイマフラグ、取得したタッチ状態情報及び属性情報は、RAM104に保持される。
特定部202は、取得部201を通じてRAM104に保持されたタッチ状態情報、属性情報及びタイマフラグなどを用いて、指による入力位置の移動状況を特定し、RAM104に保持する。移動状況は、入力操作、特にタッチオン状態が継続する時間、入力位置の移動量・移動方向などにより特定される。タッチ座標は、所定間隔である20ms毎に1回入力されるため、移動量は移動回数と同義であり、連続して単調増加(加算)または単調減少(減算)する移動回数で表される。取得部201は、また、保持されたタッチ座標と新たに取得されたタッチ座標とを比較することにより入力位置の移動方向を特定する。
変更部203は、特定部202で特定された入力位置の移動状況が所定条件を満たすときに、上記の基準値を動的に変更する。第1実施形態では、所定操作をムーブ操作とし、基準値をムーブ判定距離とする。所定条件は、検出する移動状況に応じて決められる。例えば、入力操作が継続する時間(タイマで計測された時間=タイマフラグがオンとなっている時間)が所定時間以上のときに所定条件を満たすと判定する。この時間は、初回の操作時点からの経過時間、すなわち、指がタッチパネル111の操作面に接触し始めた時点からの、接触が継続されている状態の経過時間である。この場合の所定時間は、一般的にはそれだけ長いとタップ操作など、移動を伴わないタッチ操作である可能性は低いとみなすことができる時間を設定することになる。すなわち、それだけ長い入力は、入力位置を移動させるムーブ操作である可能性が高いので、「ムーブ判定距離」を小さく変更する。
また、入力位置の移動方向及び移動回数を移動状況に含めることもできる。この場合、変更部203は、所定時間内に入力位置が一様な方向に移動したことが検知された回数(移動回数)が所定値以上になったとき、所定条件を満たすと判定する。所定値は、例えば5回とする。つまり移動回数が、所定時間内に同一方向への移動が5回以上続いた場合に、所定条件を満たすと判定される。ここで同一方向への移動とは、ムーブ判定距離以上の移動があったかによらず、X座標,Y座標が単調増加あるいは単調減少するような移動である。なお、座標がある方向に移動したことを検出するため用いられる距離の閾値は「ムーブ判定距離」よりも十分小さい。
本実施形態では、20ms周期でタッチパネルから入力位置(タッチ座標)が取得される。従って、5回連続した移動の検出が行われるためには少なくとも最初の入力位置の取得から100msの時間が経過する。この間に、例えば様々な方向(一様ではない方向)への移動が検出される場合、ユーザは入力位置を移動させる意図はなく、一つの操作点を長押ししているつもりであるにも関わらず、検出される入力位置にブレが生じた等の可能性がある。それに比較すれば、連続して同じ方向への移動が検出されている場合、それは移動速度が遅いためにムーブ判定距離を超えにくいが、ユーザには明確に入力位置を移動させようとしている可能性が高い。また、入力位置の移動量(移動距離)を用いる判別方法として、連続した5回分の総移動距離が、所定値を超えたときに所定条件を満たすと判定することもできる。このときの所定値は、「ムーブ判定距離」の5倍よりは小さい値が設定される。ここで挙げた接触時間、座標の移動方向及び移動回数、移動距離の条件は、2つ以上を組み合わせて利用されてもよいし、いずれか1つだけが設定されてもよい。所定条件を満たすと判定した場合、変更部203は、RAM104に保持されている判定テーブルに基づいて「ムーブ判定距離」を動的に変更する。
本実施形態では、20ms周期でタッチパネルから入力位置(タッチ座標)が取得される。従って、5回連続した移動の検出が行われるためには少なくとも最初の入力位置の取得から100msの時間が経過する。この間に、例えば様々な方向(一様ではない方向)への移動が検出される場合、ユーザは入力位置を移動させる意図はなく、一つの操作点を長押ししているつもりであるにも関わらず、検出される入力位置にブレが生じた等の可能性がある。それに比較すれば、連続して同じ方向への移動が検出されている場合、それは移動速度が遅いためにムーブ判定距離を超えにくいが、ユーザには明確に入力位置を移動させようとしている可能性が高い。また、入力位置の移動量(移動距離)を用いる判別方法として、連続した5回分の総移動距離が、所定値を超えたときに所定条件を満たすと判定することもできる。このときの所定値は、「ムーブ判定距離」の5倍よりは小さい値が設定される。ここで挙げた接触時間、座標の移動方向及び移動回数、移動距離の条件は、2つ以上を組み合わせて利用されてもよいし、いずれか1つだけが設定されてもよい。所定条件を満たすと判定した場合、変更部203は、RAM104に保持されている判定テーブルに基づいて「ムーブ判定距離」を動的に変更する。
ここで、変更部203が参照する判定テーブルについて説明する。図6(a)は所定時間と移動量の所定値とを組み合わせた場合の例である。「初回のムーブ判定距離」は、初回の入力操作をムーブ操作と判別するための基準値であり、初期値として20dot(dot:距離の単位、以下同じ)が設定されている。図示の例では、指がタッチパネルの操作面に接触してからの経過時間が0ms〜99msの場合は初期値のままとする。経過時間が100ms〜199msの場合は、15dotに変更する。経過時間が200ms以上の場合は10dotに変更する。つまり、指がタッチパネル111の操作面に接触している時間が長いほど、タップ操作の可能性は低く、ムーブ操作である可能性が高い。そのため、初回のムーブ判定距離を小さい値(dot)に動的に変更する。また、初回のムーブ判定が行われた後も、図6(a)の規則に従い、継続してムーブ操作が入力されているかを判別するために用いる「ムーブ判定距離」が選択される。なお、図6(a)に例示した判定テーブルでは、ムーブ判定距離を3段階に分けているが、例えば5段階〜10段階に詳細に分けてもよい。図6(b)は初回のマルチ操作判定距離の判定テーブルである。これについては後述する。
操作判別部204は、指がタッチパネル111の操作面に触れてからその操作面上を移動した移動距離と図6(a)に例示された初回のムーブ判定距離とを比較することにより、入力操作がムーブ操作か開始されたかを判別する。前述した通り、変更部203によって初回のムーブ判定距離が、タッチ操作の判別前に変更される。操作判別部204は、ムーブ操作が開始されたかどうかの判別結果を制御部205に出力する。制御部205は、操作判別部204による判別結果に基づいて、情報出力装置110に出力する情報の内容を決定する。
次に、図3を参照して、第1実施形態に係る入力操作の判別方法について説明する。図3は、判別方法の全体処理の手順を示す。ユーザは、指でタッチパネル111の操作面を操作するものとする。ユーザの指が操作面に接触すると、タッチパネル111がタッチオン状態を表すタッチ状態情報を出力する。取得部201は、このタッチ状態情報によりタッチオン状態を検知し、タイマを起動して、タイマフラグをオンにする(S302)。取得部201は、タッチ状態情報に含まれるタッチオン状態となった位置の座標(タッチ座標)を取得し(S303)、移動距離を算出する際の始点の位置(基準)となる基準座標に今回取得した座標を設定し、それをRAM104に保持する。
特定部202は、RAM104に保持されている基準座標から今回取得したタッチ座標までの移動距離を算出する。変更部203は、基準値変更処理を実行する(S304)。この処理の詳細については、図4において後述する。その後、操作判別部204が、入力操作を判別する(S305)。具体的には、特定部202により算出された移動距離とS304によって変更されたムーブ判定距離とを比較する。算出された移動距離が初回のムーブ判定距離以上である場合、操作判別部204は、今回の入力操作をムーブ操作と判別する。そして、算出した移動距離を初期値の「0」にリセットし、基準座標を今回のタッチ座標に更新する。なお、初回の処理ではタッチオン状態の座標と基準座標とが同一であり、移動距離は「0」であるため、S305の処理はスキップされる。取得部201は、タッチ状態情報によりタッチオフ状態を検知すると(S306:Y)、タイマを終了し、タイマフラグをオフにして一連の処理を終了する(S307)。取得部201がタッチオフ状態を検知しない場合(S306:N)、S303に戻り、S304以降の処理を繰り返す。
次に、S304で実行される基準値変更処理について図4を参照して説明する。本実施形態では、入力位置の移動方向及び移動回数の条件と接触時間の条件とを組み合わせた判定結果に応じて、ムーブ判定距離を制御する。特に、移動方向及び移動回数の条件が満たされた場合にのみ、図6(a)に示した規則に沿ったムーブ判定距離の制御を行う。基準値変更処理(S304)では、まず、特定部202で入力位置の移動方向を特定する(S401)。移動方向の特定は、タッチ操作後のX座標とY座標がどの程度増加したか減少したかによって行う。このことを図5(a)〜(d)を参照して具体的に説明する。図5(a)〜(c)はユーザによる入力操作の例示図である。
図5(a)において、入力操作の開始点の位置501のX座標,Y座標は(110、150)である。この時点でタッチ操作が検知される。ムーブ判定距離500は、判定テーブルに開始点の位置501から半径20dot離れた距離が設定されている。図5(a)の例の場合、開始点の位置501から20ms後は位置502、40ms後は位置503、60ms後は位置504、80ms後は位置505にそれぞれ移動している。位置502のX座標,Y座標は(113、151)、位置503のX座標,Y座標は(116、150)、位置504のX座標,Y座標は(119、151)、位置505のX座標,Y座標は(122、151)である。
特定部202は、20ms毎に1回ずつ取得した各回の入力位置(X座標,Y座標)が前回と同一方向で移動しているかどうかを判定する(S402)。図5(a)の場合、位置502では開始点501からX座標、Y座標ともに正の方向に移動している。位置503では前回の位置502からX座標は増加、Y座標は減少している。つまり、X座標は正の方向に移動、Y座標は負の方向に移動している。位置504では、X座標は前回の位置503から正の方向、Y座標も正の方向に移動している。位置505では、X座標は前回の位置504から正の方向に移動しているが、Y座標は移動していない。
特定部202は、タッチ操作の位置(座標)が前回までの移動方向と同一方向に移動している場合(S402:Y)、RAM104に保持されている同一方向の移動回数をインクリメントする(S403)。前回と同一方向に移動していない場合(S402:N)、同一方向の移動回数を「0」とし、ムーブ判定距離500を初期値の20dotにリセットする(S404)。その後、変更部203は同一方向の移動回数が5回以上かどうかを判定する(S405)。5回以上の場合(S405:Y)、変更部203は、指がタッチパネル111の操作面に接触している時間(接触時間)を算出する。そして、算出結果に基づいて、ムーブ判定距離500を動的に変更し、呼び出し元の全体処理にリターンする。移動回数が5回未満の場合(S405:N)、変更部203はムーブ判定距離の変更は行わず、呼び出し元の全体処理にリターンする。タッチオフされずにタッチ操作が続く限り、2回目以降のS406の処理では、2回目以降のムーブ判定距離が決定される。タッチオフされることがなければ、接触時間は長くなっていくため、従来と同様、2回目以降の操作ではムーブ判定距離は小さくなるので、操作の追従性が高くなる。ユーザがムーブ操作の途中で移動方向を変更した場合、タッチオフされていなくても、S404でムーブ判定距離が初期値にリセットされる。
なお、S405では所定値を「5」の固定値とした場合の例を示したが、必ずしも固定値である必要はなく、ユーザが、任意の時点で任意の値に変更することができる。本実施形態では、座標の移動方向及び移動回数の条件が満たされた場合にのみ、図6(a)に示した規則に沿ったムーブ判定距離の制御を行う例を示した。ここで座標の検出周期は20msであり、所定値は「5」であるため、同一方向の移動が5回以上連続したという条件が満たされた時点で、必ず100ms以上の時間が経過している。従って、本実施形態で説明した例では、S406の判定結果で初期値と同じ20dotのムーブ判定距離が設定されることはない。しかしながら、例えば所定値が「3」とされた場合や座標の検出周期が短い場合には、座標の移動方向及び移動回数の条件が満たされた上で、ムーブ判定距離が初期値と同じになることもある。また、図6(a)に示した規則も一例に過ぎず、装置の環境や能力に応じた規則が設定されればよい。
なお、S405では所定値を「5」の固定値とした場合の例を示したが、必ずしも固定値である必要はなく、ユーザが、任意の時点で任意の値に変更することができる。本実施形態では、座標の移動方向及び移動回数の条件が満たされた場合にのみ、図6(a)に示した規則に沿ったムーブ判定距離の制御を行う例を示した。ここで座標の検出周期は20msであり、所定値は「5」であるため、同一方向の移動が5回以上連続したという条件が満たされた時点で、必ず100ms以上の時間が経過している。従って、本実施形態で説明した例では、S406の判定結果で初期値と同じ20dotのムーブ判定距離が設定されることはない。しかしながら、例えば所定値が「3」とされた場合や座標の検出周期が短い場合には、座標の移動方向及び移動回数の条件が満たされた上で、ムーブ判定距離が初期値と同じになることもある。また、図6(a)に示した規則も一例に過ぎず、装置の環境や能力に応じた規則が設定されればよい。
図5(b)は、開始点501から位置505までは図5(a)と同じであるが、位置506に至るまでX座標が正の方向に連続で5回移動した場合の例である。すなわち、位置506のX座標,Y座標は(125、150)であり、開始点501から100ms経過している。そのため、変更部203は、ムーブ判定距離を初期値の20dotから15dotに変更する。位置501(110、150)から位置506(125、150)は15dotの距離がある。移動距離が初回のムーブ判定距離以上であるため、タッチパネル111から位置506が出力された時点で、操作判別部204は、入力操作をムーブ操作と判別する。
図5(c)は、開始点501から4回目の位置505までは図5(a)と同じであるが、開始点の位置501から100ms後の位置507のX座標,Y座標が(120、147)となっている。つまり、前回の位置505から位置507へX座標が負の方向に反転している。そのため、変更部203は、変化前までRAM104に保持されていた移動回数を初期値である「0」に戻す。そのため、ムーブ判定距離の変更は行われない。なお、必ずしも反転に限らず、所定角度を超えて変化したときに移動回数を初期値に戻すようにしてもよい。
図5(c)は、開始点501から4回目の位置505までは図5(a)と同じであるが、開始点の位置501から100ms後の位置507のX座標,Y座標が(120、147)となっている。つまり、前回の位置505から位置507へX座標が負の方向に反転している。そのため、変更部203は、変化前までRAM104に保持されていた移動回数を初期値である「0」に戻す。そのため、ムーブ判定距離の変更は行われない。なお、必ずしも反転に限らず、所定角度を超えて変化したときに移動回数を初期値に戻すようにしてもよい。
図5(d)は図5(a)〜(c)のように時系列に変わる操作の位置501〜507、各位置の座標情報、及び各位置でのイベントの検出結果を示す検出テーブルである。イベントは、操作判別部204が判定した操作の内容である。この検出テーブルは、RAM104に保持され、随時変更される。
なお、第1実施形態ではX座標、Y座標が増加したか減少したかで移動方向を特定する場合の例について説明したが、移動方向の特定精度をより高めるために、角度を用いてもよい。例えば、タッチパネル111に触れた位置のX座標,Y座標が(X1、Y1)で、次に検知した位置のX座標,Y座標が(X2、Y2)であったとする。この場合、両位置の角度(tanθ=(Y2−Y1)/(X2−X1)から導出されるθ)を用いて移動方向の変化を判定するようにしてもよい。この場合、Y2−Y1の値が負であれば、Y座標に対して負の方向に操作が行われていることになるため、移動方向に180度を加算する。上記計算式から、角度を算出し、−45度〜45度の場合は右方向、45度〜135度の場合は上方向、135度〜225度の場合は左方向、225度から315度の場合は下方向と判定してもよい。
第1実施形態では、また、S401〜S405において、同一方向の移動回数が所定値(5回)以上になった場合に、その時点までの接触時間に応じてムーブ判定距離を変更しているが、この処理は省略しても構わない。つまり、接触時間に応じたムーブ判定距離の変更のみを実行したとしても、入力位置の移動を伴わないタップ操作と、入力位置の移動を伴うムーブ操作の判別を容易とする効果がある。ただし、同一方向の移動回数の条件を加えることで、接触時間が比較的長く、かつ、入力位置の移動を伴わない長押し操作などとの判別がより容易となる。また、第1実施形態では、所定操作としてムーブ操作を例としているが、これに限らない。1回目と2回目以降で判定距離を分けている処理であれば、本実施形態の実施は可能である。
以上のように、第1実施形態では、タッチパネル111の操作面と指との接触時間、指の移動方向及び移動量に応じて初回のムーブ判定距離を動的に変更する。例えば、接触時間が長い場合、タップ操作の可能性は低い。また例えば、さらに移動量が所定値を超えた場合、長押し操作の可能性は低い。従って、そのような場合には、ムーブ判定距離を短く変更することで、初回のムーブ操作の追従性の低下を防止することができる。
[第2実施形態]
次に、本発明の第2実施形態について説明する。なお、第1実施形態に準ずる箇所については、説明を省略する。第2実施形態では、複数の入力位置(操作点の座標)の移動を伴う入力操作を判別する場合の例を説明する。入力位置は2つ以上であるが、ここでは便宜上、ユーザの2本の指による2つの入力位置の例を説明する。一般に、同時期に2本の指でタッチパネルの操作面に触れ、つかむように指を近づけたり、遠ざけたりする操作は「ピンチ操作」と呼ばれる。ピンチ操作では2つの入力位置が近づいたり、遠ざかったりする。そのため、ピンチ操作かどうかを判別するために用いる基準値は、2つの入力位置間の距離となる。そこで、第2実施形態では、このような基準値を便宜上「マルチ操作判定距離」と呼ぶ。この「マルチ操作判定距離」は、第1実施形態で説明した「ムーブ判定距離」に代わるものである。
次に、本発明の第2実施形態について説明する。なお、第1実施形態に準ずる箇所については、説明を省略する。第2実施形態では、複数の入力位置(操作点の座標)の移動を伴う入力操作を判別する場合の例を説明する。入力位置は2つ以上であるが、ここでは便宜上、ユーザの2本の指による2つの入力位置の例を説明する。一般に、同時期に2本の指でタッチパネルの操作面に触れ、つかむように指を近づけたり、遠ざけたりする操作は「ピンチ操作」と呼ばれる。ピンチ操作では2つの入力位置が近づいたり、遠ざかったりする。そのため、ピンチ操作かどうかを判別するために用いる基準値は、2つの入力位置間の距離となる。そこで、第2実施形態では、このような基準値を便宜上「マルチ操作判定距離」と呼ぶ。この「マルチ操作判定距離」は、第1実施形態で説明した「ムーブ判定距離」に代わるものである。
第2実施形態に係る情報処理装置のハードウェア構成例及び機能構成例については、図1及び図2と同じである。第1実施形態との相違は、第2実施形態の場合の取得部201は、2本の指がタッチパネル111に触れた時の複数(2つ)の入力位置の座標を同時期に取得するように構成されていることである。同時期とは、例えばピンチ操作のように実質的に同時といえる場合を指す。また図6(a)は初回のムーブ判定距離の判定テーブルに代えて、図6(b)の判定テーブルを用いる点である。図6(b)の判定テーブルには、2本の指の各々の接触時間と各接触時間に応じて変更するマルチ操作判定距離が記憶装置108に設定されている。マルチ操作判定距離の初期値は20dotである。
図7は、第2実施形態に係る判別方法の全体処理の手順を示す。タッチパネル111は、2本の指が操作面に接触する操作を検知すると、それぞれのタッチオン状態を表すタッチ状態情報を出力する。取得部201は、このタッチ状態情報により、2点のタッチオン状態を検知し(S701)、RAM104に保持する。「2点のタッチオン状態」とは2本の指による2つの入力位置の各々のX座標,Y座標(タッチ座標)が取得された状態をいう。また、タイマを起動し、タイマフラグをオンにする(S702)。タイマフラグがオンの状態が継続する時間は、2本の指がタッチパネルの操作面に接触している時間となる。取得部201はまた、2点のタッチ座標をそれぞれ取得し(S703)、RAM104に保持する。取得部201は、また、1回目の処理では、2点間の距離をRAM104に保持する。これは、後述するピンチ操作を判別する際に、2点間が離れた距離(移動距離の一種)を算出するためである。
特定部202は、2本の指による入力操作に応じて移動する入力位置(タッチ座標)の移動状況を特定する。移動状況は、2本の指の接触時間、2点の入力位置の移動量・移動方向である。変更部203は、特定した移動状況に応じてマルチ操作判定距離変更処理を行う(S704)。この処理の詳細については後述する。操作判別部204は、マルチ操作判定距離に基づいて入力操作を判別する(S705)。具体的には、ユーザのタッチ操作がピンチ操作であるか否かを判別する。初回の処理では入力位置の移動量は「0」であるため、S704はスキップされる。取得部201は、タッチオフ状態を検知すると(S706:Y)、タイマを終了し、タイマフラグをオフにして一連の処理を終了する(S707)。タッチオフ状態を検知しない場合(S706:N)、S703に戻り、S704以降の処理を繰り返す。
S704のマルチ操作判定距離変更処理について図8を参照して説明する。まず、特定部202は、2点の移動方向すなわち2本の指が触れた操作面のタッチ座標の移動方向を特定する(S801)。移動方向の特定の仕方は第1実施形態と同様である。移動方向が特定されると、特定部202は各タッチ座標の移動方向が前回取得時と同一方向かどうかを判定する(S802)。同一方向の場合(S802:Y)、特定部202は、2点(各座標)が前回と同一方向に移動した移動回数をインクリメントし(S803)、RAM104に保持する。移動方向が前回と同一方向でない場合(S802:N)、マルチ操作判定距離を初期値の20dotにリセットし(S804)、2点が同一方向に移動した移動回数を「0」にする。
変更部203は、同一方向への移動回数が所定値、例えば5回以上になったかどうかを判定する(S805)。5回以上の場合(S805:Y)、変更部203は、RAM104に保持された2本の指の接触時間と、図6(b)の初回のマルチ操作判定距離の判定テーブルの情報とに基づいて、マルチ操作判定距離を動的に変更する。例えば、接触時間が200ms以上の場合、マルチ操作判定距離を初期値の20dotから10dotに動的に変更する。その後、呼び出し元の全体処理にリターンする(S806)。移動回数が所定値未満、例えば5回未満であれば(S805:N)、初回の「マルチ操作判定距離」の変更は行わず、そのまま呼び出し元の全体処理にリターンする。
このようにして、複数の入力位置の移動状況に応じた追従性で入力操作を判別する。
このようにして、複数の入力位置の移動状況に応じた追従性で入力操作を判別する。
なお、第2実施形態では、S801〜S805において、同一方向への移動回数が5回以上となった場合、「マルチ操作判定距離」の変更を行う例を示した。しかしながら、第1実施形態と同様、接触時間だけを移動状況の条件として用い入力操作の判別を行う場合、上記処理は省略しても構わない。また、取得した2つの入力位置の代表座標を決め、この代表座標の移動量を特定し、移動量が一定値を超えた場合、2点におけるタップ操作や長押し操作の可能性は低く、移動を伴うマルチタッチ操作の可能性が高い。そのため、マルチ操作判定距離を小さくしても入力操作の判別精度に影響を与えない。代表座標は、例えば2つの入力位置間の中点座標とすることができる。ただし、同時期に操作された2つの入力位置を結ぶ線上にある点であれば、どの座標でも構わない。これにより、速やかにピンチ操作と判別することが可能となる。
また、上述した操作面情報に対する上記中点座標の相対位置に応じてマルチ操作判定距離を変更自在にしてもよい。例えば、操作面座標の中央付近の領域で入力操作が開始されている場合、移動を伴うマルチタッチ操作の可能性が高いため、マルチ操作判定距離を小さくしてもよい。
また、上述した操作面情報に対する上記中点座標の相対位置に応じてマルチ操作判定距離を変更自在にしてもよい。例えば、操作面座標の中央付近の領域で入力操作が開始されている場合、移動を伴うマルチタッチ操作の可能性が高いため、マルチ操作判定距離を小さくしてもよい。
このように、第2実施形態によれば、例えば2本の指による長押し操作の場合は、マルチ操作判定距離が小さくなるので、入力操作の追従性の低下を防止することができる。また、誤ってピンチ操作と判別されることが防止されるので、精度の高い操作判別が可能となる。なお、第2実施形態ではピンチ操作を例に説明したが、例えば2本の指でタッチした位置が相対的に回転する「ローテート操作」、2本の指で並行移動する「マルチドラッグ操作」でも第2実施形態の適用は可能である。
[第3実施形態]
次に、本発明の第3実施形態について説明する。第1ないし第2実施形態に準ずる箇所については説明を省略する。第3実施形態では、属性情報(操作面に対する指の接触面積、指による操作面への操作圧力又は入力操作時の温度を表す情報等)に着目した判別方法について説明する。すなわち、属性情報が所定の属性条件を満たす場合は、入力位置の移動状況に関わらず、上記基準値を変更しない場合の例を説明する。
次に、本発明の第3実施形態について説明する。第1ないし第2実施形態に準ずる箇所については説明を省略する。第3実施形態では、属性情報(操作面に対する指の接触面積、指による操作面への操作圧力又は入力操作時の温度を表す情報等)に着目した判別方法について説明する。すなわち、属性情報が所定の属性条件を満たす場合は、入力位置の移動状況に関わらず、上記基準値を変更しない場合の例を説明する。
図9(a)は指90がタッチパネル111の操作面に軽く触れている状態、図9(b)は指90がタッチパネル111の操作面を強く押している図を示す。図9(a)の場合の接触面積91に対して、図9(b)における接触面積92は約2倍となっている。このように、タッチオンの状態で接触面積が大きく変化するのは、指が強く操作面に押しつけられたことを表す。一方で、ユーザがタッチパネル111の操作面を指で強く押すのは、ムーブ操作中よりも、1点をある程度長い時間以上タッチし続ける、いわゆる長押し操作が意図される場合が多い。従って、接触面積の変化が2倍を超えるような場合、ムーブ操作である可能性は低いとみなすことができる。そこで、第3実施形態では、このような状況では初回のムーブ判定距離の変更は行わないこととした。タッチパネルの方式によっては、操作面に対する指の接触面の形状が変わることで入力位置として検出される座標が移動してしまう場合がある。そのため、接触面積が大きく変化するとき、接触面の形状の変化を伴っていれば、ユーザが指の位置を動かす意図がないにも関わらず、座標の移動が検出されてしまう場合がある。それに対し、第3実施形態によれば、接触面積が大きくなったことに起因して入力位置の一様な方向への移動が検出されたとしても、十分に大きいムーブ判定距離を利用してムーブ判定を行うので、誤認識を低減できる。
第3実施形態における、ハードウェアの構成図、機能構成図は第1実施形態と同様、図1、図2に示される。第1実施形態との違いは、第2実施形態では、取得部201は、タッチパネル111の操作面における指90の面接触面積91,92を属性情報の一つとして取得し、特定部202が接触面積の変化量を特定することである。
図10は、第3実施形態における判別方法の全体処理の手順を示す。S1001〜S1003の処理の内容は第1実施形態のS301〜S303と同じである。取得部201は、接触面積を20ms毎に取得し(S1004)、RAM104に保持する。特定部202は、RAM104に保存されている接触面積と今回取得した接触面積とからその変化量を特定する(S1005)。この変化量が所定値以上の場合(S1005:Y)、操作判別部204は、直ちに入力操作を判別する(S1007)。具体的にはムーブ操作かどうかを判別する。一方、接触面積の変化量が所定値未満の場合(S1005:N)、変更部203は、基準値変更処理を行う(S1006)。基準値変更処理の内容は図4と同じである。その後の処理は、第1実施形態と同様である。
なお、図10の処理は、属性として操作面に対する指の接触面積の変化量を用いた場合の例であるが、例えば、入力操作の属性として、指による操作面への操作圧力又は入力操作時の温度を用いてもよい。この場合の属性条件は、これらの属性の変化量の閾値となる。
以上のように、第3実施形態では、入力位置の移動状況に関わらず、属性情報が所定の属性条件を満たすときは基準値を変更しないようにしたので、例えば、長押し操作がムーブ操作と誤って判別されることがなくなる。また、属性条件を満たした時点で入力操作の判別が可能となることから、入力操作の追従性の低下を防止することができる。
なお、各実施形態では、また、操作子がユーザの指やスタイラスペンであり、これらがタッチパネル111の操作面に触れる場合の例を説明したが、上述したとおり、これらの例に限らない。例えば、指がタッチパネルの操作面に触れずに操作する空間ジェスチャであったとしても、ユーザによる入力操作により入力位置が移動する態様であれば、本発明の判別方法の実施は可能である。空間ジェスチャやマウスを用いる場合など、入力にタッチパネルへのタッチが伴わない場合、移動状況の1つとして利用されるのは、接触時間ではないが、接触時間と同様、入力位置の入力が開始されてから入力が継続されている時間を表す入力時間を用いる。例えば、マウスボタンが押下されている時間や、ジェスチャ操作において指差し入力が検出され続けている時間などを入力時間として利用可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (12)
- ユーザによる入力操作が、入力位置の移動を伴う所定操作か否かを判別するための基準値を保持する保持手段と、
前記入力操作に応じて移動する入力位置を取得する取得手段と、
前記入力位置の入力が継続する時間の長さを含む当該入力位置の移動状況を特定する特定手段と、
前記判別前に前記移動状況が所定条件を満たしたことに応じて前記基準値を動的に変更する変更手段と、
を備えたことを特徴とする情報処理装置。 - 前記取得手段は、前記時間を計測するタイマを含んでおり、
前記変更手段は、前記タイマで計測された時間が所定時間を超えたときに前記基準値を動的に変更することを特徴とする、
請求項1に記載の情報処理装置。 - 前記特定手段は、前記入力位置の移動量を特定し、
前記変更手段は、当該移動量が所定値を超えたときに前記基準値を動的に変更することを特徴とする、
請求項2に記載の情報処理装置。 - 前記特定手段は、取得した入力位置を表す座標を保持するとともに、保持された座標と新たに取得された入力位置の座標とを比較することにより当該座標の移動方向を特定し、
前記変更手段は、同一の移動方向への移動量が所定値を超えたときに前記基準値を動的に変更することを特徴とする、
請求項3に記載の情報処理装置。 - 前記変更手段は、前記移動方向が所定角度を超えて変化したときは、変化前まで保持されていた前記移動量を初期値に戻すことを特徴とする、
請求項4に記載の情報処理装置。 - 前記取得手段は、複数の入力位置の座標を同時期に取得できるものであり、
前記特定手段は、前記複数の入力位置の各々の座標の移動量を特定し、
前記変更手段は、各々の座標の移動量がそれぞれ所定値を超えたときに前記基準値を動的に変更することを特徴とする、
請求項3に記載の情報処理装置。 - 前記特定手段は、同時期に取得された前記複数の入力位置の座標の代表座標とその移動量とを特定し、
前記変更手段は、前記代表座標の移動量が所定値を超えたときに前記基準値を動的に変更することを特徴とする、
請求項6に記載の情報処理装置。 - 前記保持手段は、前記ユーザの入力操作を受け付ける操作面の大きさを表す情報を保持しており、
前記特定手段は、同時期に取得された複数の入力位置の座標の中点を表す中点座標と当該中点座標の前記操作面の大きさに対する相対位置とを特定し、
前記変更手段は、前記相対位置に応じて前記基準値を変更することを特徴とする、
請求項6に記載の情報処理装置。 - 操作面を有するタッチパネル、及び、前記操作面に対する指の接触面積を前記入力操作の属性として検出するセンサとのインタフェースを備え、
前記取得手段は、前記操作面に対する前記入力操作に応じて移動する前記入力位置と共に、前記属性を表す属性情報を取得するように構成されており、
前記変更手段は、前記移動状況に関わらず、前記属性情報が所定の属性条件を満たすときは前記基準値を変更しないことを特徴とする、
請求項1に記載の情報処理装置。 - 前記センサは、前記接触面積に代えて、前記指による前記操作面への操作圧力又は入力操作時の温度を前記属性として検出することを特徴とする、
請求項9に記載の情報処理装置。 - タッチパネルを有する情報処理装置が実行する方法であって、
前記タッチパネルに対して同時期になされた入力位置の移動を伴う複数の入力操作が所定操作か否かを判別するための基準値を保持しておき、
前記複数の入力操作に応じて移動する各入力位置の移動状況を特定するとともに、前記判別前に、前記移動状況が所定条件を満たしたことに応じて前記基準値を動的に変更することにより、
前記移動状況に応じた追従性で前記入力操作を判別することを特徴とする、
入力操作の判別方法。 - タッチパネルを有する情報処理装置に請求項11に記載された判別方法を実行させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016098970A JP2017207868A (ja) | 2016-05-17 | 2016-05-17 | 情報処理装置、入力操作の判別方法、コンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016098970A JP2017207868A (ja) | 2016-05-17 | 2016-05-17 | 情報処理装置、入力操作の判別方法、コンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017207868A true JP2017207868A (ja) | 2017-11-24 |
Family
ID=60416474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016098970A Pending JP2017207868A (ja) | 2016-05-17 | 2016-05-17 | 情報処理装置、入力操作の判別方法、コンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017207868A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11922008B2 (en) | 2021-08-09 | 2024-03-05 | Samsung Electronics Co., Ltd. | Electronic device processing input of stylus pen and method for operating the same |
-
2016
- 2016-05-17 JP JP2016098970A patent/JP2017207868A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11922008B2 (en) | 2021-08-09 | 2024-03-05 | Samsung Electronics Co., Ltd. | Electronic device processing input of stylus pen and method for operating the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5950597B2 (ja) | 情報処理装置およびその制御方法 | |
JP2011053971A (ja) | 情報処理装置、情報処理方法およびプログラム | |
US9195381B2 (en) | Information processing apparatus, method for controlling the same, and storage medium to receive a touch operation for rotating a displayed image | |
JP2012247911A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US9880684B2 (en) | Information processing apparatus, method for controlling information processing apparatus, and storage medium | |
JP6253284B2 (ja) | 情報処理装置およびその制御方法、プログラム、記録媒体 | |
US20150286283A1 (en) | Method, system, mobile terminal, and storage medium for processing sliding event | |
JP6370118B2 (ja) | 情報処理装置、情報処理方法、及びコンピュータプログラム | |
US10126856B2 (en) | Information processing apparatus, control method for information processing apparatus, and storage medium | |
JP2017207868A (ja) | 情報処理装置、入力操作の判別方法、コンピュータプログラム | |
JP6566767B2 (ja) | 情報処理装置、情報処理装置の制御方法、コンピュータプログラム、及び記憶媒体 | |
CN110737341B (zh) | 变更接触物件的识别种类的方法 | |
US11507270B2 (en) | Touch input device, touch input method and recording medium recording touch input program | |
US9213459B2 (en) | Electronic apparatus provided with resistive film type touch panel | |
JP6150712B2 (ja) | 情報処理装置およびプログラム | |
CN109254672B (zh) | 游标控制方法及游标控制*** | |
WO2019016875A1 (ja) | タッチ操作判定装置およびタッチ操作の有効性判定方法 | |
US9791956B2 (en) | Touch panel click action | |
JP6593565B1 (ja) | 情報処理装置、タッチパネル装置、及びプログラム | |
JP6559045B2 (ja) | 情報処理装置、方法、コンピュータプログラム及び記憶媒体 | |
JP2019152988A (ja) | タッチセンサ装置及びタッチ座標推定プログラム | |
WO2019016849A1 (ja) | タッチ操作判定装置およびタッチ操作の有効性判定方法 | |
KR20140070264A (ko) | 터치 스크린 디스플레이 입력을 통한 객체 스크롤 방법 및 장치 | |
US10402006B2 (en) | Information processing apparatus, operation determination method, and storage medium | |
TWI635434B (zh) | 游標控制方法 |