JP2016062183A - 情報処理装置、その制御方法、プログラム、及び記憶媒体 - Google Patents

情報処理装置、その制御方法、プログラム、及び記憶媒体 Download PDF

Info

Publication number
JP2016062183A
JP2016062183A JP2014188071A JP2014188071A JP2016062183A JP 2016062183 A JP2016062183 A JP 2016062183A JP 2014188071 A JP2014188071 A JP 2014188071A JP 2014188071 A JP2014188071 A JP 2014188071A JP 2016062183 A JP2016062183 A JP 2016062183A
Authority
JP
Japan
Prior art keywords
touch
touch position
condition
proximity
detected
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.)
Granted
Application number
JP2014188071A
Other languages
English (en)
Other versions
JP6410537B2 (ja
JP2016062183A5 (ja
Inventor
山本 圭一
Keiichi Yamamoto
圭一 山本
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 JP2014188071A priority Critical patent/JP6410537B2/ja
Priority to CN201510571629.6A priority patent/CN105425993B/zh
Priority to US14/854,512 priority patent/US9880684B2/en
Priority to EP15185363.7A priority patent/EP2998846B1/en
Publication of JP2016062183A publication Critical patent/JP2016062183A/ja
Publication of JP2016062183A5 publication Critical patent/JP2016062183A5/ja
Application granted granted Critical
Publication of JP6410537B2 publication Critical patent/JP6410537B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04106Multi-sensing digitiser, i.e. digitiser using at least two different sensing technologies simultaneously or alternatively, e.g. for detecting pen and finger, for saving power or for improving position detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04108Touchless 2D- digitiser, i.e. digitiser detecting the X/Y position of the input means, finger or stylus, also when it does not touch, but is proximate to the digitiser's interaction surface without distance measurement in the Z direction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】ユーザの意図に反したタッチ操作の誤認識を低減する。
【解決手段】入力対象面内に対して接触した状態にある操作オブジェクトによって示されるタッチ位置を検出するタッチ位置検出部121と、入力対象面に対して近接した状態にある操作オブジェクトによって示される近接位置を検出する近接位置検出部122と、検出されたタッチ位置と、タッチ位置が検出され始める前の段階で検出された近接位置とが、それぞれ所定の条件を満たす移動をした場合に、操作オブジェクトによってタッチ位置を移動させる操作が開始されたと認識する認識部125とを備える。
【選択図】図1

Description

本発明は、複数種類の入力操作を認識する技術に関する。
近年、ユーザの指あるいはスタイラスなどの操作オブジェクトによりタッチパネル等の入力部がタッチされた位置のX、Y座標値に基づいてタッチ操作を認識し、タッチ操作に応じた各種処理を実行するタッチ入力機器が普及している。タッチ操作の認識は、一般的にタッチされた位置、タッチされた位置の移動距離、移動速度、入力時間等の情報が所定の条件を満たすかに基づいて行われる。特許文献1には、タッチ位置の分散の値が所定の値よりも大きい場合に、「ムーブ」(タッチしたまま操作オブジェクトを移動させる操作)が入力されたと判定する方法が開示されている。
また、操作オブジェクトが入力部から少し離れた近接状態(ホバー状態とも呼ばれる)における入力部に対するX、Y座標値に基づいて操作可能な機器も登場してきている。特許文献2には、操作オブジェクトが入力部にタッチする前に近接状態にあった間の位置情報に基づいて特定されるタッチ操作を、操作オブジェクトが入力部にタッチした時点で実行することが開示されている。
特開2011−134212号公報 特開2012−247960号公報
特許文献1のようにタッチ中の情報だけ、あるいは特許文献2のように近接状態の間の情報だけに基づいて操作を認識する場合、センサの検出精度やユーザの無意識の動きの影響を受けやすいという課題があった。例えば、タッチした瞬間に、ユーザが操作オブジェクトを動かしたつもりがないにも関わらず、操作オブジェクトのブレが検出されてしまうことで、操作オブジェクトの移動に応じた操作が誤認識されることが有りうる。
本発明は上記課題に鑑みてなされ、ユーザの意図に反したタッチ操作の誤認識を低減することを主な目的とする。
上記課題を解決するため、本発明は、入力対象面内に対して接触した状態にある操作オブジェクトによって示されるタッチ位置を検出するタッチ位置検出手段と、前記入力対象面に対して近接した状態にある前記操作オブジェクトによって示される近接位置を検出する近接位置検出手段と、前記タッチ位置検出手段によって検出されたタッチ位置と、該タッチ位置が検出され始める前の段階で前記近接位置検出手段によって検出された近接位置とが、それぞれ所定の条件を満たす移動をした場合に、前記操作オブジェクトによって前記タッチ位置を移動させる操作が開始されたと認識する認識手段とを備える。
本発明によれば、ユーザの意図に反したタッチ操作の誤認識を低減することが可能となる。
情報処理装置のハードウェア構成及び機能構成の一例を示すブロック図 タッチ操作を判定する処理の流れの一例を示すフローチャート 「ムーブ」を判定する処理の流れの一例を示すフローチャート 「フリック」を判定する処理の流れの一例を示すフローチャート 操作例に用いられるタッチパネルと座標平面の関係の一例を示す図 タッチ操作の前後に検出される一連の入力位置の具体例を示す図 マルチタッチ時のタッチ操作を判定する処理の流れの一例を示すフローチャート
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
<第1の実施形態>
本実施形態では、検出されたタッチ位置と、該タッチ入力前またはタッチ入力後の近接状態での位置情報の両方に関する条件に基づいて、入力されたタッチ操作を認識する。
図1(a)は、本実施形態に係る情報処理装置100のハードウェア構成の一例を示す図である。システムバス101は、情報処理装置100を構成する各構成要素を接続し、相互に情報のやり取りを行う。CPU(Central Processing Unit)102は、各種処理のための演算や論理判断などを行い、システムバス101に接続された各構成要素を制御する。この情報処理装置100には、プログラムメモリとデータメモリを含むメモリが搭載されている。ROM(Read−Only Memory)103は、プログラムメモリであって、後述する各種処理手順を含むCPU102による制御のためのプログラムを格納する。RAM(Random Access Memory)104は、データメモリであり、CPU102の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。入出力インタフェース107を介して外部記憶装置111などからRAM104にプログラムをロードすることで、プログラムメモリを実現しても構わない。ここで、外部記憶装置111は、例えば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD−ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。また、外部記憶装置111は、ネットワークで接続されたサーバ装置などであってもよい。本実施形態のプログラムの実行に必要な情報は、ROM103や外部記憶装置111に保持される。特に本実施形態では、操作オブジェクトが入力対象面にタッチしているタッチ状態と、近接している近接状態とのそれぞれで満たすべき条件の組み合せが、ある特定のタッチ操作が入力される場合に満たされる条件として予め対応付けられた辞書が保持される。入力インタフェース105は、ポインティングデバイスなどの入力部を制御し、入力信号を取得して、システムバス101を介してシステムに通知する。出力インタフェース106は、表示部を有する出力部に対して、少なくとも、後述する各種の処理を実行した結果の出力を制御する信号を出力する。
タッチセンサ108は、入力部が有する入力対象面に対するタッチ位置を検出し、入力インタフェース105に通知する。タッチセンサ108としては、抵抗膜方式、静電容量方式、赤外線方式、超音波方式、音響波方式、振動検出方式等の各種タッチパネルが利用できる。他にも、距離画像センサや、ステレオカメラなどの三次元空間での位置を検出できるもので入力対象面に触れたかどうかを検出し、入力対象面上で定義される位置情報を取得してもよい。
近接センサ109は、タッチ位置が検出される前後に、操作オブジェクトが入力対象面に近接している状態での位置情報を検出し、入力インタフェース105に通知する。本実施形態では、少なくとも操作オブジェクトの一連の移動において、タッチセンサ108がタッチ位置を検出された場合、その前後の近接状態での操作オブジェクトの位置(タッチ位置に対する連続位置)を検出する。ただし、近接センサ109が近接状態での位置(以下、単に近接位置という)として検出する位置情報は、タッチセンサ108によってタッチ位置が検出されない状態での位置であるとする。つまり、タッチセンサ108と近接センサ109が同時刻の操作オブジェクトに関して重複して位置情報を検出することがないように調整されているものとする。なお、近接状態にある操作オブジェクトの位置検出は、ホバー状態での検出、ホバー位置の検出と呼ばれることもある。近接センサ109としては、静電容量方式、赤外線方式、超音波方式、音響波方式などのタッチパネルを用いることができる。これらタッチパネルの感度を高めることで、操作オブジェクトが入力対象面に接触している状態だけでなく近接している状態でも位置情報を検出することが可能になる。タッチセンサ108と近接センサ109から出力される信号は、タッチパネルが出力する信号としてまとめて通知されてもよい。他にも、距離画像センサや、ステレオカメラなどの三次元空間での位置を検出することで、入力対象面から離れた状態での位置を取得することもできる。
ディスプレイ110は、情報処理装置100での各種処理の実行結果を表示する。ディスプレイ110としては、液晶ディスプレイ、テレビモニタ、プロジェクタなどがある。本実施形態においては、タッチセンサ108及び近接センサ109である静電容量方式のタッチパネルが、ディスプレイ110である液晶ディスプレイの表示画面に重畳するように設置されたタッチパネルディスプレイを利用する。つまり、ディスプレイ上に設置されたタッチパネル表面が入力対象面に相当する。
本実施形態では、タッチパネルは、操作オブジェクトと、入力対象面とが接触する面を検出し、タッチ位置としてそのうちの1点の座標を特定する。さらに、静電容量の検出感度を高めた検出方式により、近接状態においても同様に、入力対象面に近接する指等の操作オブジェクトの位置を検出し、1点の座標を近接位置として特定する。この時、タッチ状態で検出された位置と、近接状態で検出された位置は区別され、タッチパネルからタッチ状態と近接状態の識別情報と共に、位置情報が情報処理装置へ通知される。なお、本実施形態においては、タッチセンサ108によって、入力対象面への接触が検出されている操作オブジェクトに関しては、近接センサ109は近接位置を検出しない。あくまでも近接位置としては、入力対象面と非接触状態にあり、かつ、位置情報を検出可能な程度に近接している操作オブジェクトの先端部(例えば、ユーザの指先)の位置情報が検出される。システムの構成やセンサに応じ、入力対象面に接触している操作オブジェクトの位置が、近接センサ109によっても検出され得る場合には、タッチセンサ108によって検出されるタッチ位置を優先して用いることとする。
図1(b)は、本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。なお、以下、本実施形態では、操作オブジェクトとしてユーザの1本以上の指が使用される例を説明するが、ユーザがスタイラス等を利用する場合であっても行われる処理は同じである。
まず、本実施形態の情報処理装置100は、タッチ位置検出部121、近接位置検出部122、タッチ状態取得部123、近接状態取得部124、認識部125、出力制御部126を有する。これらの各機能部は、CPU102が、ROM103に格納されたプログラムをRAM104に展開し、後述する各フローチャートに従った処理を実行することで実現されている。ただし、本発明は、これらの機能部を対応させた演算部や回路で構成されるハードウェアで実現する情報処理装置によっても同様に実現可能である。以下、各要素について説明する。
タッチ位置検出部121は、入力インタフェース105から通知された信号に基づき、ユーザによってタッチされたタッチ位置に関する情報を検出する。その際、本実施形態では、入力インタフェース105が、入力部であるタッチパネルが検出しているタッチ位置の情報を一定の間隔で参照し、タッチ位置の情報を取得する毎に順次、タッチ位置検出部121に信号を通知する。タッチ位置検出部121が検出するタッチ位置に関する情報には、少なくともタッチイベントの位置情報が含まれる。タッチイベントとは、通知されるタッチ情報の種別を表す情報である。本実施形態では、操作オブジェクトが新たに入力対象面に接触したこと、あるいは接触が継続されていることに応じたタッチ情報の通知時は「TOUCH」というイベントが通知される。また、操作オブジェクトがタッチパネルからリリースされたことに応じたタッチ情報の通知時には「RELEASE」というタッチイベントが通知される。タッチイベントが「TOUCH」であった場合には、通知される情報には操作オブジェクトによってタッチされているタッチ位置を示す座標情報が含まれる。「RELEASE」であった場合には、操作オブジェクトは入力対象面に接触していないので、タッチ位置の情報は検出されない。本実施形態において、タッチ位置検出部121が検出するタッチ位置に関する情報には、更に、タッチ位置あるいはタッチイベントが検出された時間を示す情報や、タッチ位置を識別するためのIDを含む。IDには、タッチ位置が検出された順番を関連させた識別子を用いることで、検出されるタッチ位置の数が複数である場合に管理がしやすくなる。また、本実施形態では、タッチ位置検出部121は、IDを基にタッチ位置の最新の情報を検出し、同じIDのタッチ位置が以前に検出された位置と異なる位置で検出されたことに基づき、タッチ位置が移動したことを検出することができる。ただし、同じIDのタッチ位置が以前に検出された位置と異なる位置で検出されたことに応じたタッチ情報の通知時に「MOVE」というタッチイベントが通知される検出システムに適用しても構わない。
近接位置検出部122は、タッチ位置検出部121と同様に、操作オブジェクトが入力対象面(タッチパネル表面)に近接している状態での位置に関する情報を検出する。なお、ここで検出する近接位置は、入力対象面に平行な二次元平面における、操作オブジェクトの先端部(例えば、ユーザの指先)の位置を示す座標である。本実施形態では、入力対象面に垂直な方向(高さ方向)の位置に関する情報は検出されない。また、入力対象面に接触している操作オブジェクトに関しては、近接位置は検出されない。ただし、タッチ位置検出部121が取得したタッチイベントの通知が「RELEASE」であった場合には、操作オブジェクトは入力対象面から離れている。従って、「RELEASE」イベントの通知と略同時のタイミングで、近接位置検出部122によって近接位置が検出されることがある。
本実施形態においては、タッチ位置検出部121と近接位置検出部122によって通知される情報(タッチイベント、ID、位置を示す座標情報、検出時刻等)の内容は、同じ形式に統一され、RAM104上に保持されて処理される。ただし、近接位置検出部122による通知情報には、近接状態で検出したことを示す情報が付加される。例えば、近接フラグの値を「ON」とする。
タッチ状態取得部123は、タッチ位置検出部121にて検出されたタッチ位置に基づいて、少なくともタッチ状態における操作オブジェクトの移動距離を取得する。この他にも、操作オブジェクトの移動速度や移動方向など、認識する操作に応じて必要となる情報を取得する。近接状態取得部124は、近接位置検出部122にて検出された近接位置に基づいて、少なくとも近接状態における操作オブジェクトの移動距離を取得する。この他にも、操作オブジェクトの移動速度や移動方向など認識する操作に応じて必要となる情報取得可能である。
認識部125は、タッチ状態取得部123にて取得された情報と、近接状態取得部124にて取得された情報が、予め定められた条件を満たすか否かを判定することで、入力されたタッチ操作を特定する。例えば、操作オブジェクトによって入力される情報が「タップ」、「ムーブ」(入力対象面を任意の方向になぞる操作)、「フリック」(入力対象面を弾くように指を高速で動かしてリリースする操作)などの条件を満たすかの判定を行う。また、タッチ位置の軌跡によって図形や文字を描く手書き入力操作の場合、描かれた軌跡と予め用意された辞書情報などに基づいて、操作を特定する。なお、以下第1の実施形態は、認識部125が特定するタッチ操作は、1つの入力位置に関する情報に基づいて特定されるシングルタッチ操作であることを想定して説明する。従って、第1の実施形態では、タッチセンサ108及び近接センサ109によって複数の入力位置が検出された場合でも、そのうち最も早く検出された1点を対象にして、後述する処理に沿ってシングルタッチ操作を認識する。ただし、検出される位置情報が1点である場合にのみ、そうではない場合とは独立して以下の処理を行うとしてもよい。
出力制御部126は、入力された操作に応答する為、情報処理装置100の各機能部を制御する。本実施形態では、少なくとも認識部125から通知された操作内容に基づいて表示画像を生成し、出力部であるディスプレイ110に出力する。
ここで、操作オブジェクトが入力対象面にタッチしている状態で得られる情報のみを利用してタッチ操作を認識する場合の課題を、「フリック」を例に挙げてより詳細に説明する。従来、「フリック」とは、操作オブジェクトが入力対象面からリリースされる直前の所定期間に、定められた閾値以上の移動量を移動したことを条件として認識されることが多い。利用例として、ユーザが、指を、ディスプレイ上の表示アイテムにタッチさせた後、高速移動をさせながらリリースする場合と、高速移動させずにリリースする場合を比較して説明する。指がリリース直前に高速に移動すると、それに応じて「フリック」が認識される。この場合、ディスプレイ上では、それまでタッチされていた表示アイテムが、タッチが終了した後でも高速移動に応じた慣性移動を続けるように表示されることが多い。一方で、指がリリースされる直前の所定期間に、「フリック」の条件を満たす程高速な移動をしていなければ、「フリック」は認識されない。指のリリースに伴う「フリック」が認識されなければ、表示アイテムに慣性移動は生じない。このように、装置に、「フリック」が行われたと判定されるか否かに応じて、ユーザに対するフィードバックは大きく異なるものとなる場合が多い。例えば、指がリリースされる際に、タッチセンサが指のブレを検出した場合、ユーザには指を高速に移動させた意図はないにも関わらず、タッチセンサが検出した値は「フリック」の条件を満たしてしまう場合がある。この場合、ディスプレイ上では、ユーザの意図に反して、表示アイテムが慣性移動してしまい、これはユーザにとっては装置の誤動作であると感じられてしまう。
同様に、ユーザの指が表示アイテムをタッチした直後に、タッチセンサが検出した指のブレ等が、指の移動として認識されてしまうと、ユーザは「タップ」を入力したつもりであるに関わらず、「ムーブ」が認識され、表示アイテムが移動してしまうことになる。これもまた、ユーザにとっては装置の誤動作であると感じられてしまう。
このような問題に対し、本実施形態は、検出されたタッチ位置と、該タッチ入力前またはタッチ入力後の近接状態での位置情報の両方に関する条件を組み合わせて用いることで、「タップ」と「ムーブ」、「フリック」を区別して認識可能とする例を説明する。具体的には、タッチが開始された直後のタッチ位置、及びその直前の近接状態での近接位置が、いずれも所定の条件を満たすほど移動した場合に、「ムーブ」が開始されたと認識する。さらに、タッチが終了された、つまり操作オブジェクトが入力対象面からリリースされた直前のタッチ位置が所定の条件を満たすだけ高速に移動し、かつ、その直後の近接状態での近接位置が十分移動した場合に、「フリック」が入力されたと認識する。
図2は、本実施形態において、情報処理装置100がタッチ操作を判定する処理の流れの一例を示すフローチャートである。図2のフローチャートの処理は、入力インタフェース105からタッチセンサにおいて検出されたタッチ位置の情報又は近接センサにおいて検出された近接位置の情報の通知があったことに応じて起動される。また、入力インタフェース105からタッチセンサによって検出されていたタッチ位置、又は近接センサによって検出されていた近接位置が検出されなくなったことを示すリリースの通知があったことに応じても起動される。タッチ位置の情報あるいはリリースは、所定の時間間隔で、センサの最新の状況を参照して通知される。
まず、ステップS201では、タッチ位置検出部121がタッチ位置に関する情報を検出する。タッチ位置に関する情報には、通知されたタッチイベントが「TOUCH」である場合には少なくともタッチされた位置の情報、タッチの検出時刻、IDが含まれる。また、通知されたタッチイベントが「RELEASE」であった場合には、少なくともリリースされたタッチ位置のIDが含まれる。タッチ位置検出部121は、検出した情報をRAM104に保持する。本実施形態では、RAM104には、少なくとも各IDのタッチ位置が最初に検出された時の情報と、最後(最新)に検出された時の情報、及び前回検出された時の情報が保持される。これは、タッチ開始時からの移動距離、及び、前回検出時からの移動距離を求めるためである。従って、既に検出されているIDのタッチ位置の移動が検出された場合には、直近2回分の検出で得られた情報を保持し、それより古い情報のうち、最初の検出に関する情報以外は順次削除していく。ただし、蓄積する情報はこれによらず、装置のリソースに応じて設定することができる。例えば、あるIDのタッチ位置が最初に検出されてから、検出されなくなる(リリースされる)までの全ての情報を蓄積してもよい。なお、入力対象面に触れている操作オブジェクトがない状態では、タッチセンサ108からタッチ位置の情報通知が無いため、タッチ位置検出部121はタッチ位置を検出しない。
次に、ステップS202では、近接位置検出部122が近接位置に関する情報を検出する。近接位置に関する情報は、タッチの場合と同様、近接位置が検出されている間は少なくとも位置情報、検出時刻、IDが含まれる。操作オブジェクトが入力対象面から十分離れて近接位置が検出されなくなった場合は、少なくとも近接位置が検出されなくなったことを示すイベントとIDが含まれる。近接位置検出部122は、検出した情報をRAM104に保持する。この際、ID、近接位置を示す座標情報、検出時刻等に加えて、近接状態で検出されたことを示す情報を保持する。例えば、近接フラグを「ON」とする。ステップS202では、入力対象面に近接する操作オブジェクトがない場合(操作オブジェクトが入力対象面に接触している場合も含む)は、近接センサ109からの近接位置に関する情報の通知は無い。従って、近接位置検出部122は近接位置を検出せず、処理はステップS203に進む。
ステップS203では、タッチ状態取得部123が、タッチ位置検出部121がステップS201においてタッチ位置を検出したか否かを判定する。例えば、RAM104に保持された情報を参照することで判定を行う。タッチ位置検出部121がタッチ位置を検出した場合には(ステップS203でYES)、処理はステップS204に進む。一方、タッチ位置検出部121がタッチ位置を検出しなかった場合には(ステップS203でNO)、処理はステップS205に進む。
ステップS204では、タッチ状態取得部123が、タッチ位置検出部121が検出したタッチ位置に関する情報を用いて、入力部に対する操作オブジェクトの移動に関する情報を取得する。例えば、移動距離や移動速度、移動方向などの少なくともいずれかを取得する。本実施形態では、操作オブジェクトが入力部にタッチしたことを最初に検出した時点での座標点から、検出された最新の座標点までの距離を計測により取得する。
一方、ステップS205では、近接状態取得部124が、近接位置検出部122がステップS202において近接位置を検出したか否かを判定する。ここでも、RAM104に保持された情報を参照することで判定を行う。近接位置検出部122が近接位置を検出した場合には(ステップS205でYES)、処理はステップS206に進む。一方、近接位置検出部122が近接位置を検出しなかった場合には(ステップS205でNO)、処理はステップS208に進む。
ステップS206では、近接状態取得部124が、操作オブジェクトが入力部にタッチする直前の近接状態で、近接位置検出部122によって検出された近接位置に関する情報を用いて、タッチ直前の操作オブジェクトの移動に関する情報を取得する。例えば、操作オブジェクトの移動距離や移動速度、移動方向などを取得する。本実施形態では、移動距離を取得する場合を説明する。移動距離の取得は、操作オブジェクトが入力部に近接したことを最初に検出した時点での座標点から、検出された最新の座標点までの移動距離を計測することで行う。本実施形態では、操作オブジェクトが入力部にタッチする前の状態かどうかを判定する方法として、フラグを参照する方法を用いる。例えばステップS203にてタッチ位置を検出したか否かにおいてYESとなった場合にタッチフラグを「ON」として、RAM104に保持された情報に関連付けるなどするとよい。タッチフラグの値が「ON」でなければ、タッチがなされる前であると判別できる。
ステップS207では、近接状態取得部124が、操作オブジェクトが入力部から離れた直後の近接状態で、近接位置検出部122によって検出された近接位置に関する情報を用いて、タッチ直後の操作オブジェクトの移動に関する情報を取得する。ここでも例えば、入力部に対する操作オブジェクトの移動距離や移動速度、移動方向などを取得する。本実施形態では、操作オブジェクトが入力部から離れた後に近接状態に移行して最初に検出した時点での座標点から、検出された最新の座標点までの移動距離を取得する。操作オブジェクトが入力部から離れた後の状態かどうかは、タッチフラグの値が「ON」であれば、タッチが行われてリリースされた後だと判別できる。
一方、ステップS208では、タッチ位置と近接位置のどちらも検出しておらず、操作前もしくは操作後の状態だとみなされるので、RAM104に保持されている情報の初期化を行う。本実施形態では、移動距離の取得のために保持している移動開始の座標点や、現在の座標点、タッチフラグを初期化する。ただし例えば、複数回のタッチで1つの操作を構成する種類の操作等を認識したい場合には、操作オブジェクトが入力対象面から離れる度に情報を初期化してしまうと不都合な場合がある。従って、操作の特定が行われた直後の1回のみ、ステップS208で取得結果の初期化を行い、そうではないタイミングではステップS208を省略して情報は保持し続けてもよい。
ステップS209では、認識部125が、ステップS204で取得したタッチ状態取得結果と、ステップS206、ステップS207で取得した近接状態取得結果と、予め用意された辞書を参照し、「ムーブ」が開始されたか否かを判定する。以下では、「ムーブ」が開始されたか否かの判定処理を、ムーブ判定という。辞書には、タッチ状態の条件と、近接状態の条件が「ムーブ」と対応付けられているものとする。本ステップでは、タッチ状態取得結果と近接状態取得結果がそれぞれの条件を満たした場合、「ムーブ」が開始されたと判定する。ステップS209のムーブ判定処理の詳細は後述する。
ステップS210では、認識部125が、ステップS204で取得したタッチ状態取得結果と、ステップS206、ステップS207で取得した近接状態取得結果と、予め用意された辞書を参照し、「フリック」が入力されたか否かを判定する。以下では、「フリック」が入力されたか否かの判定処理を、フリック判定という。ステップS209と同様に、タッチ状態取得結果と近接状態取得結果がそれぞれ所定の条件を満たした場合、「フリック」が入力されたと判定する。ステップS210のフリック判定処理の詳細は後述する。
次に、図3のフローチャートを参照して、図2のステップS209で実行される「ムーブ」を判定する処理の流れの一例を説明する。
ステップS301では、認識部125が、タッチ中か否かを判定する。判定方法としては、RAM104に保持された情報を参照することで、判定すればよい。他の方法としては、ステップS203の判定結果をフラグ情報等として保持しておき、それを参照するとしてもよい。ここで、タッチ中と判定された場合には(ステップS301でYES)、処理はステップS302に進む。一方、タッチ中でないと判定された場合には(ステップS301でNO)、処理はステップS310に進む。
ステップS302では、認識部125が、ムーブフラグの値が「ON」であるか否かを判定する。ムーブフラグは、後段のステップS305の処理にて「ムーブ」が開始されたと判断された場合に、値が「ON」に設定され、RAM104に保持される。ここで、ムーブフラグの値が「ON」の場合には(ステップS302でYES)、処理はステップS308に進む。ムーブフラグの値が「OFF」の場合には(ステップS302でNO)、ステップS303に進む。
ステップS303では、認識部125が、ステップS206にて取得されたタッチ前の近接状態が第1条件を満たすか否かを判定する。第1条件とは、前記操作オブジェクトが前記入力対象面に対して接触する前に近接していた状態で、前記入力対象面に平行な方向に十分移動していたか否かを判定するための条件である。例えば、タッチ前の近接状態での移動距離が予め設定された距離の閾値T1より大きいか否かを判定する。近接状態での移動距離とは、近接位置検出部122がタッチ前の操作オブジェクトの近接を検出し始めた時の位置から、タッチ前の近接状態で検出されたうち最後(最新)の位置までの、入力対象面に平行な方向の移動距離とする。この移動距離が閾値T1を超えるということは、ユーザは「指を動かしながら入力対象面に近づけた」ことを示し、タッチ前から、指を動かす「ムーブ」を行うことが意図されていた可能性が高いとみなすことができる。タッチ前の近接状態が第1条件を満たすと判定される場合には(ステップS303でYES)、ステップS307に進む。タッチ前の近接状態が第1条件を満たさないと判定される場合には(ステップS303でNO)、ステップS304に進む。
ステップS304では、認識部125が、ステップS204にて取得されたタッチ状態が第2条件を満たすか否かを判定する。例えば、タッチしてからの移動距離が予め設定された距離の閾値T2より大きいか否かを判定する。タッチしてからの移動距離とは、タッチ位置検出部121がタッチ前の操作オブジェクトのタッチを検出していない状態から、タッチを検出した状態になった時のタッチ位置から、最新(現在)のタッチ位置までの距離である。つまり閾値T2は、操作オブジェクトがタッチ状態で移動した距離が、「ムーブ」として認識されるのに十分なほど大きいかを判定するための閾値である。本実施形態では、ステップS304の処理が行われる場合、ステップS303では第1条件が満たされていないので、「ムーブ」が行われる可能性が低い。そのため、本実施形態では、第2条件は、ステップS303にてタッチ前近接状態が第1条件を満たす場合に判定される第3条件よりも厳しい条件が設定される。従って、閾値T2の大きさは、ステップS303で第1条件が満たされ、「ムーブ」が行われる可能性が高い場合よりも大きい値を用いる。そのため、タッチ後の操作オブジェクトの多少のブレでは「ムーブ」が認識されにくくなる。タッチ状態が第2条件を満たすと判定される場合には(ステップS304でYES)、ステップS305に進む。タッチ状態が第2条件を満たさないと判定される場合には(ステップS304でNO)、本処理を終了し、図2のフローチャートへ戻る。
ステップS305では、認識部125が、「ムーブ」が開始されたことを示すムーブフラグの値を「ON」にする。ステップS306では、認識部125が、「ムーブ」が開始された事を示すムーブイベントを、出力制御部126に通知する。
一方、ステップS307では、認識部125が、ステップS204にて取得されたタッチ状態が第3条件を満たすか否かを判定する。例えば、タッチしてからの移動距離が予め設定された距離の閾値T3より大きいか否かを判定する。閾値T3もまた、操作オブジェクトがタッチ状態で移動した距離が、「ムーブ」として認識されるのに十分なほど大きいかを判定するための閾値である。ステップS307の処理は、ステップS303にてタッチ前近接状態が第1条件を満たし、「ムーブ」が行われる可能性が高いとみなされる場合に実行されるため、第3条件は、前述の第2条件よりも満たされ易い条件が設定される。つまり、閾値T3としては、閾値T2よりも小さい値が設定される。そのため、ユーザがタッチ後に指等の操作オブジェクトを移動させれば、速やかに「ムーブ」の開始が認識され、ユーザの「ムーブ」への追従性を高めることができる。タッチ状態が第3条件を満たすと判定された場合には(ステップS307でYES)、ステップS305に進む。タッチ状態が第3条件を満たさないと判定された場合には(ステップS307でNO)、本処理を終了し、図2のフローチャートへ戻る。
このように、本実施形態の処理において、ステップS305において「ムーブ」が開始されたと判定される流れは2通りある。1つ目は、ステップS303にてタッチ前近接状態が第1条件を満たしていない、つまり、「ムーブ」が入力される可能性は低いとみなされたが、ステップS304で、実際にタッチされた状態での移動距離が大きめに設定された閾値T2を超えた場合である。2つ目は、ステップS303にてタッチ前近接状態が条件を満たし、「ムーブ」が入力される可能性が高いと判定された上で、ステップS307にて実際にタッチされた状態での移動距離が低めに設定された「ムーブ」の閾値を超えた場合である。これらのいずれかの流れに沿って、「ムーブ」フラグの値が「ON」と設定されていた場合に、ステップS302の処理が実行されると、処理はステップS308に進む。
ステップS308では、認識部125が、ステップS204にて取得されたタッチ状態が第4条件を満たすか否かを判定する。例えば、タッチ中の座標点を保持しておき、前回保持した座標点から現在の座標点までの移動距離が予め設定された距離の閾値T4より大きいか否かを判定する。閾値T4もまた、操作オブジェクトがタッチ状態で移動した距離が、「ムーブ」として認識されるのに十分なほど大きいかを判定するための閾値である。ただし、上述した第2条件および第3条件は、タッチ開始直後のタッチ位置に関し、「ムーブ」が開始されたかを判定するための条件であったのに対し、第4条件は、既に開始された「ムーブ」が継続されているかを判定するための条件である。そこで本実施形態では、第4条件は、前述の第2条件の閾値よりもさらに満たされ易い条件を設定する。すなわち、距離の閾値T4は、閾値T2よりも小さい値が設定される。これにより、「ムーブ」が既に開始されている場合は、操作オブジェクトがリリースされない限りは、少しの移動があれば速やかに「ムーブ」として認識されるので、ユーザの「ムーブ」への追従性を高めることができる。タッチ状態が第4条件を満たすと判定される場合には(ステップS308でYES)、ステップS309に進む。タッチ状態が第4条件を満たさないと判定される場合には(ステップS308でNO)、本処理を終了し、図2のフローチャートへ戻る。
ステップS309では、認識部125が、「ムーブ」が行われた旨をムーブイベントとして、出力制御部126に通知する。
ステップS310では、認識部125が、ムーブフラグの値を「OFF」にする。これは、ステップS301において、タッチ中でないと判定された場合、タッチ操作中ではないので、ムーブ判定を行う必要がないからである。
以上がステップS209で実行される「ムーブ」の判定処理である。なお、図3のフローチャートの例では、より判定の精度を高めるため、ステップS303の結果によりタッチ判定の条件を、第2条件または第3条件のいずれとするかを切り替えている。しかし、処理の簡素化のために、例えばステップS304を省略し、ステップS303の条件を満たし、かつ、ステップS307の条件を満たす場合に、ムーブイベントが通知されるように変形することもできる。
次に、図4のフローチャートを参照して、ステップS210で実行される「フリック」を判定する処理の流れの一例を説明する。
ステップS401では、認識部125が、リリース後か否かを判定する。本実施形態では、RAM104に保持された一連の情報を参照し、直前に、タッチ位置を検出している状態から、タッチ位置が検出していない状態の変化があったかで判定を行うとよい。なお、他の判定方法として、例えばタッチ位置を検出している状態から、タッチ位置を検出していない状態への変化があった時点で「ON」と設定されるリリース後フラグを参照してもよい。この場合、リリース後フラグは、タッチ位置が再度検出された際に「OFF」にすればよい。いずれの方法でも、本実施形態では、操作オブジェクトがタッチパネルからリリースされた直後であることを判定しているが、リリース後どれだけ時間が経過した時点までを「リリース後」とするかは、認識するコマンドや装置の仕様に応じて設定されればよい。リリース後であると判定された場合には(ステップS401でYES)、処理はステップS402に進む。一方、リリース直後でないと判定された場合には(ステップS401でNO)、処理はステップS408に進む。
ステップS402では、認識部125が、フリックフラグの値が「ON」であるか否かを判定する。フリックフラグは、後段のステップS405の処理にて「フリック」が行われたと判断された場合に、値が「ON」に設定され、RAM104に保持される。ここで、フリックフラグの値が「ON」の場合には(ステップS402でYES)、本処理を終了し、図2のフローチャートへ戻る。一方でフリックフラグの値が「OFF」の場合には(ステップS402でNO)、ステップS403に進む。
ステップS403では、認識部125が、ステップS204にて取得されたタッチ状態が第5条件を満たすか否かを判定する。第5条件は、操作オブジェクトのリリースが、「フリック」の定義に沿ったものであったか、つまり、入力対象面を弾くように、所定のスピードより高速な移動を伴ってリリースされたかを判定するための条件である。例えば、リリース直前の移動速度が予め設定された速度の閾値T5より大きいか否かを判定する。リリース直前の移動速度とは、タッチ位置検出部121がリリース直前に検出していたタッチ位置を示す座標点から所定の時間前の時点でタッチしていた座標点までの距離を所定の時間で割った値となる。ただし、本実施形態では、割り算をして速度を求める処理を省略し、所定の時間における移動距離の大きさと移動距離の閾値T5との比較処理によって、フリック判定を行うこともできる。リリース直前の移動速度が閾値T5を超えた場合、「フリック」が行われた可能性が高くなる。リリース直前の移動速度が予め設定された閾値より大きい場合には(ステップS403でYES)、ステップS407に進む。リリース直前の移動速度が予め設定された閾値T5より小さい場合には(ステップS403でNO)、ステップS404に進む。
ステップS404では、認識部125が、ステップS207にて取得されたリリース後近接状態が第6条件を満たすか否かを判定する。例えば、リリース後の近接状態での移動距離が予め設定された距離の閾値T6より大きいか否かを判定する。ここで近接状態での移動距離とは、近接位置検出部122がリリース直後の操作オブジェクトの近接を検出した時点での位置からの現在までに、入力対象面に対して平行な方向に移動した距離である。この移動距離が閾値T6を超えるということは、ユーザが「フリック」の勢いで、リリース後も、指等の操作オブジェクトを、入力対象面に対して平行な方向に長い距離を移動させたと考えられ、「フリック」が行われた可能性が高くなる。本実施形態では、ステップS404の処理が行われる場合、ステップS403では第5条件が満たされてないので、「フリック」が入力される可能性は低いとみなされる。そのため、本実施形態では、第6条件は、ステップS403にてタッチ状態が第5条件を満たす場合に判定される第7条件よりも厳しい条件が設定される。従って距離の閾値T6の大きさは、ステップ403で第5条件が満たされ、「フリック」が行われる可能性が高い場合よりも大きい値が設定される。ステップS403にてタッチ状態が第5条件を満たしていない場合、「フリック」が行われた可能性が低いので、「ムーブ」が「フリック」と誤認識されることを低減するために、フリック判定の閾値を大きく設定する。移動距離が予め設定された距離の閾値T6より大きい場合には(ステップS404でYES)、ステップS405に進む。移動距離が予め設定された距離の閾値T6より小さい場合には(ステップS404でNO)、本処理を終了し、図2のフローチャートへ戻る。
ステップS405では、認識部125が、「フリック」が入力されたことを示すフリックフラグの値を「ON」に設定する。ステップS406では、認識部125が、「フリック」が行われた旨をフリックイベントとして出力制御部126に通知する。
ステップS407では、認識部125が、ステップS207にて取得されたリリース後近接状態が第7条件を満たすか否かを判定する。例えば、リリース後の近接状態での移動距離が予め設定された距離の閾値T7より大きいか否かを判定する。なお、第7条件では、前述の第6条件の閾値よりも小さい値が設定されている。ここでは、ステップS403にてタッチ状態が第5条件を満たす場合、「フリック」が行われた可能性が高いので、ユーザの「フリック」への追従性を優先するために、フリック判定の閾値を下げている。フリック判定の閾値が小さいため、リリース後の指等の操作オブジェクトの微小な移動によって満たされ易く、リリース後速やかに「フリック」が入力されたと認識されることになる。この移動距離が予め設定された閾値T7より大きい場合には(ステップS407でYES)、ステップS405に進む。この移動距離が予め設定された閾値T7より小さい場合には(ステップS407でNO)、本処理を終了し、図2のフローチャートへ戻る。
本実施形態において、処理がステップS405に至る流れは2通りある。1つ目は、タッチ状態について設けられた第5条件が満たされない場合(ステップS403でNO)である。言いかえれば、「フリック」が入力される可能性は低いとみなされるが、タッチ後の近接状態について設けられた第6条件が満たされる場合(ステップS404でYES)である。2つ目は、タッチ状態について設けられた第5条件が満たされ(ステップS403でYES)、「フリック」が入力される可能性は高いとみなされた上で、タッチ後の近接状態について設けられた第7条件が満たされる場合(ステップS407でYES)である。これらのいずれかの流れに沿って、「フリック」フラグの値が「ON」と設定された場合に、ステップS402の処理が実行されると、図4のフローチャートの処理は終了し、処理は図2に示されたメイン処理に返る。
ステップS408では、認識部125が、フリックフラグの値を「OFF」に設定する。これは、ステップS401において、リリース後でないと判定された場合、「フリック」判定を行う必要がないからである。
以上がステップS210で実行される「フリック」の判定処理である。なお、図4に示した例では、より判定の精度を高めるために、ステップS403の結果によりフリック判定の条件を、第6条件または第7条件のいずれとするか切り替えている。しかし、処理の簡素化のために、例えばステップS404を省略し、ステップS403の条件を満たし、かつ、ステップS407の条件を満たす場合に、フリックイベントが通知されるように変形することもできる。
なお、上述したステップS209で判定する「ムーブ」、及びステップS210で判定する「フリック」は、特定のタイミングでのタッチ位置の移動の有無に応じて異なる操作として解釈される複数の操作の一例である。区別する操作が異なる場合は、それに応じた条件に基づいて判定を行えばよい。また、本実施形態では、ムーブ判定とフリック判定の2つの処理を行っているが、これに限らず、判定する操作を増やしたり減らしたり、入れ替えてもよい。また、個別の操作の判定は、図2のフローチャートのタッチ操作判定処理の後段で行う例を示したが、これに限らない。例えば、タッチ中であるかの判定(ステップS301)やリリース判定(ステップS401)を、ステップ図2のステップS203やステップS205と共通化することで、図2のフローチャートの前段に埋め込んでもよい。その場合、判定が不要なタイミングでは、ムーブ判定処理とフリック判定処理が呼び出されないので、処理工程を減らすことができる。ただし、本実施形態のように、タッチ状態及び近接状態の取得処理と、後段の操作の判定処理を分離することで、プログラム上で、個別の操作の判定の追加や削除が容易となる。また、操作の判定処理間の依存関係を疎にできるため、メンテナンス性が向上する。
以上説明したように、本実施形態の情報処理装置100は、検出されたタッチ位置と、該タッチ入力前またはタッチ入力後の近接状態での位置情報の両方に関する条件に基づいて、入力されたタッチ操作を認識する。これにより、ユーザの意図に反した誤認識の発生を低減している。
<操作例1>
以下では、具体的に、第1の実施形態による情報処理装置100をユーザが操作した場合に実行される動作を操作例として説明する。
まず、図5は、本実施形態で使用するタッチパネルの一例を示す図である。タッチパネル表面の入力領域500は、図面に向かって左上を原点とし、x軸方向に960dot、y軸方向に540dotの幅を持つ座標平面として、タッチ位置及び近接位置を座標情報として扱う。タッチパネルの解像度は、ディスプレイに合わせてあるものとし、単位はdotとする。タッチ位置及び近接位置の検出情報は、入力インタフェース105から20ms毎に通知されるものとする。なお、入力領域500は、入力対象面としてのタッチパネル表面の全体であってもよいし、入力対象面内の一部の領域であってもよい。操作オブジェクトとしてのユーザの指501は、入力領域500に対して「ムーブ」、あるいは「タップ」を入力する。なお、本実施形態について「タップ」というときは、1回分のタップが操作入力として認識される「シングルタップ」のことを差す。
まず、タッチする直前の近接状態において、入力対象面に平行な方向に所定の距離以上移動している場合と移動していない場合とで、「ムーブ」が開始されたか否かを判定する例を説明する。ここで図6(a)(b)は、ユーザの指が「ムーブ」の入力を開始する場合と、「タップ」の入力を開始する場合を比較する図である。なお図6の各図は、図5における指501の近傍を、y軸に向かう向きに見た状態に相当する。
図6(a)において、点511〜点517のそれぞれは、ユーザの指が「ムーブ」の入力を開始した場合に、検出される一連の入力位置である。それぞれは、図5で示された座標平面に基づくxy座標で定義される。ここでは、点511〜点514が、近接センサ109によって検出された近接位置であり、点515〜517が、タッチセンサ108によって検出されたタッチ位置である。
また図6(b)において、点521〜点524のそれぞれは、ユーザの指が、「タップ」を行う、つまり「ムーブ」を開始しない場合に、タッチパネルに接触するまでに検出される一連の入力位置である。ここでは、点521〜点522が、近接センサ109によって検出された近接位置であり、点523〜点524が、タッチセンサ108によって検出されたタッチ位置である。
まず、図6(a)を参照して、本実施形態の情報処理装置100において、ユーザが「ムーブ」を開始する場合に実行される処理を説明する。近接センサ109は、指501が、入力対象面の近接範囲に入って来たことで、最初に点511を近接位置として検出する。近接位置が検出されたことに応じて、図2のフローチャートの処理が開始される。点511が検出された時点では、まだタッチ前の状態のため、タッチ位置は検出されず(ステップS203でNO)、点511という近接位置を検出している(ステップS205でYES)。ただし、まだ近接位置の情報が1つしか保持されておらず、タッチもなされていないので、タッチ前近接状態での移動距離の取得(ステップS206)、リリース後近接状態での移動距離の取得(ステップS207)はなされずに次の処理に進む。この段階では「ムーブ」フラグ、及び「フリック」フラグはそれぞれ初期値の「OFF」であるので、ムーブ判定(ステップS209)、フリック判定(ステップS210)ともに判定結果は「否」となり、図2のフローチャートの処理は終了する。以降同様に、点512〜点517が検出される度に、図2のフローチャートの処理が繰り返される。
点512が近接センサ109により検出されると、最初に検出され、保持されている点511の位置情報との差分から、タッチ前近接状態における移動距離が取得される(ステップS206)。操作例1では、点511と点512間の直線距離が、約8.2dotと算出される。ただし、移動距離は2点間の直線距離を算出する方法に限らず、例えば、x軸方向とy軸方向それぞれで差分を算出してもよい。以降は点511の検出時と同様、リリース後近接状態での移動距離は取得されず(ステップS207)、ムーブ判定(ステップS209)、フリック判定(ステップS210)ともに判定結果は「否」となり、図2のフローチャートの処理は終了する。点513〜点514の近接位置が検出される度に、点512の時と同様の処理により、点511から最新の点までの移動距離を取得する。図6(a)の例では、点514が検出された時点で、最初の点からの移動距離は約32.0dotと算出される。
次に、点515がタッチセンサ108により検出される。このとき、タッチ位置が検出されたが(ステップS203でYES)、まだタッチ位置の情報が1つしか保持されていないので、タッチ状態での移動距離の取得(ステップS204)はなされずにムーブ判定処理に進む。まず、この時点ではタッチ中なので(ステップS301でYES)、ムーブフラグが「OFF」のため(ステップS302でNO)、ステップS303においてタッチ前近接状態が第1条件を満たすか否かが判定される。操作例1において、第1条件は「タッチ前近接状態での移動距離が閾値T1=30dot以上であること」とする。図6(a)に示す例では、タッチ前近接状態での移動距離が約32.0dotのため、閾値T1の30dot以上を満たす(ステップS303でYES)。ただし、まだタッチ状態での移動距離が算出されていないため、タッチ状態は第3条件を満たさないと判定され(ステップS307でNO)、処理は図2のフローチャートに戻る。「フリック」フラグは「OFF」であるためフリック判定は「否」となり(ステップS210)、図2のフローチャート処理は終了する。
次に、点516がタッチセンサ108により検出されると、前回検出され、保持されている点515の位置情報との差分から、タッチ状態における移動距離が取得される(ステップS204)。操作例1では、近接状態の場合と同様に、直線距離を算出することで取得する。図6(a)の例では、点515から点516までの移動距離は約20.0dotと求められる。ムーブ判定(ステップS209)では、点515の時と同様に、タッチ前近接状態において第1条件が満たされるので(ステップS303)、ステップS307において、タッチ状態での移動距離は第3条件を満たすか否かが判定される。ここで、第3条件を、タッチ状態での移動距離が閾値T3=10dot以上であることであるとすると、点515から点516までの移動距離は約20.0dotだったため、第3条件を満たす(ステップS307でYES)。従って、ムーブフラグが「ON」に設定され、出力制御部126など情報処理装置100の他のモジュールに対して「ムーブ」イベントが通知される。
点517がタッチセンサ108により検出されると、ムーブ判定に至るまでの処理は、点516の場合と同様の流れに従って処理される。なおステップS204においては、点516から点517までの移動距離は、23dotであると算出される。さらに、23dotを、前回の位置検出から今回の位置検出までの周期(例えば20ms)で割ることによって移動速度を算出する。ムーブ判定では、ムーブフラグが「ON」であることから(ステップS302でYES)、ステップS308において、前回のタッチ位置からの移動距離が第4条件を満たすか否かが判定される。ここで、第4条件を、前回のタッチ位置からの移動距離が閾値T4=1dot以上であることであるとすると、点516から点517までの移動距離は23dotで第4条件を満たす。従って、ムーブイベントが通知される(ステップS306)。
このように本実施形態では、ユーザが指501を、タッチパネルに接触させる前の近接状態で既に移動させ始めている場合、タッチ状態での移動距離の閾値を低くするので、「ムーブ」が入力された場合の応答が速やかになり、ユーザにとって操作性が向上する。
次に、図6(b)を参照して、本実施形態の情報処理装置100において、ユーザが「タップ」を開始する場合に実行される処理を説明する。なお、図6(b)では、指501がリリースする段階で検出される位置は示されていないので、実際には、この段階で「タップ」が入力されるか、あるいは「ムーブ」や「フリック」が入力されるのかは区別できない。
図6(b)に示す例の場合も、点521〜点524が検出される度に、図2のフローチャートの処理が繰り返される。点521〜522が近接センサ109に検出された場合の処理は図6(a)の点511〜点514と同様の流れにそって実行される。図6(b)の場合、点521から点522の移動距離は、約5.8dotと算出される。
続いて点523がタッチセンサ108により検出される。このとき、タッチ位置が検出されたが(ステップS203でYES)、まだタッチ位置の情報が1つしか保持されていないので、タッチ状態での移動距離の取得(ステップS204)はなされずにムーブ判定処理に進む。この時点はタッチ中なので(ステップS301でYES)、「ムーブ」フラグが「OFF」のため(ステップS302でNO)、ステップS303においてタッチ前近接状態が第1条件を満たすか否かが判定される。操作例1において、第1条件の閾値T1は30dotである。図6(b)に示す例の場合、点521から点522の移動距離は、約5.8dotであって閾値T1よりも小さいので、第1条件は満たされない(ステップS303でNO)。ただし、まだタッチ状態での移動距離が算出されていないため、タッチ状態は第2条件を満たさないと判定され(ステップS304でNO)、図2のフローチャートの処理に戻り、フリック判定は「否」となる(ステップS210)。
点524がタッチセンサ108により検出されると、前回検出され、保持されている点523の位置情報との差分から、タッチ状態における移動距離が取得される(ステップS204)。ここで点523から点524までの移動距離は、約15.0dotである。ステップS209のムーブ判定処理では、タッチ前近接状態が第1条件を満たさないため(ステップS303でNO)、ステップS304において、タッチ状態での移動距離が第2条件を満たすかが判定される。操作例1での第2条件は、タッチ状態での移動距離が閾値T2=30dot以上であるとする。このように、閾値T2は閾値T3の10dotより大きい値が設定される。点523から点524までの移動距離約15.0dotは、閾値T2の30dotよりも小さいため、第2の条件は満たされない(ステップS304でNO)。従って、「ムーブ」イベントは通知されず、処理は図2のフローチャートに戻り、一連の処理は終了する。
このように、本実施形態によれば、ユーザが指501を、タッチパネルに接触させる前の近接状態ではあまり移動させない場合、タッチ状態での移動距離の閾値は比較的大きく設定される。つまり、「ムーブ」が行われたと認識されにくくなる。これにより、ユーザに「ムーブ」を行う意図がない場合に、タッチセンサ108によって検出されてしまう位置情報のばらつきによって、「ムーブ」が誤認識されてしまうことを防ぐことができる。
次に、図6(c)(d)は、ユーザの指が「ムーブ」を終えるために指501をリリースする際に、「フリック」を行う場合と、「フリック」を行わない場合を比較する図である。
図6(c)において、点601〜点606のそれぞれは、ユーザの指が「ムーブ」の途中から「フリック」として指を掃いながらリリースされた後でタッチパネルから遠ざかり、入力対象面の近接範囲から出てしまうまでに検出される一連の入力位置である。それぞれは、図5で示された座標平面に基づくxy座標で定義される。ここでは、点601、602が、タッチセンサ108によって検出されたタッチ位置であり、点603〜点606が、近接センサ109によって検出された近接位置である。同様に図6(d)において、点611〜点615のそれぞれは、ユーザの指が「ムーブ」の途中から、「フリック」を伴わずにリリースされた後でタッチパネルから遠ざかり、入力対象面の近接範囲から出てしまうまでに検出される一連の入力位置である。ここでは、点611、点612が、タッチセンサ108によって検出されたタッチ位置であり、点613〜点615が、近接センサ109によって検出された近接位置である。
まず、図6(c)を参照して、ユーザが「ムーブ」の後に「フリック」を伴って指をリリースする過程において、本実施形態の情報処理装置100が実行する処理を説明する。ここでも、点601〜点606が検出される度に、図2のフローチャートの処理が繰り返される。点601及び点602はタッチ位置であり、タッチセンサ108が、「ムーブ」中の指501を検出したタッチ位置である。ここに至るまでには、図6(a)の点517で説明したように、タッチ状態の移動距離と第4条件(ステップS308)を使用したムーブ判定が実行されている。
点602がタッチセンサ108によって検出された時点では、前回検出され、保持されている点601の位置情報との差分から、タッチ状態における移動距離と移動速度が取得される(ステップS204)。点601から点602までの移動距離は、約28.0dotである。タッチ位置の検出間隔を20msとした場合、移動速度は約1.4dot/msと算出される。ただし、移動速度は、タッチ位置が検出される度に算出してもよいが、タッチのリリースが検出された際に、リリース直前のタッチ点と、その1つ前に検出されたタッチ点との間の移動速度を算出するとしてもよい。さらに、ムーブフラグが「ON」で(ステップS302でYES)、前回のタッチ位置からの移動距離約28.0dotが第4条件を満たす(ステップS308でYES)ので、ムーブイベントが通知される(ステップS306)。
次に、点603が近接センサ109により検出されると、タッチ位置は検出されず(ステップS203でNO)、近接位置を検出している(ステップS205でYES)。この時点での近接状態は、リリース後に相当するので、タッチ前近接状態での移動距離の取得(ステップS206)は行われず、リリース後の近接状態での移動距離が取得される(ステップS207)。ただし、リリース後の近接状態に関しては、1つしか位置情報が保持されていないので、移動距離は取得されない。ステップS209のムーブ判定では、タッチ中ではないため(ステップS301でNO)、ムーブフラグを「OFF」に設定して(ステップS310)、ステップS210のフリック判定に進む。フリック判定では、リリース後であって(ステップS401でYES)、フリックフラグは初期値の「OFF」であるため(ステップS402でNO)、ステップS403において、リリース直前のタッチ状態での移動速度が第5条件を満たすかを判定する。操作例1において第5条件は、リリース直前のタッチ点と、その1つ前に検出されたタッチ点との間の移動速度が閾値T5=1dot/ms以上であること、とする。その場合、図6(c)に示す例では、移動速度が約1.4dot/msと算出されているため、第5条件を満たす(ステップS403でYES)。従って、ここでは、まだリリース後の近接状態での移動距離が取得されていないため、リリース後の近接状態での移動距離が第7条件を満たさないと判定される(ステップS407でNO)。
次に点604が近接センサ109により検出されたことに応じた処理では、リリース後近接状態における点603から点604までの移動距離は、約25.0dotと算出される(ステップS207)。フリック判定では、リリース前のタッチ状態の移動速度約1.4dot/msが第5条件を満たすので(ステップS403でYES)、ステップS407で、リリース後近接状態での移動距離が第7条件を満たすか否かが判定される。操作例1において、第7条件は、リリース後近接状態での移動距離が閾値T7=40dot以上であるとする。ここで点603から点604までの移動距離は約25.0dotであり、第7条件を満たさない(ステップS407でNO)。従ってフリックイベントは通知されず、図2のフローチャートの処理は終了する。
次に、点605が近接センサ109により検出されると、フリック判定までの処理は、点604の場合と同様の流れにそって実行される。ただし、リリース後近接状態については、点603から点605までの移動距離が約43.0dotと算出される(ステップS207)。フリック判定では、点603から点605までの移動距離約43.0dotが、第7条件を満たす(ステップS407でYES)ので、フリックフラグの値が「ON」に設定され(ステップS405)、フリックイベントが通知される(ステップS406)。さらに点606が近接センサ109により検出されると、フリックフラグが「ON」となっているため(ステップS402でYES)、フリックイベントは通知されずに一連の処理は終了する。このように、フラグを用いることで、近接センサ109によって指501が検出され続けていても、複数回フリックイベントが通知され、不必要な表示制御が実行されることを防いでいる。
一般的に、高速に移動させた操作オブジェクトを、慣性に逆らって急停止させるのは難しく、「フリック」の入力直後の指が急停止することは不自然と言え、リリース後も「フリック」の勢いのまま有る程度移動するのが自然である。従って、本実施形態では、ユーザが指501を高速に移動させてリリースした場合、リリース後の移動距離に基づいて「フリック」の勢いのまま指を移動させ続けた段階で、「フリック」の入力があったと認識する。これによりユーザが「フリック」を行ったことをより確実に判断でき、誤認識を低減することができる。
次に、図6(d)を参照して、ユーザが「ムーブ」の後に「フリック」を伴わずに指をリリースする過程において、本実施形態の情報処理装置100で実行される処理を説明する。ここでも、点611〜点615が検出される度に、図2のフローチャートの処理が繰り返される。点611及び点612はタッチ位置であり、タッチセンサ108が、「ムーブ」中の指501を検出したタッチ位置である。ここに至るまでには、タッチ状態の移動距離と第4条件(ステップS308)を使用したムーブ判定が実行されている。
点612がタッチセンサ108によって検出された時点では、前回検出され、保持されている点611の位置情報との差分から、タッチ状態における移動距離と移動速度が取得される(ステップS204)。点611から点612までの移動距離は、約12.2dotである。ここで、タッチ位置の検出間隔を20msとした場合、移動速度は約0.6dot/msと算出される。
次に、点613が近接センサ109により検出されると、点603の場合と同様、ムーブ判定(ステップ209)において、ムーブフラグを「OFF」に設定して(ステップS310)、ステップS210のフリック判定に進む。フリック判定では、リリース後であって(ステップS401でYES)、フリックフラグは初期値の「OFF」であるため(ステップS402でNO)、ステップS403において、リリース直前のタッチ状態での移動速度が第5条件を満たすかを判定する。点611から点612に至る移動速度約0.6dot/msは、閾値T5=1dot/msよりも小さいため、第5条件は満たされない(ステップS403でNO)。また、まだリリース後の近接状態での移動距離が取得されていないため、リリース後の近接状態での移動距離が第6条件を満たさないと判定される(ステップS407でNO)。
次に、点614が近接センサ109により検出されたことに応じた処理では、リリース後近接状態における点613から点614までの移動距離が、約10.0dotと算出される(ステップS207)。フリック判定では、リリース前のタッチ状態の移動速度約0.6dot/msが第5条件を満たさないので(ステップS403でNO)、ステップS404において、点613から点614までの移動距離約10.0dotが第6条件を満たすか否かが判定される。操作例1における第6条件は、リリース後近接状態での移動距離が閾値T6=60dot以上であるとする。なお、第6条件の閾値T6=60dotは、第7条件の閾値T7=40dotよりも大きい値が設定されている。このとき、点613から点614までの移動距離約10.0dotは、第6条件を満たさない(ステップS404でNO)。従ってフリックイベントは通知されず、図2のフローチャートの処理は終了する。
点615が近接センサ109により検出されたことに応じた処理では、点613から点615までの移動距離が約16.0dotと算出される(ステップS207)。これは、フリック判定において、第6条件を満たさない(ステップS404でNO)ので、フリックイベントは通知されない。
このように、本実施形態では、ユーザが指501をリリースする際に高速移動させていない場合、高速移動させた場合に比較して、近接状態における移動距離の閾値が比較的大きく設定される。つまり、「フリック」が行われたと誤認識されにくくなる。また、仮にステップS403にてタッチ状態では第5条件を満たしたとしても、リリース後の近接状態において第7条件を満たさなければ「フリック」と認識されない。これにより、「ムーブ」の終了時にセンサによって検出されてしまう入力位置のブレによって、誤って「フリック」が認識されてしまうことを防ぐことができる。
なお、本実施形態では、移動距離や移動速度の算出を、近接状態とタッチ状態に跨いで算出することはしていない。つまり、タッチ状態の取得には、近接状態での位置情報は用いられず、反対に、近接状態の取得には、タッチ状態での位置情報は用いられない。これは、近接状態とタッチ状態の各位置情報を検出するために用いられるセンサの方式が違う場合に発生することが多い位置情報のずれの影響を抑えるためである。しかしながら、例えば同一のセンサによって近接状態とタッチ状態の各位置情報を検出する場合など、装置に依存したズレの発生が少ない環境においては、近接状態とタッチ状態に跨いだ移動について移動距離を取得してもよい。例えば、図6(a)において、タッチ前の近接状態の移動距離(タッチするまでの移動距離)として、点511から点515までの移動距離を算出することができる。また、図6(c)においては、タッチ後の近接状態の移動距離(リリースしてからの移動距離)として、点602からの移動距離を算出してもよい。また、タッチ位置の検出精度と、近接位置の検出精度の差に応じて、タッチ操作を判定するための条件(閾値の大きさ)を変更することもできる。例えば、タッチ位置の検出精度と、近接位置の検出精度の差が大きい場合には、タッチ操作を判定するための条件を、満たされにくくなるように変更し、精度誤差よってタッチ操作が誤認識されること防ぐ。反対に、検出精度の差が小さい場合には、タッチ操作への追従性を良くするために、タッチ操作を判定するための条件を、満たされ易いように変更する。もしくは、検出精度が高い方の位置情報を用いる判定結果には重みを付けて、なるべく検出精度の高い位置情報に基づいてタッチ操作が判定され易くなるようにしても良い。
以上説明したように、本実施形態では、タッチ操作を行う前後において、ユーザの指等の操作オブジェクトが、タッチ操作の入力対象面に対して近接状態にある時の移動に関する情報と、タッチ中の移動に関する情報をそれぞれ取得する。そして、それぞれが所定の条件を満たすか否かに応じて、入力されたタッチ操作を区別して認識する。特に、タッチ前の近接状態で、操作オブジェクトが入力対象面に平行な方向に移動した距離が大きい場合は、ユーザがタッチ後に「ムーブ」を入力する可能性が高いとみなし、速やかに「ムーブ」が認識されるようにタッチ状態での条件を変更する。一方で、タッチ前の近接状態で、操作オブジェクトが入力対象面に平行な方向に移動した距離が小さい場合は、ユーザがタッチ後に「ムーブ」を入力する可能性は低いとみなし、「ムーブ」が認識されにくいように、タッチ状態での条件を変更する。これにより、ユーザが「タップ」の入力を意図しており、タッチ状態で指を動かしたつもりがない場合に、検出される位置情報のブレにより「ムーブ」が誤認識されることを防ぐことができる。さらに、ユーザが「ムーブ」の入力を意図している場合には、速やかに「ムーブ」が認識され、指の動きに追従した表示画面のフィードバックを開始できる。また、操作オブジェクトが入力対象面から離れる直前の指の移動速度が速い場合は、ユーザが「フリック」をする可能性が高いとみなし、「フリック」が認識され易くなるように、タッチ後の近接状態での条件を変更する。一方、操作オブジェクトが入力対象面から離れる直前の指の移動速度が遅い場合はユーザが「フリック」を伴わないリリース操作をする可能性が高いとみなし、「フリック」が認識されにくいように、タッチ後の近接状態での条件を変更する。これにより、ユーザが「フリック」を入力する意図がないにも関わらず、検出される位置情報のブレにより、リリース直前の移動速度が速いと判定された場合でも、リリース後に操作オブジェクトが移動しなければ「フリック」の誤認識を防ぐことができる。
<変形例>
上述した第1の実施形態では、認識部125が認識するタッチ操作は、1つの入力位置に関する情報に基づいて認識されるシングルタッチ操作であることを想定した。それに対し、シングルタッチ操作およびマルチタッチ操作の両方が認識可能である場合に、近接状態において検出される入力位置の数の条件が満たされるかに応じて、タッチ状態において検出された情報について判定する条件を異ならせる変形例を説明する。変形例では、近接状態にある操作オブジェクトに関して、2つ以上の近接位置が検出された場合には、タッチ状態において検出された情報が所定のマルチタッチ操作を認識するための条件を満たすか否かを判定する。
変形例の情報処理装置100のハードウェア構成及び機能構成は、第1の実施形態の図1(a)、図1(b)と同様であるため、説明を省略する。ただし、変形例の認識部125は、複数の操作オブジェクト(例えば複数本の指)によってタッチ位置が入力された場合、それらによって所定のマルチタッチ操作を認識するための条件が満たされたかを判定する。例えば、入力複数のタッチ位置の相対距離等が、表示画像を拡大縮小させる「ピンチ」、表示画像を回転させる「ローテート」等のマルチタッチ操作の条件を満たすかを判定する。
図7は、本実施形態において、情報処理装置100がマルチタッチ時のタッチ操作を判定する処理の流れの一例を示すフローチャートである。なお、図2のフローチャートに示したのと同じ処理については、同符号を付し、その説明を省略する。
第2の実施形態では、ステップS205において、近接位置が検出されていると判定された(ステップS205でYES)場合、ステップS701に進む。ステップS701では、認識部125が、タッチ前の近接状態において、2点以上の入力位置を検出されているか否かを判定する。2点以上の入力位置を検出していると判定された場合には(ステップS701でYES)、ステップS702に進む。一方、1点の入力位置のみが検出されていると判定された場合には(ステップS701でNO)、ステップS206に進む。ステップS702では、認識部125が、2点以上の操作オブジェクトを検出したと判断されたため、マルチタッチフラグの値を「ON」に設定してその情報を保持する。マルチタッチフラグは、マルチタッチ操作が入力される可能性が高い状態にある場合に「ON」に設定されるフラグであり、初期値は「OFF」である。
ステップS703では、認識部125が、マルチタッチフラグの値が「ON」になっているか否かを判定する。マルチタッチフラグの値が「ON」の場合には(ステップS703でYES)、第1の実施形態で説明したシングルタッチ操作のムーブ判定及びフリック判定処理をスキップし、ステップS704に進む。マルチタッチフラグの値が「OFF」の場合には(ステップS703でNO)、シングルタッチ操作の認識処理を行うために、ステップS209に進む。
このように、タッチされるより前の時点で、近接位置が2点以上検出された場合には、マルチタッチ操作が行われる可能性が高いと判断して、予め登録された認識可能なタッチ操作のうち、シングルタッチ操作に関する条件判定処理を省略する。これにより、マルチタッチ操作に用いられる複数の操作オブジェクトのうち、片方が入力対象面に接触した段階で、シングルタッチ操作が認識されてしまい、マルチタッチ操作が認識できなくなる誤認識の発生が低減される。例えば、シングルタッチ操作として「ムーブ」が認識され、表示された画像がスクロールを開始してしまうと、マルチタッチ操作が認識されず、画像の拡大縮小ができなくなる場合がある。
尚、本実施形態においては、マルチタッチ操作が行われる可能性が高いと見なされている状態では、シングルタッチ操作の認識自体を省略したが、処理は省略しない代わりに、シングルタッチ操作が認識されにくいように条件を厳しく変更してもよい。これにより、シングルタッチ操作を行うとするユーザの意図に反して、近接センサ109に2つ目以降の操作オブジェクトが検出されてしまった場合でも、意図に沿ったシングルタッチ操作を認識することが可能となる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
121 タッチ位置検出部
122 近接位置検出部
123 タッチ状態取得部
124 近接状態取得部
125 認識部
126 出力制御部

Claims (16)

  1. 入力対象面内に対して接触した状態にある操作オブジェクトによって示されるタッチ位置を検出するタッチ位置検出手段と、
    前記入力対象面に対して近接した状態にある前記操作オブジェクトによって示される近接位置を検出する近接位置検出手段と、
    前記タッチ位置検出手段によって検出されたタッチ位置と、該タッチ位置が検出され始める前の段階で前記近接位置検出手段によって検出された近接位置の両方によって示される前記操作オブジェクトの移動に基づいて、前記操作オブジェクトによって前記タッチ位置を移動させる操作が開始されたかを判定する認識手段とを備えることを特徴とする情報処理装置。
  2. 前記認識手段は、前記操作オブジェクトの一連の動作において、前記タッチ位置検出手段によってタッチ位置が検出され始める前の段階で前記近接位置検出手段によって検出された近接位置が、第1条件を満たす移動をしたか否かに応じて、前記タッチ位置検出手段によって検出されたタッチ位置の移動によって満たされるか否かを判定する条件を異ならせ、前記タッチ位置と前記近接位置とがそれぞれの条件を満たす移動をした場合に、前記操作オブジェクトによって前記タッチ位置を移動させる操作が開始されたと判定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1条件とは、前記操作オブジェクトが前記入力対象面に対して接触する前に近接していた状態で、前記入力対象面に平行な方向に所定の移動量より大きく移動していた場合に満たされる条件であり、
    前記認識手段は、前記第1条件が満たされない場合、前記タッチ位置検出手段によって検出されたタッチ位置の移動によって満たされるか否かを判定する条件を、前記第1条件が満たされた場合よりも厳しい条件とすることを特徴とする請求項2に記載の情報処理装置。
  4. 前記認識手段は、前記第1条件が満たされない場合、前記タッチ位置検出手段によって検出されたタッチ位置の移動量が、第2条件を満たすかに応じて、前記操作オブジェクトによって前記タッチ位置を移動させる操作が開始されたと認識し、
    前記第1条件が満たされた場合、前記タッチ位置検出手段によって検出されたタッチ位置の移動量が第3条件を満たすかに応じて、前記操作オブジェクトによって前記タッチ位置を移動させる操作が開始されたと認識することを特徴とする請求項3に記載の情報処理装置。
  5. 前記第2条件は、前記入力対象面に対して近接していた状態で、前記入力対象面に平行な方向に所定の移動量より大きく移動した直後に前記入力対象面に接触した前記操作オブジェクトが、前記入力対象面に接触した状態で、前記第3条件を満たす場合よりも大きく移動した場合に満たされる条件であることを特徴とする請求項4に記載の情報処理装置。
  6. 前記認識手段は、前記操作オブジェクトによって前記タッチ位置を移動させる操作が開始されたと認識した後、さらに前記タッチ位置検出手段によって検出されたタッチ位置が移動した場合、該タッチ位置の移動量が第4条件を満たすかに応じて、前記操作オブジェクトによって前記タッチ位置を移動させる操作が継続されたと認識することを特徴とする請求項5に記載の情報処理装置。
  7. 前記第4条件は、前記操作オブジェクトによって前記タッチ位置を移動させる操作が開始されたと判定されるために、前記タッチ位置検出手段によって検出されたタッチ位置が満たすべき条件よりも満たされ易い条件であることを特徴とする請求項6に記載の情報処理装置。
  8. 入力対象面内に対して接触した状態にある操作オブジェクトによって示されるタッチ位置を検出するタッチ位置検出手段と、
    前記入力対象面に対して近接した状態にある前記操作オブジェクトによって示される近接位置を検出する近接位置検出手段と、
    前記タッチ位置検出手段によって検出されたタッチ位置と、該タッチ位置が検出されなくなった後の段階で前記近接位置検出手段によって検出された近接位置の両方によって示される前記操作オブジェクトの移動に基づいて、前記操作オブジェクトによってフリックが入力されたかを判定する認識手段とを備えることを特徴とする情報処理装置。
  9. 前記認識手段は、前記操作オブジェクトの一連の動作において、前記タッチ位置検出手段によってタッチ位置が検出されなくなる前の段階で検出されたタッチ位置が、第5条件を満たす移動をしたか否かに応じて、前記近接位置検出手段によって検出された近接位置の移動によって満たされるか否かを判定する条件を異ならせ、前記タッチ位置と前記近接位置とがそれぞれの条件を満たす移動をした場合に、前記操作オブジェクトによってフリックが入力されたと判定することを特徴とする請求項8に記載の情報処理装置。
  10. 前記第5条件とは、前記操作オブジェクトが所定のスピードよりも高速な移動を伴って前記入力対象面からリリースされた場合に満たされる条件であり、
    前記認識手段は、前記第5条件が満たされない場合、前記近接位置検出手段によって検出された近接位置の移動によって満たされるか否かを判定する条件を、前記第5条件が満たされた場合よりも厳しい条件とすることを特徴とする請求項9に記載の情報処理装置。
  11. 前記認識手段は、前記第5条件が満たされない場合、前記近接位置検出手段によって検出された近接位置の移動量が、第6条件を満たすかに応じて、前記操作オブジェクトによってフリックが入力されたと認識し、
    前記第5条件が満たされた場合、前記タッチ位置検出手段によって検出されたタッチ位置の移動量が第7条件を満たすかに応じて、前記操作オブジェクトによってフリックが入力されたと認識することを特徴とする請求項10に記載の情報処理装置。
  12. 前記第6条件は、前記入力対象面から前記所定のスピードよりも高速な移動を伴ってリリースされた前記操作オブジェクトが、前記入力対象面に近接した状態で、前記入力対象面に平行な方向に、前記第7条件を満たす場合よりも大きく移動した場合に満たされる条件であることを特徴とする請求項11に記載の情報処理装置。
  13. タッチ位置検出手段により、入力対象面内に対して接触した状態にある操作オブジェクトによって示されるタッチ位置を検出するタッチ位置検出工程と、
    近接位置検出手段により、前記入力対象面に対して近接した状態にある前記操作オブジェクトによって示される近接位置を検出する近接位置検出工程と、
    認識手段により、前記タッチ位置検出工程において検出されたタッチ位置と、前記タッチ位置検出工程においてタッチ位置が検出され始める前の段階の前記近接位置検出工程において検出された近接位置の両方によって示される前記操作オブジェクトの移動に基づいて、前記操作オブジェクトによって前記タッチ位置を移動させる操作が開始されたと認識する認識工程と
    を有することを特徴とする情報処理装置の制御方法。
  14. タッチ位置検出手段により、入力対象面内に対して接触した状態にある操作オブジェクトによって示されるタッチ位置を検出するタッチ位置検出工程と、
    近接位置検出手段により、前記入力対象面に対して近接した状態にある前記操作オブジェクトによって示される近接位置を検出する近接位置検出工程と、
    認識手段により、前記タッチ位置検出工程において検出されたタッチ位置と、前記タッチ位置検出工程においてタッチ位置が検出されなくなった後の段階の前記近接位置検出工程において検出された近接位置の両方によって示される前記操作オブジェクトの移動に基づいて、前記操作オブジェクトによってフリックが入力されたと認識する認識工程と
    を有することを特徴とする情報処理装置の制御方法。
  15. コンピュータに読み込ませ実行させることによって、前記コンピュータを、請求項1乃至12のいずれか1項に記載の情報処理装置として機能させることを特徴とするコンピュータが読み取り可能なプログラム。
  16. 請求項15に記載のプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
JP2014188071A 2014-09-16 2014-09-16 情報処理装置、その制御方法、プログラム、及び記憶媒体 Active JP6410537B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014188071A JP6410537B2 (ja) 2014-09-16 2014-09-16 情報処理装置、その制御方法、プログラム、及び記憶媒体
CN201510571629.6A CN105425993B (zh) 2014-09-16 2015-09-10 信息处理装置以及信息处理装置的控制方法
US14/854,512 US9880684B2 (en) 2014-09-16 2015-09-15 Information processing apparatus, method for controlling information processing apparatus, and storage medium
EP15185363.7A EP2998846B1 (en) 2014-09-16 2015-09-15 Information processing apparatus, method for controlling information processing apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014188071A JP6410537B2 (ja) 2014-09-16 2014-09-16 情報処理装置、その制御方法、プログラム、及び記憶媒体

Publications (3)

Publication Number Publication Date
JP2016062183A true JP2016062183A (ja) 2016-04-25
JP2016062183A5 JP2016062183A5 (ja) 2018-03-29
JP6410537B2 JP6410537B2 (ja) 2018-10-24

Family

ID=54147071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014188071A Active JP6410537B2 (ja) 2014-09-16 2014-09-16 情報処理装置、その制御方法、プログラム、及び記憶媒体

Country Status (4)

Country Link
US (1) US9880684B2 (ja)
EP (1) EP2998846B1 (ja)
JP (1) JP6410537B2 (ja)
CN (1) CN105425993B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019016875A1 (ja) * 2017-07-19 2019-01-24 三菱電機株式会社 タッチ操作判定装置およびタッチ操作の有効性判定方法
JP2019071012A (ja) * 2017-10-11 2019-05-09 富士通コネクテッドテクノロジーズ株式会社 検出モジュール及び情報処理装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239202B (zh) * 2016-03-29 2020-06-30 中兴通讯股份有限公司 控制指令识别方法和装置
CN106055143B (zh) * 2016-05-20 2019-03-26 广州视睿电子科技有限公司 触摸点位置检测方法和系统
US10891044B1 (en) * 2016-10-25 2021-01-12 Twitter, Inc. Automatic positioning of content items in a scrolling display for optimal viewing of the items
CN111183436B (zh) * 2017-10-04 2024-01-09 日本电气方案创新株式会社 信息处理装置、控制方法和程序
CN109669565B (zh) * 2017-10-17 2021-12-03 世意法(北京)半导体研发有限责任公司 用于缓慢触摸移动的触摸运动跟踪和报告技术
KR20220015787A (ko) * 2020-07-31 2022-02-08 현대자동차주식회사 사용자 인터페이스, 그를 가지는 차량 및 그 제어 방법
CN113885729B (zh) * 2021-09-30 2023-09-19 惠州Tcl移动通信有限公司 触控采样控制方法、装置、终端和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011150414A (ja) * 2010-01-19 2011-08-04 Sony Corp 情報処理装置、操作入力決定方法及び操作入力決定プログラム
JP2011170834A (ja) * 2010-01-19 2011-09-01 Sony Corp 情報処理装置、操作予測方法及び操作予測プログラム
WO2013161162A1 (ja) * 2012-04-27 2013-10-31 パナソニック株式会社 入力装置、入力支援方法及びプログラム
JP2013232119A (ja) * 2012-04-27 2013-11-14 Panasonic Corp 入力装置、入力支援方法及びプログラム
JP2014035562A (ja) * 2012-08-07 2014-02-24 Sony Corp 情報処理装置、情報処理方法及びコンピュータプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5523090B2 (ja) 2009-12-25 2014-06-18 キヤノン株式会社 入力装置、入力装置の制御方法、プログラムおよび記憶媒体
JP5479414B2 (ja) 2010-11-24 2014-04-23 キヤノン株式会社 情報処理装置およびその制御方法
JP5614275B2 (ja) 2010-12-21 2014-10-29 ソニー株式会社 画像表示制御装置および画像表示制御方法
JP2012203433A (ja) * 2011-03-23 2012-10-22 Sharp Corp 情報処理装置、情報処理装置の制御方法、情報処理装置制御プログラムおよび該プログラムを記録したコンピュータ読み取り可能な記録媒体
US9563337B2 (en) * 2011-03-23 2017-02-07 Nec Corporation Information processing device, method for controlling an information processing device, and program
JP2012247960A (ja) 2011-05-27 2012-12-13 Sony Corp 情報処理装置、情報処理方法およびコンピュータプログラム
US9086732B2 (en) * 2012-05-03 2015-07-21 Wms Gaming Inc. Gesture fusion
JP2014182497A (ja) 2013-03-18 2014-09-29 Sharp Corp 情報表示装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011150414A (ja) * 2010-01-19 2011-08-04 Sony Corp 情報処理装置、操作入力決定方法及び操作入力決定プログラム
JP2011170834A (ja) * 2010-01-19 2011-09-01 Sony Corp 情報処理装置、操作予測方法及び操作予測プログラム
WO2013161162A1 (ja) * 2012-04-27 2013-10-31 パナソニック株式会社 入力装置、入力支援方法及びプログラム
JP2013232119A (ja) * 2012-04-27 2013-11-14 Panasonic Corp 入力装置、入力支援方法及びプログラム
JP2014035562A (ja) * 2012-08-07 2014-02-24 Sony Corp 情報処理装置、情報処理方法及びコンピュータプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019016875A1 (ja) * 2017-07-19 2019-01-24 三菱電機株式会社 タッチ操作判定装置およびタッチ操作の有効性判定方法
JPWO2019016875A1 (ja) * 2017-07-19 2019-11-07 三菱電機株式会社 タッチ操作判定装置およびタッチ操作の有効性判定方法
CN110869891A (zh) * 2017-07-19 2020-03-06 三菱电机株式会社 触摸操作判定装置及触摸操作的有效性判定方法
JP2019071012A (ja) * 2017-10-11 2019-05-09 富士通コネクテッドテクノロジーズ株式会社 検出モジュール及び情報処理装置

Also Published As

Publication number Publication date
CN105425993A (zh) 2016-03-23
JP6410537B2 (ja) 2018-10-24
EP2998846B1 (en) 2023-11-08
EP2998846A1 (en) 2016-03-23
CN105425993B (zh) 2019-04-05
US9880684B2 (en) 2018-01-30
US20160077631A1 (en) 2016-03-17

Similar Documents

Publication Publication Date Title
JP6410537B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US9529527B2 (en) Information processing apparatus and control method, and recording medium
JP5990011B2 (ja) 情報処理装置及びその制御方法
JP6188288B2 (ja) 情報処理装置及びその制御方法
JP6004716B2 (ja) 情報処理装置およびその制御方法、コンピュータプログラム
US9430089B2 (en) Information processing apparatus and method for controlling the same
US9389781B2 (en) Information processing apparatus, method for controlling same, and recording medium
JP6452456B2 (ja) 情報処理装置とその制御方法、プログラム、記憶媒体
CN108874284B (zh) 手势触发方法
US10402080B2 (en) Information processing apparatus recognizing instruction by touch input, control method thereof, and storage medium
JPWO2017029749A1 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US9367169B2 (en) Method, circuit, and system for hover and gesture detection with a touch screen
US20150355819A1 (en) Information processing apparatus, input method, and recording medium
US10126856B2 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
KR102198596B1 (ko) 간접 입력의 명확화 기법
US9891730B2 (en) Information processing apparatus, information processing method therefor, and non-transitory storage medium
JP2014109883A (ja) 電子機器及びその制御方法
US10318047B2 (en) User interface for electronic device, input processing method, and electronic device
EP3128405B1 (en) Information processing apparatus, input control method, method of controlling information processing apparatus
TW201528114A (zh) 電子裝置及其觸控系統、觸控方法
JP2016110250A (ja) ジェスチャ認識システム、ジェスチャ認識方法およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180808

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: 20180828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180925

R151 Written notification of patent or utility model registration

Ref document number: 6410537

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151