JP2015007946A - 情報処理装置およびその制御方法、プログラム、記録媒体 - Google Patents

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

Info

Publication number
JP2015007946A
JP2015007946A JP2013133530A JP2013133530A JP2015007946A JP 2015007946 A JP2015007946 A JP 2015007946A JP 2013133530 A JP2013133530 A JP 2013133530A JP 2013133530 A JP2013133530 A JP 2013133530A JP 2015007946 A JP2015007946 A JP 2015007946A
Authority
JP
Japan
Prior art keywords
input
touch
detected
processing apparatus
information processing
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
JP2013133530A
Other languages
English (en)
Other versions
JP6271881B2 (ja
JP2015007946A5 (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 JP2013133530A priority Critical patent/JP6271881B2/ja
Priority to US14/312,995 priority patent/US9529527B2/en
Priority to CN201410299720.2A priority patent/CN104252264B/zh
Publication of JP2015007946A publication Critical patent/JP2015007946A/ja
Publication of JP2015007946A5 publication Critical patent/JP2015007946A5/ja
Application granted granted Critical
Publication of JP6271881B2 publication Critical patent/JP6271881B2/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

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)
  • Telephone Function (AREA)

Abstract

【課題】 第1の入力とそれに後続する入力とで構成される操作を認識可能な場合に、前記第1の操作に対応する出力を開始することを速やかに判定可能とする。【解決手段】 第1の入力によって構成される第1の操作と、前記第1の入力と前記第1の入力に後続する入力とによって構成される第2の操作とを認識可能な情報処理装置であって、操作オブジェクトによる入力を検出し(S201)、前記操作オブジェクトによる前記第1の入力が検出された直後(S205−YES)の、前記操作オブジェクトの移動に関する情報が所定の条件を満たす場合は(S212−YES)、前記第1の入力に後続する入力の有無にかかわらず、前記第1の操作に対応する応答を開始する(S213)。【選択図】 図2

Description

本発明は、複数種類の入力操作を認識する技術に関する。
近年、ユーザの指あるいはスタイラスなどの操作オブジェクトによりタッチパネル等の入力部がタッチされた位置のX,Y座標値に基づいてタッチ操作を認識し、タッチ操作に応じた各種処理を実行するタッチ入力機器が普及している。タッチ操作の中には、タッチパネル等を操作オブジェクトによってタッチして離す動作を複数回繰り返すことで、ある1つの処理の実行を指示するタッチ操作として認識されるものが存在する。つまり、操作中に一旦、タッチパネル等から指あるいはスタイラスを離す(以下ではリリースする、という)場合がある。このように、第1の入力とそれに後続する入力とで構成されるタッチ操作として、ダブルタップが知られている。ダブルタップは、タップ(タッチパネル上をタッチして素早くリリースする操作)が、所定の期間の間に2回連続して入力されたことに応じて認識される。ダブルタップに対し、1回タップするだけで終了される操作を一般的にシングルタップと呼ぶ。
特許文献1には、1回目にタッチパネルがタッチされた時点から所定時間内に2回目のタッチがされないことを確認した後でシングルタップを示す信号を通知することで、ダブルタップとシングルタップを区別する方法が開示されている。
また、第1の入力とそれに後続する入力とで構成されるタッチ操作としては、2画以上の文字を手書き入力する操作なども知られている。
米国特許第7180506号
現在、第1の入力とそれに後続する入力とで構成される操作が有効な場面では、特許文献1のように所定時間の待機時間(一般的に300ms程度)を設けることで、リリースの後にさらに操作が継続されるか否かを判断するのが一般的である。しかし、ユーザが第1の入力のみで構成される操作を意図して入力した場合でも、待機時間が経過しなければ次の処理が実行されないため、ユーザが行った操作への追従性が低下する場合がある。
本発明は上記課題に鑑みてなされ、第1の入力とそれに後続する入力とで構成される操作を認識可能な場合でも、第1の入力のみよって構成される操作に対応する応答を速やかに開始することを主な目的とする。
上記課題を解決するため、本発明は、第1の入力に構成される第1の操作と、前記第1の入力と前記第1の入力に後続する入力とによって構成される第2の操作とを認識可能な情報処理装置であって、操作オブジェクトによる入力を検出する検出手段と、前記検出手段によって前記操作オブジェクトによる前記第1の入力が検出された直後の、前記操作オブジェクトに関する情報が所定の条件を満たす場合は、前記第1の入力に後続する入力を待たずに前記第1の操作に対応する出力を開始する出力制御手段とを備えることを特徴とする。
本発明によれば、第1の入力とそれに後続する入力とで構成される操作を認識可能な場合でも、第1の入力のみよって構成される操作に対応する応答を速やかに開始可能となる。
情報処理装置のハードウェア構成及び機能構成の一例を示すブロック図 タッチ操作を認識する処理の流れの一例を示すフローチャート タップが行われる際に検出される一連のタッチ位置及び近接位置の一例を示す図 タッチ操作を認識する処理の流れの一例を示すフローチャート スタート位置特定処理の流れの一例を示すフローチャート フリック操作が行われる際に検出される一連のタッチ位置及び近接位置の一例を示す図 GUIオブジェクトや物理オブジェクトに座標を割り当てる一例を示す図 手書き文字入力が行われる際に検出される軌跡の一例を示す図 手書きジェスチャ入力が行われる際に検出される軌跡の一例を示す図 タッチ操作と対応付けた操作領域を設定する方法の一例を示す図 情報処理装置のハードウェア構成及び機能構成の一例を示すブロック図 操作を認識する処理の流れの一例を示すフローチャート
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
<第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は、ネットワークで接続されたサーバ装置などであってもよい。本実施形態において必要な情報は、RAM104や外部記憶装置111に保持される。入力インタフェース105は、ポインティングデバイスなどの入力部を制御し、入力信号を取得して、システムバス101を介してシステムに通知する。出力インタフェース106は、表示部を有する出力部に対して、少なくとも、後述する各種の処理を実行した結果の出力を制御する信号を出力する。タッチセンサ108は、入力部が有する入力対象面に対するタッチ位置を検出し、入力インタフェース105に通知する。タッチセンサ108としては、抵抗膜方式、静電容量方式、赤外線方式、超音波方式、音響波方式、振動検出方式等の各種タッチパネルが利用できる。他にも、距離画像センサや、ステレオカメラなどの三次元空間での位置を検出できるもので入力対象面に触れたかどうかを検出し、入力対象面上で定義される位置情報を取得してもよい。近接センサ109は、入力対象面に操作オブジェクトが近接している状態(入力対象面と操作オブジェクトとが、非接触ではあるが近傍に存在する状態)でも入力対象面に対する位置情報を検出し、入力インタフェース105に通知する。なお、近接状態にある操作オブジェクトの位置検出は、ホバー状態での検出、ホバー位置の検出と呼ばれることもある。近接センサ109としては、静電容量方式、赤外線方式、超音波方式、音響波方式などのタッチパネルを用いることができる。これらタッチパネルの感度を高めることで、操作オブジェクトが入力対象面に近接している状態(以下では、近接状態という)でも位置情報を検出できる。他にも、距離画像センサや、ステレオカメラなどの三次元空間での位置を検出することで、入力対象面から離れた状態での位置を取得してもよい。ディスプレイ110は、情報処理装置100での各種処理の実行結果を表示する。ディスプレイ110としては、液晶ディスプレイ、テレビモニタ、プロジェクタなどがある。本実施形態においては、タッチセンサ108、近接センサ109に静電容量方式のタッチパネルを利用し、ディスプレイ110である液晶ディスプレイの表示画面に重畳するように設置されたものである。つまり、ディスプレイ上に設置されたタッチパネル表面が入力対象面に相当する。なお、タッチセンサ108と近接センサ109の信号は、タッチパネルが出力する信号としてまとめて通知されてもよい。タッチパネルと液晶ディスプレイは、一体化したタッチパネル内蔵ディスプレイであってもよい。本実施形態では、タッチパネルは、操作オブジェクトと、タッチパネル表面とが接触する面を検出し、タッチ位置としてそのうちの1点の座標を特定する。静電容量の検出感度を高めた検出方式により、近接状態においても同様にタッチパネル表面に近接するユーザの指の位置を検出し、1点の座標を近接位置として特定する。この時、タッチ状態で検出された位置と、近接状態で検出された位置は区別可能であり、タッチパネルからタッチ状態と近接状態を区別する情報と共に位置情報が情報処理装置へ通知される。なお、本実施形態においては、タッチセンサ108によって、タッチパネル表面に接触していることが検出されている操作オブジェクトに関しては、近接センサ109は近接位置を検出しない。あくまでも近接位置としては、タッチパネル表面と非接触状態にあり、かつ、位置情報を検出可能な程度に近接している操作オブジェクトの先端部(例えば、ユーザの指先)の位置情報が検出される。
図1(b)は、本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。なお、以下、本実施形態では、操作オブジェクトとしてユーザの1本以上の指が使用される例を説明するが、ユーザがスタイラス等を利用する場合であっても行われる処理は同じである。
まず、本実施形態の情報処理装置100は、タッチ位置検出部121、近接位置検出部122、認識部123、判定部124、出力制御部125を有する。これらの各機能部は、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にて検出されたタッチ位置に基づいてタッチ操作を認識する。例えば、1つ以上の操作オブジェクトによるシングルタップ、ダブルタップ、トリプルタップ、スワイプ(タッチパネル表面を特定の一方向になぞる操作)、フリック(タッチパネル表面を指で弾くように高速で動かしてリリースする操作)などを認識する。また、複数の操作オブジェクトによる複数のタッチ位置の相対距離等に基づいて、表示画像を拡大縮小させるピンチ、表示画像を回転させるローテート等のマルチタッチ操作や、タッチ位置の軌跡によって図形や文字を描く手書き入力操作を認識する。なお、トリプルタップを認識する場合は、第1の入力に相当するタップに後続する第2の入力のタップ、さらに後続する第3の入力のタップを検出する必要がある。このように、第1の入力に後続する入力とは、複数回分の入力である場合もある。
判定部124は、ユーザによって指がリリースされた直後から近接位置検出部122にて検出される一連の近接位置が所定の条件を満たすかに基づいて、後続する入力を待たずに出力を開始するかを判定する。具体的には、近接位置の移動距離や、移動速度、移動方向などが所定の条件を満たす場合には、タッチ操作が継続されていると判定する。ここで、操作が継続中ではないと判定された場合、すなわち1つのタッチ操作が終了と判定された場合、直前に指がリリースされるまでに検出されたタッチ位置に基づいて、認識部123が認識するタッチ操作の内容を即座に出力制御部125に通知する。一方で操作が継続されていると判定された場合、続くタッチ位置の情報を待ち受け、出力制御部125に対して通知は行わない。
出力制御部125は、入力された操作に対して応答する為、情報処理装置100の各機能部を制御する。本実施形態では、少なくとも判定部124から通知された操作内容に基づいて表示画像を生成し、出力部であるディスプレイ110に出力する。
図2は、本実施形態において、情報処理装置100がタッチ操作を認識する処理の流れの一例を示すフローチャートである。図2のフローチャートの処理は、入力インタフェース105からタッチセンサにおいて検出されたタッチ位置の情報又は近接センサにおいて検出された近接位置の情報の通知があったことに応じて起動される。また、入力インタフェース105からタッチセンサによって検出されていたタッチ位置、又は近接センサによって検出されていた近接位置が検出されなくなったことを示すリリースの通知があったことに応じても起動される。タッチ位置の情報の通知及びリリースの通知は、所定の時間間隔で、センサの最新の状況を参照して通知されるため、図2のフローチャートの処理は所定時間間隔で繰り返されることとなる
まず、ステップS201では、タッチ位置検出部121がタッチ位置に関する情報を検出する。タッチ位置検出部121は、タッチセンサ108が検出する情報に基づいて入力インタフェース105から通知されるタッチ位置の情報を検出する。また、入力インタフェース105からリリースの通知があった場合は、その検出時間に対応するタッチ位置に触れていた操作オブジェクトが離されたことを検出する。タッチ位置検出部121は、検出した情報をRAM104に保持する。本実施形態では、少なくとも、あるIDのタッチ位置が最初と最後に検出された時の情報を保持する。従って、既に検出されているIDのタッチ位置の移動が検出された場合には、新しく検出された情報で、最後に検出されたタッチ点の情報を更新する。タッチパネル表面に触れている操作オブジェクトがない場合は、タッチセンサ108からタッチ位置の情報通知が無いため、タッチ位置検出部121はタッチ位置を検出しない。
次に、ステップS202では、近接位置検出部122が近接位置に関する情報を検出する。近接位置検出部122は、近接センサ109が検出する情報に基づいて入力インタフェース105から通知される近接位置の情報を検出する。また、直前の検出では検出されていた操作オブジェクトが、タッチパネル表面に近接しなくなった場合には、入力インタフェース105から近接位置のリリースが通知される。この通知があった場合は、操作オブジェクトが入力対象面から十分に離れたことを意味する。近接位置検出部122は、検出した情報をRAM104に保持する。この際、ID、位置を示す座標情報、検出時刻等に加えて、近接状態で検出されたことを示す情報を保持する。例えば、近接フラグを「ON」とする。タッチパネル表面に近接する操作オブジェクトがない場合(操作オブジェクトがタッチパネル表面に接触している場合も含む)は、近接センサ109から近接位置の情報通知は無い。従って、近接位置検出部122は近接位置を検出しない。
ステップS203では、認識部123が、タッチ位置検出部121がステップS201においてタッチ位置を検出したか否かを判定する。タッチ位置検出部121がタッチ位置を検出した場合には(ステップS203でYES)、処理はステップS204に進む。一方、タッチ位置検出部121がタッチ位置を検出しなかった場合には(ステップS203でNO)、処理はステップS205に進む。
ステップS204では、認識部123が、RAM104に蓄積されているうち、タッチ位置検出部121が検出したタッチ位置に関する情報を、タッチ操作を認識する為に必要な情報として抽出し保持する。具体的には、例えばRAM104に保持されている情報のうち、所定の条件を満たす情報を専用の記憶領域に読み出す、あるいはタッチ操作情報フラグを「ON」として操作に用いない情報と区別して処理対象と特定する。所定の条件とは、例えば近接フラグが「OFF」である情報であることや、直近の所定時間の間に検出されたタッチの情報であること等である。
ステップS205では、認識部123が、この時点が、操作オブジェクトがリリースされた直後、すなわち第1の入力が検出された直後か否かを判定する。リリース直後か否かの判定は、ステップS201において通知されたタッチイベントの履歴に基づいて、最後に通知されたイベントが「RELEASE」であったか否かによって判定する。また例えば、タッチ位置が検出されている間は「ON」となるタッチフラグを設定すれば、タッチ位置が検出されなくなった時にタッチフラグが「ON」のままであれば、前回の通知時はタッチされていた、すなわちリリース直後であるという判定が可能になる。タッチフラグは、リリース直後と判定された後に「OFF」にすればよい。認識部123によって、リリース直後であると判定された場合には(ステップS205でYES)、処理はステップS206に進む。一方、リリース直後でないと判定された場合には(ステップS205でNO)、処理はステップS209に進む。
ステップS206では、認識部123がステップS204にて保持しているタッチ操作を認識するための情報を参照し、ユーザにより入力されたタッチ操作を認識する。認識部123は、情報処理装置100が実行する様々な処理を指示するコマンドに対応付けられたタッチ操作と、当該タッチ操作を構成するタッチ位置の条件が登録されている辞書情報を参照し、検出された情報によって条件が満たされているかを判断する。そして、辞書情報に含まれる複数のタッチ操作のうち、RAM104上のタッチ操作を認識するための情報と合致すると判断されるタッチ操作を、ユーザが入力したタッチ操作として認識する。ここで辞書情報には、例えば、フリックやピンチが認識される条件としてのタッチ位置の移動距離や移動時間、タッチ位置の間の距離の閾値の情報や、手書きコマンドの形状を示す情報等が含まれる。ただし、既にステップS206の処理によって何らかのタッチ操作を認識されていた場合には、後続して入力された情報を含めた一連の入力に応じて改めてタッチ操作を認識する。従って、第1の入力のリリース直後にステップS206の処理が実行される場合には、直前までに入力されていた第1の入力によって構成される第1の操作が認識される。第1の入力に後続する入力のリリース直後にステップS206の処理が実行される場合には、第1の入力とそれに後続する入力とで構成される第2の操作が認識される。なお、認識部123は、RAM104上のタッチ操作を認識するための情報が、辞書情報に登録されたタッチ操作のいずれにも合致しない場合は、タッチ操作を特定しない。ステップS206では、予め辞書情報に登録されたタッチ操作のうち、ユーザが入力したタッチ操作が特定したことをもって、タッチ操作が認識されたとする。この段階では、特定されたタッチ操作に対応するコマンドの発行及び通知はなされない。なお、本実施形態では、リリース直後と判定された時点で(ステップS205)、タッチ操作を認識しているが、リリース前のタイミング(ステップS204)で入力中のタッチ操作を認識してもよい。いずれのタイミングで判断をするかは、予め辞書情報に登録されたタッチ操作によって適切に選択する。本実施形態の辞書情報には、シングルタップ操作のように、第1の入力(1回ずつのタッチとリリースと、その間の操作オブジェクトの動作を含む)によって構成される操作が含まれる。それとともに、ダブルタップのように、第1の入力とそれに後続する入力(複数回のタッチとリリースと、その間の操作オブジェクトの動作を含む)によって構成される操作とが含まれる。
ステップS207では、判定部124が、ステップS206においてタッチ操作が認識されたか否かを判定する。すなわち、本実施形態では、認識部123によって、辞書情報に登録されたタッチ操作のうち、ユーザが入力したタッチ操作が特定されたか否かを判定する。タッチ操作が認識されたと判定された場合には(ステップS207でYES)、処理はステップS208に進む。一方、タッチ操作が認識されていないと判定された場合には(ステップS207でNO)、タッチ操作を認識する処理は終了する。この場合、次に検出されるタッチ位置あるいは近接位置に応じて再び図2のフローチャートが起動され、タッチ操作が認識されるまで同様の処理が繰り返される。
ステップS208では、判定部124が、次に検出される近接位置に基づいて操作の継続判定を行うことを示す継続判定フラグを「ON」に設定し、RAM104に情報を保持する。このように、本実施形態では、操作オブジェクトがリリースされたためにタッチ位置検出部121によってタッチ位置が検出されなくなったことに応じて、後続する入力を待たずにタッチ操作に対する出力を開始するかの判定を行うことを決定する。そして、それを示すフラグを設定する。
一方、ステップS209は、判定部124が、ステップS202において近接位置検出部122が近接位置を検出したか否かを判定する。近接位置を検出したと判定された場合には(ステップS209でYES)、処理はステップS210に進む。一方、ステップS202においてリリースの通知を受けた場合等、近接位置を検出しなかったと判定された場合には(ステップS209でNO)、処理はステップS215に進む。
ステップS210では、判定部124が、保持されている継続判定フラグが「ON」か否かを判定する。継続判定フラグが「ON」であると判定された場合には(ステップS210でYES)、処理はステップS211に進む。このように、継続判定フラグを用いて、タッチ位置検出部121によってタッチ位置が検出されなくなった時点以降に検出される近接位置の情報を、後続する入力を待たずにタッチ操作に対する出力を開始するかの判定に用いることができる。一方で、継続判定フラグが「OFF」であると判定された場合には(ステップS210でNO)、タッチ操作を認識する処理は終了する。継続判定フラグが「ON」ではない場合、検出されている近接位置は、タッチ操作の直前など、タッチ位置が検出されなくなった時点以降に検出されたものではないからである。この場合にも、次に検出されるタッチ位置あるいは近接位置に応じて再び図2のフローチャートが起動され、同様の処理が繰り返される。
ステップS211では、判定部124が、ステップS202において検出された近接位置を用いて、操作オブジェクトが近接状態を継続したまま移動した移動距離を取得する。具体的には、タッチ位置のリリース後に最初に検出された近接位置から、最後に検出された近接位置までの直線距離を、移動距離として取得する。計算量を削減した上で、移動の影響が顕著に表れる位置の組み合わせであるからである。ただし、移動距離の取得方法はこれに限らない。例えば、検出された一連の近接位置を保持しておいて、近接位置の分布から平均線を取得して平均線の移動距離を取得してもよい。これにより近接位置検出時のブレを含まずに移動距離を取得できる。また、前回の近接位置を保持しておき、前回の近接位置から今回の近接位置までの移動距離を取得してこれまでに取得済みの移動距離に足していってもよい。これにより、実際に移動した距離を取得することもできる。更に、入力対象面に対する高さ方向の近接位置を検出可能なシステムを利用する場合には、高さ方向の位置情報も考慮して移動距離を取得してもよい。これにより、入力対象面から高さ方向に大きく操作オブジェクトが離れた場合には、次の操作は入力されないと判定できる。また、ここまでは全て移動距離を用いて説明しているが、移動距離の代わりに移動速度を用いても同様の処理が可能である。
ステップS212では、判定部124が、ステップS211にて取得された移動距離が予め設定された閾値より大きいか否かを判定する。ここで用いられる移動距離の閾値は、タッチ操作が終了したか継続されるかを判定するための閾値である。本実施形態では、移動距離が閾値より大きい場合には、ユーザが操作を終了させたために、操作オブジェクトをタッチパネルから遠ざけた可能性が高く、1つのタッチ操作を構成する続くタッチが継続して入力される可能性は低いとみなす。一般に、操作が終了した場合には、操作オブジェクトは操作を行った位置付近に待機させるよりも、タッチパネルからは移動させる方が、表示出力された内容を視認しやすくするためにも自然であるからである。一方、移動距離が閾値より小さい場合、ユーザは1つのタッチ操作を入力途中であるため、指をタッチパネル表面の近傍で待機させている可能性が高いとみなす。移動距離が閾値より大きいと判定された場合(ステップS212でYES)には、ステップS213に進む。移動距離が閾値より小さいと判定された場合(ステップS212でNO)には、タッチ操作を認識する処理は終了する。そして、次に検出されるタッチ位置あるいは近接位置に応じて再び図2のフローチャートが起動され、後続するタッチ入力が検出されるか否かに応じた処理が繰り返される。
ステップS213では、認識部123が、ステップS206において認識されたタッチ操作に対応する処理を実行するため、認識されたタッチ操作に対応する指示を出力制御部125に通知する。これにより、出力制御部125は、ステップS206にて認識されたタッチ操作に対する応答を開始し、ディスプレイ110の表示内容を更新する。
ステップS214では、判定部124が継続判定フラグを「OFF」にする。ステップS214の処理は、入力されたタッチ操作が確定した場合に実行される。従って、RAM104に保持されているタッチ位置及び近接位置に関する一連の情報を削除する。
一方、ステップS215では、判定部124が継続判定フラグを「OFF」にする。ステップS215の処理は、継続されているか否かの判断に用いる近接位置が検出されなくなった場合に実行される。従って、ユーザが操作オブジェクトを大きく移動させてタッチパネルから遠ざけた、すなわち閾値よりも十分大きい距離の移動があった可能性がある。同時に、例えばタッチパネル表面に直交する方向の移動や、タッチパネルの外縁付近での操作等、本実施形態の近接位置検出部122での検出が困難であるが、閾値を越える程の移動距離が生じていない可能性がある。
従って、ステップS216では、認識部123が、近接位置以外の情報に基づいてタッチ操作が終了したかを判断し、タッチ操作を通知する。本実施形態では、タッチ位置がリリースされてから所定時間、次のタッチが検出されないか否かに基づく判断を行う。タッチ位置がリリースされてから所定時間が経過していた場合には、ステップS206において認識されたタッチ操作に対応する処理を実行するため、認識されたタッチ操作に対応する指示を出力制御部125に通知する。これにより、出力制御部125は、ステップS206にて認識されたタッチ操作に対する応答を開始し、ディスプレイ110の表示内容を更新する。ただし、近接センサ109の感度等から、近接位置を検出可能な範囲の大きさが十分であると考えられる場合には、ステップS216では、条件判定処理を設けずにタッチ操作を通知してもよい。
なお、本実施形態では、ステップS208においてはどんな場合でも継続判定フラグを「ON」としたが、さらにステップS206にて認識されたタッチ操作の種類に応じて、継続判定フラグを「ON」とするか否かを決定する処理ステップを加えてもよい。例えば、辞書情報にシングルタップ操作とダブルタップ操作が登録されている情報処理装置100において、認識されたタッチ操作がシングルタップであった場合、ユーザはダブルタップとするために直後に再びタップを入力する可能性がある。従って、継続判定フラグを「ON」にする。そして、例えばダブルタップ以外に、第1の入力とそれに後続する入力とで構成されるタッチ操作が辞書情報に含まれないのであれば、タップ以外のタッチ操作が認識された場合には、継続判定フラグは「OFF」として構わない。従って、ステップS209以降の処理を省略し、認識部123によって認識されたタッチ操作を出力制御部125に通知してもよい。
また、本実施形態では、ステップS212では、近接状態における移動距離が閾値以上か否かを1回判定した結果に応じて、タッチ操作を速やかに通知するか否かを判定したが、これに限らない。例えば、近接位置の移動距離の閾値は小さく設定した上で、所定の時間間隔毎に検出される近接位置の、前回の位置から今回の位置までの移動距離、もしくは移動速度が所定の回数連続で閾値を超えた場合に次の操作は入力されないと判定してもよい。こうすることで、最初の近接位置と最後の近接位置の直線距離が、大きな閾値を越えるのを待つよりも速やかな判断が可能となる場合がある。他にも、所定の回数連続して、移動方向が概ね同一方向の場合に次の操作は入力されないと判定してもよい。
以上説明したようにして、本実施形態の情報処理装置100は、ユーザがタッチ操作を終了したのか、第1の入力とそれに後続する入力とで構成される操作が継続されているのかを速やかに区別して処理を行う。
なお、トリプルタップ等、3回以上連続する入力によって構成される操作を認識する場合は、操作オブジェクトのリリースがある毎に上記の処理が繰り返される。
(操作例1)
ここで、具体的に、第1の実施形態による情報処理装置100をユーザが操作する操作例1を説明する。
図3は、タップが行われる際に検出される一連のタッチ位置及び近接位置の一例を示す。図3(a)は、本実施形態で使用するタッチパネルの一例を説明する図である。タッチパネル表面の入力領域300は、図面に向かって左上を原点とし、x軸方向に960dot、y軸方向に540dotの幅を持つ座標平面として、タッチ位置及び近接位置を座標情報として扱う。タッチパネルの解像度は、ディスプレイに合わせてあるものとし、単位はdotとする。タッチ位置及び近接位置の検出情報は、入力インタフェース105から20ms毎に通知されるものとする。なお、入力領域300は、入力対象面としてのタッチパネル表面の全体であってもよいし、入力対象面内の一部の領域であってもよい。操作オブジェクトとしてのユーザの指301は、入力領域300に対してシングルタップ操作、あるいはダブルタップ操作を入力する。図3(b)は、図3(a)における指301付近を、紙面に向かって下から上方向に見た状態に相当する。そして、指301が、図3(a)に示された位置で、シングルタップを入力し、その後、近接状態で指301が移動するのに伴い、一連の近接位置が検出される様子を示す。図3(d)は、図3(b)に示されるタッチ位置、及び近接位置が検出される際に保持される関連情報をまとめた図である。
同様に図3(c)は、図3(a)の位置で、指301によりダブルタップが入力された後に近接状態で検出される一連の位置情報を示している。図3(e)は、図3(c)に示されるタッチ位置、及び近接位置が検出される際に保持される関連情報をまとめた図である。
まず、シングルタップ操作かダブルタップ操作かに関わらず、ユーザが入力領域300にタッチしようと指301を近付けた際に、情報処理装置100において実行される処理を説明する。まず、ユーザが指301をタッチパネルに接触させるまでの間に、近接センサ109が近付いてきた指301を検出する場合、入力インタフェース105を介して近接位置が情報処理装置100に通知される。これにより、タッチ操作を認識する処理(図2のフローチャート)が開始される。ただし、まだタッチ操作は開始されていないため、ステップS203、ステップS205でNO、ステップS209でYES、ステップS210でNOという処理により処理は終了し、次の通知を待つことになる。
次に、ユーザが指301を進めて入力領域300にタッチしたことに応じて、タッチセンサ108が指301を検出し、入力インタフェース105を介してタッチ位置が情報処理装置100に通知される。これにより、図2のフローチャートのタッチ操作を認識する処理が開始される。この場合、タッチ位置検出部121が入力インタフェース105を介して通知されたタッチ位置を検出する(ステップS201)。近接位置検出部122は、近接位置を検出しようとするが、この時はタッチされている状態であるため、近接位置としては検出されない(ステップS202)。そして、認識部123は、タッチ位置が検出されたと判定し(ステップS203でYES)、タッチ操作を認識するために必要な情報を保持し、タッチ操作を認識する処理を終了する(ステップS204)。これ以降、タッチ位置の情報が20ms毎に通知される度に、タッチ操作を認識する処理が起動され、指301がリリースされるまでは同様の処理が繰り返される。
ここまでの操作は、シングルタップ操作とダブルタップ操作に共通した。ここからは、後続する入力を待たずにタッチ操作に対する出力を開始するかを判定するために用いられる移動距離の閾値を20dotとして、シングルタップ操作が行われる場合とダブルタップ操作が行われる場合をそれぞれ示す。
まず、図3(b)及び図3(d)に基づいて、ユーザがシングルタップ操作を行う場合に、本実施形態の情報処理装置100で実行される処理を説明する。点311はタッチ位置であり、ユーザがシングルタップを入力した際に指301を入力領域300から離す直前に検出していたタッチ位置である。説明を簡単にするため、ここではこの時の検出時刻を0msとする。このタッチ位置が検出されたことに応じて、上述した通りステップS203でYES、ステップS204の処理が実行される。次に、点312〜316は一連の近接位置であり、ユーザがシングルタップを入力して、指301を入力領域300から離した後、近接センサ109が入力領域300から離れた指301の位置を検出したものである。検出された近接位置は、入力インタフェース105を介して近接位置が情報処理装置100に通知される。
初めの近接位置312が通知されたことに応じて、図2のフローチャートの処理が起動される。操作オブジェクトはタッチパネルに接触していないため、タッチ位置は検出されず、近接位置検出部122が近接位置を検出する(ステップS202)。ここでは、認識部123は、タッチ位置を検出しておらず(ステップS203でNO)、また、リリース直後であると判定する(ステップS205でYES)。さらに認識部123は、ステップS204にて保持している最初に検出されたタッチ位置と時刻、最後に検出されたタッチ位置とその時刻を利用してシングルタップ操作を認識する(ステップS206)。例えば、最初のタッチ位置から最後のタッチ位置までの移動距離が閾値以内であり、最初のタッチ位置が検出された時間から最後のタッチ位置が検出された時間までの経過時間が閾値以内である場合にシングルタップと認識する。なお、ここではシングルタップのみを例に挙げているが、もちろん他の操作に適応することも可能である。次に、判定部124は、シングルタップが認識されたと判定し(ステップS207でYES)、継続判定フラグを「ON」にする(ステップS208)。近接位置を検出し(ステップS209でYES)、継続判定フラグが「ON」であるため(ステップS210でYES)、判定部124は、近接状態での移動距離を求める(ステップS211)。ただし、この時は近接位置が点312のみしか検出されていないため、移動距離が0で取得閾値以上とならず(ステップS212でNO)、タッチ操作を認識する処理を終了する。
次に、近接位置313が通知されると、タッチ操作を認識する処理が開始され、ステップS205までは近接位置312を用いた説明と同様に処理が実行される。ただし、今回はリリース直後でない。従って、ステップS205でNO、ステップS209でYES、ステップS210でYESという順に処理が進む。そして、判定部124により、前回保持した最初の近接位置312(397,299)から今回の近接位置313(403,298)までの移動距離が約6.08dotと取得される(ステップS211)。そして、判定部124は、取得された移動距離取得約6.08dotは閾値20dotを超えないため、タッチ操作を認識する処理を終了し、次のタッチの入力を待つ。
次に、近接位置314が通知されると、タッチ操作を認識する処理が開始され、ステップS211までは近接位置313を用いた説明と同様に進む。そして判定部124により、保持されている最初の近接位置312(397,299)から今回の近接位置314(410,284)までの移動距離を約21.74dotと取得される(ステップS211)。今回取得された移動距離約21.74dotは閾値20dotを超えているため(ステップS212でYES)、判定部124がステップS206にて認識されたタッチ操作であるシングルタップを出力制御部125に通知する(ステップS213)。判定部124は、継続判定を停止するために継続判定フラグをOFFにし、タッチ操作を認識する処理を終了する(ステップS214)。図3(d)に示すように、近接位置314の検出時間は、シングルタップ操作の最後のタッチ位置が検出された時刻を0msとして、60ms後である。
この後、近接位置315〜近接位置316が通知されても、継続判定フラグがOFFになっているため、ステップS210でNOに進み、継続判定処理は行われない。
このように、ユーザがシングルタップを入力した場合には、タップ入力後に指をどけるために近接状態での指の移動距離が大きくなる。この例では、タッチ位置の最後の検出時刻から60ms後には、シングルタップ操作が入力されたことを速やかに判断することができる。
次に、図3(c)と図3(e)を用いて、ダブルタップが入力される場合の例を説明する。点321はタッチ位置であり、ユーザがダブルタップ操作を構成する1回目のタップを入力し、入力領域300から指301をリリースする直前に検出されたタッチ位置である。このタッチ位置が検出された際に、タッチ操作を認識する処理は、上述の通り、ステップS203でYES、ステップS204の処理が実行される。点322〜325は近接位置であり、ユーザが1回目のタップを入力してから一旦、指301を入力領域300から離して再び接触させるまでの間に、近接センサ109が検出したものである。検出された近接位置は、入力インタフェース105を介して近接位置が情報処理装置100に通知される。点326はタッチ位置であり、ユーザがダブルタップの2回目のタップを入力するために指301を再び入力領域300に接触させた際のタッチ位置である。
最初に、近接位置322が通知される場合に行われる処理は、図3(b)の近接位置312の場合と同じであるため省略する。
近接位置323が通知されると、タッチ操作を認識する処理が開始され、近接位置313を用いた説明と同様に処理される。ただし、ステップS211では、保持されている最初の近接位置322(400,301)から今回の近接位置323(400,299)までの移動距離を約2.00dotと取得する。取得移動距離約2.00dotは、閾値20dotを超えないため(ステップS212でNO)、タッチ操作を認識する処理を終了し、次の操作を待ち受ける。
これ以降、近接位置324〜325の情報が通知される度、同様の処理に従って移動距離を取得する。近接位置323から近接位置324(402,298)までの移動距離は4.24dot、近接位置325(402,297)までの移動距離は5.24dotとなり、いずれも閾値20dotを超えない。
タッチ位置326が通知されると、タッチ操作を認識する処理が開始され、2回目のタップを認識する処理が実行される。この後、2回目のタップがリリースされると、ステップS206にてダブルタップが認識される。この後も同様に、近接状態における継続判定が行われ、継続しないと判定された場合には即座にダブルタップを通知し、継続すると判定されている間はトリプルタップのための3回目のタップを待ち合わせる。ただし、例えば予め辞書情報に登録されたタッチ操作に、トリプルタップが含まれない場合には、ステップS208において継続フラグを「OFF」とし、ダブルタップを認識したとして、出力制御部125に対する通知を行ってもよい。
また、近接位置の移動距離を直線距離で算出したが、これをx軸方向、y軸方向で別々に移動距離を算出しても良い。こうすることで、二乗やルートの計算を省くことができ、計算時間を短くできる。更に、x軸とy軸で閾値を別々に設定することで、入力領域300のアスペクト比の違いによる微妙な指301の移動量の変化にも対応することができる。
このように、ユーザがダブルタップを入力しようとしている場合には、タップ入力後に次の操作のために指を待機させるため、近接状態での指の移動距離が小さくなる。これを判定することで次の操作を待つことができる。また、2点以上を利用するマルチタッチによるタップにおいても、複数の操作オブジェクトに対応する近接位置において移動距離を求めて閾値と比較することで継続判定を行う事ができる。マルチタッチの場合は、全ての近接位置の移動距離が閾値未満の場合のみ、次操作が継続されないと判定するのが望ましい。
以上説明したように、本実施形態では、タッチ操作を認識した後、入力対象面から操作オブジェクトを離した近接状態での移動距離が大きいか否かを判定することで、次の操作が継続して入力されるか否かを判定する。近接状態での移動距離が大きい場合はユーザが操作を終了し、指を移動させた可能性が高いとみなし、直前まで検出されていたタッチ位置に関する情報から認識されるタッチ操作に対する出力を速やかに指示する。近接状態での移動距離が小さい場合はユーザが操作を続けて入力するために指を待機させている可能性が高いとみなし、タッチ操作を通知せずに次の入力を待つ。この判断方法は、第1の入力とそれに後続する入力とでタッチ操作が構成される場合でも、第1の入力と後続する入力とのタッチ開始位置が同じあるいは近傍であることが予想される操作について判断を行う場合、特に有効である。これにより、ユーザの意図に従いつつ、次の入力を待機する必要が無い場合には速やかに操作に対するフィードバックを示すことが可能となるので、操作の追従性を損なう恐れが低減される。装置によっては、アプリケーションの違い等により、シングルタップ操作とダブルタップ操作がいずれも有効な場面と、シングルタップ操作のみが有効な場面が両方存在する場合がある。その場合、シングルタップ操作のみが有効な場面においては、次の入力を待機する必要がないため、速やかにタッチ操作に対する応答がなされることが多い。本実施形態によれば、シングルタップ操作とダブルタップ操作がいずれも有効な場面においても、シングルタップ操作に対しても速やかに反応できるので、ユーザに対して、場面毎に操作感が異なるという違和感を、感じさせ難くなる。
<第2の実施形態>
第2の実施形態では、タッチ操作入力後に操作オブジェクトが、入力部が有するタッチ入力の対象面から離れた後の近接状態での移動方向が所定の条件を満たすかに基づいて次の操作が入力されるか否かを判定する。より具体的には、操作オブジェクトが操作を継続するために次にタッチする位置(次の入力のスタート位置)を特定し、操作オブジェクトが近接状態でその位置に向かう方向へ移動する場合は、操作は継続されていると判定する方法を説明する。第2の実施形態によれば、さらに、1つのタッチ操作を構成する複数のタッチ入力を連続して入力するために、操作オブジェクトが近接状態で大きく移動する場合でも、タッチ操作が終了されたのか、あるいは継続されているかを速やかに区別可能となる。
第2の実施形態に係る情報処理装置100のハードウェア構成は、第1の実施形態の図1(a)と同様であるため、説明を省略する。図1(c)は、本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。なお、図1(b)と同じ要素については同符号を付し、その説明を省略する。
スタート位置特定部131は、タッチ位置検出部121が検出した一連のタッチ位置や、認識部123が認識したタッチ操作に基づいて、次に連続して入力される可能性がある操作のスタート位置を特定する。次に連続して入力される可能性がある操作が複数存在する場合には、スタート位置も複数の候補が特定される。判定部124は、近接位置検出部122が検出した近接位置に基づいて、近接状態での移動方向を取得し、スタート位置特定部131が特定したスタート位置に向かう特定の方向であるかどうかを判定する。移動方向がスタート位置の方向である場合、次の操作が入力されると判定し、次の操作を待ち受ける。移動方向がスタート位置に向かう特定の方向でない場合、操作は完了したと判定し、認識部123が認識したタッチ操作内容を出力制御部125に通知する。
図4は、本実施形態において、情報処理装置100がタッチ操作を認識する処理の流れの一例を示すフローチャートである。なお、図2と同様の処理については、同符号を付し、その説明を省略する。
ステップS401は、ユーザが入力したタッチ操作が認識された場合に実行される。ここでは、スタート位置特定部131がステップS201にて検出された一連のタッチ位置や、ステップS206にて認識されたタッチ操作に基づいて、次に入力される可能性がある操作のスタート位置を特定する。詳細な処理内容は後述する。
ステップS402は、近接位置を検出し、継続判定フラグがONの場合に実行される。ここでは、判定部124が、ステップS202にて検出された一連の近接位置を用いて近接状態での移動方向を取得する。
ステップS403では、判定部124がステップS402にて取得された移動方向が、ステップS401にて特定したスタート位置に向かう方向であるか否かを判定する。移動方向がスタート位置の方向であると判定された場合には(ステップS403でYES)、処理はステップS404に進む。移動方向がスタート位置の方向でないと判定された場合には(ステップS403でNO)、タッチ操作を認識する処理は終了する。
ステップS404では、判定部124が情報処理装置100の各モジュールに対して操作が継続されることを通知する。これにより、次操作を先読みすることで次操作の閾値を変更して判定され易くしたり、システムの状態や画面表示の準備を予め行っておいたりすることができる。
なお、ステップS403でNOに進んだ場合、操作が継続されないと判定されたとして、ステップS216に進んでもよい。また、本実施形態では、近接状態における移動方向の情報に基づいて後続する入力を待たずにタッチ操作に対する出力を開始するかを判定することで、独立した2つのタッチ操作の間に関連性に応じた制御を加えることができる。例えば、同じ操作が繰り返し入力される場合には、繰り返し回数に応じて閾値や待機時間を調整するような制御である。このように、次の入力まで、1つ目の入力に対する応答を待機する必要が無い場合は、ステップS208に継続判定フラグは「ON」するとともに、認識されたタッチ操作を速やかに通知することができる。
また、近接状態になった直後の近接位置はブレが多いため、最初から所定の回数までの近接位置は無視してもよい。もしくは、タッチ操作時の移動方向も取得しておき、その方向への近接位置の変化は無視するとしてもよい。また、近接位置のブレによる影響を軽減するために、所定の回数近接位置が通知されてから移動方向を取得してもよいし、所定の移動距離を超えて移動してから移動方向を取得してもよい。
図5(a)〜(d)は、ステップS401で実行されるスタート位置特定処理の流れの一例を示すフローチャートである。A〜Dのいずれの特定方法、またはその組み合わせを並列処理として用いるかは、情報処理装置100が認識可能な操作として辞書情報に登録されている操作の内容に基づいて選択される。
<特定方法A>
まず、図5(a)は、同じ動作のタッチ入力を繰り返して入力するような場合を想定したものである。特に、繰り返される動作に、操作オブジェクトをタッチパネルに接触させた状態での移動が含まれる場合に有効である。
ステップS501では、スタート位置特定部131が、直前まで入力されたタッチ入力のスタート位置を、次の操作として入力される可能性があるスタート位置として特定する。具体的には、図4のステップS206にて認識されたタッチ操作のために最初にタッチされたタッチ位置をスタート位置として特定する。すなわち、直前までタッチ位置検出部121に検出されていた一連のタッチ位置のうち、最初に検出されたタッチ位置をスタート位置とする。なお、最初にタッチされたタッチ位置は、ステップS204にて保持しているものを利用すればよい。
例えば、タッチ操作を認識可能な情報処理装置の多くでは、画面に表示された画像を切り替える場合に、フリックという操作が利用される。フリックとは、上述したように、タッチパネル表面をタッチした指を払うように高速で動かしてリリースする操作である。フリックをスワイプと区別するためには、一般的に、指がリリースされる直前におけるタッチ位置の移動速度が所定の閾値を超えることが条件とされる。ユーザが所望とする画像を探しているような場合には、フリックを連続して入力し、画像を次々と切り替える指示を入力することがある。画像を次々と切り替えている間は、フリックされる度に、ディスプレイに高解像度データを描画すると、不要な負荷がかかったり、ユーザが画像の内容を把握するのに時間がかかったりする場合がある。ただし、ユーザが表示させたい画像の狙いを定め1回だけ入力する、あるいはゆっくりと繰り返す場合には、優先して高解像度の画像データの描画処理を行うことで、ユーザに速やかに閲覧環境を提供することが求められる。このような課題に対し、図5(a)のフローチャートに基づいて特定されたスタート位置と、近接位置から取得される操作オブジェクトの移動方向に基づく判定を行えば、ユーザがタッチ入力を終了させたか、繰り返し入力する途中かを区別することができる。従って、ステップS404の通知に応じて、負荷がかかる処理を開始するタイミングを適切に決定することができる。例えばフリック操作による表示画像の変更においては、操作終了が確定した時点から速やかに高解像度データの描画処理を開始することができる。そして、繰り返し入力がなされている途中であれば、低解像度画像やサムネイル画像の描画を行いながら、次に入力されるフリック操作を待機することで、処理負荷を軽減しつつ、ユーザに対しては画像の内容を視認可能とする。また、フリックにより画像を次々と切り替えたい場合には、速いスピードで指を往復させる動作が必要となるため、ユーザは入力が雑になる傾向があり、フリックと認識されるための条件を満たすことができない場合が生じやすい。このような課題に対しても、近接位置から取得される操作オブジェクトの移動方向に基づく判断により、再びフリックが入力されることを事前に判断することで、ステップS404の通知に応じて閾値を調整するなどの対策が可能となる。
(操作例2)
ここで、具体的に、第2の実施形態の特定方法Aによって次のタッチ入力のスタート位置を特定する情報処理装置100をユーザが操作する操作例2を説明する。
図6は、フリックが行われる際に検出される一連のタッチ位置及び近接位置の一例を示す。図6(a)は、ユーザが操作オブジェクトとしての指301でフリックを行った様子の一例である。点601〜602は、番号の順通りに検出されるタッチ位置であり、タッチ位置601はフリック操作のために最初にタッチしたタッチ位置で、タッチ位置602は、フリック操作の最後のタッチ位置である。図6(b)は、図6(a)の中央付近を拡大したものであり、図6(a)の位置でフリックが入力された後に、操作オブジェクトが近接状態で移動する様子の一例を示す。点611〜615は、番号の順通りに検出される近接位置であり、点611は、図6(a)のタッチ位置602において指301がリリースされた直後に検出される近接位置であるので、タッチ位置602と座標が略一致する。また、点616は、連続するフリック操作を入力するためにユーザが再びタッチしたタッチ位置であるとする。タッチ位置及び近接位置の座標や、タッチ位置、近接位置の通知間隔等の条件は、図3と同様とする。図6(c)は、検出される一連のタッチ位置及び近接位置に関する情報をまとめたものである。ここでは、1回目のフリックを開始するためにユーザがタッチを開始した時刻を、0msとしている。
まず、タッチセンサ108がタッチ位置601を検出し、タッチ位置601が入力インタフェース105を介して情報処理装置100に通知されると、タッチ操作を認識する処理(図4のフローチャート)が開始される。ここではタッチ位置を検出しているため、ステップS204にてタッチ操作の認識に必要な情報を保持して処理を終了する。これ以降、タッチ位置602が検出されるまで同様の処理が繰り返される。
次に、ユーザがフリックを完了し、指301を入力領域300からリリースされた直後に、近接センサ109が指301を近接位置611として検出する(ステップS202)。近接位置611は、入力インタフェース105を介して情報処理装置100に通知されると、タッチ操作を認識する処理が開始される。ここではリリース直後であるため、ステップS206にてタッチ操作の認識を行い、フリックと認識される。具体的には、ステップS204にて保持した情報に基づいて、例えばタッチ位置の移動距離や移動速度等を取得し、それらと予め設定された閾値とを比較し、条件を満たしていればフリックと判定される。本実施形態では、予め登録された辞書情報において、フリック後に入力される入力との組み合わせで、フリック入力とは異なる処理を指示する処理コマンドは存在しないとする。従って、ステップS206においてフリック操作が認識された場合、次の入力を待機する必要はないため、速やかにフリック操作が出力制御部125に通知され、同時に継続判定フラグは「ON」となる(ステップS208)。続いて、スタート位置判定処理として、図5(a)の処理が実行される。保持されているタッチ位置601の位置情報を、次の操作のスタート位置として特定する(ステップS501)。初めは近接位置が近接位置611しか検出されていないため、移動方向は取得されない(ステップS402)。ただし、近接位置611から、特定されたスタート位置に至る方向が取得される(ステップS403)。ここでは、方向を取得する方法の一例として、アークタンジェントを用いて説明する。これにより、x軸方向に進む場合、すなわち入力領域300に対して向かって右方向に進む場合が0度となり、時計回りに移動方向がずれると角度が増加する。近接位置611(514,236)からスタート位置であるタッチ位置601(400,300)までの方向は、アークタンジェントにより求めると約150.69度という角度になる。この角度も保持しておく。今、移動方向は取得されていないので、ステップS403でNOと判定され、処理は終了する。
近接位置612が通知されると、ステップS402にて保持していた近接位置611から近接位置612に至る移動方向を取得する。ここでもアークタンジェントを用いて取得すると、約150.64度という角度になる。ステップS403では、ステップS402にて取得された角度約150.64度と、ステップS402にて保持していたスタート位置までの角度150.69度との差分が所定の閾値以内であるか否かを判定する。本操作例では所定の閾値を20度とし、角度の差分の絶対値が20度以内の場合は同一方向と判定する。ここでは、角度の差分の絶対値が0.05度であるため、閾値以内となり、同一方向と判定される。これにより、ステップS404にて操作が継続されることが情報処理装置の各モジュールに通知される。ここでは、具体的に再度フリックが入力される旨を通知してもよい。これにより、次に入力されるタッチ操作がフリックか否かを判定する閾値を緩くすることで、フリックに入り易くするといった使い方ができる。また、本操作例のように、同じ操作が繰り返し入力される場合は、次の操作が入力されるまで応答を待機する必要は無い。従って、フリックの通知はステップS206にてフリックと認識された時点、あるいはステップS208で継続判定フラグを「ON」とする時に通知してよい。
<特定方法B>
次に、図5(b)は、タッチ操作から連続してGUIオブジェクトもしくは物理ボタンを操作する場合を想定したものである。
ステップS511では、スタート位置特定部131が、GUIオブジェクトが表示されている位置や、物理オブジェクトの設置位置を、次に入力される可能性があるタッチのスタート位置として特定する。物理オブジェクトとは、物理ボタンや物理ダイヤルのことであり、その位置は、タッチパネル及びディスプレイの座標系にマッピングすることで割り当てた座標情報として扱う。
図7は、GUIオブジェクトや物理オブジェクトに座標を割り当てた状態の一例を示す図である。
GUIオブジェクト701はOKボタンであり、(600,480)という座標が割り当てられている。図5(b)のステップS511では、近接位置がこの座標の方向へ移動しているかどうかを判定することで、OKボタンが操作されるか否かを判定できる。割り当てる座標は、例えばGUIオブジェクトの重心の座標とすればよい。正確に位置を特定したい場合には、GUIオブジェクトの外接矩形情報を上下左右の座標として保持してもよいし、GUIオブジェクトが描画されている全座標点を保持してもよい。同様に、GUIオブジェクト702にも(800,480)という座標が割り当てられている。なお、GUIオブジェクトはボタンに限らず、画面上の画像、テキスト、ラジオボタン、チェックボックス、コンボボックス、スライダー、テキストエリア、テキストフィールド等、画面上に配置されるオブジェクトであれば何でもよい。
物理オブジェクト703はMENUボタンであり、(1100,200)という座標が割り当てられている。物理オブジェクトは画面外に存在するが、仮想的に画面と同様の座標系を割り当てることで方向の取得が可能となる。同様に、物理オブジェクト704〜705にも座標を割り当てられている。なお、物理オブジェクトはボタンに限らず、ダイヤル、ズームレバー等の指により操作するオブジェクトであれば何でもよい。
なお、物理オブジェクトは画面外に存在するため、座標はマイナス値であってもよい。
例えば、ディスプレイに表示された複数のGUIオブジェクトのうちの一部をそれぞれタップすることで、オブジェクトの選択を行うようなGUIが提供される場合がある。選択操作が終了した場合には、速やかに応答が開始されるのが望ましい。しかし、さらに選択を継続して行きたい場合には、操作の途中で何らかの応答が開始されるのは煩わしい。従って、このような場合には、図5(b)のフローチャートに基づいて、未選択状態にあるGUIオブジェクトが表示された方向をスタート位置として特定し、近接位置から取得される操作オブジェクトの移動方向に基づき、選択操作が継続されるかを判断する。従って、ステップS404の通知に応じて、応答開始までの待機時間の長さを制御することができる。
また例えば、ディスプレイのサイズが小さい場合等は、GUIとして表示されたインジケータを、指によるタッチ操作で細かく制御するのは困難である場合がある。そのような場合に、タッチパネル上のGUIで大まかに指示された値を、物理ボタン(例えばカーソルキー)の操作によって微調整するようなユーザインタフェースが提供される場合がある。この時、ユーザがGUI上でタッチ操作による指示された値で確定させたい場合には、物理キーを操作することなく速やかに設定処理が終了できることが望ましい。一方で、物理キーによる微調整を行いたい場合には、タッチパネルから指を離して物理キーまで指を動かすだけの時間の猶予が必要となる。このような場合には、図5(b)のフローチャートに基づいて特定されたスタート位置と、近接位置から取得される操作オブジェクトの移動方向に基づき、ユーザが物理キーを利用することを事前に判断することができる。従って、ステップS404の通知に応じて、物理ボタンによる操作を待機するか否かを制御することができる。
<特定方法C>
次に、図5(c)は、手書きジェスチャ、手書き図形、手書き文字入力等で、複数画の入力が必要な操作を想定したものである。
ステップS521では、スタート位置特定部131が、図4のステップS206にて認識されたタッチ操作の軌跡、すなわち軌跡を構成する一連のタッチ位置を取得する。
ステップS522では、スタート位置特定部131が、ステップS521にて取得した直前に入力されていた軌跡を用いて、予め記憶されている手書き認識文字の辞書情報から、次画に相当する軌跡のスタート位置を検索する。
ステップS523では、スタート位置特定部131が、ステップS522にて検索された次画のスタート位置を次に入力される可能性があるタッチのスタート位置として特定する。
タッチパネルに対するタッチ入力を利用した操作には、手書きで文字を入力し、情報処理装置100に認識させ、活字に置き変えて出力させる手書き文字入力と呼ばれる操作がある。手書き文字入力の場合、次画が入力されるか否かで違う文字が認識される場合がある。例えば、「E」という文字は「F」という文字に4画目として横棒が追加されたものである。「E」を入力したい場合には4画目の横棒が入力されるまで文字認識処理を待機する必要があるが、「F」を入力したい場合には、速やかに認識結果が出力されることが望ましい。手書き文字入力のような場合、前後関係にあるタッチ入力の終了位置と開始位置が離れている場合がある。このような場合には、図5(c)のフローチャートに基づいて特定されたスタート位置と、近接位置から取得される操作オブジェクトの移動方向に基づき、ユーザが次画を入力することを事前に判断することができる。従って、ステップS404の通知に応じて、文字認識処理の開始を待機するか否かを制御することができる。
(操作例3)
ここで、具体的に、第2の実施形態の特定方法Cによって次のタッチ入力のスタート位置を特定する情報処理装置100をユーザが操作する操作例3を説明する。図8は、手書き文字入力が行われる際に検出される軌跡の一例を示す図である。
図8(a)は、手書き文字を認識するための辞書に、次画のスタート位置を示す情報を付加したものの一例である。図8(b)は、ユーザが実際に入力した「A」の文字の軌跡の一例である。801〜804は、「A」の文字を入力する際の各軌跡のスタート位置やエンド位置を示すタッチ位置である。
ユーザが「A」の文字の1画目を描くため、タッチ位置811(400,150)からタッチ位置812(300,450)へ指301にて軌跡を描いて入力領域300から指301を離したとする。この時、図5(c)のステップS521にて入力された軌跡データを取得し、ステップS522にて図8(a)の辞書データとのマッチングが行われる。入力された軌跡を辞書データと比較するため、100dot×100dotの座標系に正規化すると、左下へ向かって(100,0)から(0,100)へ軌跡を描いたことになる。正規化されたことで、図8(a)の表と比較すると、文字「A」の画数「1」と合致することが分かる。これにより、正規化された座標系において次画のスタート位置は(100,0)だと分かる。これを実際の座標系に戻すと、(400,150)となる。具体的に実際の座標系に戻す計算方法の一例を説明する。まず、実際に入力された軌跡と正規化された辞書データの軌跡との比率を求める。x軸方向の比率は入力された軌跡のx軸方向の距離(300−400=−100)を辞書データのx軸方向の距離(0−100=−100)で割ることで求まり、結果は1となる。同様に、y軸方向の比率は入力された軌跡のy軸方向の距離(450−150=300)を辞書データのy軸方向の距離(100−0=100)で割ることで求まり、結果は3となる。これで、正規化された辞書データに対して、実際の軌跡がx軸方向とy軸方向それぞれでどの程度大きいかが分かる。次に、辞書データのエンド位置から次画のスタート位置までの距離の差分を取得する。結果は、x軸方向が100−0で100となり、y軸方向が0−100で−100となる。これに、先程取得した比率を掛けると、差分の距離も実際の座標系に変換される。結果は、x軸方向が100×1で100となり、y軸方向が−100×3で−300となる。これを実際に入力された軌跡のエンド位置に足すことで、実際の座標系における次画の座標を求めることができる。結果は、x座標が300+100で400となり、y座標は450−300で150となる。これで、先に示した座標(400,150)を取得することができる。
また、予め辞書データの軌跡と次画のスタート位置までの距離との比率を求めておくことで計算量を減らすことも可能である。具体的には、x軸方向の比率は辞書軌跡のエンド位置から次画のスタート位置までの距離(100−0=100)を辞書軌跡のスタート位置からエンド位置までの距離(0−100=−100)で割ることで求まり、結果は−1となる。ただし、分母であるスタート位置からエンド位置までの距離が0の場合は、結果も0とする。同様にy軸方向の比率は、(0−100=−100)を(100−0=100)で割ることで求まり、結果は−1となる。この比率を実際に入力された軌跡のスタート位置からエンド位置までの距離に掛けて、実際に入力された軌跡のエンド位置の座標に足すことで、実際の座標系での次画のスタート位置が取得できる。実際に入力された軌跡のスタート位置からエンド位置までの距離(300−400=−100)に比率−1を掛けると100となり、実際に入力された軌跡のエンド位置の座標300に足すと、x座標は400となる。同様にy座標は、(450−150=300)に比率−1を掛けて−300となり、実際に入力された軌跡のエンド位置の座標450に足すと150となる。この方法でも先に示した座標(400,150)を取得することができる。この比率は、辞書データのみに依存するため、予め辞書データに保持しておくことができる。例えば、図8(a)の比率の列に示すように、x軸とy軸それぞれの比率を予め保持しておくことで、計算量を削減することができる。ステップS523では、取得された次画のスタート位置を、次操作のスタート位置と特定する。これにより、図4のステップS403において近接状態での移動方向と、取得されたスタート位置への方向が概ね一致しているか否かを判定できる。方向が概ね一致している場合、次操作として次画が入力されると判定できる。こうすることで、次画の入力を待ってから文字を認識することができる。例えば、「F」と「E」は、「F」の3画目の後の近接状態での移動方向が「E」の4画目のスタート位置の方向か否かを判定することで区別できる。近接状態での移動方向が「E」の4画目のスタート位置の方向でない場合は、その時点で即座に「F」である旨を通知してよい。
なお、文字を入力するエリアが小さく限られている場合には、おおよその次画のスタート位置を辞書に保持させておいてもよい。また、図4のステップS206にて「A」の文字の1画目が認識されたとして、この時点で次画のスタート位置を特定してもよい。
<特定方法D>
図5(d)は、異なるタッチ操作を組み合わせて連続入力する場合を想定したものである。
ステップS531では、スタート位置特定部131が、図4のステップS206にて認識されたタッチ操作の後に入力される可能性がある別の操作のスタート位置を、予め記憶されている辞書情報から検索する。本実施形態では、辞書情報に、直前までタッチ位置検出部121に検出されていた一連のタッチ位置が構成する軌跡に対応して保持された、次に入力可能な軌跡の開始位置を検索する。
ステップS532では、スタート位置特定部131が、ステップS531にて検索された別の操作のスタート位置を次に入力される可能性があるタッチのスタート位置として特定する。
例えば、情報処理装置100のサイズが小さく物理ボタンや多くのGUIオブジェクトを配置できない場合や、表示内容を視認せずに入力可能なタッチ操作環境を提供したい場合には、複数のタッチ操作を組み合わせて多様な処理に対応させることがある。このような場合には、図5(d)のフローチャートに基づいて特定されたスタート位置と、近接位置から取得される操作オブジェクトの移動方向に基づき、ユーザが次に入力するタッチ入力を推定し、入力される可能性の高いコマンドを絞り込むことができる。従って、ステップS404の通知に応じて、多様な処理にタッチ操作が対応している場合でも、タッチ操作の終了に応じて速やかに応答処理を開始することができる。
(操作例4)
ここで、具体的に、第2の実施形態の特定方法Dによって次のタッチ入力のスタート位置を特定する情報処理装置100をユーザが操作する操作例4を説明する。図9は、手書きジェスチャ入力が行われる際に検出される軌跡の一例を示す図である。図9(a)は、各手書きジェスチャの後に入力される可能性のある別操作のスタート位置を保持したものである。図9(b)は、実際に入力された手書きジェスチャの一例である。
まず、図9(b)のように、タッチ位置901から始まる「上方向に進んでから左方向に進む」のような手書きジェスチャを入力した場合、図5(d)のステップS531において次に入力される可能性がある別操作のスタート位置を検索する。具体的には、図9(a)のデータを検索すると、「上方向に進んでから左方向に進む」の次には3つの別操作が入力される可能性があると分かる。そして、別操作のスタート位置は、(480,440)もしくは(480,100)のいずれかであることが分かる。ステップS532では、検索された別操作のスタート位置を次操作のスタート位置として特定する。図9(b)の例では、「上方向に進んでから左方向に進む」の後にタッチ位置902(480,100)から「下方向に進んでから右方向に進む」のジェスチャを入力している。この場合、「上方向に進んでから左方向に進む」を入力して指301を入力領域300から離した時に、図4のステップS403において、近接状態での移動方向が次操作のスタート位置の方向であると判定され、ステップS404にて操作継続通知が行われる。
なお、入力される操作は手書きジェスチャに限らず、一般的なタッチ操作でもよい。また、入力領域全域を使わないタッチ操作の場合は次の別操作がどこに入力されるか特定しにくいが、ユーザの癖や利用アプリに応じて連続操作のパターンが決まっているものがあるため、そのパターンを学習し、次操作のスタート位置を管理してもよい。
また、本実施形態においても、マルチタッチ操作に適用しても良く、複数の操作オブジェクトに対応したそれぞれの近接位置が全て次操作のスタート位置の方向へ進んでいる場合に次操作が継続されると判定すればよい。また、次操作のスタート位置は、全点が同じ方向へ進むような次操作であれば1つで構わないし、ピンチ操作のようにスタート位置が別方向になる場合は、別々のスタート位置を設定しても構わない。
以上説明したように、本実施形態では、タッチ操作を認識した後、入力対象面から操作オブジェクトを離した近接状態での移動方向が次操作のスタート位置か否かを判定することで、次の操作が継続して入力されるか否かを判定する。近接状態での移動方向が次操作のスタート位置の方向である場合は、次の操作が入力される旨を通知し、次操作の待ち合わせ処理や、次操作を判定され易くする処理、次操作を処理する準備等の処理を実行できる。
<変形例>
変形例では、入力対象面内において、第1の入力とそれに後続する入力とで構成されるタッチ操作が入力され易い領域を限定することで、不要な場合には後続する入力を待たずにタッチ操作の出力を開始するかを判定する処理を省略可能とする例を説明する。なお、変形例は、第1の実施形態および第2の実施形態のいずれとも組み合わせて実行することができる。
変形例に係る情報処理装置100のハードウェア構成は、第1の実施形態の図1(a)と同様であるため、説明を省略する。変形例に係る情報処理装置100の機能構成は、第1の実施形態の図1(b)や第2の実施形態の図1(c)に領域記憶部を追加したものである。領域記憶部は、判定部124に接続され、判定部124は、記憶された領域に基づいて操作の継続判定を行うことができる。
図10は、タッチ操作と対応付けた操作領域を設定する方法の一例を示す図である。変形例の情報処理装置100では、一例として、予め辞書情報に、ダブルタップ操作は表示画像の拡大を指示する操作として登録されているとする。図10の領域1001は操作領域であり、本図の例では、ダブルタップが入力される可能性が高い領域として設定されている。ダブルタップによる画像の拡大操作は、画像が画面一杯に表示されている場合には、画面上のどこをダブルタップしてもよいため、ユーザは画面中央をダブルタップすることが多い。従って、図10の例では画面中央部にタップの操作領域1001を設けている。ただし、この例は、ユーザが装置自体を指示する手と、タッチ操作を入力する手が異なる場合を想定している。デバイスの種類によっては、片手で装置を支持して同時にタッチ操作も入力されることが自然なものもある。その場合には、持っている手の親指で押し易い位置(画面の端など)等に操作領域を設定しても構わない。
このように、領域記憶部は、各操作に対応付けて、各操作が入力され易い領域を操作領域として記憶しておく。判定部124は、操作領域内で対応付けられた操作が入力された場合には、再度同じ操作が繰り返される可能性があるとして、次の操作を待ち合わせる。一方で、操作領域外で操作が入力された場合、もしくは操作領域内でも対応付けられていない操作が入力された場合には、後続する入力を待たずに出力を開始するかを判断することなく、速やかに検出したタッチ情報に対応するタッチ操作を通知する。図10の例では、操作領域1001内で検出されたタッチ位置に基づき、タップ操作が認識された場合には、ダブルタップとして次のタップが入力される可能性が高いため、次の入力を待機する。一方、操作領域1001外で検出されたタッチ位置に基づき、タップ操作が認識された場合には、ダブルタップである可能性が低いため、速やかにシングルタップ操作が入力されたことを出力制御部125に通知する。なお、図10では、操作領域1001を矩形としているが、これに限らず丸や三角、画面上のオブジェクトの形状に合わせるなど、領域判定が行えればどのような形状であってもよい。
また、タッチ操作が通知される、すなわち入力された操作が確定する毎に、操作領域1001を補正する処理を加えてもよい。図10(b)、図10(c)は、実際に確定した操作の位置に応じて、操作領域1001を補正する方法の一例を示す。この場合には、機能構成として、第1の実施形態の図1(b)や第2の実施形態の図1(c)に領域補正部を追加し、領域記憶部に接続する。領域補正部は、実際に確定した操作の位置と、その時の操作領域1001の位置とのずれから、操作領域1001の位置や大きさ、形状等を補正する。図10(b)は、例えばダブルタップが、設定されていた操作領域1001よりも実際には狭い領域で入力されていた場合を示している。このため、領域補正部は、記憶されていた操作領域1001を操作領域1002まで狭めて領域記憶部に通知し、領域記憶部はタップに対応付けて操作領域1002を記憶する。この時、操作領域1001は破棄してもよい。図10(c)は、例えばダブルタップが、設定されていた操作領域1001よりも実際には広い領域で入力されていた場合を示している。このため、領域補正部は、記憶されていた操作領域1001を操作領域1003まで広げて領域記憶部に通知し、領域記憶部はタップに対応付けて操作領域1003を記憶する。この時、操作領域1001は破棄してもよい。なお、領域の補正は、操作が確定した座標の情報が、ある程度の数蓄積されてから行うのが望ましい。
以上説明したように、本実施形態では、タッチ操作が入力される可能性が高い領域を記憶しておくことで、その領域内では当該タッチ操作が連続して入力される可能性が高いと判定することができる。これにより、領域内では、ユーザの意図通りに、次の操作の入力を待つことができ、領域外では、ユーザの意図通りに即座に入力に対しての処理を実行することができる。
<第3の実施形態>
第3の実施形態では、第1の実施形態及び第2の実施形態のようにタッチ位置と近接位置を異なる検出手段によって別々に検出するのではなく、操作オブジェクトの三次元位置として検出する例を説明する。第3の実施形態は、例えばスクリーンやテーブルトップ等、センサを有しない平面上に投影された表示画像によるGUIに対し、ユーザが行うタッチ操作を三次元位置情報に基づいて認識するような情報処理装置で有効に利用することができる。
操作オブジェクトの三次元位置を検出する場合にも、入力対象面(投影面や物体の表面等)にタッチすることで行う操作、あるいは略タッチしたと見なせる程度に近づくことで行う操作が、終了されたのか、継続されているのかを、近接状態での移動に基づいて判断する。ただし、三次元位置を検出する場合での近接状態(非接触状態)は、操作オブジェクトが入力対象面に略接触していると判定される場合よりも、操作オブジェクトと入力対象面との間に距離がある状態として定義される。
図11(a)は、本実施形態における情報処理装置100のハードウェア構成の一例を示す図である。ただし、図1(a)と同じ要素については同符号を付し、その説明を省略する。
三次元位置センサ1101は、操作オブジェクトの三次元空間での位置を検出し、入力インタフェース105に通知する。三次元位置センサ1101は、距離画像センサやステレオカメラ等を用いる。
図11(b)は、本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。なお、図1(b)と同じ要素については同符号を付し、その説明を省略する。
三次元位置検出部1121は、入力インタフェース105から通知された信号に基づき、ユーザが操作した時と、操作後の三次元位置を検出する。その際、本実施形態では、入力インタフェース105が、三次元位置センサ1101が検出している三次元位置の情報を一定の間隔で参照し、三次元位置の情報を取得する毎に順次、三次元位置検出部1121に信号を通知する。
第3の実施形態における認識部1122は、三次元位置検出部1121にて検出された三次元位置に基づいてユーザの空間的な操作やスクリーンや机等に投射された映像をタッチする操作を認識する。判定部124は、認識部1122にて操作が認識された後、三次元位置検出部1121にて検出された三次元位置に基づいて、操作が継続されるか否かを判定する。判定方法は、基本的に第1の実施形態や、第2の実施形態と同様であり、移動距離や移動速度、移動方向等により判定する。
図11(c)は、本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。本図は、図1(c)のタッチセンサ108、近接センサ109、タッチ位置検出部121、近接位置検出部122、認識部123の代わりに図11(b)の三次元位置センサ1101、三次元位置検出部1121、認識部1122に置き換えている。図1(c)及び図11(b)と同じ要素については同符号を付し、その説明を省略する。
図12(a)は、操作を認識する処理の流れの一例を示すフローチャートである。なお、図2と同じ処理については同符号を付し、その説明を省略する。
ステップS1201は、三次元位置検出部1121が三次元位置センサ1101から入力インタフェース105に通知された三次元位置を検出する。
ステップS1202は、認識部1122が、ステップS1201にて三次元位置が検出されたか否かを判定する。三次元位置を検出したと判定された場合には(ステップS1202でYES)、処理はステップS1203に進む。一方、三次元位置を検出しなかったと判定された場合には(ステップS1202でNO)、処理はステップS215に進む。
ステップS1203は、認識部1122が、ステップS1201にて検出された三次元位置情報のうち、タッチしたとみなせる位置の情報に基づいてユーザが行ったタッチ操作を認識する。ここで認識する操作は、第1の実施形態および第2の実施形態と同様、予め辞書情報として情報処理装置100に登録されているタッチ操作に基づいて認識される。
ステップS1204は、ステップS1203にてタッチ操作が認識されたか否かを判定する。操作が認識されたと判定された場合には(ステップS1204でYES)、処理はステップS208に進む。一方、操作が認識されなかったと判定された場合には(ステップS1204でNO)、処理はステップS210に進む。
タッチ操作が認識された場合はステップS208に進むことで、継続判定フラグがONとなる。そして、これ以降、第1の実施形態の場合と図2と同様に、近接状態として定義された状態における操作オブジェクトの移動について、検出される一連の三次元位置に基づいて、移動距離を取得する。そして、取得した移動距離が閾値を超えたか否かによって、操作が継続されるか否かを判定する。
また、第1の実施形態と同様、第3の実施形態においても、移動距離の閾値を小さく設定し、前回の三次元位置から今回の三次元位置までの移動距離が連続して所定の回数以上連続して閾値を超えたか否かによって、操作が継続されるか否かを判定してもよい。また、前回の三次元位置から今回の三次元位置までの移動方向が連続して所定の回数概ね同一方向か否かによって、操作が継続されるか否かを判定してもよい。なお、第1の実施形態と同様、移動距離に替えて移動速度の情報を利用しても構わない。
図12(b)は、操作を認識する処理の流れの一例を示すフローチャートである。本図は、図4に対して図12(a)と同様にタッチ位置と近接位置による操作判定部分を、三次元位置に置き換えたものであり、同じ処理については同符号を付し、その説明を省略する。これも図4と同様に、操作後の三次元位置により取得された移動方向が次操作のスタート位置の方向か否かによって、操作が継続されるか否かを判定する。
以上説明したように、第3の実施形態では、三次元位置を検出することで、ユーザが行ったタッチ操作を認識し、タッチのリリース後に、三次元位置により取得される移動距離、移動速度、移動方向に基づいて、次の操作が継続して入力されるか否かを判定する。これにより、三次元空間上で行われるタッチ操作についても、操作が終了したのか、継続中なのかを速やかに区別して操作に対するフィードバックを出力することができる。
なお、三次元位置を検出することができる装置においては、操作中の状態と、操作が終了あるいは中断している状態という2段階の状態を定義することで、操作が終了したのか、継続中なのかを速やかに区別する処理を応用することが可能である。例えば、ユーザが手を動かすことによって行うジェスチャ操作について、ある特定の認識領域(ジェスチャ切り出し領域ともいう)内での手の三次元位置を追跡してジェスチャ操作として認識するシステムを用いるとする。この場合であれば、認識領域から出た時点以降での手の移動距離や移動方向に基づいて、ジェスチャ操作が終了されたのか、継続されているのかを区別することが可能となる。このように、操作オブジェクトが、操作中の状態から脱した時点からの三次元位置情報を用いることで、タッチ操作に限らないジェスチャ操作についても操作が終了したのか、継続中なのかを速やかに区別することができる。
<その他の実施形態>
なお、本発明はタッチパネルへのタッチ操作による入力に限られず、ユーザによる第1の入力によって構成される第1の操作と、前記第1の入力とそれに後続するユーザによる第2の入力とによって構成される第2の操作とを認識可能な場合に適用可能である。この場合に、ユーザーによる入力に用いるペンや指などの操作オブジェクトが、第1の入力が検出された直後の移動内容から第2の入力に移行しないと判断した際に、第2の入力の有無に関わらず、速やかに第1の操作に対応する応答を開始する。上記ユーザによる入力とは操作ボタンを押す動作でも良いし、ジェスチャ入力を行うための人間の動作であっても良い。また上記応答は、各操作に対応して装置が実行する各種処理が相当し、例えば、画像を表示するための描画処理であっても良いし、音声出力などであっても良い。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
121 タッチ位置検出部
122 近接位置検出部
123 認識部
124 判定部
125 出力制御部

Claims (21)

  1. 第1の入力によって構成される第1の操作と、前記第1の入力と前記第1の入力に後続する入力とによって構成される第2の操作とを認識可能な情報処理装置であって、
    操作オブジェクトによる入力を検出する検出手段と、
    前記検出手段によって前記操作オブジェクトによる前記第1の入力が検出された直後の、前記操作オブジェクトの移動に関する情報が所定の条件を満たす場合は、前記第1の入力に後続する入力の有無にかかわらず、前記第1の操作に対応する応答を開始する出力制御手段と
    を備えることを特徴とする情報処理装置。
  2. 前記第1の入力が検出された直後の前記操作オブジェクトに関する情報が前記所定の条件を満たさない場合、
    前記検出手段は、前記出力制御手段によって前記第1の操作に対応する応答を開始する前に、前記検出手段によって前記第1の入力に後続する入力を検出したかを判定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記検出手段は、入力対象面に対する前記操作オブジェクトのタッチ位置を検出するタッチ位置検出手段であって、
    前記操作オブジェクトによる入力とは、前記タッチ位置検出手段が検出するタッチ位置に基づく入力であることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記入力対象面に対する前記操作オブジェクトの近接位置を検出する近接位置検出手段とを更に備え、
    前記検出手段によって前記操作オブジェクトによる前記第1の入力が検出された直後の、前記操作オブジェクトに関する情報とは、前記タッチ位置検出手段によって前記タッチ位置が検出されなくなった時点以降に、前記近接位置検出手段によって検出される近接位置の情報であることを特徴とする請求項3に記載の情報処理装置。
  5. 前記第1の入力とは、前記タッチ位置検出手段によって前記タッチ位置が検出されなくなった時点までに前記タッチ位置検出手段が検出していたタッチ位置に基づく入力であって、
    前記出力制御手段は、
    前記判定手段により、前記タッチ位置検出手段によって前記タッチ位置が検出されなくなった時点以降に、前記近接位置検出手段によって検出される近接位置が前記所定の条件を満たすと判定されたことに応じて、前記第1の操作に対する応答を開始することを備えることを特徴とする請求項4に記載の情報処理装置。
  6. 前記判定手段は、前記タッチ位置検出手段によって前記タッチ位置が検出されなくなった時点以降に、前記近接位置検出手段が検出する近接位置に基づいて、前記操作オブジェクトが前記入力対象面に近接した状態で移動した移動距離を取得し、
    前記所定の条件とは、前記移動距離が所定の閾値を超えることであることを特徴とする請求項5に記載の情報処理装置。
  7. 前記判定手段は、前記タッチ位置検出手段によって前記タッチ位置が検出されなくなった時点以降に、前記近接位置検出手段が所定の時間間隔で前記近接位置を検出する度に、前記操作オブジェクトが前記入力対象面に近接した状態で移動した移動距離を取得し、
    前記所定の条件とは、前記移動距離が所定の回数以上連続して閾値を超えることであることを特徴とする請求項5に記載の情報処理装置。
  8. 前記判定手段は、前記タッチ位置検出手段によって前記タッチ位置が検出されなくなった時点以降に、前記近接位置検出手段が検出する近接位置に基づいて、前記操作オブジェクトが前記入力対象面に近接した状態で移動した移動方向を取得し、
    前記所定の条件とは、前記移動方向が特定の方向であることであることを特徴とする請求項5に記載の情報処理装置。
  9. 前記特定の方向とは、前記第1の入力に後続する入力を行うために、前記操作オブジェクトが次にタッチする位置に向かう方向であって、
    前記操作オブジェクトが次にタッチする位置を特定する特定手段を更に備えることを特徴とする請求項8に記載の情報処理装置。
  10. 前記特定手段は、前記第1の入力の開始位置を、前記操作オブジェクトが次にタッチする位置とすることを特徴とする請求項9に記載の情報処理装置。
  11. 前記第1の操作は、シングルタップ操作であって、前記第2の操作とは、ダブルタップ操作であることを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
  12. 前記第1の操作および第2の操作とは、前記入力対象面に対する手書き入力操作であって、
    前記特定手段は、予め記憶された情報に基づいて、前記第1の入力に対応する一連のタッチ位置が構成する軌跡の次画として記憶されている軌跡の開始位置を、前記操作オブジェクトが次にタッチする位置とすることを特徴とする請求項9に記載の情報処理装置。
  13. 前記特定手段は、予め記憶された情報に基づいて、前記第1の入力と対応付けて記憶された第2の入力の開始位置を、前記操作オブジェクトが次にタッチする位置とすることを特徴とする請求項9に記載の情報処理装置。
  14. 前記特定手段は、前記情報処理装置が有する表示部においてGUIオブジェクトが表示されている位置、あるいは前記情報処理装置が有する物理オブジェクトの設置位置を、前記操作オブジェクトが次にタッチする位置とすることを特徴とする請求項9に記載の情報処理装置。
  15. 更に、前記第2の操作と前記入力対象面内の領域を対応付けて記憶する記憶手段を備え、
    前記出力制御手段は、前記タッチ位置検出手段が検出した前記第1の入力に対応するタッチ位置が、前記領域の外で検出された場合は、前記第1の入力に後続する入力の有無にかかわらず、前記第1の操作に対応する応答を開始すること特徴とする請求項3に記載の情報処理装置。
  16. 更に、前記第2の操作が認識される毎に、前記タッチ位置検出手段が検出した、前記第2の操作に対応するタッチ位置の情報に基づいて、前記操作に対応する前記領域を補正する領域補正手段
    を備えることを特徴とする請求項15に記載の情報処理装置。
  17. 前記検出手段は、前記操作オブジェクトの三次元位置を検出する検出手段であって、
    前記操作オブジェクトによる入力とは、前記検出された三次元位置に基づく入力であることを特徴とする請求項1または2に記載の情報処理装置。
  18. 前記検出手段によって前記操作オブジェクトによる前記第1の入力が検出された直後の、前記操作オブジェクトに関する情報とは、前記操作オブジェクトが操作中の状態から脱した時点以降に、前記検出手段によって検出される三次元位置の情報であることを特徴とする請求項17に記載の情報処理装置。
  19. 第1の入力によって構成される第1の操作と、前記第1の入力と前記第1の入力に後続する入力とによって構成される第2の操作とを認識可能な情報処理装置の制御方法であって、
    検出手段により、操作オブジェクトによる入力を検出する検出工程と、
    前記検出工程で前記操作オブジェクトによる前記第1の入力が検出された直後の、前記操作オブジェクトの移動に関する情報が所定の条件を満たす場合は、出力制御手段により、前記第1の入力に後続する入力の有無にかかわらず、前記第1の操作に対応する応答を開始する出力制御工程と
    を有することを特徴とする情報処理装置の制御方法。
  20. コンピュータに読み込ませ実行させることで、前記コンピュータを請求項1乃至18のいずれか1項に記載された情報処理装置の各手段として動作させるためのプログラム。
  21. 請求項20のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
JP2013133530A 2013-06-26 2013-06-26 情報処理装置およびその制御方法、プログラム、記録媒体 Active JP6271881B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013133530A JP6271881B2 (ja) 2013-06-26 2013-06-26 情報処理装置およびその制御方法、プログラム、記録媒体
US14/312,995 US9529527B2 (en) 2013-06-26 2014-06-24 Information processing apparatus and control method, and recording medium
CN201410299720.2A CN104252264B (zh) 2013-06-26 2014-06-26 信息处理装置以及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013133530A JP6271881B2 (ja) 2013-06-26 2013-06-26 情報処理装置およびその制御方法、プログラム、記録媒体

Publications (3)

Publication Number Publication Date
JP2015007946A true JP2015007946A (ja) 2015-01-15
JP2015007946A5 JP2015007946A5 (ja) 2016-08-04
JP6271881B2 JP6271881B2 (ja) 2018-01-31

Family

ID=52115095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013133530A Active JP6271881B2 (ja) 2013-06-26 2013-06-26 情報処理装置およびその制御方法、プログラム、記録媒体

Country Status (3)

Country Link
US (1) US9529527B2 (ja)
JP (1) JP6271881B2 (ja)
CN (1) CN104252264B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017021449A (ja) * 2015-07-07 2017-01-26 富士通株式会社 情報処理装置、表示制御方法および表示制御プログラム
JP2019067214A (ja) * 2017-10-02 2019-04-25 ヤフー株式会社 判定プログラム、判定方法、端末装置、学習データ、及びモデル
JP2021018777A (ja) * 2019-07-24 2021-02-15 キヤノン株式会社 電子機器
JPWO2021140543A1 (ja) * 2020-01-06 2021-07-15

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102159789B1 (ko) * 2013-10-28 2020-09-25 삼성전자주식회사 전자 장치 및 이의 사용자 제스처 인식방법
US20170039076A1 (en) * 2014-04-30 2017-02-09 Empire Technology Development Llc Adjusting tap position on touch screen
US9454248B2 (en) * 2014-11-28 2016-09-27 Getac Technology Corporation Touch input method and electronic apparatus thereof
US9733826B2 (en) 2014-12-15 2017-08-15 Lenovo (Singapore) Pte. Ltd. Interacting with application beneath transparent layer
US9423908B2 (en) * 2014-12-15 2016-08-23 Lenovo (Singapore) Pte. Ltd. Distinguishing between touch gestures and handwriting
CN106155275A (zh) * 2015-03-25 2016-11-23 联想(北京)有限公司 信息处理方法及电子设备
JP6696737B2 (ja) * 2015-06-26 2020-05-20 シャープ株式会社 コンテンツ表示装置及びプログラム
JP6676913B2 (ja) * 2015-09-30 2020-04-08 ブラザー工業株式会社 情報処理装置、および制御プログラム
JP6590666B2 (ja) 2015-11-30 2019-10-16 キヤノン株式会社 電子機器およびその制御方法
JP6742730B2 (ja) * 2016-01-05 2020-08-19 キヤノン株式会社 電子機器及びその制御方法
JP2017134638A (ja) * 2016-01-28 2017-08-03 株式会社東海理化電機製作所 操作検出装置
JP6701070B2 (ja) 2016-12-26 2020-05-27 キヤノン株式会社 表示制御装置及び方法
JP6807228B2 (ja) * 2016-12-28 2021-01-06 株式会社ワコム ペンタブレット、手書きデータ記録装置、手書きデータ描画方法、及び手書きデータ合成方法
US10409712B2 (en) * 2016-12-30 2019-09-10 Accenture Global Solutions Limited Device based visual test automation
JP6832725B2 (ja) * 2017-01-31 2021-02-24 シャープ株式会社 表示装置、表示方法及びプログラム
JP6723938B2 (ja) * 2017-01-31 2020-07-15 キヤノン株式会社 情報処理装置、表示制御方法、及びプログラム
US11069326B2 (en) * 2017-12-04 2021-07-20 Shenzhen Royole Technologies Co., Ltd. Processing method for character stroke and related device
EP4073613A1 (en) * 2020-01-24 2022-10-19 Huawei Technologies Co., Ltd. Volume adjusting gesture and mistouch prevention on rolling devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014101A (ja) * 1999-06-30 2001-01-19 Fujitsu Takamisawa Component Ltd 座標入力装置及び記憶媒体
JP2001216069A (ja) * 2000-02-01 2001-08-10 Toshiba Corp 操作入力装置および方向検出方法
JP2003296015A (ja) * 2002-01-30 2003-10-17 Casio Comput Co Ltd 電子機器
JP2011034502A (ja) * 2009-08-05 2011-02-17 Sony Corp 表示装置、表示方法及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736142B2 (ja) * 1991-10-10 1995-04-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 移動指示手段の運動停止を認識する方法および情報処理装置
US5272470A (en) * 1991-10-10 1993-12-21 International Business Machines Corporation Apparatus and method for reducing system overhead while inking strokes in a finger or stylus-based input device of a data processing system
US5570113A (en) * 1994-06-29 1996-10-29 International Business Machines Corporation Computer based pen system and method for automatically cancelling unwanted gestures and preventing anomalous signals as inputs to such system
US7180506B2 (en) 2004-02-12 2007-02-20 Sentelic Corporation Method for identifying a movement of single tap on a touch device
JP3861157B2 (ja) 2004-02-27 2006-12-20 国立大学法人広島大学 参照データ最適化装置とパターン認識システム
TW200717293A (en) * 2005-10-25 2007-05-01 Elan Microelectronics Corp Method to detect an object on a touch pad
US7636794B2 (en) * 2005-10-31 2009-12-22 Microsoft Corporation Distributed sensing techniques for mobile devices
JP5203293B2 (ja) * 2009-05-21 2013-06-05 株式会社ジャパンディスプレイウェスト 表示装置および電子機器
JP5278259B2 (ja) * 2009-09-07 2013-09-04 ソニー株式会社 入力装置、入力方法及びプログラム
CN102402369B (zh) 2010-09-13 2017-11-24 联想(北京)有限公司 电子设备及其操作提示标识移动方法
EP2686755B1 (en) * 2011-03-17 2020-10-14 Laubach, Kevin Input device enhanced interface
CN102520858B (zh) 2011-12-08 2013-12-18 深圳万兴信息科技股份有限公司 一种移动终端的应用控制方法及装置
US9395901B2 (en) * 2012-02-08 2016-07-19 Blackberry Limited Portable electronic device and method of controlling same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014101A (ja) * 1999-06-30 2001-01-19 Fujitsu Takamisawa Component Ltd 座標入力装置及び記憶媒体
JP2001216069A (ja) * 2000-02-01 2001-08-10 Toshiba Corp 操作入力装置および方向検出方法
JP2003296015A (ja) * 2002-01-30 2003-10-17 Casio Comput Co Ltd 電子機器
JP2011034502A (ja) * 2009-08-05 2011-02-17 Sony Corp 表示装置、表示方法及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017021449A (ja) * 2015-07-07 2017-01-26 富士通株式会社 情報処理装置、表示制御方法および表示制御プログラム
JP2019067214A (ja) * 2017-10-02 2019-04-25 ヤフー株式会社 判定プログラム、判定方法、端末装置、学習データ、及びモデル
JP2021018777A (ja) * 2019-07-24 2021-02-15 キヤノン株式会社 電子機器
JPWO2021140543A1 (ja) * 2020-01-06 2021-07-15
WO2021140543A1 (ja) * 2020-01-06 2021-07-15 三菱電機株式会社 ジェスチャ検出装置およびジェスチャ検出方法

Also Published As

Publication number Publication date
CN104252264A (zh) 2014-12-31
CN104252264B (zh) 2017-09-01
US9529527B2 (en) 2016-12-27
US20150002424A1 (en) 2015-01-01
JP6271881B2 (ja) 2018-01-31

Similar Documents

Publication Publication Date Title
JP6271881B2 (ja) 情報処理装置およびその制御方法、プログラム、記録媒体
JP6902234B2 (ja) 文字列に文字を挿入するための方法および対応するデジタルデバイス
US9069386B2 (en) Gesture recognition device, method, program, and computer-readable medium upon which program is stored
JP5990011B2 (ja) 情報処理装置及びその制御方法
JP6004716B2 (ja) 情報処理装置およびその制御方法、コンピュータプログラム
JP6410537B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US20130328804A1 (en) Information processing apparatus, method of controlling the same and storage medium
JP2011134271A (ja) 情報処理装置、情報処理方法およびプログラム
JP2009093291A (ja) ジェスチャー判定装置及び方法
US10956030B2 (en) Multi-touch based drawing input method and apparatus
JP2010146032A (ja) 携帯端末装置、及び表示制御方法
JP2010271940A (ja) 表示制御装置、表示制御方法およびコンピュータプログラム
US9430089B2 (en) Information processing apparatus and method for controlling the same
US20140298223A1 (en) Systems and methods for drawing shapes and issuing gesture-based control commands on the same draw grid
JP2014219938A (ja) 入力支援装置、入力支援方法、および、プログラム
JPWO2009031214A1 (ja) 携帯端末装置、及び表示制御方法
US10402080B2 (en) Information processing apparatus recognizing instruction by touch input, control method thereof, and storage medium
JP6253284B2 (ja) 情報処理装置およびその制御方法、プログラム、記録媒体
JP2019514096A (ja) 文字列に文字を挿入するための方法およびシステム
KR101154137B1 (ko) 터치 패드 상에서 한손 제스처를 이용한 사용자 인터페이스
JP6630164B2 (ja) 電子機器及びその制御方法、プログラム、並びに記憶媒体
JP2015176108A (ja) 表示装置、制御方法及びプログラム
US20180173398A1 (en) Touch panel type information terminal device, information input processing method and program thereof
JP6003566B2 (ja) オブジェクト操作装置及びオブジェクト操作制御プログラム
JP2015153197A (ja) ポインティング位置決定システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160617

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171228

R151 Written notification of patent or utility model registration

Ref document number: 6271881

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151