JP6188288B2 - 情報処理装置及びその制御方法 - Google Patents

情報処理装置及びその制御方法 Download PDF

Info

Publication number
JP6188288B2
JP6188288B2 JP2012161542A JP2012161542A JP6188288B2 JP 6188288 B2 JP6188288 B2 JP 6188288B2 JP 2012161542 A JP2012161542 A JP 2012161542A JP 2012161542 A JP2012161542 A JP 2012161542A JP 6188288 B2 JP6188288 B2 JP 6188288B2
Authority
JP
Japan
Prior art keywords
touch
detected
state
point
condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012161542A
Other languages
English (en)
Other versions
JP2014021829A5 (ja
JP2014021829A (ja
Inventor
伊藤 光
光 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012161542A priority Critical patent/JP6188288B2/ja
Priority to US13/944,206 priority patent/US9658764B2/en
Priority to EP13177120.6A priority patent/EP2687973A3/en
Priority to CN201310306690.9A priority patent/CN103576976B/zh
Publication of JP2014021829A publication Critical patent/JP2014021829A/ja
Publication of JP2014021829A5 publication Critical patent/JP2014021829A5/ja
Application granted granted Critical
Publication of JP6188288B2 publication Critical patent/JP6188288B2/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/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
    • 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/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04166Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
    • 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/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • 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
    • 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/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Description

本発明は、タッチ操作を認識する技術に関する。
近年、画面の複数点がタッチされたことを検知し、そのタッチ点の動きに対応する操作を実行する技術が知られている。このような複数点をタッチすることによる操作は、マルチタッチ操作と呼ばれる。
特許文献1では、画面に接触した2本の指の距離を変更せずに一方向へ移動するドラッグ操作により、画面のスクロール操作を行う。この操作での画面のスクロール量は、1本の指でドラッグ操作した場合の2倍の量に設定される。すなわち、ユーザがタッチ点の数を変更することでスクロール量を変更できる。
特開2011−227854号公報
上記特許文献1のように、マルチタッチ操作を行える装置において、例えば1点をタッチした場合と2点をタッチした場合とでは、操作内容に変化が生じることがある。
しかしながら、ユーザは、複数の指を画面に同時に接触させる、あるいは接触していた指を同時に離すとは限らない。例えば2点のタッチを行おうとしたつもりであっても、最初に1点をタッチした後に、次の1点をタッチしてしまう場合も有り得る。
また、近年では、画面に接触していなくても、近接している指を検出してタッチとして認識するタッチパネルも利用されているため、ユーザが画面に触れているつもりがなくても、装置にタッチ点を検出されることも有り得る。
また、ユーザがタッチ操作を始める場合には、シングルタッチとマルチタッチの両方が実行される可能性があるが、いったんマルチタッチで操作をした後には、マルチタッチのタッチ点を減らしつつ継続してシングルタッチを実行することは少ない。
本発明は上記課題に鑑みてなされたものであり、マルチタッチ操作が可能な装置において、検出するタッチ点の変動による誤動作を低減することを主な目的とする。
上記課題を解決するために、本発明に係る情報処理装置は、操作面をタッチすることによりシングルタッチ操作およびマルチタッチ操作が入力される情報処理装置であって、前記操作面に入力されるタッチ位置を検出する検出手段と、前記検出手段で検出された1つのタッチ位置の推移が予め定義された所定のシングルタッチ操作に相当する場合に、前記1つのタッチ位置による入力を前記所定のシングルタッチ操作として認識する認識手段とを備え、前記認識手段は、前記検出手段で検出されているタッチ位置の数が、前記検出手段によってタッチ位置が検出されていない状態から新たにタッチ位置が検出された結果として1になり、かつ、検出されている1つのタッチ位置が所定の距離以上推移したという第1の条件が満たされた場合、および、複数のタッチ位置が検出されていた状態からタッチ位置が減少した結果として1になり、かつ、1つのタッチ位置が検出されている状態が所定の時間以上継続したという第2の条件が満たされた場合、前記検出手段で検出されている1つのタッチ位置の推移が前記予め定義された所定のシングルタッチ操作に相当するかを判定し、判定結果に基づいて前記シングルタッチ操作の認識を行い、前記検出手段で検出されているタッチ位置の数が、前記検出手段によってタッチ位置が検出されていない状態から新たにタッチ位置が検出された結果として1になった後、前記第1の条件が満たされない間、および、複数のタッチ位置が検出されていた状態からタッチ位置が減少した結果として1になった後、前記第2の条件が満たされない間には、前記検出手段で検出されている1つのタッチ位置の推移が予め定義された所定のシングルタッチ操作であるかの判定を行わないことを特徴とする。
本発明によれば、シングルタッチ操作とマルチタッチ操作を両方入力可能な装置において、検出するタッチ点の変動による誤動作を低減することができる。
情報処理装置のハードウェア及び機能の構成を示す図 情報処理装置のメインの処理の流れの一例を示すフローチャート 情報処理装置が実行するタッチ点検出処理の流れの一例を示すフローチャート 情報処理装置が実行するタッチ状態特定処理の流れの一例を示すフローチャート 情報処理装置が実行する操作認識処理の流れの一例を示す 情報処理装置の2点以下のタッチ点で操作するタッチ状態遷移図 情報処理装置の3点以下のタッチ点で操作するタッチ状態遷移図 情報処理装置の2点以下のタッチ点で操作する簡易版のタッチ状態遷移図 ユーザが行うタッチ操作の一例を示す図 タッチ操作におけるタッチ点の位置の推移の一例を示す図 タッチ操作におけるタッチ点の位置の推移の一例を示す図 タッチ操作におけるタッチ点の位置の推移の一例を示す図
以下、本実施例を実施するための形態について、図面を参照しながら説明する。なお、以下で説明する実施例は、本実施例を具体的に実施した場合の一例を示すものであり、これに限るものではない。
<実施例1>
ここで、一般的な情報処理装置において、マルチタッチ操作が行われる際に検出されるタッチ点の数の推移を説明する。ユーザがタッチパネルディスプレイ108上の操作面をタッチして行うタッチ操作を認識する際には、タッチパネルから1点ずつ通知されるタッチ点の情報を情報処理装置が順次取得し、タッチ点の点数や位置や移動した軌跡を、タッチ操作の指示として認識する。2点をタッチするマルチタッチ操作の開始時には、まず、操作面で検出されているタッチ点の数は0点から1点、1点から2点と変化し、2点が検出されている状態で操作が行われる。逆に操作後は、操作面で検出されているタッチ点の数は2点から1点、1点から0点とタッチ点が検出されることになる。マルチタッチ操作を行おうとしているユーザにとっては、0点から2点へ推移する途中の、1点がタッチされている状態の間に、装置がシングルタッチ操作として認識した場合、ユーザにとって想定外の動作が実行されることとなる。ここでマルチタッチ操作は、例えば、2点のタッチ点の間隔を一定に保ちつつ平行に動かすマルチドラッグ操作、複数のタッチ点の間の距離を変化させるピンチ操作、複数のタッチ点を回転させるローテート操作等であり、限定されない。
第1の実施例では、N点のタッチ点が検出された場合に、以前のタッチ点から増加してN点が検出されているのか、以前のタッチ点から減少してN点が検出されているのかを特定する。そして、上記特定の結果に基づいてN点のタッチ点によるタッチ操作の指示を認識する。
以下では、マルチタッチ操作が行える基本的な一例として、情報処理装置が、1点あるいは2点のタッチ点による操作の指示を認識する例を説明する。この場合のマルチタッチとは2点をタッチした場合を言う。本実施例では操作に利用されるタッチ点の上限は2点である。すなわち、ユーザが3点以上をタッチした場合であっても、所定の基準(例えば、先に検出された2点、画面中央に近い2点などを選択する等)によって2点が操作対象のタッチ点として検出される。
以下、本実施例では、ユーザがタッチパネルディスプレイ108上で指を動かすタッチ操作によって、表示されている画像に対する操作を行う例を説明する。
図1(a)は、本実施例に係る情報処理装置100のハードウェア構成の一例を示す図である。CPU101は、CPU(Central Processing Unit)であり、各種処理のための演算や論理判断などを行い、システムバス110に接続された各構成要素を制御する。この情報処理装置100には、プログラムメモリとデータメモリを含むメモリが搭載されている。ROM(Read−Only Memory)102は、プログラムメモリであって、後述する各種処理手順を含むCPUによる制御のためのプログラムを格納する。RAM(Random Access Memory)103であり、CPU101の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。外部記憶装置109などからRAM103にプログラムをロードすることで、プログラムメモリを実現しても構わない。HD104は、本実施例に係るデータやプログラムを記憶しておくためのハードディスクである。本実施例では、これらのHD104には、複数の画像データが格納されている。同様の役割を果たし、入出力インタフェース107を介して接続される外部記憶装置109を用いてもよい。ここで、外部記憶装置109は、例えば、メディア(プログラム記憶媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD−ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。また、外部記憶装置109は、ネットワークで接続されたサーバ装置などであってもよい。本実施例において必要な情報は、RAM103やHD104、外部記憶装置109に保持される。入力インタフェース105は、ポインティングデバイスなどの入力装置から出力された信号を取得する。出力インタフェース106は、液晶ディスプレイ、テレビモニタ等の表示部を有する出力装置に対して、後述する各種の処理を実行した結果の出力を制御する信号を出力する。本実施例において、入力装置であるタッチパネルと出力装置であるディスプレイ装置は、情報処理装置100に一体化したタッチパネルディスプレイ108を使用する。ただし、情報処理装置100に接続された外部装置であってもかまわない。本実施例で用いられる入力装置としてのタッチパネルディスプレイ108は、静電容量方式のものを使用する。さらに、本実施例では、通常モードと高感度モードの2つのモードでタッチパネルディスプレイ108を動作させることができる。通常モードでは、ユーザによるタッチを検出する操作面に設けられたタッチセンサを走査し、ユーザによって接触されている点、あるいは接触が離された点を1点ずつ検出する度に順次タッチイベントとして情報処理装置100に通知する。一方、高感度モードでは、タッチセンサの感度が強くなり、タッチパネルディスプレイ108表面に非接触でも、近接する指はタッチ点として検出される。ただし、タッチパネルの方式は静電容量方式に限らず、例えば電磁誘導や光センサなどのデバイスを利用し、ユーザと操作面との接触あるいは近接を検知するものであっても構わない。
図1(b)は、本実施例に係る情報処理装置100の機能構成を示す機能ブロック図である。
まず、本実施例の情報処理装置100は、検出部111、操作情報取得部113、タッチ点数取得部114、特定部115、認識部116、表示制御部117を有する。これらの各機能部は、CPU101がROM102に格納されたプログラムをRAM103に展開し、実行することで実現されている。さらに、本実施例の情報処理装置100が有する保持部112はRAM103の機能部であり、記憶部118はHD104の機能部である。ただし、本発明は、これらの機能部をハードウェアで実現する情報処理装置によっても同様に実現可能である。以下、各要素について説明する。
検出部111は、タッチパネルディスプレイ108から通知されるタッチイベントの情報を受信し、解析することで、ユーザがタッチしているタッチ点を検出する。本実施例において、タッチイベントはユーザがタッチパネルディスプレイ108をタッチしていること、あるいはタッチを離したことを示す。さらに、タッチイベントが発生したタッチパネルディスプレイ108の操作面におけるタッチ点の位置を示す位置情報、そしてタッチイベントが検出された時刻(検出時刻)が含まれる。検出部111は、タッチ点の位置を示す座標情報と、検出時刻とをタッチ点のIDに関連付け、タッチ点毎に保持部112に保持させる。IDを利用することで、同一のタッチ点を識別することができる。本実施例では、タッチ点が検出された順番とIDを対応させる。すなわち、1点目に検出されたタッチ点に1、2点目に検出されたタッチ点に2というIDを割り当てて管理する。
操作情報取得部113は、保持部112に保持されたタッチ点の位置情報に基づいて、同一のIDのタッチ点の移動距離や移動方向、複数のタッチ点の間の距離とその変化量等を示す操作情報を取得する。
タッチ点数取得部114は、検出されているタッチ点の数を取得する。本実施例では、保持部112に保持されたタッチ点のIDの数を参照することで、タッチ点の数を取得することができる。
特定部115は、その時点でのタッチ点の状態を特定する。本実施例では、最新のタッチイベントが検出された時点でのタッチ点の状態が「タッチなし状態」、「マルチタッチ状態」、「シングルタッチ状態」、「2to1移行状態」、「0to1移行状態」のうちのいずれであるかを特定する。そして、特定された状態を示す情報を保持する。
本実施例では、「タッチなし状態」は、タッチ点が検出されていない状態を示す。また、「2to1移行状態」は、2点のタッチ点が減少して1点が検出されている状態であることを示す。「0to1移行状態」は、タッチ点が検出されていない状態から増加して1点のタッチ点が検出されている状態であることを示す。「シングルタッチ状態」は、検出されている1点のタッチ点によるシングルタッチ操作を認識する状態を示す。「2to1移行状態」と「0to1移行状態」では、それぞれ異なる移行条件が満たされた場合に「シングルタッチ状態」に遷移する。このように、本実施例では、検出されているタッチ点が1点である場合には、以前からタッチ点から増加して1点が検出されているのか、減少して1点が検出されているのかを特定する。そして、特定結果に基づいて、シングルタッチ操作を認識する。「マルチタッチ状態」は、2点のタッチ点が検出されている状態であることを示し、マルチタッチ操作を認識する。
認識部116は、特定部115の特定結果と、タッチパネルディスプレイ108から情報処理装置100に入力されたタッチ点の操作情報を、ユーザが行ったタッチ操作の指示として認識する。本実施例では、操作情報取得部113が取得した操作情報が、予め記憶されたタッチ操作の指示を認識するための条件を満たすか否かを判定し、認識条件が満たされた場合に、該当するタッチ操作の指示として認識する。その際、タッチ状態毎に、認識可能な操作が異なる。本実施例では、現在のタッチ状態が「タッチなし状態」、「2to1移行状態」、「0to1移行状態」のいずれかであると特定した場合には、操作コマンドを認識しない。そして、「マルチタッチ状態」であると特定した場合には、取得した操作情報を、予め記憶している複数のマルチタッチ操作それぞれの認識条件と比較し、条件に最も合うマルチタッチ操作の指示として認識する。そして「シングルタッチ状態」にあると特定した場合には、取得した操作情報を、予め記憶しているシングルタッチ操作の認識条件と比較し、条件に最も合うシングルタッチ操作の指示として認識する。
表示制御部117は、タッチパネルディスプレイ108である出力装置に表示させる表示画像を生成し、出力する。タッチパネルディスプレイ108に表示される画像は、例えば、作成日時の順にソートされた複数の画像データのうちの1枚である。ただし、ソート順はこれに限らない。表示制御部117は、認識部116が認識したタッチ操作に応じて、タッチパネルディスプレイ108に表示される画像を制御する。
保持部112は、検出部111、操作情報取得部113、タッチ点数取得部114、特定部115が処理する情報を保持する。
記憶部118は、タッチパネルディスプレイ108に表示させて閲覧することが可能な複数の画像データを記憶している。本実施例では、これらの画像データは作成された日時順に記憶されている。
本実施例では、ユーザのタッチ操作が行われる前には、ディスプレイ108に記憶部118に記憶された複数の画像データのうちの少なくとも1つが表示されている。ユーザがタッチパネルディスプレイ108上で1点のタッチ点を移動させた場合、その時点で表示されている画像が、タッチ点の移動に追従して移動する。そして、左右方向に所定の距離以上動かされたことに応じて、表示されていた画像の前後に記憶されている画像が表示される。これに対し、ユーザが2点のタッチ点の間の距離を変更せずに、同時にタッチパネルディスプレイ108上を左右方向に移動させた場合、その時表示されている画像の10枚前、あるいは10枚後に記憶されている画像が表示される。例えば、ユーザが2本の指でタッチパネル108をタッチし、そのタッチ点を右に移動した場合、表示されていた画像より10枚前に記憶されている画像が表示される。以下、ユーザが2本の指でタッチパネルディスプレイ108に触れ、2点のタッチ点間の距離を変えずに左右に動かして10枚前後の画像を表示させる操作をマルチドラッグ操作、1本の指で表示画像を動かす操作をムーブ操作と記載して区別する。従って、表示制御部117は、認識部116によって、ムーブ操作が認識された場合には、タッチ点の移動に基づき、記憶部118に記憶された複数の画像データのうち、表示されている画像の前または後の画像データを表示させるための表示画像を生成する。また、認識部116によって、マルチドラッグ操作が認識された場合には、2点のタッチ点の移動方向に基づき、記憶部118に記憶された複数の画像データのうち、表示されている画像の10枚前または後の画像データを表示させるための表示画像を生成する。さらに、認識部116によって、ピンチ操作が認識された場合、2点のタッチ点間の距離変化量に応じて、ユーザが操作する前の表示画像を拡大あるいは縮小した表示画像を生成する。その他、認識部116が認識したシングルタッチ操作、マルチタッチ操作に応じた表示制御が実行される。
図2は、情報処理装置100が実行するメイン処理の流れを示すフローチャートである。本実施例、記憶部118に記憶されている画像データの少なくとも1枚がタッチパネルディスプレイ108に表示されたことに応じて、図2のフローチャートの処理が開始されるものとする。
まず、ステップS201では、検出部111が、タッチ点を検出する。検出部111が、タッチパネルディスプレイ108から通知されるタッチイベントを解析し、タッチ点のID、タッチ点の位置座標、タッチ点の検出時刻、タッチ点の移動距離、タッチ点の移動方向を、取得して保持部112に保持する。
ステップS202では、特定部115が、情報処理装置100のタッチ状態を特定する。本実施例では、取得したタッチ点の情報から、その時点でのタッチ状態が「タッチなし状態」、「マルチタッチ状態」、「シングルタッチ状態」、「2to1移行状態」、「0to1移行状態」のうちのいずれであるかを特定する。
ステップS203では、認識部116が、タッチ操作を認識する。認識部116は、ステップS202において特定されたタッチ状態と、ステップS201で検出されたタッチ点の位置や移動量等の操作情報を、タッチ操作の指示として認識する。
ステップS204では、表示制御部117が、認識部116によって認識されたタッチ操作による操作結果を表示するための表示画像を生成し、タッチパネルディスプレイ108に出力する。
次に、ステップS201〜204の各ステップにおいて実行される処理の詳細を、フローチャートを参照しながら説明する。
図3は、ステップS201において実行される、タッチ点検出処理の流れを示すフローチャートである。
まず、ステップS301において、検出部111は、タッチパネルディスプレイ108から通知されたタッチイベントが「TOUCH」であるか否かを判定する。本実施例において用いるタッチパネルディスプレイ108は、タッチされていることを検出したときにはタッチイベントとして「TOUCH」を、検出されていたタッチが離されたときにはタッチイベントとして「RELEASE」を通知する。通知されたタッチイベントが「TOUCH」だと判定された場合(ステップS301でYES)には、ステップS303に進む。通知されたタッチイベントがタッチではない、すなわち「RELEASE」であると判定された場合(ステップS301でNO)には、ステップS302に進む。なお、タッチパネルディスプレイ108は、操作面901上に格子上に張り巡らされたタッチセンサ(不図示)を、端から走査し、タッチされていることを検知したタッチセンサが存在した場合に、タッチイベントを通知する。従って、複数の点がタッチされている場合にも、タッチイベントは1点ずつ通知される。
ステップS302では、検出部111が、保持部112に保持されていた情報のうち、「RELEASE」が検出されたタッチ点に対応するIDに関連付けられていた情報を、IDとともに削除する。
一方、ステップS303では、検出部111が、「TOUCH」が検出されたタッチ点と同じIDのタッチ点が既に検出されているか否かを判定する。検出部111は、保持部112に保持された情報を参照し、対応するIDが含まれているかを判定する。同じIDのタッチ点が既に検出されていると判定された場合(ステップS303でYES)には、処理はステップS306に進み、同じIDのタッチ点が検出されていないと判定された場合(ステップS303でNO)には、ステップS304に進む。
ステップS304において、検出部111は、「TOUCH」が検出されたタッチ点のID、座標、検出時刻の情報を保持部112に保持されている情報に新規追加する。その後、IDの数からタッチ数を算出し、保持する。
ステップS305では、タッチ点数取得部114が、保持部112に保持された情報を参照し、タッチ点のIDの数を、そのとき検出されているタッチ点の数として取得し、保持部112に保持する。このとき、タッチ点の数が前回の処理と異なる場合には、前回までのタッチ点の数を、変化前のタッチ点の数として保持するとともに、タッチ点数が変化した時刻を示す情報を保持する。既に、前回のタッチ点の数に関する情報が保持されている場合には、最新の変化に関する情報に更新する。以下、保持部112に保持される前回のタッチ点の数に関する情報を、タッチ点数の変化履歴と言う。
ステップS306では、検出部111が、保持部112に保持されている情報に、「TOUCH」が検出されたタッチ点と同じIDに、最新の座標と検出時刻の情報を追加して、保持部112に保持されている情報を更新する。これにより、本実施例では、「RELEASE」イベントが検出され、ステップS302においてタッチ情報が削除されるまで、同じIDのタッチ点の座標と検出時刻が蓄積されていく。
また、タッチ点数が2点以上の場合、タッチ点間の距離および距離の変化を取得する。そして、同様に、取得したタッチ点間の距離の情報も、当該タッチ点のIDに関連付けて保持部112に保持する。これにより、本実施例では、「RELEASE」イベントが検出され、ステップS302においてタッチ点に関する情報が削除されるまで、関連付けられたIDのタッチ点が移動する度に、そのタッチ点間の距離および距離の変化を示す情報が蓄積されていく。
ステップS307では、操作情報取得部113が、タッチ点の移動方向と移動距離を取得する。まず、移動方向を取得するため、保持部112に保持されている情報から得られる前回のタッチ点の位置情報を基準とし、今回検出されたタッチ点の位置に向かう移動ベクトルを生成する。そして、この生成された移動ベクトルと、予め定められた基準軸とが成す角度を求め、移動方向とする。この移動方向を移動方向とする。例えば、基準軸を後述する操作例における操作面901のY軸とすると、上方向が0°、下方向が180°、右方向が90°、左方向が270°となる。
次に、移動距離を取得するためには、基準点の位置と今回「TOUCH」が検出されたタッチ点と位置の間の距離を求める。本実施例において、基準点は、最初に当該タッチ点が初めてタッチされた点として定めた後、タッチ点数が変わった時、ムーブが認識された時、マルチドラッグが認識された時に、前回更新されたタッチ点の位置に変更する。操作情報取得部113は、このように「TOUCH」が検出されたタッチ点について取得した移動方向と移動距離の情報を、当該タッチ点のIDに関連付けて保持部112に保持する。これにより、本実施例では、「RELEASE」イベントが検出され、ステップS302においてタッチ点に関する情報が削除されるまで、同じIDのタッチ点が移動する度に、その移動方向と移動距離を示す情報が蓄積されていく。
次に、図4は、ステップS202において実行される、情報処置装置100のタッチ状態の特定処理の流れを示すフローチャートである。
まず、ステップS401では、タッチ点数取得部113が、タッチパネルディスプレイ108において検出されているタッチ点数が、0点であるか否かを判定する。本実施例では、タッチ点数取得部113が、上述したステップS305において保持部112に保持されたタッチ点数の情報を参照し、0であるか否かを判定する。タッチ点数が0点だと判定された場合(ステップS401でYES)には、ステップS402に進む。タッチ点数が0点ではないと判定された場合(ステップS401でNO)には、ステップS403に進む。
ステップS402では、特定部115が、情報処理装置100のタッチ状態は「タッチなし状態」であると特定し、「タッチなし状態」を示す情報を保持する。
ステップS403では、タッチ点数取得部113が、記憶されているタッチ点数を参照し、タッチパネルで検出されているタッチ点数が、2点であるか否かを判定する。本実施例では、タッチ点数取得部113が、上述したステップS305において保持部112に保持されたタッチ点数の情報を参照し、2であるか否かを判定する。タッチ点数が2点だと判定された場合(ステップS403でYES)には、ステップS404に進む。タッチ点数が2点ではないと判定された場合(ステップS403でNO)には、ステップS405に進む。
ステップS404では、特定部115が、情報処理装置100のタッチ状態は「マルチタッチ状態」であると特定し、「マルチタッチ状態」を示す情報を保持する。
ステップS405では、タッチ点数取得部113が、タッチパネルディスプレイ108において検出されているタッチ点数が、1点であるか否かを判定する。タッチ点数取得部113は、上述したステップS305において保持部112に保持されたタッチ点数の情報を参照し、1であるか否かを判定する。タッチ点数が1点だと判定された場合(ステップS405でYES)には、ステップS406に進む。タッチ点数が1点ではない場合(ステップS405でNO)には、終了に進む。
ステップS406では、特定部115が、タッチパネルディスプレイ108上で検出されているタッチ点が以前の状態から増加して、0点から1点に変化したか否かを判定する。本実施例では、タッチ点数取得部113が、上述したステップS305において保持部112に保持された、タッチ点数の変化履歴を参照し、タッチ点数が1点になる前が0点であったか否かを判定する。タッチ点数が以前の0点から1点に変化したと判定された場合(ステップS406でYES)には、ステップS407に進む。タッチ点数が以前の0点から1点に変化していないと判定された場合(ステップS406でNO)には、ステップS410に進む。
ステップS407では、特定部115が、情報処理装置100のタッチ状態は「0to1移行状態」であると特定し、「0to1移行状態」を示す情報を保持する。
そして、ステップS408では、特定部115が、検出されているタッチ点の状態が「移行条件1」を満たすか否かを判定する。特定部115は、保持部112に保持されているタッチ点の検出時刻と、座標を参照し、それらが「移行条件1」を満たすか否かを判定する。「移行条件1」とは、「0to1移行状態」にある情報処理装置100が、検出されている1点のタッチ点によるシングルタッチ操作を認識すべきか否かを判定するための条件である。タッチ点の状態が「移行条件1」を満たす場合、本実施例では、ユーザが1点のタッチ点での操作を行おうとしているとみなす。
ここで、「移行条件1」である3つの条件を説明する。
1つ目は、タッチ点数が0点から1点に変わった時からの経過時間の長さが、閾値A以上であるという条件である。なお、閾値Aは、時間の長さの閾値である。従って、特定部115は、ステップS305で保持した、タッチ点数が変化した時刻の情報を参照し、今回ステップS301でタッチイベント「TOUCH」が検出された検出時刻までの経過時間を求める。そして、求めた経過時間が予め定められた閾値A以上か否かを判定し、閾値A以上の場合に、移行条件1を満たすと判定する。例えば、閾値Aは0.3秒である。
2つ目は、タッチ点数が0点から1点に変わった時からのタッチ点の移動距離が、閾値B以上であるという条件である。なお、閾値Bは、距離の大きさの閾値である。従って、特定部115は、ステップS305で保持された、タッチ点の数が変化した時点でのタッチ点の位置から、同じIDのタッチ点の最新の検出位置までの移動距離を参照する。そして、所定の閾値B閾値以上か否かを判定し、閾値B以上の場合に、移行条件1を満たすと判定する。例えば、閾値Bは20ドットである。
3つ目は、タッチ点数が0点から1点に変わった後、シングルタッチ操作が認識された回数が閾値C以上であるという条件である。なお、閾値Cは、回数の多さの閾値である。本実施例では、ステップS409において、シングルタッチ状態が検出される度にその回数をカウントする。従って、特定部115は、検出されているタッチ点が0点から1点に変化した時刻以降、シングルタッチ操作が認識された回数が、所定の閾値C以上か否かを判定し、閾値C以上の場合に、移行条件1を満たすと判定する。例えば、閾値Cは2回である。
ステップS408では、上述した3つの条件のいずれか1つを満たす場合に、「移行条件1」が満たされたと判定する。ただし、どれか1つの条件が満たされるか否かを判定してもよいし、一部の条件を組み合せて判定してもよい。ただし、3つ目のシングルタッチの操作が認識された回数に関する条件だけを使用する場合には、ステップS407で「シングルタッチ状態」であると特定し、具体的な操作を認識してその回数をカウントする。そして、移行条件1が満たされなかった場合(ステップS408でNO)に、「0to1移行状態」と特定する。このようにすることで、シングルタッチ操作が認識された回数が閾値C以上にならないという問題が発生しない。この場合、ステップS504では、ステップS407で認識したシングルタッチ操作の結果を用いる。タッチ点の状態が、移行条件1を満たすと判定された場合(ステップS408でYES)には、ステップS409に進む。一方、移行条件1を満たさない場合(ステップS408でNO)には、処理を終了する。
そして、ステップS409では、特定部115が、情報処理装置100のタッチ状態は「シングルタッチ状態」であると特定し、「シングルタッチ状態」を示す情報を保持する。それとともに、タッチ点数取得部114がタッチ点数の変化履歴を削除する。
次に、ステップS410では、特定部115は、タッチパネルディスプレイ108上で検出されているタッチ点が以前の状態から減少して、2点から1点に変化したか否かを判定する。タッチ点数取得部113は、上述したステップS305において保持部112に保持された、タッチ点数の変化履歴を参照し、タッチ点数が1点になる前が2点であったか否かを判定する。タッチ点数が以前の2点から1点に変わったと判定された場合(ステップS410でYES)には、ステップS411に進む。タッチ点数が以前の2点から1点に変わってないと判定された場合、(ステップS410でNO)には、今回のタッチ状態特定処理では、タッチ状態の特定を行わずに終了に進む。例えば、前回のタッチ状態特定処理で「シングルタッチ状態」であると特定され、シングルタッチ操作が継続されているような場合が該当する。
ステップS411では、特定部115が、情報処理装置100のタッチ状態は「2to1移行状態」であると特定し、「2to1移行状態」を示す情報を保持する。
そして、ステップS412においては、特定部115が、検出されているタッチ点の状態に応じて、「移行条件2」の内容を調整する。「移行条件2」とは、「2to1移行状態」にある情報処理装置100が、検出されている1点のタッチ点によるシングルタッチ操作を認識すべきか否かを判定するための条件である。タッチ点の状態が「移行条件2」を満たす場合、ユーザが1点のタッチ点での操作を行おうとしているとみなす。
ここで、「移行条件2」である4つの条件を説明する。
1つ目は、タッチ点数が2点から1点に変わった時からの経過時間が、閾値D以上であるという条件である。なお、閾値Dは、時間の長さの閾値である。従って、特定部115は、ステップS305で保持した、タッチ点数が変化した時刻の情報を参照し、今回ステップS301でタッチイベント「TOUCH」が検出された検出時刻までの経過時間を求める。そして、求めた経過時間が予め定められた閾値D以上か否かを判定し、閾値D以上の場合に、移行条件2を満たすと判定する。ステップS412の調整を行う前の状態では、閾値Dは1秒である。
2つ目は、タッチ点数が2点から1点に変わった時からのタッチ点の移動距離が、閾値E以上であるという条件である。なお、閾値Eは、距離の大きさの閾値である。従って、特定部115は、ステップS305で保持された、タッチ点の数が変化した時点でのタッチ点の位置から、同じIDのタッチ点の最新の検出位置までの移動距離を参照する。そして、所定の閾値E閾値以上か否かを判定し、閾値E以上の場合に、移行条件2を満たすと判定する。ステップS411の調整を行う前の状態では、本実施例における閾値Eは40ドットである。
3つ目は、タッチ点数が2点から1点に変わった後、シングルタッチ操作が認識された回数が閾値F以上であるという条件である。なお、閾値Fは、回数の多さの閾値である。ステップS409において、シングルタッチ状態が検出される度にその回数をカウントする。従って、特定部115は、検出されているタッチ点が2点から1点に変化した時刻以降、シングルタッチ操作が認識された回数が、所定の閾値F以上か否かを判定し、閾値F以上の場合に、移行条件2を満たすと判定する。ステップS412の調整を行う前の状態では、閾値Fは5回である。
4つ目は、タッチ点数が2点から1点に変化した前後での、タッチ点の移動方向を示す角度が閾値G以上異なるという条件である。なお、閾値Gは、角度の大きさの閾値である。特定部115は、保持部112に保持されているタッチ点が変化した時刻の前後における、タッチ点の移動方向を参照し、比較する。そして、比較した結果、絶対値で計算した角度差が移動方向を示す角度が閾値G以上ことなる場合に、移行条件2を満たすと判定する。例えば、閾値Gは45°である。なお、絶対値での計算に限定せず、閾値Gを±45°として計算してもよい。
ここで、「移行条件1」において用いる閾値A、B、Cと、「移行条件2」において用いる閾値D、E、Fとでは、「移行条件2」の閾値D、E、Fの方が大きい。ユーザがタッチ操作を始めようとしてタッチ点を増加させる時と、ユーザがマルチタッチ操作を終えてタッチ点を減少させる時とでは、一般的に、後者の方がよりユーザがタッチパネルディスプレイ108に触れているタッチ点の数を意識しない傾向がある。従って、検出されるタッチ点を減少した際には、ユーザの意図と異なる数のタッチ点が検出される可能性が高いため、誤動作が発生し易くなる場合がある。従って、タッチ点が減少した場合には、操作を認識するための条件を厳しくすることにより、より精度よく誤動作を低減することができる。一方で、ユーザが操作を行うためにタッチ点を増加させた可能性が高い場合には、比較的緩い条件によって、操作を認識するか否かを判定することにより、速やかにタッチ操作へ応答することができる。従って、誤動作を改善しつつ、操作に対する応答性を維持し、ユーザの操作性の低下を防ぐことができる。
ステップS412では、操作性を維持しつつ、誤動作を低減する効果を高めるために、移行条件2の3つの閾値D、E、Fを調整する。ここで、本実施例における調整方法を2つ説明する。
1つ目は、タッチ点数が変化する直前の、タッチ点の移動速度に基づいて、上記の3つ閾値を調整する方法である。まず、タッチ点の移動速度が大きい場合について説明する。マルチタッチ操作が終了し、徐々にタッチ点が減少していく状態(以下状態A)において、ユーザが「同じ距離」タッチ点を動かすのであれば、タッチ点が移動する「時間は短く」なる。同様に状態Aにおいて、ユーザが「同じ時間」タッチ点を動かすのであれば、「移動距離は大きく」なる。同様に状態Aにおいて、ユーザが「同じ時間」タッチ点を動かすのであれば、移動距離が大きくなる。従って、一定周期で検出しているタッチ点の移動距離が、距離の閾値を超えてシングルタッチ状態であると特定される「回数は大きく」なる。従って、時間の長さの閾値Dを1秒から0.5秒、距離の大きさの閾値Eを50ドットから100ドット、シングルタッチ操作が認識された回数の閾値Fを5回から10回に変更するという調整を行う。
次に、タッチ点の移動速度が小さい場合について説明する。状態Aにおいて、ユーザが「同じ距離」タッチ点を動かすのであれば、タッチ点が移動する「時間は長く」なる。同様に状態Aにおいて、ユーザが「同じ時間」タッチ点を動かすのであれば、「移動距離は小さく」なる。同様に状態Aにおいて、ユーザが「同じ時間」タッチ点を動かすのであれば、移動距離が小さくなる。従って、一定周期で検出しているタッチ点の移動距離が、距離の閾値を超えてシングルタッチ状態であると特定される「回数は小さく」なる。従って、閾値Dを1秒から2秒、閾値Eを50ドットから30ドット、閾値Fを5回から3回に変更するという調整を行う。
ユーザの操作が「同じ距離」か「同じ時間」かは、ユーザ毎の癖によるものであり一意に限定できず、ユーザ毎に適切な調整方法を実施することが好ましい。
2つ目は、タッチ点数が変化する前に認識されていたタッチ操作に基づいて、上記の3つ閾値を調整する方法である。まず、複数のタッチ点の移動方向が同じであるため、操作の勢いが強いマルチドラッグが、タッチ点数が変化する前に認識されている場合について説明する。状態Aにおいて、操作の勢いが強い場合は、タッチ点が移動する時間が短くなり、一方タッチ点が移動する距離が大きくなり、操作が認識される回数も大きくなる傾向がある。従って、時間の長さの閾値Dを1秒から0.7秒、距離の大きさの閾値Eを50ドットから70ドット、操作が認識される回数の閾値Fを5回から7回に変更するという調整を行う。
次に、複数のタッチ点の移動方向が異なり、操作の勢いが比較的弱いピンチやローテートが、タッチ点数が変化する前に認識されている場合について説明する。状態Aにおいて、操作の勢いが小さい場合は、タッチ点が移動する時間が大きくなり、一方タッチ点が移動する距離が小さくなり、操作が認識される回数も小さくなる傾向がある。従って、閾値Dを1秒から1.5秒、閾値Eを50ドットから40ドット、閾値Fを5回から4回に変更するという調整を行う。
上記操作の傾向は、ユーザ毎の癖によるものであり一意に限定できず、ユーザ毎に適切な調整方法を実施することが好ましい。
なお、上述した閾値の調整処理(ステップS412)は、省略されてもよい。省略せずに処理を行う場合には、調整後の閾値も、移行条件1で用いる閾値A、B、Cよりも大きくする。つまり、調整後の移行条件2は、移行条件1よりも厳しくなるように定める。上記いずれかの方法で移行条件2の閾値を定め、ステップS413に進む。
ステップS413では、特定部115が、検出されているタッチ点の状態が、上述した「移行条件2」を満たすか否かを判定する。特定部115は、保持部112に保持されているタッチ点の検出時刻と、座標を参照し、それらが「移行条件2」を満たすか否かを判定する。「移行条件2」とは、情報処理装置100が、検出されている1点のタッチ点によるシングルタッチ操作を認識すべきか否かを判定するための条件である。
本実施例のステップS412では、上述した4つの条件のいずれか1つを満たす場合に、「移行条件2」が満たされたと判定する。ただし、どれか1つの条件が満たされるか否かを判定してもよいし、一部の条件を組み合せて判定してもよい。ただし、3つ目のシングルタッチの操作が認識された回数に関する条件だけを使用する場合には、ステップS411で「シングルタッチ状態」であると特定し、具体的な操作を認識してその回数をカウントする。そして、移行条件2が満たされなかった場合(ステップS413でNO)に、「2to1移行状態」と特定する。このようにすることで、シングルタッチ操作が認識された回数が閾値F以上にならないという問題が発生しない。この場合、ステップS504では、ステップS411で認識したシングルタッチ操作の結果を用いる。タッチ点の状態が、移行条件2を満たすと判定された場合(ステップS413でYES)には、ステップS409に進む。一方、移行条件2を満たさないと判定された場合(ステップS413でNO)には、タッチ状態判定処理を終了する。
次に、図5は、ステップS203において実行される、タッチ操作の認識処理の流れを示すフローチャートである。本実施例では、ステップS202におけるタッチ状態特定処理の特定結果に基づいて、シングルタッチ操作あるいはマルチタッチ操作が認識される。
まず、ステップS501では、認識部116が、保持された情報を参照し、タッチ状態特定処理で特定された状態が「マルチタッチ状態」であるか否かを判定する。「マルチタッチ状態」であると判定された場合(ステップS501でYES)には、ステップS502に進む。「マルチタッチ状態」ではないと判定された場合(ステップS501でNO)には、ステップS503に進む。
ステップS502では、認識部116が、マルチタッチ操作を認識する。具体的には、認識部116は、ステップS307で取得された操作情報を、予め記憶されたマルチタッチ操作の認識条件と比較し、条件に合うマルチタッチ操作の指示として認識する。例えば、2点のタッチ点の間の距離が略一定に保たれたまま、同じ移動方向に移動されている場合には、マルチドラッグ操作を認識する。また、2点のタッチ点の間の距離が、前回検出時よりも拡大するように、あるいは縮小するように移動されていた場合には、ピンチ操作を認識する。認識部116がマルチタッチ操作を認識したら、処理は終了する。
ステップS503では、認識部116が、保持された情報を参照し、タッチ状態特定処理で特定された状態が「シングルタッチ状態」であるか否かを判定する。「シングルタッチ状態」であると判定された場合(ステップS503でYES)には、ステップS504に進む。「シングルタッチ状態」ではないと判定された場合(ステップS503でNO)には、処理は終了する。本実施例では、「タッチなし状態」、「0to1移行状態」、「2to1移行状態」にある情報処理装置100では、タッチ操作を認識しないため、ステップS503においてNOの判定がなされる。
ステップS504では、認識部116が、シングルタッチ操作を認識する。本実施例では、「シングルタッチ状態」においてはムーブの操作を認識する。認識部116は、ステップS307で取得された操作情報を、ムーブ操作の認識条件と比較する。ムーブ操作の認識条件は、タッチ点数が1点で、任意の閾値以上の距離をタッチ点が移動することである。操作情報が認識条件に合う場合、操作情報がムーブ操作の指示として認識され処理は終了する。
以上が情報処理装置100が実行する処理の流れである。このように本実施例では、検出されているタッチ点数が1点の場合、タッチ点数が移行する途中である可能性が高い「移行状態」にあるとみなし、所定の条件を満たすか否かに応じて、シングルタッチ操作を認識するべきか否かを決定する。従って、ユーザがタッチ操作を開始するとき、あるいは終了するときに、ユーザが意図していないシングルタッチ操作が実行される誤動作を低減できる。それとともに、シングルタッチによる操作を行いたいユーザの操作性を維持することができる。
図6は、ユーザが0から2点でタッチ操作を行う場合の、タッチ状態の状態遷移を示す状態遷移図である。
まず、ユーザが操作してない場合、情報処理装置100のタッチ状態は「タッチなし状態」である。この状態において、1点のタッチ点が検出されると「0to1移行状態」に移行する。また、「0to1移行状態」において、1点のタッチ点がリリースされると、「タッチなし状態」に移行する。「0to1移行状態」において、移行条件1が満たされると、シングルタッチ状態に移行する。「0to1移行状態」において、さらに1点のタッチ点が検出されると「マルチタッチ状態」に移行する。次に、「マルチタッチ状態」において、1点のタッチ点がリリースされると「2to1移行状態」に移行する。次に、「2to1移行状態」において、1点のタッチ点がリリースされると「タッチなし状態」に移行する。また、「2to1移行状態」において、移行条件2が満たされると、「シングルタッチ状態」に移行する。「2to1移行状態」において、さらに1点のタッチ点が検出されるとマルチタッチ状態に移行する。
本実施例では、マルチタッチ操作は2点のタッチ点によって構成される操作を挙げて説明したが、3点以上のタッチ点が用いられる場合にも適応可能である。例えば、図7は、ユーザが0から3点でタッチ操作を行う場合の、タッチ点の状態遷移を示す。ここでは、図6との差異を説明する。「マルチタッチ3状態」では、3点のタッチ点で構成されるマルチタッチ操作が可能であり、2点のタッチ点で構成されるマルチタッチ操作が可能な「マルチタッチ2状態」と区別される。さらに、「1to2移行状態」と「3to2移行状態」という2つの移行状態が追加される。「1to2移行状態」では、移行条件3が満たされた場合にのみ、「マルチタッチ2状態」に遷移する。一方、「3to2移行状態」では、移行条件4が満たされた場合にのみ、「マルチタッチ2状態」に遷移し、2点のタッチ点によるマルチタッチ操作が認識される。移行条件が満たされない場合には、タッチ点数が移行する途中である可能性が高いため、操作は認識されない。このとき、タッチ点が増加して2点になった「1to2移行状態」における移行条件3と、タッチ点が減少して2点になった「3to2移行状態」における移行条件4では、移行条件4の方が厳しい。これは、タッチ点が減少したときは、より多くのタッチ点数によって構成されるマルチタッチ操作が終了してタッチが離される途中であり、操作が意図されていない可能性が高いためである。同様にして、本実施例は、0からN点までのタッチ操作が行われる情報処理装置100に適応させることもできる。
また、図8には、実施例1の変形例として、ユーザが0から2点でタッチ操作を行う場合の、タッチ状態の状態遷移を示す。変形例では、1点のタッチのみが検出されている「2to1移行状態」から、移行条件を満たすことによって「シングルタッチ状態」へ移行する遷移を設けない。そして、0点から1点になった場合は、「シングルタッチ状態」に移行し、シングルタッチ操作を認識する。上述したように、ユーザがタッチ操作を始めようとしてタッチ点を増加させる時と、ユーザがマルチタッチ操作を終えてタッチ点を減少させる時とでは、一般的に、後者の方がよりユーザがタッチパネルディスプレイ108に触れていることを意識しない傾向がある。従って、タッチ点が減少して1点になったときは、マルチタッチ操作が終了してタッチが離される途中であり、シングルタッチ操作が意図されていない可能性が高い。そのため実施例1の変形例では、タッチ点が2点から1点に減少した場合には、操作を認識せず、0点から1点に増加した場合には、シングルタッチ操作を認識する。このような構成によっても、ユーザが意図していないシングルタッチ操作が実行される誤動作を低減するという効果を奏する。
(操作例)
以下、図面を参照して実施例1の情報処理装置100にタッチ操作を入力する具体的な操作例を説明する。
図9は、実施例1に係る情報処理装置100の操作の一例であり、情報処理装置100の操作面901に対し、ユーザが操作を入力している様子を示す。操作面901はディスプレイ上にタッチパネルが併設されたタッチパネルディスプレイ108で構成され、ユーザによるタッチをタッチパネルで検知可能な領域である。本実施例では、操作面901全体を、向かって左下を原点とした座標平面、横方向をX軸、縦方向をY軸として、ユーザにタッチされたタッチ点の位置を示す座標情報を検出する。ここでは、2本の指902、903を操作面901に接触させ、矢印904に示す方向に移動することでマルチドラック操作を行う様子を図示している。また、1本の指902のみを操作面901に接触させ、横方向に移動することでムーブ操作についても、後述する。
(操作例1)
図10(a)は、ユーザが1本の指をタッチして横に動かすムーブ操作を行った場合に、情報処理装置100が取得するタッチ点の位置の推移の一例である操作例1を示す図である。タッチ点A1〜A5は、操作面901においてユーザの指がタッチしたタッチ点が移動した位置の推移を示す。最初にユーザの指902が操作面901にタッチした位置を、タッチ点A1とする。次に、ユーザが指902を横に移動する。移動後にタッチしている位置がタッチ点A2に対応する。さらに、同様に指を横に移動し、タッチしている位置がタッチ点A3、A4となる。最後に、タッチ点A5に対応する位置で、ユーザが指902をタッチパネルから離す。
以下、この一連の操作に従って、本実施例の情報処理装置100の動作を説明する。なお、操作例1では、タッチパネルディスプレイ108は、20ミリ秒毎に操作面901上のタッチセンサを走査し、検出されたタッチイベントを1点ずつ順次検出部111に通知する。
まず、ユーザが最初に操作面901にタッチした状態で、タッチパネルディスプレイ108からタッチ点A1のタッチイベント「TOUCH」が通知される。情報処理装置100では、ステップS201のタッチ点検出処理において、検出部111によりタッチ点A1が新たにタッチされたことが検出される(ステップS301)。そして、IDが1、位置座標が(10,100)、検出時刻が0ミリ秒という情報が、保持部112に保持される(ステップS304)。さらに、タッチ点数取得部114が、検出されているIDの数からタッチ点数が1点であると取得し(ステップS305)、初めて検出されたタッチ点のため移動距離は0ドットと保持する(ステップS307)。
次にステップS202のタッチ状態特定処理では、特定部115が保持されている情報を参照し、タッチ状態を特定する。この時点では、タッチ点数が1点で、タッチ点数が0点から1点に変化している(ステップS406でYES)。さらに、移行条件1を満たしていないので(ステップS408でNO)、タッチ状態は「0to1移行状態」と特定される(ステップS407)。
ステップS203のタッチ操作認識処理では、認識部116が、保持部112に保持されている情報を参照し、タッチ操作を認識する。この時点では、タッチ状態は「0to1移行状態」であるため、特定処理を行わず処理を終了する(ステップS501、ステップS503でNO)。
ステップS204では、表示制御部117が、タッチ操作による操作結果を表示する。この時点では、認識されたタッチ操作がないため、表示を変更しない。
同様に、まずタッチパネルからタッチ点A2のタッチイベント「TOUCH」が通知される。情報処理装置100では、検出部111によりタッチ点A2が検出される(ステップS301)。そして、IDが1、位置座標が(20,100)、検出時刻が20ミリ秒、タッチ点数が1という情報を、保持部112に保持する(ステップS306)。さらに、移動距離を20−10=10ドットと求め、保持する(ステップS307)。この時点では、タッチ点数が1点で、タッチ点数が0点から1点変化した履歴には変更はない(ステップS406でYES)。また、タッチ点数が変化してからの経過時間は20ms、タッチ点の移動距離は10ドット、シングルタッチの検出回数は0回で、移行条件1を満たさない。よって、タッチ状態は「0to1移行状態」のままである(ステップS408でNO)。従って、タッチ操作の認識を行わず処理を終了する(ステップS501、ステップS503でNO)。認識されたタッチ操作がないため、表示を変更しない(ステップS204)。
次に、タッチパネルからタッチ点A3のタッチイベント「TOUCH」が通知され、検出部111によりタッチ点A3が検出される(ステップS301)。そして、IDが1、位置座標が(30,100)、検出時刻が40ミリ秒、タッチ点数が1という情報を取得し、保持部112に保持させる(ステップS306)。さらに、タッチ点の移動距離を30−10=20ドットと求め、保持する(ステップS307)。この時点では、タッチ点数が1点で、タッチ点数が0点から1点変化した状態であることに変更はない(ステップS406でYES)ため、まず特定部115は、タッチ状態は「0to1移行状態」であると特定する(ステップS407)。一方、移動距離は20ドットとなることによって、移行条件1が満たされる(ステップS408でYES)。よって、特定部115によって、タッチ状態は「シングルタッチ状態」に移行したと特定され、タッチ点数の変化履歴が削除される(ステップS409)。次に、認識部116は、タッチ状態が「シングルタッチ状態」であるため、シングルタッチ操作の認識処理を実行する。操作例1での、ムーブ操作の認識条件は10ドット以上の移動とする。X軸方向に20ドット移動しているため、ムーブと認識する(ステップS504)。ディスプレイに画像全体が表示されている状態で、右方向にムーブ操作が入力されているので、表示制御部117によって、表示されている画像がスクロールされ、前の画像が表示されるような表示画像が出力される(ステップS204)。
次に、タッチパネルからタッチ点A4のタッチイベント「TOUCH」が通知され、検出部111によりタッチ点A4が検出される(ステップS301)。そして、IDが1、位置座標が(40,100)、検出時刻が60ミリ秒、タッチ点数が1という情報を取得し、保持部112に保持させる(ステップS306)。さらに、タッチ点の移動距離を40−30=10ドットと求め、保持する(ステップS307)。このとき、ムーブ操作が認識された時点で、移動距離を求める基準点がA1からA3に変更される。タッチ状態特定部が保持されている情報を参照し、タッチ状態を特定する。この時点では、タッチ点数が1点で、タッチ点数の履歴がないので(ステップS406、ステップS410でNO)、タッチ状態はシングルタッチ状態のままである(ステップS503でYES)。従って、認識部116が、シングルタッチ操作の認識処理を実行する。X軸方向に10ドット移動しているため、ムーブと認識する。ムーブを通知する(ステップS504)。タッチ点A4と同様に、タッチ操作がムーブと認識され、ディスプレイに画像全体が表示されている状態のため、表示制御部117によって、表示されている画像がスクロールされ、前の画像が表示されるような表示画像が出力される(ステップS204)。
次に、タッチパネルからタッチ点A5のタッチイベント「RELEASE」が通知され、検出部111により保持部112に保持されていたうちIDが1のタッチ点の情報を削除する(ステップS302)。特定部115は、保持されている情報を参照し、タッチ状態を特定する。この時点では、タッチ点数が0点となるので、タッチ状態は「タッチなし状態」であると特定される(ステップS402)。さらに、「タッチなし状態」であるため、認識部116はタッチ操作を認識せず、処理を終了する(ステップS503でNO)。また、認識されたタッチ操作がないため、表示を変更しない(ステップS204)。
以上が、ユーザがシングルタッチによるムーブ操作を行う場合の具体例を示す操作例1である。このように本実施例では、タッチ点数が以前の0点から増加して1点になった場合、「移行条件1」を満たすことで、シングルタッチ操作が認識される。従って、シングルタッチによる操作を行いたいユーザの操作性を欠くことなく、誤動作を低減することができる。
(操作例2)
次に、図10(b)は、ユーザが2本の指をタッチして横に動かすマルチドラッグ操作を行う操作例2において、情報処理装置100が取得するタッチ点の位置の推移の一例を示す図である。タッチ点A1〜A7、B1〜B3は、操作面901においてユーザの指がタッチした位置の座標を示し、操作例1と同様、横方向をX軸、縦方向をY軸とする。最初にユーザの指902が操作面901にタッチした位置が、タッチ点A1とする。次に、ユーザが指902を横に移動し、タッチ点がA2〜A6まで移動する。最後に、ユーザが指902をタッチパネルから離した位置が、タッチ点A7となる。さらに、ユーザのもう一方の指903が操作面901にタッチした位置が、タッチ点B1とする。同様に、ユーザが指903を横に移動し、タッチ点がB2に移動し、タッチ点B3の位置で指903をタッチパネルから離す。
以下、この一連の操作に従って、情報処理装置100の動作を説明する。
まず、タッチパネルからタッチ点A1のタッチイベント「TOUCH」が通知され、検出部111によって、タッチ点A1が新たにタッチされたことが検出される。そして、IDが1、位置座標が(10,150)、検出時刻が0ミリ秒という情報が保持される(ステップS304)。さらに、タッチ点数取得部114が、IDの数からタッチ点数1を取得し、タッチ点数が0点から1点に変更した変化履歴を保持する(ステップS305)。また、初めて検出されたタッチ点のため、操作情報取得部113は、移動距離は0ドットと保持する(ステップS307)。この時、タッチ点数が1点で、タッチ点数が0点から1点変化し、移行条件1を満たしていないので、特定部115は、タッチ状態は「0to1移行状態」であると特定する(ステップS408でNO)。また、認識部116は、タッチ状態が「0to1移行状態」であるため、特定処理を行わず処理を終了する(ステップS503でNO)。この時点では、認識されたタッチ操作がないため、表示を変更しない(ステップS204)。
次に、タッチパネルからタッチ点A2のタッチイベント「TOUCH」が通知され、検出部111によって、タッチ点A2が検出される。そして、タッチ点A2について、IDが1、位置座標が(20,150)、検出時刻が20ミリ秒、タッチ点数が1という情報が保持される(ステップS306)。さらに、移動距離を20−10=10ドットと、タッチ点の移動方向を求める。例えば、Y軸を基準とし、時計回りに移動方向を求めると、移動方向は90°となる(ステップS307)。この時点では、タッチ点数が1点で、タッチ点数が0点から1点変化した履歴が保持されており、移動距離は10ドットであり、移行条件1を満たさない(ステップS408でNO)。よって、タッチ状態は「0to1移行状態」のままである(ステップS407)。認識部116は、特定されたタッチ状態が「0to1移行状態」であるため、タッチ操作を認識しない(ステップS501、ステップS503でNO)。さらに、認識されたタッチ操作がないため、表示画像は変更されない(ステップS204)。
次に、タッチパネルからタッチ点B1のタッチイベント「TOUCH」が通知され、検出部111によって、新たにタッチ点B1が検出される。そして、IDが2、位置座標が(20,50)、検出時刻が25ミリ秒という情報を取得し、保持する。さらに、タッチ点数取得部114は、IDの数からタッチ点数2を取得し、タッチ点数が1点から2点に変更した履歴を保持する(ステップS305)。また、初めて検出されたタッチ点のため、移動距離は0ドットと移動方向はなし、タッチ点A2との2点間の距離は100ドットであるという操作情報が取得される(ステップS307)。この時点では、タッチ点数が2点のため、特定部115は、情報処理装置100のタッチ状態は「マルチタッチ状態」であると特定する(ステップS404)。認識部116は、タッチ状態が「マルチタッチ状態」であるため、マルチタッチ操作の認識を行う(ステップS502)。本実施例では、マルチタッチ操作としてマルチドラッグ操作の認識条件、およびピンチ操作の認識条件と、ステップS307で取得された操作情報を比較する。タッチ点B1が検出された時点では、いずれの認識条件も満たされないため、マルチタッチ操作の認識結果はない。認識されたタッチ操作がないため、表示内容も変更されない(ステップS204)。なお、操作例2においては、マルチドラッグ操作の認識条件として、2点のタッチ点間の距離が略一定に保たれたまま同一の方向に10ドット以上移動されたか否かを判定する。また、ピンチ操作の認識条件として、2点のタッチ点間の距離が前回から±10ドット以上変化したか否かを判定する。
次に、タッチパネルからタッチ点A3のタッチイベント「TOUCH」が通知され、検出部111によって、タッチ点A3が検出される。そして、IDが1、位置座標が(30,150)、検出時刻が40ミリ秒、タッチ点数が2という情報が保持される(ステップS306)。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、2点のままである。さらに、移動距離は30−20=10ドット、移動方向90°を求め、さらにタッチ点A3とタッチ点B1との距離は、101ドットを求め、保持する(ステップS307)。この時、タッチ点数が2点のため(ステップS403でYES)、タッチ状態はマルチタッチ状態のままである(ステップS404)。認識部116は、タッチ状態が「マルチタッチ状態」のため、マルチタッチ操作の認識処理を実行する。ここで、2点のタッチ点の移動方向が異なるため、マルチドラッグ操作ではない。また、2点のタッチ点の距離の変化量(絶対値)は101−100=1ドットなので、ピンチ操作でもない。よって、マルチタッチ操作は認識されない。認識されたタッチ操作がないため、表示内容も変更されない(ステップS204)。
次に、タッチパネルからタッチ点B2のタッチイベント「TOUCH」が通知され、検出部111によって、タッチ点B2が検出される。そして、IDが2、位置座標が(30,50)、検出時刻が45ミリ秒という情報を取得し、保持部に保持される(ステップS306)。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、2点のままである。さらに、移動距離を30−20=10ドット、移動方向90°、タッチ点A3とタッチ点B2の2点間の距離は100ドットを取得し、それぞれを保持する。特定部115は、タッチ点数が2点のため、タッチ状態は「マルチタッチ状態」であると特定する(ステップS404)。認識部116は、「マルチタッチ状態」であるため、マルチタッチ操作の認識処理を実行する。このとき、IDが1のタッチ点(A3)と、IDが2のタッチ点(B2)で取得された移動方向が、ともに90°であり、同じ方向となる。さらに、タッチ点B2で取得された移動距離は10ドットと、マルチドラッグ操作の認識条件を満たすため、認識部116は、マルチドラッグ操作を認識する。表示制御部117は、マルチドラッグ操作による操作結果を表示する。ここでは、ディスプレイ108に画像全体が表示されている状態で、マルチドラッグ操作が右方向に入力されているので、画像をスクロールし、10枚前に記憶されている画像を表示する表示画像が生成され、出力される(ステップS204)。
次に、タッチパネルからタッチ点A4のタッチイベント「TOUCH」が通知され、検出部111によって、タッチ点A4が検出される。そして、IDが1、位置座標が(40,150)、検出時刻が60ミリ秒という情報が保持される(ステップS306)。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、2点のままである。さらに、移動距離を40−30=10ドットと求め、保持する。ただし、マルチドラッグ操作が認識された時点で、移動距離を求める基準点がA1からA3に変更される。さらに、移動方向を90°、2点間の距離を101ドットと求め、それぞれの情報が保持される(ステップS307)。特定部115は、タッチ点数が2点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。認識部116は、IDが1のタッチ点(A4)とIDが2のタッチ点(B2)の移動方向が同じであり、タッチ点A3について取得された最新の移動距離は10ドットと、マルチドラッグ操作の認識条件を満たすため、マルチドラッグ操作を認識する。表示制御部117は、マルチドラッグ操作が右方向に入力されているので、画像をスクロールし、10枚前に記憶されている画像を表示する表示画像が生成され、出力される(ステップS204)。
次に、タッチパネルからタッチ点B3のタッチイベント「RELEASE」が通知され、検出部111によって、ユーザが、IDが2のタッチ点のタッチを離したことが検出される。そして、検出部111は、保持部112に保持されている情報から、IDが2のタッチ点に関する情報を削除する。特定部115は、タッチ点数が1点で、タッチ点数が2点から1点変化し(ステップ410でYES)、移行条件2を満たしていない(ステップS413でNO)ので、タッチ状態は「2to1移行状態」と特定する(ステップS411)。タッチ状態が「2to1移行状態」のため、認識部116は、タッチ操作を認識しない(ステップS501、ステップS503でNO)。認識されたタッチ操作がないため、表示制御部117は、表示内容を変更しない。
次に、タッチパネルからタッチ点A5のタッチイベント「TOUCH」が通知され、検出部111によって、タッチ点A5が検出される。そして、IDが1、位置座標が(50,150)、検出時刻が80ミリ秒という情報が保持される(ステップS306)。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、1点のままである。さらに、タッチ点A5について、移動距離は50−40=10ドット、移動方向は90°であるとの操作情報求め、保持する(ステップS307)。この時点では、タッチ点数が1点で、タッチ点数が2点から1点変化した履歴が保持され、移動距離は10ドットのため移行条件2を満たさない(ステップS413でNO)。よって、特定部115は、タッチ状態は「2to1移行状態」であると特定する(ステップS411)。タッチ状態が「2to1移行状態」のため、認識部116は、タッチ操作を認識しない(ステップS501、ステップS503でNO)。認識されたタッチ操作がないため、表示制御部117は、表示内容を変更しない(ステップS204)。
次に、タッチパネルからタッチ点A6のタッチイベント「TOUCH」が通知され、検出部111によって、タッチ点A6が検出される。そして、IDが1、位置座標が(60,150)、検出時刻が100ミリ秒という情報が保持される(ステップS306)。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、1点のままである。さらに、操作情報取得部113は、移動距離は9040=20ドット、移動方向は90°と求め、操作情報を保持する(ステップS307)。この時点では、タッチ点数が1点で、タッチ点数が2点から1点変化した履歴が保持され、移動距離は20ドットのため移行条件2を満たさない。(ステップS413でNO)。よって、特定部115は、タッチ状態は「2to1移行状態」であると特定する(ステップS411)。タッチ状態が「2to1移行状態」のため、認識部116は、タッチ操作を認識しない(ステップS502、ステップS503でNO)。認識されたタッチ操作がないため、表示制御部117は、表示内容を変更しない(ステップS204)。
次に、タッチパネルからタッチ点A7のタッチイベント「RELEASE」が通知され、検出部111により保持部112に保持されていたうちIDが1のタッチ点の情報を削除する(ステップS302)。特定部115は、保持されている情報を参照し、タッチ状態を特定する。この時点では、タッチ点数が0点となるので、タッチ状態は「タッチなし状態」であると特定される(ステップS402)。さらに、「タッチなし状態」であるため、認識部116はタッチ操作を認識せず、処理を終了する(ステップS503でNO)。また、認識されたタッチ操作がないため、表示を変更しない(ステップS204)。
以上が、ユーザがマルチドラッグ操作を行う場合の具体例を示す操作例2である。このように本実施例では、マルチタッチ操作を行う前後に、タッチ点数が1点のみ検出されてしまう状態においては、シングルタッチ操作を認識しない。従って、ユーザがタッチ操作を開始するとき、あるいは終了するときに、複数の指を動かすタイミングがずれたとしても、ユーザが意図していないシングルタッチ操作が認識されることによる誤動作を低減できる。
(操作例3)
次に、図11(a)は、ユーザが2本の指をタッチして横に動かすマルチドラッグ操作を行った後に、片方のタッチによって継続してムーブ操作を行う操作例3において、情報処理装置100が取得するタッチ点の位置の推移の一例を示す図である。タッチ点A1〜A7、B1〜B3は、操作面901においてユーザの指がタッチした位置の座標を示し、横方向をX軸、縦方向をY軸とする。最初にユーザの指902が操作面901にタッチした位置が、タッチ点A1とする。次に、ユーザが指902を横に移動し、タッチ点がA2〜A7まで移動する。さらに、ユーザのもう一方の指903が操作面901にタッチした位置が、タッチ点B1とする。同様に、ユーザが指903を横に移動し、タッチ点がB2に移動し、タッチ点B3で指903をタッチパネルから離す。
以下、この一連の操作に従って、本実施例の情報処理装置100の動作を説明する。ただし、操作例1・操作例2と共通する処理ステップの詳細は省略し、異なる点を中心に説明する。
まず、タッチパネルからタッチ点A1のタッチイベント「TOUCH」が通知される。検出部111は、タッチ点A1について、IDが1、位置座標が(10,150)、検出時刻が0ミリ秒という情報を保持する。さらに、タッチ点数取得部114は、IDの数からタッチ点数1を取得し、タッチ点数が0点から1点に変更した履歴を保持する。また、初めて検出されたタッチ点のため、操作情報取得部113は、移動距離0ドットを取得する。特定部115は、タッチ情報を参照し、タッチ点数が1点で、タッチ点数が0点から1点変化し、移行条件1を満たしていないので、タッチ状態は「0to1移行状態」であると特定する。この時点では、タッチ状態は0to1移行状態であるため、認識部116は、特定処理を行わず処理を終了する。認識されたタッチ操作がないため、表示内容は変更されない。
次に、タッチパネルからタッチ点B1のタッチイベント「TOUCH」が通知される。検出部111は、タッチ点B1について、IDが2、位置座標が(10,50)、検出時刻が5ミリ秒という情報を保持する。さらに、タッチ点数取得部114は、IDの数からタッチ点数2を取得し、タッチ点数が1点から2点に変更した履歴を保持する。また、初めて検出されたIDが2のタッチ点のため、操作情報取得部113は、移動距離0ドットを取得する。さらに、タッチ点A1とタッチ点B1との距離100ドットを取得し、保持する。
この時、タッチ点数が2点のため、特定部115は、タッチ状態は「マルチタッチ状態」であると特定する。従って、認識部116は、マルチタッチ操作の認識を行う。ただし、この時点では、取得された操作情報がマルチドラッグ操作、およびピンチ操作の認識条件を満たさないため、操作は認識されない。なお、各操作の認識条件は、操作例2と同一である。認識されたタッチ操作がないため、表示内容は変更されない。
次に、タッチパネルからタッチ点A2のタッチイベント「TOUCH」が通知される。検出部111は、タッチ点A2について、IDが1、位置座標が(20,150)、検出時刻が20ミリ秒という情報を保持する。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、2点のままである。さらに、操作情報取得部113は、タッチ点A1からタッチ点A2までの移動距離20−10=10ドット、移動方向90°、タッチ点A2とタッチ点B1との間の距離101ドット取得し、保持する。特定部115は、タッチ点数が2点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。従って、認識部116は、マルチタッチ操作を認識する。ただし、この時、取得された操作情報がマルチドラッグ操作、およびピンチ操作の認識条件を満たさないため、操作は認識されない。
認識されたタッチ操作がないため、表示を変更しない。
次に、タッチパネルからタッチ点B2のタッチイベントが「TOUCH」が通知される。検出部111は、タッチ点B2について、IDが2、位置座標が(20,50)、検出時刻が25ミリ秒という情報を保持する。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、2点のままである。さらに、操作情報取得部113は、移動距離20−10=10ドット、移動方向は90°、タッチ点A2とタッチ点B2との間の距離100ドット取得し、保持する。特定部115は、タッチ点数が2点のため、タッチ状態は「マルチタッチ状態」であると特定する。従って、認識部116は、タッチ点A2とタッチ点B2での移動方向が同じであり、タッチ点B2での移動距離は10ドットと閾値以上のため、マルチドラッグ操作を認識する。表示制御部117は、ディスプレイ108に画像全体が表示されている状態で、マルチドラッグ操作が右方向に入力されているので、画像をスクロールし、10枚前に記憶された画像を表示するための表示画像を生成し、出力する。
次に、タッチパネルからタッチ点A3のタッチイベントが通知「TOUCH」が通知される。検出部111は、タッチ点A3について、IDが1、位置座標が(30,150)、検出時刻が40ミリ秒という情報を保持する。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、2点のままである。さらに、操作情報取得部113は、タッチ点A2からタッチ点A3までの移動距離30−20=10ドット、移動方向90°、タッチ点A3とタッチ点B2との間の距離101ドット取得し、保持する。特定部115は、タッチ点数が2点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。認識部116は、タッチ点A3とタッチ点B2での移動方向が同じであり、タッチ点A3での移動距離は10ドットと閾値以上のため、マルチドラッグ操作を認識する。表示制御部117は、ディスプレイ108に画像全体が表示されている状態で、マルチドラッグ操作が右方向に入力されているので、画像をスクロールし、10枚前に記憶された画像を表示するための表示画像を生成し、出力する。
次に、タッチパネルからタッチ点B3のタッチイベント「RELEASE」が通知され、検出部111によって、ユーザが、IDが2のタッチ点のタッチを離したことが検出される。そして、検出部111は、保持部112に保持されている情報から、IDが2のタッチ点に関する情報を削除する。特定部115は、タッチ状態は「2to1移行状態」と特定する。タッチ状態が「2to1移行状態」のため、認識部116は、タッチ操作を認識しない。認識されたタッチ操作がないため、表示制御部117は、表示内容を変更しない。
続いて、タッチ点A4、及びタッチ点A5のタッチイベント「TOUCH」が検出される。このとき、情報処理装置100において実行される処理は、操作例2におけるタッチ点A5、及びタッチ点A6の検出時の処理と共通するため、詳細な説明を省略する。
図11(a)に示されるタッチ点A6のタッチイベント「TOUCH」が通知されると、検出部111は、タッチ点A6について、IDが1、位置座標が(70,150)、検出時刻が100ミリ秒という情報を保持する。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、1点のままである。操作情報取得部113は、タッチ点A3からタッチ点A6の移動距離70−30=40ドットを求め、保持する。ここで、特定部115は、タッチ点数が2点から1点に変化した履歴を保持した状態にあり、かつ求めた移動距離40ドットが移行条件2を満たすため、タッチ状態は「シングルタッチ状態」であると特定し、タッチ点数の変化履歴を削除する。従って、認識部116は、シングルタッチ操作の認識条件と、取得した操作情報を比較する。本実施例では、ムーブ操作の認識条件として、1点のタッチ点が10ドット以上移動したか否かを判定する。ここでは、IDが1のタッチ点(A6)がX軸方向に40ドット移動しているため、ムーブと認識する。表示制御部117は、ディスプレイに画像全体が表示されている状態で、右方向のムーブ操作が認識されたため、画像をスクロールし、1枚前に記憶されている画像を表示する。
次に、タッチパネルからタッチ点A7のタッチイベント「TOUCH」が通知され,同様の処理により、シングルタッチによるムーブ操作が認識される。
以上が、ユーザが2本の指をタッチして横に動かすマルチドラッグ操作を行った後に、片方のタッチによって継続してムーブ操作を行う操作例3である。このように本実施例では、マルチタッチ操作が行われた後に、タッチ点数が1点に減った場合には、「移行条件2」が満たされるか否かを判定して、特定結果に基づく認識処理を行う。
(操作例4)
次に、図11(b)は、ユーザが2本の指をタッチして横に動かすマルチドラッグ操作中に、1点がリリースされ、その後にマルチドラッグ操作が継続される操作例4において、情報処理装置100が取得するタッチ点の位置の推移の一例を示す図である。タッチ点A1〜A7、B1〜B6は、操作面901においてユーザの指がタッチした位置の座標を示し、横方向をX軸、縦方向をY軸とする。最初にユーザの指902が操作面901にタッチした位置が、タッチ点A1とする。次に、ユーザが指902を横に移動し、タッチ点がA2〜A7まで移動する。さらに、ユーザのもう一方の指903が操作面901にタッチした位置が、タッチ点B1とする。同様に、ユーザが指903を横に移動し、タッチ点がB2に移動し、タッチ点B3で指903がタッチパネルから離れる。その後、指903が操作面901に再度タッチされた位置がタッチ点B4となる。さらにユーザが指903を横に移動し、タッチ点B5〜B6となる。
以下、この一連の操作に従って、本実施例の情報処理装置100の動作を説明する。ただし、情報処理装置100においてタッチ点A1、B1、A2、B2、A3、B3、A4、A5のタッチイベントが検出される際に実行される処理は、上述した操作例3と共通するため、説明を省略し、操作例3と異なる点を中心に説明する。
タッチパネルからタッチ点B4のタッチイベント「TOUCH」が通知されると、検出部111は、IDが2、位置座標が(50,50)、検出時刻が85ミリ秒という情報を取得し、保持する。さらに、タッチ点数取得部114は、IDの数からタッチ点数2を取得し、タッチ点数が1点から2点に変更した履歴を保持する。また、初めて検出されたIDが2のタッチ点になるため、操作情報取得部113は、移動距離0ドット、移動方向はなし、タッチ点A5とタッチ点B4の2点間の距離100ドットを取得して、それぞれの情報を保持する。特定部115は、タッチ点数が2点のため、タッチ状態は「マルチタッチ状態」であると特定する。認識部116は、マルチタッチ操作の認識条件が満たされないため、この時点では、マルチタッチ操作を認識しない。従って、表示内容も変化しない。
次に、タッチパネルからタッチ点A6のタッチイベント「TOUCH」が通知されると、IDが1、位置座標が(60,150)、検出時刻が100ミリ秒、タッチ点数が2という情報、保持部112に保持される。さらに、タッチ点数が変わったので基準点が変更され、操作情報取得部113によって、タッチ点A5からタッチ点A6への移動距離60−50=10ドット、移動方向90°、タッチ点A6とタッチ点B4との間の距離101ドットが求められ、保持される。この時点でも、継続してタッチ状態は「マルチタッチ状態」であるが、マルチタッチ操作の認識条件が満たされないため、この時点では、マルチタッチ操作を認識しない。従って、表示内容も変化しない。
次に、タッチパネルからタッチ点B5のタッチイベント「TOUCH」が通知されると、IDが2、位置座標が(60,50)、検出時刻が105ミリ秒という情報が、保持部112に保持される。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、2点のままである。さらに、操作情報として、タッチ点B4からタッチ点B5への移動距離60−50=10ドット、移動方向は90°、タッチ点A6とタッチ点B5の間の距離100が取得され、保持される。この時、特定部115は、タッチ状態は「マルチタッチ状態」であると特定する。そして、認識部116は、タッチ点B5とタッチ点A6での移動方向が同じであり、タッチ点B5での移動距離は10ドットと閾値以上のため、マルチドラッグ操作を認識する。表示制御部117は、ディスプレイ108に画像全体が表示されている状態で、マルチドラッグ操作が右方向に入力されているので、画像をスクロールし、10枚前に記憶された画像を表示するための表示画像を生成し、出力する。
以降、タッチ点A7、タッチ点B6のタッチイベント「TOUCH」が通知される度に、同様にマルチドラッグ操作が認識される。
以上が、ユーザが2本の指をタッチして横に動かすマルチドラッグ操作中に、1点がリリースされ、その後にマルチドラッグ操作が継続される操作例4である。このように本実施例では、マルチタッチ操作が行われている途中に、片方のタッチ点が検出されない状況が発生した場合は、「移行条件2」が満たされるか否かを判定して、結果に基づく認識処理を行う。従って、意図されないシングルタッチ操作が認識される誤動作を低減することができる。
(操作例5)
図12は、ユーザが2本の指をタッチして広げるピンチ操作を行った後にムーブ操作を行う操作例5において、情報処理装置100が取得するタッチ点の位置の推移の一例を示す図である。タッチ点A1〜A5、B1〜B3は、操作面901においてユーザの指がタッチした位置の座標を示し、横方向をX軸、縦方向をY軸とする。最初にユーザの指902が操作面901にタッチした位置が、タッチ点A1とする。次に、ユーザが指902を横に移動し、タッチ点がA2〜A5まで移動する。さらに、ユーザのもう一方の指903が操作面901にタッチした位置が、タッチ点B1とする。同様に、ユーザが指903を横に移動し、タッチ点がB2に移動し、タッチ点B3で指903をタッチパネルから離す。
以下、この一連の操作に従って、本実施例の情報処理装置100の動作を説明する。
まず、タッチパネルからタッチ点A1のタッチイベント「TOUCH」が通知される。検出部111は、タッチ点A1について、IDが1、位置座標が(60,100)、検出時刻が0ミリ秒という情報を保持する。さらに、タッチ点数取得部114は、IDの数からタッチ点数1を取得し、タッチ点数が0点から1点に変更した履歴を保持する。また、初めて検出されたタッチ点のため、操作情報取得部113は、移動距離0ドットを取得する。特定部115は、タッチ情報を参照し、タッチ点数が1点で、タッチ点数が0点から1点変化し、移行条件1を満たしていないので、タッチ状態は「0to1移行状態」であると特定する。この時点では、タッチ状態は0to1移行状態であるため、認識部116は、特定処理を行わず処理を終了する。認識されたタッチ操作がないため、表示内容は変更されない。
次に、タッチパネルからタッチ点B1のタッチイベント「TOUCH」が通知される。検出部111は、タッチ点B1について、IDが2、位置座標が(40,100)、検出時刻が5ミリ秒という情報を保持する。さらに、タッチ点数取得部114は、IDの数からタッチ点数2を取得する。また、初めて検出されたIDが2のタッチ点のため、操作情報取得部113は、移動距離0ドットを取得する。さらに、タッチ点A1とタッチ点B1との距離20ドットを取得し、保持する。この時、タッチ点数が2点のため、特定部115は、タッチ状態は「マルチタッチ状態」であると特定する。従って、認識部116は、マルチタッチ操作の認識を行う。ただし、この時点では、取得された操作情報がマルチドラッグ操作、およびピンチ操作の認識条件を満たさないため、操作は認識されない。なお、各操作の認識条件は、操作例2と同一である。認識されたタッチ操作がないため、表示内容は変更されない。
次に、タッチパネルからタッチ点A2のタッチイベント「TOUCH」が通知される。検出部111は、タッチ点A2について、IDが1、位置座標が(70,100)、検出時刻が20ミリ秒という情報を保持する。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、2点のままである。さらに、操作情報取得部113は、タッチ点A1からタッチ点A2までの移動距離10ドット、移動方向90°、タッチ点A2とタッチ点B1との間の距離30ドット取得し、保持する。特定部115は、タッチ点数が2点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。この時、2点のタッチ点の移動方向が異なり、かつ2点の間の距離の変化量は20−10=10ドットであるため、ピンチ操作の認識条件を満たす。従って、認識部116は、ピンチ操作を認識する。表示制御手段118は、ディスプレイに画像全体が表示されている状態で、ピンチ操作が入力されているので、表示されている画像を拡大して、その一部を表示するための表示画像を生成し、出力する。
次に、タッチパネルからタッチ点B2のタッチイベント「TOUCH」が通知される。検出部111は、タッチ点B2について、IDが2、位置座標が(30,100)、検出時刻が25ミリ秒という情報を保持する。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、2点のままである。さらに、操作情報取得部113は、タッチ点B1からタッチ点B2までの移動距離10ドット、移動方向270°、タッチ点A2とタッチ点B2との間の距離40ドット取得し、保持する。特定部115は、タッチ点数が2点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。この時、2点のタッチ点の移動方向が異なり、かつ2点の間の距離の変化量は40−30=10ドットであるため、ピンチ操作の認識条件を満たす。従って、認識部116は、ピンチ操作を認識する。表示制御手段118は、ディスプレイに画像全体が表示されている状態で、ピンチ操作が入力されているので、表示されている画像を拡大して、その一部を表示するための表示画像を生成し、出力する。
次に、タッチパネルからタッチ点A3のタッチイベント「TOUCH」が通知される。検出部111は、タッチ点A3について、IDが1、位置座標が(80,100)、検出時刻が40ミリ秒という情報を保持する。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、2点のままである。さらに、操作情報取得部113は、タッチ点A2からタッチ点A3までの移動距離10ドット、移動方向90°、タッチ点A3とタッチ点B2との間の距離50ドット取得し、保持する。特定部115は、タッチ点数が2点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。この時、2点のタッチ点の移動方向が異なり、かつ2点の間の距離の変化量は50−40=10ドットであるため、ピンチ操作の認識条件を満たす。従って、認識部116は、ピンチ操作を認識する。表示制御手段118は、ディスプレイに画像全体が表示されている状態で、ピンチ操作が入力されているので、表示されている画像を拡大して、その一部を表示するための表示画像を生成し、出力する。
次に、タッチパネルからタッチ点B3のタッチイベント「RELEASE」が通知され、検出部111によって、ユーザが、IDが2のタッチ点のタッチを離したことが検出される。そして、検出部111は、保持部112に保持されている情報から、IDが2のタッチ点に関する情報を削除する。特定部115は、タッチ点が2点から1点に減少し、かつ、移行条件2は満たされていないため、タッチ状態は「2to1移行状態」と特定する。タッチ状態が「2to1移行状態」のため、認識部116は、タッチ操作を認識しない。認識されたタッチ操作がないため、表示制御部117は、表示内容を変更しない。
次に、タッチパネルからタッチ点A4のタッチイベント「TOUCH」が通知され、検出部111は、タッチ点A6について、IDが1、位置座標が(80,110)、検出時刻が60ミリ秒という情報を保持する。同じIDのタッチ点が既に検出されているため、タッチ点数には変更がなく、1点のままである。操作情報取得部113は、タッチ点A3からタッチ点A4の移動距離10ドット、移動方向0°を取得し、保持する。ここで、特定部115は、タッチ点数が2点から1点に変化した履歴を保持した状態にある。さらに、前回IDが1のタッチ点(A3)を検出した時の移動方向と45°以上異なることから、移行条件2を満たすため、タッチ状態は「シングルタッチ状態」であると特定し、保持していたタッチ点数の変化履歴を削除する。従って、認識部116は、シングルタッチ操作の認識条件と、取得した操作情報を比較する。本実施例では、IDが1のタッチ点(A4)がY軸方向に10ドット移動しているため、ムーブ操作の認識条件を満たす。従って、認識部116はムーブ操作を認識する。表示制御部117は、ディスプレイに画像全体が表示されている状態で、上方向にムーブ操作が入力されているので、画像の表示されている位置を下に移動する表示画像を出力する。
以降、タッチ点A5タッチイベント「TOUCH」が通知される度に、同様にムーブ操作が認識される。
以上が、ユーザが2本の指の間隔を広げるピンチ操作を行った後に、片方のタッチによって継続してムーブ操作を行う操作例5である。このように本実施例では、マルチタッチ操作が行われた後に、タッチ点数が1点に減った場合は、「移行条件2」が満たされるか否かを判定して、結果に基づく認識処理を行う。
なお、操作例1〜5では、シングルタッチ操作はムーブ操作を例に挙げて説明したが、これに限らない。例えば、画面を軽くはじくように指を動かすフリック操作にも同様に本発明を適用できる。また、マルチタッチ操作はマルチドラッグ、ピンチを例に挙げて説明したが、ローテートにも同様に本発明を適用できる。
<その他の実施例>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (16)

  1. 操作面をタッチすることによりシングルタッチ操作およびマルチタッチ操作が入力される情報処理装置であって、
    前記操作面に入力されるタッチ位置を検出する検出手段と、
    前記検出手段で検出された1つのタッチ位置の推移が予め定義された所定のシングルタッチ操作に相当する場合に、前記1つのタッチ位置による入力を前記所定のシングルタッチ操作として認識する認識手段とを備え、
    前記認識手段は、前記検出手段で検出されているタッチ位置の数が、前記検出手段によってタッチ位置が検出されていない状態から新たにタッチ位置が検出された結果として1になり、かつ、検出されている1つのタッチ位置が所定の距離以上推移したという第1の条件が満たされた場合、および、複数のタッチ位置が検出されていた状態からタッチ位置が減少した結果として1になり、かつ、1つのタッチ位置が検出されている状態が所定の時間以上継続したという第2の条件が満たされた場合、前記検出手段で検出されている1つのタッチ位置の推移が前記予め定義された所定のシングルタッチ操作に相当するかを判定し、判定結果に基づいて前記シングルタッチ操作の認識を行い、
    前記検出手段で検出されているタッチ位置の数が、前記検出手段によってタッチ位置が検出されていない状態から新たにタッチ位置が検出された結果として1になった後、前記第1の条件が満たされない間、および、複数のタッチ位置が検出されていた状態からタッチ位置が減少した結果として1になった後、前記第2の条件が満たされない間には、前記検出手段で検出されている1つのタッチ位置の推移が予め定義された所定のシングルタッチ操作であるかの判定を行わないことを特徴とする情報処理装置。
  2. 前記第2の条件が満たされるのにかかる時間は、前記第の条件が満たされるのにかかる時間よりも長いことを特徴とする請求項1に記載の情報処理装置。
  3. 記第2の条件は
    前記検出手段によって検出されているタッチ位置の数が1になってから、前記認識手段によって前記シングルタッチ操作が認識された回数が、閾値以上であることに相当することを特徴とする請求項1に記載の情報処理装置。
  4. 前記検出手段で検出されているタッチ位置の数が、複数のタッチ位置が検出されていた状態からタッチ位置が減少した結果として1になった場合、前記検出手段に検出されているタッチ位置の数が変化する前に検出されていたタッチ位置の情報に基づいて、前記第2の条件の時間の長さを調整する手段を更に備えることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  5. 前記認識手段は、
    前記検出手段で検出されているタッチ位置の数が、複数のタッチ位置が検出されていた状態からタッチ位置が減少した結果として1になった場合は、前記入力をシングルタッチ操作の指示として認識しないことを特徴とする請求項1に記載の情報処理装置。
  6. 前記認識手段は、
    前記検出手段で検出されているタッチ位置の数が、タッチ位置が検出されていない状態からタッチ位置が検出された結果として1になった場合は、前記入力をシングルタッチ操作の指示として認識することを特徴とする請求項1又はに記載の情報処理装置。
  7. 前記認識手段は、
    前記検出手段で検出されているタッチ位置が複数の場合、該複数のタッチ位置のうち少なくとも2つのタッチ位置による入力をマルチタッチ操作の指示として認識することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  8. 前記情報処理装置は、シングルタッチ操作、および2点のタッチ位置による第1のマルチタッチ操作、および3点以上のタッチ位置による第2のマルチタッチ操作の実行が可能であり、前記認識手段は、
    前記検出手段で検出されたタッチ位置の数が、2つ未満であった状態からさらにタッチ位置が検出された結果として2つになり、かつ、第3の条件が満たされた場合、および、3つ以上であった状態からタッチ位置が減少した結果として2つになり、かつ、前記第3の条件とは異なる第4の条件が満たされた場合、前記検出手段で検出された2つのタッチ位置による入力を前記第1のマルチタッチ操作の指示として認識することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  9. コンピュータに読み込ませ実行させることで、請求項1乃至のいずれか1項に記載された情報処理装置として動作させるためのプログラム。
  10. 請求項のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
  11. 操作面をタッチすることによりシングルタッチ操作およびマルチタッチ操作が入力される情報処理装置の制御方法であって、
    検出手段により、前記操作面に入力されるタッチ位置を検出する検出工程と、
    認識手段により、前記検出工程で検出された1つのタッチ位置の推移が予め定義された所定のシングルタッチ操作に相当する場合に、前記1つのタッチ位置による入力を前記所定のシングルタッチ操作として認識する認識工程とを備え、
    前記認識工程では、前記検出工程で検出されているタッチ位置の数が、前記タッチ位置が検出されていない状態から新たにタッチ位置が検出された結果として1になり、かつ、検出されている1つのタッチ位置が所定の距離以上推移したという第1の条件が満たされた場合、および、複数のタッチ位置が検出されていた状態からタッチ位置が減少した結果として1になり、かつ、1つのタッチ位置が検出されている状態が所定の時間以上継続したという第2の条件が満たされた場合、前記検出手段で検出されている1つのタッチ位置の推移が前記予め定義された所定のシングルタッチ操作に相当するかを判定し、判定結果に基づいて前記シングルタッチ操作の認識を行い、
    前記検出工程で検出されているタッチ位置の数が、前記検出手段によってタッチ位置が検出されていない状態から新たにタッチ位置が検出された結果として1になった後、前記第1の条件が満たされない間、および、複数のタッチ位置が検出されていた状態からタッチ位置が減少した結果として1になった後、前記第2の条件が満たされない間には、前記検出手段で検出されている1つのタッチ位置の推移が予め定義された所定のシングルタッチ操作であるかの判定を行わないことを特徴とする情報処理装置の制御方法。
  12. シングルタッチ操作およびマルチタッチ操作が入力される情報処理装置であって、操作面に接触または近接した物体によって入力される入力位置を検出する検出手段と、前記検出手段で検出された1つの入力位置によるシングルタッチ操作に応答した前記情報処理装置からの出力を制御する出力制御手段とを備え、
    前記出力制御手段は、前記検出手段で検出されている入力位置の数が、前記検出手段によって入力位置が検出されていない状態から新たに入力位置が検出された結果として1になった後、検出されている1つのタッチ位置が所定の距離以上推移したという第1の条件が満たされてない間、および、複数の入力位置が検出されていた状態から入力位置が減少した結果として1になった後、1つのタッチ位置が検出されている状態が所定の時間以上継続したという第2の条件が満たされない間は、前記1つのタッチ位置の推移に対応する前記シングルタッチ操作に応答する出力を行わないことを特徴とする情報処理装置。
  13. 前記出力制御手段は、前記検出手段で検出されている入力位置の数が、前記検出手段によって入力位置が検出されていない状態から新たに入力位置が検出された結果として1になになり、かつ、前記第1の条件が満たされた場合、および、複数の入力位置が検出されていた状態からタッチ位置が減少した結果として1になり、かつ、前記第2の条件が満たされた場合、前記検出手段で検出されている1つのタッチ位置の推移に対応するシングルタッチ操作に応答した前記出力を行うことを特徴とする請求項12に記載の情報処理装置。
  14. コンピュータに読み込ませ実行させることで、請求項12に記載された情報処理装置として動作させるためのプログラム。
  15. 請求項14のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
  16. シングルタッチ操作およびマルチタッチ操作が入力される情報処理装置の制御方法であって、
    検出手段により、操作面に接触または近接した物体によって入力される入力位置を検出する検出工程と、
    出力制御手段により、前記検出工程で検出された1つの入力位置によるシングルタッチ操作に応答した前記情報処理装置からの出力を制御する出力制御工程とを備え、前記出力制御工程では、検出されている前記入力位置の数が、複数の入力位置が検出されていた状態から入力位置が減少した結果として1になった後、検出されている1つのタッチ位置が所定の距離以上推移したという第1の条件が満たされてない間、および、前記入力位置が検出されていない状態から新たに入力位置が検出された結果として1になった後、1つのタッチ位置が検出されている状態が所定の時間以上継続したという第2の条件が満たされない間は、前記1つのタッチ位置の推移に対応する前記シングルタッチ操作に応答する出力を行わないことを特徴とする情報処理装置の制御方法。
JP2012161542A 2012-07-20 2012-07-20 情報処理装置及びその制御方法 Active JP6188288B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012161542A JP6188288B2 (ja) 2012-07-20 2012-07-20 情報処理装置及びその制御方法
US13/944,206 US9658764B2 (en) 2012-07-20 2013-07-17 Information processing apparatus and control method thereof
EP13177120.6A EP2687973A3 (en) 2012-07-20 2013-07-18 Information processing apparatus and control method thereof
CN201310306690.9A CN103576976B (zh) 2012-07-20 2013-07-19 信息处理装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012161542A JP6188288B2 (ja) 2012-07-20 2012-07-20 情報処理装置及びその制御方法

Publications (3)

Publication Number Publication Date
JP2014021829A JP2014021829A (ja) 2014-02-03
JP2014021829A5 JP2014021829A5 (ja) 2015-08-27
JP6188288B2 true JP6188288B2 (ja) 2017-08-30

Family

ID=48832781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012161542A Active JP6188288B2 (ja) 2012-07-20 2012-07-20 情報処理装置及びその制御方法

Country Status (4)

Country Link
US (1) US9658764B2 (ja)
EP (1) EP2687973A3 (ja)
JP (1) JP6188288B2 (ja)
CN (1) CN103576976B (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7787672B2 (en) 2004-11-04 2010-08-31 Dr Systems, Inc. Systems and methods for matching, naming, and displaying medical images
US7660488B2 (en) 2004-11-04 2010-02-09 Dr Systems, Inc. Systems and methods for viewing medical images
US7885440B2 (en) 2004-11-04 2011-02-08 Dr Systems, Inc. Systems and methods for interleaving series of medical images
US7920152B2 (en) 2004-11-04 2011-04-05 Dr Systems, Inc. Systems and methods for viewing medical 3D imaging volumes
US7970625B2 (en) 2004-11-04 2011-06-28 Dr Systems, Inc. Systems and methods for retrieval of medical data
US7953614B1 (en) 2006-11-22 2011-05-31 Dr Systems, Inc. Smart placement rules
US8380533B2 (en) 2008-11-19 2013-02-19 DR Systems Inc. System and method of providing dynamic and customizable medical examination forms
US8712120B1 (en) 2009-09-28 2014-04-29 Dr Systems, Inc. Rules-based approach to transferring and/or viewing medical images
US9092551B1 (en) 2011-08-11 2015-07-28 D.R. Systems, Inc. Dynamic montage reconstruction
US9495604B1 (en) 2013-01-09 2016-11-15 D.R. Systems, Inc. Intelligent management of computerized advanced processing
EP3012715A4 (en) * 2013-06-21 2016-11-30 Nec Solution Innovators Ltd ELECTRONIC DEVICE, METHOD FOR RECEIVING AN INPUT AND PROGRAM
US9612736B2 (en) * 2013-07-17 2017-04-04 Korea Advanced Institute Of Science And Technology User interface method and apparatus using successive touches
JP2015026257A (ja) * 2013-07-26 2015-02-05 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
KR102205906B1 (ko) * 2013-12-09 2021-01-22 삼성전자주식회사 이미지 내 오브젝트 윤곽선의 수정 방법 및 시스템
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム
US9898156B2 (en) * 2014-07-30 2018-02-20 Change Healthcare Llc Method and computing device for window width and window level adjustment utilizing a multitouch user interface
EP3026523B1 (en) 2014-11-28 2019-08-28 Nokia Technologies OY Method and apparatus for contacting skin with sensor equipment
JP6010261B1 (ja) * 2014-12-15 2016-10-19 オリンパス株式会社 内視鏡装置
CN104461366A (zh) * 2014-12-16 2015-03-25 小米科技有限责任公司 激活移动终端的操作状态的方法及装置
US10140013B2 (en) 2015-02-13 2018-11-27 Here Global B.V. Method, apparatus and computer program product for calculating a virtual touch position
US10929508B2 (en) 2015-04-30 2021-02-23 Merge Healthcare Solutions Inc. Database systems and interactive user interfaces for dynamic interaction with, and indications of, digital medical image data
JP6213613B2 (ja) * 2015-05-25 2017-10-18 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
CN112527166B (zh) 2020-12-18 2022-11-18 阿波罗智联(北京)科技有限公司 触控指令的处理方法、装置、设备以及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3847641B2 (ja) * 2002-02-28 2006-11-22 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理プログラム、情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び情報処理方法
US7532202B2 (en) * 2002-05-08 2009-05-12 3M Innovative Properties Company Baselining techniques in force-based touch panel systems
US8164573B2 (en) 2003-11-26 2012-04-24 Immersion Corporation Systems and methods for adaptive interpretation of input from a touch-sensitive input device
US20070109280A1 (en) * 2005-11-15 2007-05-17 Tyco Electronics Raychem Gmbh Apparatus and method for reporting tie events in a system that responds to multiple touches
CN101458610B (zh) 2007-12-14 2011-11-16 介面光电股份有限公司 一种多点触控控制器的控制方法
CN101349944A (zh) 2008-09-03 2009-01-21 宏碁股份有限公司 手势引导系统及以触控手势控制计算机系统的方法
US20100162181A1 (en) 2008-12-22 2010-06-24 Palm, Inc. Interpreting Gesture Input Including Introduction Or Removal Of A Point Of Contact While A Gesture Is In Progress
WO2010098383A1 (ja) * 2009-02-26 2010-09-02 シャープ株式会社 認証装置、認証方法及びそれをコンピュータに実行させるプログラム
JP5554517B2 (ja) * 2009-04-22 2014-07-23 富士通コンポーネント株式会社 タッチパネルの位置検出方法及びタッチパネル装置
US8681106B2 (en) * 2009-06-07 2014-03-25 Apple Inc. Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface
KR100923755B1 (ko) * 2009-07-06 2009-10-27 라오넥스(주) 멀티터치 방식 문자입력 방법
CN101957707A (zh) 2009-07-13 2011-01-26 纬创资通股份有限公司 多模式触控、使用多重单点触控指令的方法及电子装置
JP5340868B2 (ja) * 2009-09-24 2013-11-13 パイオニア株式会社 接触操作装置
JP2011227854A (ja) 2009-09-30 2011-11-10 Aisin Aw Co Ltd 情報表示装置
US8531414B2 (en) * 2010-02-03 2013-09-10 Bump Technologies, Inc. Bump suppression
US20120019453A1 (en) * 2010-07-26 2012-01-26 Wayne Carl Westerman Motion continuation of touch input
KR101523866B1 (ko) * 2010-12-20 2015-05-28 애플 인크. 이벤트 인식
KR101799270B1 (ko) 2010-12-29 2017-11-21 엘지전자 주식회사 이동 단말기 및 이것의 터치 인식 방법

Also Published As

Publication number Publication date
US20140022194A1 (en) 2014-01-23
US9658764B2 (en) 2017-05-23
JP2014021829A (ja) 2014-02-03
EP2687973A2 (en) 2014-01-22
CN103576976B (zh) 2017-05-03
EP2687973A3 (en) 2016-06-08
CN103576976A (zh) 2014-02-12

Similar Documents

Publication Publication Date Title
JP6188288B2 (ja) 情報処理装置及びその制御方法
JP5990011B2 (ja) 情報処理装置及びその制御方法
US11042287B2 (en) Information processing device, information processing method, and program for displaying of coupling and decoupling of lists
JP5979916B2 (ja) 情報処理装置およびその制御方法
EP2555103B1 (en) Information processing device, information processing method, and program
US10318146B2 (en) Control area for a touch screen
US9430089B2 (en) Information processing apparatus and method for controlling the same
US9798400B2 (en) Displaying device and non-transitory computer-readable recording medium storing instructions
US10607574B2 (en) Information processing device and information processing method
JP6410537B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US9773329B2 (en) Interaction with a graph for device control
US20120056831A1 (en) Information processing apparatus, information processing method, and program
JP6253284B2 (ja) 情報処理装置およびその制御方法、プログラム、記録媒体
US10379729B2 (en) Information processing apparatus, information processing method and a non-transitory storage medium
KR20130142157A (ko) 표시 제어 장치, 표시 제어 방법, 및 프로그램
JP2015035092A (ja) 表示制御装置及び表示制御装置の制御方法
JP6176907B2 (ja) 情報処理装置およびその制御方法、プログラム
JP6333779B2 (ja) 表示制御装置、表示制御方法、及びそれをコンピュータで実行するためのコンピュータ・プログラム
TWI354223B (ja)
US9632697B2 (en) Information processing apparatus and control method thereof, and non-transitory computer-readable medium
JP6370118B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
US20170075559A1 (en) Method of providing user interface and flexible device for performing the same
JP6303864B2 (ja) 情報処理装置及び表示制御方法
US20170046061A1 (en) Method and a system for controlling a touch screen user interface
JP6036598B2 (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150709

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170801

R151 Written notification of patent or utility model registration

Ref document number: 6188288

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151