JP6305147B2 - 入力装置、操作判定方法、コンピュータプログラム、及び記録媒体 - Google Patents

入力装置、操作判定方法、コンピュータプログラム、及び記録媒体 Download PDF

Info

Publication number
JP6305147B2
JP6305147B2 JP2014061969A JP2014061969A JP6305147B2 JP 6305147 B2 JP6305147 B2 JP 6305147B2 JP 2014061969 A JP2014061969 A JP 2014061969A JP 2014061969 A JP2014061969 A JP 2014061969A JP 6305147 B2 JP6305147 B2 JP 6305147B2
Authority
JP
Japan
Prior art keywords
vector
flick
operation area
predetermined
end point
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.)
Active
Application number
JP2014061969A
Other languages
English (en)
Other versions
JP2015184996A5 (ja
JP2015184996A (ja
Inventor
智大 川西
智大 川西
山本 圭一
圭一 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014061969A priority Critical patent/JP6305147B2/ja
Publication of JP2015184996A publication Critical patent/JP2015184996A/ja
Publication of JP2015184996A5 publication Critical patent/JP2015184996A5/ja
Application granted granted Critical
Publication of JP6305147B2 publication Critical patent/JP6305147B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

本発明は、タッチパネルのような入力装置を用いた入力制御技術に関する。
一般に、マウスボタンを押し続けたままマウスカーソルの位置を移動することを「ドラッグ」といい、押し続けているマウスボタンを離すことを「リリース」という。同様に、指やスタイラス等でタッチパネルの任意の位置を触れたまま、触れている位置を移動することを「ドラッグ」といい、触れている指等をタッチパネルから離すことを「リリース」という。また、指等でタッチパネルの任意の位置を触れた後に払うように指等を離すことを「フリック」という。特許文献1には、指等で触れているタッチパネル上の位置の移動速度が所定の基準を満たす場合に、「フリック」があったと判定する技術が開示されている。また、フリックにより指等を払った方向に応じて、画面上に表示されたオブジェクトを慣性移動させる技術が知られている。
米国特許第7761814号明細書
ドラッグ及びフリックを受け付けることが可能なタッチパネルにおいては、以下のような問題が生じる可能性がある。例えば、表示されているオブジェクトをドラッグ及びリリースにより所定の位置に移動させる場合、指のリリース時に、タッチパネルへの接触面が指の腹から指先に移動することがフリックと判定されることがある。これは、ユーザの意図しない操作であり、その結果、タッチパネルの使い勝手が悪くなる。
図10は、ユーザの意図しないフリックの説明図である。図10(a)は、ユーザが、タッチパネル204上で指210を軌跡1001に示すように手前(図中左から右)に引いてドラッグする様子を表す。指210のリリース時には、図10(b)に示すように、タッチパネル204への接触面が指210の腹から指先に速度1002で移動する。速度1002がフリックを判定するための閾値を超過すると、図10(c)のように指210がリリースされた後に、ドラッグとは逆方向にフリックが行われたと判定される。
本発明は、上記の問題を解決するために、ユーザの意図しない操作を防止する入力装置を提供することを主たる課題とする。
上記課題を解決する本発明の入力装置は、所定の操作領域で指示されている注目位置を繰り返し取得する取得手段と、ユーザの操作に伴う前記所定の操作領域での指示が終了するまでに前記取得手段によって連続的に取得された複数の位置のうち、最後に取得された位置を終点とし、終点の所定時間前に取された位置を始点とする第1のベクトルと、前記始点が取得される以前に取得された位置を終点とし、該終点の所定時間前に取得された位置を始点とする第2のベクトルとを特定する特定手段と、前記第1のベクトルと前記第2のベクトルとがなす角度、及び、前記指示が終了する前の所定時間における前記取得手段によって取得された位置の変化の速度に基づいて、前記ユーザの操作がフリックか否かを判定する判定手段と、を備えることを特徴とする。
本発明によれば、第1のベクトルの向きをフリックの判定に用いるために、ユーザの意図しない操作を防止することができる。
(a)、(b)は、情報処理装置の構成図。 (a)はデジタルカメラの外観図、(b)は操作領域の説明図。 (a)〜(j)は、ドラッグからリリースまでの一連の動作を表す図。 (a)、(b)は、ドラッグ操作ベクトル及びフリック操作ベクトルの説明図。 操作を判定する処理を表すフローチャート。 (a)、(b)は、ドラッグからリリースまでの一連の動作を表す図。 操作を判定する処理を表すフローチャート。 ステップS701の処理の詳細なフローチャート。 (a)〜(c)は、ドラッグからリリースまでの一連の動作を表す図。 意図しないフリックの説明図。
以下、図面を参照して実施形態を詳細に説明する。ただし、本実施形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
[第1実施形態]
図1は、第1実施形態の情報処理装置の構成図である。図1(a)は、情報処理装置のハードウェア構成図である。情報処理装置100には、記憶部107、入力部108、及び出力部109が接続される。
情報処理装置100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103を備える。CPU101は、ROM102に格納されたコンピュータプログラムを読み出してRAM103に展開し、実行することで各機能を実現する。ROM102は、CPU101によって実行されるコンピュータプログラムや、コンピュータプログラムに関連する各種データを格納する。RAM103は、コンピュータプログラムを実行するためのワークエリアを提供する。
情報処理装置100は、更に、入出力インタフェース(I/F)104、入力I/F105、出力I/F106を備える。入出力I/F104は、記憶部107に対して、各種処理の実行結果であるデータ等を出力するとともに、記憶部107に記憶されたデータ等を取得する。入力I/F105は、入力部108から出力される信号を取得する。出力I/F106は、出力部109に対して、各種処理の実行結果や画像を表す信号を出力する。
記憶部107は、ハードディスクドライブ等の大容量記憶装置であり、各種処理の実行結果として出力されるデータ等を記憶する。入力部108は、例えば、マウス、トラックボール、タッチパネル、キーボード、ボタン等のポインティングデバイスであり、ユーザによる入力操作を検知し、検知した操作に対応する信号を情報処理装置100に出力する。入力部108には操作領域が設けられ、操作領域に、ポインティングデバイスにより移動させられるポインタが表示される。出力部109は、例えば液晶ディスプレイ等であり、各種処理の実行結果や画像を表す信号に応じた画像を表示する。なお、入力部108がタッチパネルである場合、入力部108と出力部109とは一体に構成される。
図1(b)は、CPU101がコンピュータプログラムを実行することで、情報処理装置100で実現される機能を表す機能ブロック図である。情報処理装置100には、取得部121、特定部122、設定部123、判定部124、制御部125、及び保持部126が実現される。
取得部121は、入力I/F105及びCPU101により形成され、入力部108から一定の周期で信号を取得し、特定部122に、取得した信号に応じた情報を出力する。特定部122に出力する「情報」は、例えば、ユーザ操作(ポインタによるポインティング操作)が検知された位置(ユーザによって指定された位置)を示す情報と、当該操作が検知されたタイミングを示す情報とのセット等である。
特定部122は、CPU101により形成され、取得部121から出力された情報に基づいて、注目位置の移動量を算出し、ドラッグによる操作方向を表すドラッグ操作ベクトルと、フリックによる操作方向及び速度を表すフリック操作ベクトルとを特定する。「注目位置」とは、入力部108がタッチパネルである場合、タッチパネル上で指の接触が検知された位置である。つまり注目位置は、操作領域上のポインタが存在する位置である。「注目位置の移動量」とは、例えば、指等でタッチパネルをドラッグし、その後、指等をリリースしたときの移動距離である。つまり、注目位置の移動量は、ポインタの移動量である。ドラッグ操作ベクトル及びフリック操作ベクトルの詳細については後述する。
例えば、注目位置の移動量は、タッチパネルから通知される座標点により指等が移動した軌跡を特定し、その軌跡の長さとしてもよく、また、指等が触れた位置から指等を離した位置までの直線距離としてもよい。その他に、注目位置の移動量を、タッチパネルから通知される指等のタッチ位置が移動したことを表すイベントの通知回数により概算してもよい。
設定部123は、CPU101により形成され、ユーザの操作をフリックと判定するための閾値を設定する。閾値は、注目位置の移動速度に対する基準の値となる。また、設定部123は、操作領域のサイズの縦方向の閾値と横方向の閾値とを設定する。
判定部124は、CPU101により形成され、単位時間当たりの注目位置の移動量(移動速度)と設定部123によって設定された閾値とに基づいて、ユーザの操作がフリックか否かを判定する。「単位時間」は、例えば、触れた指をタッチパネルから離したときに最後に接触が検知された時刻と、その時刻よりも所定時間(例えば、20ミリ秒)前の時刻によって定まる時間である。
制御部125は、CPU101及び出力I/F106により形成され、判定部124による判定結果に基づく信号を、出力部109に出力する。
保持部126は、CPU101及びRAM103により形成され、操作領域のサイズ(画面サイズ)を示す情報を保持する。「操作領域」は、タッチパネルそのもの、または、タッチパネルのうちユーザの指示を認識することができる領域である。「操作領域のサイズを示す情報」は、例えば、縦の幅が500ピクセル、横の幅が900ピクセルといった情報である。
図2(a)は、情報処理装置100の一例であるデジタルカメラ200の外観図である。デジタルカメラ200は、電源ボタン201、シャッターボタン202、レンズ203、及びタッチパネル204を備える。ユーザは、指210によりタッチパネル204の操作を行うことができる。タッチパネル204は、入力部108及び出力部109に相当する。なお、情報処理装置100には、デジタルカメラの他に、スマートフォンやタブレットPC等のように、入力装置としてタッチパネルを備える電子機器を用いることができる。
図2(b)は、タッチパネル204の操作領域の説明図である。本実施形態では、操作領域を、縦の幅が500ピクセル、横の幅が900ピクセルとする。ユーザは、操作領域上で指210により、位置211においてドラッグを開始し、位置212付近においてリリースする。
図3は、指210がドラッグを開始し、リリースするまでの一連の動作を表す図である。本実施形態では、デジタルカメラ200の電源ボタン201が操作されて電源が投入されると、CPU101が、一定の周期(例えば、20ミリ秒間隔)でタッチパネル204に接触があるか否かを表す信号を取得する。タッチパネル204に接触がある場合、CPU101は、タッチパネル204から接触が検知された位置(注目位置)を表す信号を取得する。以下の説明において、電源が投入された時刻を0秒とする(図3(a))。
電源の投入後、10ミリ秒後に指210がタッチパネル204に接触してそのままタッチパネル204上を移動開始する(図3(b))。タッチパネル204は、20ミリ秒後に指210とタッチパネル204とが接触している位置を、注目位置として検知する(図3(c))。CPU101は、タッチパネル204から注目位置を表す信号を取得し、取得した時刻とともにRAM103に記憶する。RAM103には、20ミリ秒間隔で同様に注目位置の座標と時刻を示す情報とのセットが記憶される(図3(c)〜図3(h))。130ミリ秒後に、指210がタッチパネル204上を離れる(図3(i))。タッチパネル204は、140ミリ秒後に、タッチパネル204に接触しているものがないと判定する(図3(j))。つまり、指210とタッチパネル204との接触は、10ミリ秒後から130ミリ秒後までの間生じているが、デジタルカメラ200は、20ミリ秒後から120ミリ秒後までの間接触が生じているものと判断する。注目位置の移動量は、接触が検知された位置の移動に応じた値であればよく、指210とタッチパネル204との接触を開始した位置と、指210とタッチパネル204との接触を終了した位置との間の距離に限るものではない。
図4は、ドラッグ操作ベクトル及びフリック操作ベクトルの説明図である。
図4(a)は、ユーザがタッチパネル204をドラッグ及びリリースする様子を示す。位置401は、ユーザがタッチパネル204に指210を接触開始させた位置であり、タッチパネル204は接触の開始を検知する。位置402は、ユーザがタッチパネル204から指210を離すことを意図した位置であり、タッチパネル204は接触(指示)を検知する。位置403は、ユーザの指210による接触(指示)が実際に終了した位置であり、タッチパネル204は接触の終了を検知する。特定部122は、位置402を、位置403の検出時刻から所定時間前に検出する。例えば、特定部122は、位置402を、位置403の検出時刻から40ミリ秒前に検出する。ドラッグ操作ベクトル404は、位置401を始点、位置402を終点とするベクトルである。フリック操作ベクトル405は、位置402を始点、位置403を終点とするベクトルである。
図4(b)は、ドラッグ操作ベクトル404とフリック操作ベクトル405とのなす角度θの説明図である。特定部122は、ドラッグ操作ベクトル404とフリック操作ベクトル405とのなす角度θを特定する。角度θは、例えば、ドラッグ操作ベクトル404とフリック操作ベクトル405との内積から余弦で算出される。
図5は、ユーザによる操作を判定する処理を表すフローチャートである。この操作判定処理は、ユーザがタッチパネル204から指等をリリースしたことにより開始される。図5の処理では、例えば図4(a)の位置402から位置403までの指210の移動が、フリックであるか否かの判断を行う。
取得部121は、ポインタによるポインティングのリリースを表す信号を取得する(S501)。ポインタによるポインティングのリリースを表す信号とは、例えば、タッチパネル204に接触しているものが存在する状態から、接触しているものが無くなったと判定したことを表す信号であり、ユーザによる指示の終了を表す。
特定部122は、フリック操作ベクトル405を特定し(S502)、フリック操作ベクトル405の速度を特定する(S503)。特定部122は、ドラッグ操作ベクトル404とフリック操作ベクトル405とのなす角度θを特定する(S504)。設定部123は、特定した角度θが所定の範囲内の角度(例えば、90°≦θ≦270°)であるか否かを判定する(S505)。つまり、フリック操作ベクトル405の方向がドラッグ操作ベクトル404の方向とは逆方向の成分を含むか否かを判定する。
角度θが所定の範囲内である場合(S505:Y)、設定部123は、保持部126に保持された情報に基づいて、操作領域のサイズを特定する(S506)。設定部123は、特定された操作領域のサイズに応じて、縦方向の速度の閾値及び横方向の速度の閾値を補正する(S507)。例えば、設定部123は、補正により縦方向の速度の閾値を、元の値よりも大きい値に補正する。具体的には、例えば、操作領域のサイズが縦の幅500ピクセル、横の幅900ピクセルである場合、設定部123は、縦方向の速度の閾値を900/500倍に変更する。
角度θが所定の範囲外である場合(S505:N)、又は縦方向の速度の閾値及び横方向の速度の閾値を補正後に、判定部124は、フリック操作ベクトル405の速度と閾値とを比較する(S508)。判定部124は、フリック操作ベクトル405の縦方向成分が縦方向の閾値を超過しているか、又はフリック操作ベクトル405の速度の横方向成分が横方向の閾値を超過しているかを判断する。
フリック操作ベクトル405の縦方向成分の速度が縦方向の速度又は横方向成分の速度が閾値を超過している場合(S508:Y)、判定部124は、制御部125にフリックを有効にする信号を出力し(S509)、CPU101は一連の処理を終了する。フリック操作ベクトル405の縦方向成分の速度及び横方向成分の速度が閾値を超過していないと判断された場合(S508:N)、CPU101は一連の処理を終了する。
図6は、指210がタッチパネル204にドラッグし、リリースするまでの一連の操作を表す図である。
図6(a)は、指210がタッチパネル204に位置601で接触し始め、位置602でユーザが指210の接触を終了することを意図し、位置603において実際に接触が終了する様子を表す。位置602は、リリース前に最後に検知された点より所定時間(例えば、40ミリ秒)前に接触が検知された位置である。図6(a)では、ドラッグ操作ベクトル404とフリック操作ベクトル405とのなす角度θを120°とする。また、フリックと判定するための縦方向の速度の閾値がピクセル/ミリ秒、横方向の速度の閾値が10ピクセル/ミリ秒とする。操作領域のサイズが、縦の幅500ピクセル、横の幅900ピクセルとする。位置603において実際に接触が終了したときに図5の処理を実行することで、以下のようにユーザの操作が判定される。
特定部122は、フリック操作ベクトル405の速度を特定する(S503)。ここでは、フリック操作ベクトル405の速度を3ピクセル/ミリ秒とする。設定部123は、ドラッグ操作ベクトル404とフリック操作ベクトル405とのなす角度θが、所定の角度範囲内であると判定する(S505:Y)。設定部123は、フリックと判定するための縦方向の閾値を10ピクセル/ミリ秒、横方向の閾値を20ピクセル/ミリ秒に設定する(S507)。判定部124は、フリック操作ベクトル405の速度の縦方向の成分及び横方向の成分が、各々閾値を超過していないと判定する(S508:N)。判定部124は、制御部125にフリックを有効にする信号を出力せず、処理が終了する。このように図6(a)に示す一連の操作は、フリックとは判断されず、例えばドラッグアンドリリースと判断される。
図6(b)は、指210がタッチパネル204に位置611で接触し始め、位置612でユーザが指210の接触を終了することを意図し、位置613において実際に接触が終了する様子を表す。位置612は、リリース前に最後に検知された点より所定時間(例えば、40ミリ秒)前に接触が検知された位置である。図6(b)では、ドラッグ操作ベクトル404とフリック操作ベクトル405とのなす角度θを60°とする。また、フリックと判定するための縦方向の速度の閾値が5ピクセル/ミリ秒、横方向の速度の閾値が10ピクセル/ミリ秒とする。操作領域のサイズが、縦の幅500ピクセル、横の幅900ピクセルとする。位置613において実際に接触が終了したときに図5の処理を実行することで、以下のようにユーザの操作が判定される。
特定部122は、フリック操作ベクトル405の速度を特定する(S503)。ここでは、フリック操作ベクトル405の速度を15ピクセル/ミリ秒とする。設定部123は、ドラッグ操作ベクトル404とフリック操作ベクトル405とのなす角度θが、所定の角度範囲外であると判定する(S505:N)。判定部124は、フリック操作ベクトル405の速度の縦方向成分が縦方向の速度の閾値を超過、又は横方向成分が横方向の速度の閾値を超過していると判断する(S508:Y)。判定部124は、制御部125にフリックを有効にする信号を出力して(S509)、処理が終了する。このように図6(b)に示す一連の操作は、フリックと判断される。
以上のように、リリースの際に接触面が指の腹から指先に移動する方向とリリース前の指の移動方向との角度に応じて、フリックを判断するための閾値を変更する。これにより、例えば、リリース時にドラッグの方向と逆向きに発生した検知位置の移動を無意味な操作と見なすことができ、ドラッグをフリックと誤認識することを防止することができる。タッチパネル(操作領域)の縦幅及び横幅に合うように、ユーザの操作をフリックと判定する処理が可能となる。また、操作領域のサイズが変わる場合があっても、それぞれの縦幅と横幅に合うようにユーザの操作をフリックと判定することが可能となる。従って、ユーザの操作性が向上する。
[第2実施形態]
第1実施形態では、リリース時にドラッグの方向と逆向きに発生したフリックを、指を離したときの無意識の操作と見なすことで、ユーザの意図しない操作を防止している。しかし、この意図しない操作はドラッグの方向と逆向きの方向以外でも発生することがある。逆向きの方向以外に発生する場合、第1実施形態では、フリックと判定されてしまってユーザの意図した結果にならない。第2実施形態では、操作領域の縁部で操作領域の外側へのフリックを検知した場合は,ユーザの意図しないフリックと判定して、無効なフリックとする。操作領域の縁部近くで操作領域の外側にフリックするケースは少ないため、操作領域の縁部近くにおける操作領域の外側へのフリックは意図しないフリックと見なすことができる。
第2実施形態の情報処理装置の構成は、第1実施形態の情報処理装置の構成(図1参照)と同様であるので、説明を省略する。図7は、第2実施形態の、ユーザによる操作を判定する処理を表すフローチャートである。この操作判定処理は、第1実施形態の処理(図5参照)同様に、ユーザがタッチパネル204から指等をリリースしたことにより開始される。図7の処理は、図5の処理にステップS701の処理を追加したことで異なり、他の処理は同様である。同様な処理には同じステップ番号を付している。同様な処理についての説明は省略する。
特定部122でフリック操作ベクトル405を特定すると(S502)、情報処理装置100のCPU101は、特定したフリック操作ベクトル405が操作領域の外側を向いているか否かを判断する(S701)。フリック操作ベクトル405が操作領域の外側を向いていない場合(S701:N)、CPU101は、ステップS503以降の処理を実行する。フリック操作ベクトル405が操作領域の外側を向いてい場合(S701:Y)、CPU101は、一連の処理を終了する。
図8は、ステップS701の処理の詳細なフローチャートである。
特定部122でフリック操作ベクトル405が特定されると、設定部123は、保持部126により操作領域のサイズを特定する(S801)。設定部123は、特定した操作領域のサイズに応じて、操作領域端(縁部)を表す閾値を設定する(S802)。「操作領域端の閾値」とは、例えば、タッチパネル204の端部から一定距離(例えば、上端と下端はY軸方向に20ピクセル、右端と左端はX軸方向に20ピクセル)以内のポインタを操作領域端にあるとみなすための値である。ここで、操作領域は矩形であり、左右方向がX軸、上下方向がY軸である。
特定部122は、フリック操作ベクトル405の方向を特定する(S803)。フリック操作ベクトル405の方向は、例えばX軸となす角度で表される。具体的には、フリック操作ベクトル405の方向を、フリック操作ベクトル405とX軸の単位ベクトルとの内積から余弦で特定する。
判定部124は、フリック操作ベクトル405の終点が操作領域の端部のどの位置にあるかを判定する(S804)。判定部124は、フリック操作ベクトル405の終点がステップS802で設定された閾値内にあるか否かにより、終点が端部のどの位置にあるかを判定する。
終点が操作領域の右側端部の閾値内である場合(S804:右側端部の閾値内)、判定部124は、フリック操作ベクトル405の方向がX軸に対して「+s°〜−s°」の範囲内にあるか否かを判定する(S805)。「s」は90°未満の任意の角度であり、予め定められる。フリック操作ベクトル405の方向が「+s°〜−s°」の範囲内であれば(S805:Y)、判定部124は、フリック操作ベクトル405が操作領域の外側を向いていると判定して、ステップS701の処理を終了する(S810)。フリック操作ベクトル405の方向が「+s°〜−s°」の範囲外であれば(S805:N)、判定部124は、フリック操作ベクトル405が操作領域の外側を向いていないと判定して、ステップS701の処理を終了する(S809)。
終点が操作領域の上側端部の閾値内である場合(S804:上側端部の閾値内)、判定部124は、フリック操作ベクトル405の方向がX軸に対して「(90+s)°〜(90−s)°」の範囲内にあるか否かを判定する(S806)。フリック操作ベクトル405の方向が「(90+s)°〜(90−s)°」の範囲内であれば(S806:Y)、判定部124は、フリック操作ベクトル405が操作領域の外側を向いていると判定して、ステップS701の処理を終了する(S810)。フリック操作ベクトル405の方向が「(90+s)°〜(90−s)°」の範囲外であれば(S806:N)、判定部124は、フリック操作ベクトル405が操作領域の外側を向いていないと判定して、ステップS701の処理を終了する(S809)。
終点が操作領域の左側端部の閾値内である場合(S804:左側端部の閾値内)、判定部124は、フリック操作ベクトル405の方向がX軸に対して「(180+s)°〜(180−s)°」の範囲内にあるか否かを判定する(S807)。フリック操作ベクトル405の方向が「(180+s)°〜(180−s)°」の範囲内であれば(S807:Y)、判定部124は、フリック操作ベクトル405が操作領域の外側を向いていると判定して、ステップS701の処理を終了する(S810)。フリック操作ベクトル405の方向が「(180+s)°〜(180−s)°」の範囲外であれば(S807:N)、判定部124は、フリック操作ベクトル405が操作領域の外側を向いていないと判定して、ステップS701の処理を終了する(S809)。
終点が操作領域の下側端部の閾値内である場合(S804:下側端部の閾値内)、判定部124は、フリック操作ベクトル405の方向がX軸に対して「(270+s)°〜(270−s)°」の範囲内にあるか否かを判定する(S808)。フリック操作ベクトル405の方向が「(270+s)°〜(270−s)°」の範囲内であれば(S808:Y)、判定部124は、フリック操作ベクトル405が操作領域の外側を向いていると判定して、ステップS701の処理を終了する(S810)。フリック操作ベクトル405の方向が「(270+s)°〜(270−s)°」の範囲外であれば(S808:N)、判定部124は、フリック操作ベクトル405が操作領域の外側を向いていないと判定して、ステップS701の処理を終了する(S809)。
終点が操作領域の各端部の閾値外である場合(S804:N)、判定部124は、フリック操作ベクトル405が操作領域の外側を向いていないと判定して、ステップS701の処理を終了する(S809)。このように、フリック操作ベクトル405の終点から操作領域の縁部までの距離、及びフリック操作ベクトル405と操作領域の縁部とのなす角度に応じて、フリック操作ベクトル405が操作領域の外側を向いているか否かが判定される。つまり、フリック操作ベクトル405の終点から操作領域の縁部までが一定距離以内であり、フリック操作ベクトル405と操作領域の縁部とが所定の角度の範囲内であれば、フリック操作ベクトル405が操作領域の外側を向いていると判定される。
図9は、指210がタッチパネル204をドラッグしてリリースするまでの一連の様子を表す図である。
図9(a)は、指210が、タッチパネル204に位置901において接触し始め、操作領域端を表す閾値904を超過する位置902に移動し、位置903において接触を終了する様子を表す。閾値904は、タッチパネル204の上縁部から一定距離(例えば、20ピクセル)に設定される。位置902は、リリース前に最後に検知される位置より所定時間(例えば、40ミリ秒)前に接触が検知された位置である。位置903で接触が終了したときに、図7、図8の処理が実行される。
図9(a)では、位置902を始点、位置903を終点とするフリック操作ベクトル405の終点が、操作領域上側端部の閾値904内である。そのために、図8の処理において、ステップS806の処理が実行される。
フリック操作ベクトル405のX軸に対する角度は、60°に特定される(S803)。X軸に対する所定の角度範囲が135°〜45°(s=45)であるとすると、フリック操作ベクトル405の角度は、この角度範囲内であると判定される(S806:Y)。そのために、図9(a)の操作では、フリックが操作領域外に向いて行われていると判定され(S810)、判定部124は、制御部125にフリックを有効にする信号を出力せずに処理を終了する。つまり図9(a)に示す一連の操作は、フリックとは判断されず、例えばドラッグアンドリリースと判断される。
図9(b)は、指210が、タッチパネル204に位置511において接触し始め、閾値904を超過しない位置912に移動し、位置913において接触を終了する様子を表す。位置912は、リリース前に最後に検知される位置より所定時間(例えば、40ミリ秒)前に接触が検知された位置である。位置913で接触が終了したときに、図7、図8の処理が実行される。
図9(b)では、位置912を始点、位置913を終点とするフリック操作ベクトル405の終点が、閾値904外である。そのために、図8の処理において、図9(b)の操作では、フリックが操作領域外に向いて行われていないと判定される(S804:N、S809)。その結果、図7のステップS503以降の処理が行われる。ステップS503以降の処理については図6(b)で説明したために、省略する。ステップS503以降の処理の結果、判定部124は、制御部125にフリックを有効にする信号を出力する。つまり図9(b)に示す一連の操作は、フリックと判断される。
図9(c)は、指210が、タッチパネル204に位置511において接触し始め、閾値904を超過する位置922に移動し、位置923において接触が終了する様子を表す。位置922は、リリース前に最後に検知される位置より所定時間(例えば、40ミリ秒)前に接触が検知された位置である。位置923で接触が終了したときに、図7、図8の処理が実行される。
図9(c)では、位置922を始点、位置923を終点とするフリック操作ベクトル405の終点が、操作領域上側端部の閾値904内である。そのために、図8の処理において、ステップS806の処理が実行される。
フリック操作ベクトル405のX軸に対する角度は、30°に特定される(S803)。X軸に対する所定の角度範囲が45°〜135°(S=45)であるとすると、フリック操作ベクトル405の角度は、この角度範囲外であると判定される(S806:N)。そのために、図9(c)の操作では、フリックが操作領域外に向いて行われていないと判定される(S809)。その結果、図7のステップS503以降の処理が行われる。ステップS503以降の処理については図6(b)で説明したために、省略する。ステップS503以降の処理の結果、判定部124は、制御部125にフリックを有効にする信号を出力する。つまり図9(c)に示す一連の操作は、フリックと判断される。
第2実施形態によれば、ユーザが操作領域の縁部でリリースを行ったときに、接触面が指の腹から指先に移動したことによりドラッグをフリックと誤認識することを防ぐことができる。また、ドラッグと逆向きの方向に無意識によるフリックが発生した場合でも、ドラッグをフリックと誤認識することを防ぐことができる。第1実施形態と第2実施形態とを組み合わせることで、操作領域の全体でユーザの意図してない操作についての判定を行うことができる。
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又はコンピュータ読み取り可能な各種記録媒体を介してシステム或いは装置に供給する。そのシステム或いは装置のコンピュータ(またはCPU、MPU等)は、プログラムを読み出して実行することで上述した実施形態の機能を実現する。

Claims (12)

  1. 所定の操作領域で指示されている注目位置を繰り返し取得する取得手段と、
    ユーザの操作に伴う前記所定の操作領域での指示が終了するまでに前記取得手段によって連続的に取得された複数の位置のうち、最後に取得された位置を終点とし、該終点の所定時間前に取得された位置を始点とする第1のベクトルと、前記始点が取得される以前に取得された位置を終点とし、該終点の所定時間前に取得された位置を始点とする第2のベクトルとを特定する特定手段と、
    前記第1のベクトルと前記第2のベクトルとがなす角度、及び、前記指示が終了する前の所定時間における前記取得手段によって取得された位置の変化の速度に基づいて、前記ユーザの操作がフリックか否かを判定する判定手段と、を備えることを特徴とする、
    入力装置。
  2. 前記特定手段は、前記第2のベクトルとして、前記第1のベクトルの前記始点を終点とし、この終点の所定時間前に取得した位置を始点とするベクトルを特定することを特徴とする、
    請求項1に記載の入力装置。
  3. 前記速度に関して、前記ユーザの操作がフリックであるか否かを判定するための基準となる閾値を設定する設定手段を更に備え、
    前記判定手段は、前記取得手段によって取得された位置が前記第1のベクトルの始点から終点に至るまでの速度が前記閾値を越える場合に、前記ユーザの操作がフリックであると判定することを特徴とする、
    請求項1または2に記載の入力装置。
  4. 前記設定手段は、前記第1のベクトルと前記第2のベクトルとの前記なす角度が所定の範囲内の角度であるか否かを判定し、所定の範囲内であれば、前記閾値を前記操作領域のサイズに応じて補正することを特徴とする、
    請求項3に記載の入力装置。
  5. 前記設定手段は、前記第1のベクトルと前記第2のベクトルとの前記なす角度θが90°≦θ≦270°であれば、前記閾値を前記操作領域のサイズに応じて補正することを特徴とする、
    請求項4に記載の入力装置。
  6. 前記設定手段は、前記閾値を元の値よりも大きい値に補正することを特徴とする、
    請求項4又は5に記載の入力装置。
  7. 前記判定手段は、前記第1のベクトルが前記操作領域の所定の部分で所定の方向を向くときに、前記ユーザの操作がフリックではないと判定することを特徴とする、
    請求項1〜6のいずれか1項に記載の入力装置。
  8. 前記操作領域の所定の部分は、前記操作領域の縁部であって、前記所定の方向は、前記操作領域の外側に向く方向であって、
    前記判定手段は、前記第1のベクトルの終点から前記操作領域の縁部までの距離、及び前記第1のベクトルと前記操作領域の縁部とのなす角度に応じて、前記第1のベクトルが前記操作領域の外側を向くか否かを判定することを特徴とする、
    請求項7に記載の入力装置。
  9. 前記判定手段は、前記第1のベクトルの終点から前記操作領域の縁部までが一定距離以内で、前記第1のベクトルと前記操作領域の縁部とが所定の角度の範囲内であれば、前記第1のベクトルが前記操作領域の外側を向いていると判定することを特徴とする、
    請求項8に記載の入力装置。
  10. 所定の操作領域を有するタッチパネルを備える入力装置により実行される方法であって、
    前記操作領域で指示されている注目位置を繰り返し取得するステップと、
    ユーザの操作に伴う前記所定の操作領域での指示が終了するまでに連続的に取得した複数の位置のうち、最後に取得した位置を終点とし、該終点の所定時間前に取得した位置を始点とする第1のベクトルと、前記始点を取得する以前に取得した位置を終点とし、該終点の所定時間前に取得した位置を始点とする第2のベクトルとを特定するステップと、
    前記第1のベクトルと前記第2のベクトルとがなす角度、及び、前記指示が終了する前の所定時間に取得した位置の変化の速度に基づいて、前記ユーザの操作がフリックか否かを判定するステップと、を含むことを特徴とする、
    操作判定方法。
  11. 所定の操作領域を有するタッチパネルを備えたコンピュータに、
    前記操作領域で指示されている注目位置を繰り返し取得するステップ、
    ユーザの操作に伴う前記所定の操作領域での指示が終了するまでに連続的に取得した複数の位置のうち、最後に取得した位置を終点とし、該終点の所定時間前に取得した位置を始点とする第1のベクトルと、前記始点を取得する以前に取得した位置を終点とし、該終点の所定時間前に取得した位置を始点とする第2のベクトルとを特定するステップ、
    前記第1のベクトルと前記第2のベクトルとがなす角度、及び、前記指示が終了する前の所定時間に取得した位置の変化の速度に基づいて、前記ユーザの操作がフリックか否かを判定するステップ、
    を実行させるためのコンピュータプログラム。
  12. 請求項11記載のコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
JP2014061969A 2014-03-25 2014-03-25 入力装置、操作判定方法、コンピュータプログラム、及び記録媒体 Active JP6305147B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014061969A JP6305147B2 (ja) 2014-03-25 2014-03-25 入力装置、操作判定方法、コンピュータプログラム、及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014061969A JP6305147B2 (ja) 2014-03-25 2014-03-25 入力装置、操作判定方法、コンピュータプログラム、及び記録媒体

Publications (3)

Publication Number Publication Date
JP2015184996A JP2015184996A (ja) 2015-10-22
JP2015184996A5 JP2015184996A5 (ja) 2017-04-06
JP6305147B2 true JP6305147B2 (ja) 2018-04-04

Family

ID=54351427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014061969A Active JP6305147B2 (ja) 2014-03-25 2014-03-25 入力装置、操作判定方法、コンピュータプログラム、及び記録媒体

Country Status (1)

Country Link
JP (1) JP6305147B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6846231B2 (ja) * 2017-02-20 2021-03-24 株式会社マクロミル 評価システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06175775A (ja) * 1992-12-09 1994-06-24 Hitachi Ltd 情報処理装置
US7761814B2 (en) * 2004-09-13 2010-07-20 Microsoft Corporation Flick gesture
EP2378403A1 (en) * 2010-04-19 2011-10-19 Tyco Electronics Services GmbH Method and device for determining a user's touch gesture
JP5479414B2 (ja) * 2010-11-24 2014-04-23 キヤノン株式会社 情報処理装置およびその制御方法
JP5922480B2 (ja) * 2012-04-25 2016-05-24 京セラ株式会社 表示機能を備える携帯機器、プログラムおよび表示機能を備える携帯機器の制御方法
JP5925046B2 (ja) * 2012-05-09 2016-05-25 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム

Also Published As

Publication number Publication date
JP2015184996A (ja) 2015-10-22

Similar Documents

Publication Publication Date Title
KR101572307B1 (ko) 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 저장 매체
JP5506375B2 (ja) 情報処理装置及びその制御方法
JP6188288B2 (ja) 情報処理装置及びその制御方法
US9529527B2 (en) Information processing apparatus and control method, and recording medium
US20150193037A1 (en) Input Apparatus
US9459789B2 (en) Information processing apparatus and operation method thereof for determining a flick operation of a pointer
JP6410537B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US10607574B2 (en) Information processing device and information processing method
US20140310661A1 (en) Dynamic management of edge inputs by users on a touch device
US9841886B2 (en) Display control apparatus and control method thereof
US9389781B2 (en) Information processing apparatus, method for controlling same, and recording medium
US20120056831A1 (en) Information processing apparatus, information processing method, and program
JP2011039989A (ja) 表示制御装置、表示制御方法、プログラム及び記憶媒体
JP2008134918A (ja) 画像処理装置及び画像処理決定方法
US20150169151A1 (en) Displaying device and computer-readable recording medium therefor
JP2011040008A (ja) 表示制御装置及び表示制御方法、プログラム、記憶媒体
US9933895B2 (en) Electronic device, control method for the same, and non-transitory computer-readable storage medium
JP2014174801A (ja) 情報処理装置、情報処理方法、及びプログラム
US10296130B2 (en) Display control apparatus, display control method, and storage medium storing related program
US20140078113A1 (en) Information processing apparatus, information processing method and a non-transitory storage medium
JP6324203B2 (ja) 情報処理装置およびその制御方法、プログラム、記録媒体
JP6566767B2 (ja) 情報処理装置、情報処理装置の制御方法、コンピュータプログラム、及び記憶媒体
JP6305147B2 (ja) 入力装置、操作判定方法、コンピュータプログラム、及び記録媒体
CN104503697A (zh) 一种信息处理方法及电子设备
WO2017016333A1 (zh) 一种屏幕调整方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170301

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180306

R151 Written notification of patent or utility model registration

Ref document number: 6305147

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151