JP5979916B2 - 情報処理装置およびその制御方法 - Google Patents

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

Info

Publication number
JP5979916B2
JP5979916B2 JP2012050682A JP2012050682A JP5979916B2 JP 5979916 B2 JP5979916 B2 JP 5979916B2 JP 2012050682 A JP2012050682 A JP 2012050682A JP 2012050682 A JP2012050682 A JP 2012050682A JP 5979916 B2 JP5979916 B2 JP 5979916B2
Authority
JP
Japan
Prior art keywords
distance
touch
processing apparatus
information processing
points
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
JP2012050682A
Other languages
English (en)
Other versions
JP2013186648A (ja
JP2013186648A5 (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 JP2012050682A priority Critical patent/JP5979916B2/ja
Priority to EP13156267.0A priority patent/EP2637088B1/en
Priority to US13/786,289 priority patent/US9665201B2/en
Priority to KR1020130023773A priority patent/KR101572308B1/ko
Priority to CN201310073132.2A priority patent/CN103336660B/zh
Publication of JP2013186648A publication Critical patent/JP2013186648A/ja
Publication of JP2013186648A5 publication Critical patent/JP2013186648A5/ja
Application granted granted Critical
Publication of JP5979916B2 publication Critical patent/JP5979916B2/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
    • 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

本発明は、ユーザによって入力されたマルチタッチ操作を認識する技術に関する。
近年、ユーザの指あるいはスタイラスにより画面がタッチされたことに応答して、タッチされた位置のX,Y座標値を入力値として取り込み、この入力値に基づいて各種処理を実行するタッチ入力機器が普及している。
また、近年、画面の複数点をタッチすることにより操作を行う、いわゆるマルチタッチの技術が発展しつつある。一般に、タッチパネルに対するマルチタッチ操作として、ユーザがタッチパネルに触れている2点を近付けたり離したりする操作をピンチと言う。特に2点を近付ける操作をピンチインと言い、表示画像の縮小が行われる。反対に2点を離す操作をピンチアウトと言い、表示画像の拡大が行われる。
特許文献1では、画面に接触した2本の指のうち、少なくとも一方の指が移動した時、2本の指の間の距離変化に応じてピンチ操作を認識し、画像の拡大率の変更を行うと同時に、指の移動方向に応じて表示画像をスクロールする技術が知られている。
特開2011−059952号公報
一般に、ユーザによるタッチ操作を認識する際には、タッチ検出領域において検出されるタッチ点の情報を1点ずつ順次取得し、タッチ点の位置や移動した軌跡を利用する。しかし、1点ずつタッチ点の情報を取得すると、ユーザが複数のタッチ点を同時に操るマルチタッチ操作に対して、誤ってユーザの意図に反した操作が認識され、誤動作の原因となる場合がある。
本発明は上記課題に鑑みてなされたものであり、マルチタッチ操作が可能な装置において、ユーザの意図に反する誤動作を低減することを主な目的とする。
上記課題を解決するため、本発明は、マルチタッチ操作が可能な情報処理装置であって、前記情報処理装置に対して入力された複数のタッチ点の位置を取得する位置取得手段と、前記位置取得手段によって取得された位置に基づいて、前記マルチタッチ操作を構成する2点のタッチ点の間の距離を取得する距離取得手段と、前記情報処理装置に対して入力されたマルチタッチ操作を決定する決定手段とを備え、前記決定手段は、前記距離取得手段によって複数回に渡って取得される前記2点のタッチ点の間の距離が、連続して拡大された場合に前記入力されたマルチタッチ操作は表示部に表示されている画像を拡大して表示させるための操作であると決定するか、または連続して縮小された場合に前記入力されたマルチタッチ操作は前記表示部に表示されている画像を縮小して表示させるための操作であると決定することを特徴とする。
本発明によれば、マルチタッチ操作が可能な装置において、ユーザの意図に反する誤動作を低減することができる。
情報処理装置の構成の一例を示すブロック図 情報処理装置がマルチタッチ操作を認識する処理の流れの一例を示すフローチャート 情報処理装置が実行する処理の流れの一例を示すフローチャート マルチドラッグ操作を構成する複数のタッチ点の一例を示す図 ピンチ操作を構成する複数のタッチ点の一例を示す図 マルチドラッグ操作を構成する複数のタッチ点の一例を示す図 情報処理装置がマルチタッチ操作を認識する処理の流れの一例を示すフローチャート 規定回数変更処理の流れの例を示すフローチャート マルチドラッグ操作を構成する複数のタッチ点の一例を示す図 情報処理装置がマルチタッチ操作を認識する処理の流れの一例を示すフローチャート
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
<第1の実施形態>
本実施形態では、ユーザがある時点で2点をタッチしているマルチタッチの状態を想定する。以下では、情報処理装置100に対してユーザがマルチタッチ操作を入力する際に、意図されないピンチ操作が認識されることを防ぐため、ピンチアウトあるいはピンチインの操作を認識するための条件を設ける例を説明する。
マルチタッチ操作の一例として、ユーザが2点のタッチ点の間の距離を略一定に保ったまま同一方向に動かす操作(以下、マルチドラッグ操作)を行おうとする場合を説明する。
従来、マルチタッチ操作を認識する場合は、タッチパネルが検出しているタッチ点の情報が1点ずつ取得され、取得された位置情報に基づいて即座に認識処理が実行される。従って、マルチドラッグ操作を行うためにユーザに移動された2点のタッチ点のうち、1点目の移動後の位置が取得された時点では、もう1点のタッチ点は移動前の位置が保持されており、ユーザが指を動かした分、「2点間の距離が拡大された」と判定される。次に2点目の移動後の位置を取得した時点では、2点間の距離は移動前の2点間の距離に戻るため、「2点間の距離が縮小された」と判定される。よって、ユーザがマルチドラッグ操作を行おうとした場合に、上記判定結果に基づいてピンチアウトとピンチインが交互に連続して通知されるため、装置では、表示画像が拡大と縮小を交互に繰り返すといった、ユーザの意図と異なる不自然な表示が実行される。これに対し、本実施形態では、ユーザにタッチされた2点間の距離が予め規定された回数以上連続して拡大された場合にのみ、ピンチアウトの操作が入力されたと判定する。そして、2点間の距離が予め規定された回数以上連続して縮小された場合にのみ、ピンチインの操作が入力されたと判定する。
図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、USタッチ点Bメモリ、MO、フラッシュメモリ等が知られている。また、外部記憶装置109は、ネットワークで接続されたサーバ装置などであってもよい。本実施形態において必要な情報は、RAM103やHD104、外部記憶装置109に保持される。入力インタフェース105は、ポインティングデバイスなどの入力装置を制御し、入力装置からの入力信号を取得して検出されているタッチ点の状態の変化を認識し、情報処理装置100のタッチ操作を認識するシステムに通知する。出力インタフェース106は、液晶ディスプレイ、テレビモニタ等の表示部を有する出力装置に対して、後述する各種の処理を実行した結果の出力を制御する信号を出力する。本実施形態において、入力装置であるタッチパネルと出力装置であるディスプレイ装置は、情報処理装置100に一体化したタッチパネルディスプレイ108を使用するものとする。ただし、情報処理装置100に接続された外部装置であってもよく、それぞれが独立した装置であってもかまわない。なお、本実施形態では、タッチパネルは静電容量方式のものを使用するとし、ユーザとパネル表面との接触面のうち、1点の座標をタッチ点として特定する。ただし、タッチパネルの方式は静電容量方式に限らない。
図1(b)は、本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。検出部111は、CPU101、ROM102、RAM103等で構成され、本実施形態では、入力インタフェース105から通知された信号に基づき、ユーザがタッチしたタッチ点に関する情報を検出する。その際、本実施形態では、入力インタフェース105が、入力装置であるタッチパネルが検出している複数のタッチ点の情報を一定の周期で参照し、1点についての情報を取得する毎に順次検出部111に信号を通知するものとする。従って、検出部111は取得した信号を解析し、タッチ点に関する情報を1点ずつ検出する。タッチ点に関する情報には、タッチ点の位置情報、検出された時刻、及び複数のタッチ点を識別するためのIDを示す情報が含まれる。なお、IDにはタッチ点が検出された順番を関連させることで、検出されるタッチ点の数が複数である場合に管理がしやすくなる。検出部111は、タッチ点に関する情報をIDに関連付け、タッチ点毎に保持する。検出部111は、IDを基に、既に検出されているタッチ点の最新の情報を検出することができるので、同じIDのタッチ点が以前に検出されたのと異なる位置で検出された事に基づいて、タッチ点が移動したことを検出する。また、検出されていたタッチ点でのタッチが離されたことを検出することができる。本実施形態では、タッチ点が解除された場合には、保持していたタッチ点の情報を消去する。取得部112は、CPU101、ROM102、RAM103等で構成され、検出部111にて2点のタッチ点が検出された場合に、その2点間の距離を取得する。判定部113は、CPU101、ROM102、RAM103等で構成され、取得部112にて取得された2点間の距離が連続して拡大、あるいは連続して縮小された回数に基づき、表示画像の拡大あるいは縮小を指示するピンチ操作が入力されたか否かの判定を行う。本実施形態では、2点間の距離が拡大あるいは縮小されたことが規定回数以上連続した場合に、ピンチ操作が入力されたと判定する。さらに、判定部113は、ピンチ操作が入力されていない場合には、ピンチ操作以外のマルチタッチ操作が入力されたか否かを判定する。決定部114は、CPU101、ROM102、RAM103等で構成され、判定部113の判定結果に基づき、情報処理装置100に入力されたマルチタッチ操作を決定し、出力制御部115に通知する。出力制御部115は、CPU101、ROM102、RAM103等で構成され、ユーザによって入力されたマルチタッチ操作の結果を出力する為、出力に関連する機能部を制御する。本実施形態では、入力されたマルチタッチ操作に応じた表示画像を生成して、タッチパネルディスプレイ108である出力装置に表示させる。特に、情報処理装置100に対して、ピンチ操作が入力された場合には、タッチパネルディスプレイ108に表示されていた画像を拡大あるいは縮小して表示させるための表示画像を生成し、出力する。また、情報処理装置100に対して、マルチドラッグ操作が入力された場合には、タッチパネルディスプレイ108に表示されていた画像とは異なる画像を表示させるための表示画像を生成し、出力するものとする。
図2は、情報処理装置100がマルチタッチ操作を認識する処理の流れの一例を示すフローチャートである。図2のフローチャートの処理は、入力インタフェース105からタッチパネルにおいて検出されたタッチ点の情報の通知があったことに応じて起動される。また、入力インタフェース105からタッチパネル等において検出されていたタッチ点が検出されなくなったとの通知があったことに応じても起動される。
まず、ステップS201では、検出部111がタッチ点を検出する。検出部111は、タッチパネルが検出する情報に基づき、入力インタフェース105から通知されるタッチ点に関する情報を取得する。さらに検出部111は、検出したタッチ点を識別するためのID毎に、タッチ点に関する情報を保持する。本実施形態では、RAM103をタッチ点の情報を保持するために利用するものとする。
次に、ステップS202において、取得部112が、タッチパネルで検出されているタッチ点が複数であるか否かを判定する。タッチ点の数が複数であると判定された場合には、ステップS203に進む。一方、タッチ点の数が複数ではないと判定された場合には、処理を終了する。
ステップS203では、取得部112が、検出されているタッチ点の2点間の距離を取得する。取得部112は、検出部111が保持している各タッチ点に関する情報を参照し、2点のタッチ点の位置を示す座標情報から、2点間の距離を算出することにより取得する。
ステップS204では、取得部112が、検出されているIDのタッチ点について、2点間の距離を取得する処理が初回の処理であるか否かを判定する。ここでの初回の処理とは、マルチタッチ操作を構成するタッチ点が最初に検出されてから初めて2点間の距離を取得する処理のことである。2点間の距離を取得する処理が初回であると判定された場合には、ステップS205に進み、2点間の距離を取得する処理が初回ではないと判定された場合には、ステップS206に進む。
ステップS205では、取得部112が取得した2点間の距離を、初回距離及び基準距離として保持する。本実施形態では、RAM103を取得された距離の情報を保持するために利用するものとする。初回距離及び基準距離を保持したら、初回の処理は終了する。
一方、ステップS206では、判定部113が、取得部112が取得した2点間の距離と、RAM103に保持されている基準距離との差分の絶対値が、閾値aよりも大きいか否かを判定する。取得部112が取得した2点間の距離と、RAM103に保持されている基準距離との差分の絶対値は、ユーザの操作による2点間の距離の変化量に相当する。閾値aとは、予め情報処理装置100に登録された距離の大きさの閾値である。本実施形態では、2点間の距離が閾値a以上変化したことに基づいて、情報処理装置100はピンチ操作のためにユーザがタッチした2点間の距離を拡大、あるいは縮小したことを認識する。2点間の距離と基準距離との差分の絶対値が、閾値aよりも大きいと判定された場合には、ステップS207に進む。一方。2点間の距離と基準距離との差分の絶対値が、閾値a以下であると判定された場合には、ステップS214に進む。
ステップS207では、判定部113が、取得部112が取得した2点間の距離と、RAM103に保持されている基準距離との差分が、0未満であるか否かを判定する。取得部112が取得した2点間の距離と、RAM103に保持されている基準距離との差分は、今回の処理で取得した2点間の距離から、以前に取得されて保持されていた基準距離を差し引くことで求められる。従って、2点間の距離と基準距離との差分が0未満であるとは、今回の処理で取得した2点間の距離の方が小さいことを示し、すなわちユーザによって2点間の距離が縮小されたことを意味する。2点間の距離と基準距離との差分が0未満であると判定された場合には、ステップS208に進む。一方、2点間の距離と基準距離との差分が、0以上であると判定された場合には、ステップSこのようにすることで、211に進む。
ステップS208では、判定部113が、ピンチイン回数Ninとピンチアウト回数Noutを読み出し、NinをNin+1にカウントアップするとともに、Noutを0に初期化する。そして、ピンチイン回数Ninとピンチアウト回数Noutの値を保持する。ここで、ピンチイン回数Nin及びピンチアウト回数Noutは、タッチ点の移動を検出することで、2点間の距離を縮小するピンチイン、2点間の距離を拡大するピンチアウトが連続して検出された回数を示す値である。判定部113は、ピンチイン回数Ninとピンチアウト回数Noutの値をRAM103に保持しているものとする。
そして、ステップS209において、判定部113が、保持しているピンチイン回数Ninが規定回数以上であるか否かを判定する。規定回数とは、ピンチインあるいはピンチアウト操作の入力が開始されたことを判定するために、情報処理装置100に予め登録された回数であって、判定部113がRAM103に保持しているものとする。本実施形態では、規定回数以上ピンチインが連続して検出された場合にのみ、ユーザがピンチインの操作を入力したと判定する。このようにすることで、マルチタッチ操作を構成するタッチ点の情報が1点ずつ取得される場合に、一時的に2点間の距離が縮小されたことが検出されたことにより、直ちに表示画像の縮小処理が実行されることを防ぐ。ピンチイン回数Ninが規定回数以上であると判定された場合には、ステップS210に進む。一方、ピンチイン回数Ninが規定回数未満であると判定された場合には、ステップS214に進む。
ステップS210では、決定部114が、判定部113の判定を受け、情報処理装置100に入力された操作はピンチインの操作であると決定し、出力制御部115に通知する。出力制御部115は、ユーザによる操作前にタッチパネルディスプレイ108に表示されていた画像を、2点間の距離の変化量に基づいて縮小して表示させる表示画像を生成し、出力する。
一方、ステップS211においては、判定部113が、ピンチアウト回数Noutとピンチイン回数Ninを読み出し、NoutをNout+1にカウントアップするとともに、Ninを0に初期化する。そして、ピンチアウト回数Noutとピンチイン回数Ninの値を保持する。
そして、ステップS212において、判定部113が、保持しているピンチアウト回数Noutが規定回数以上であるか否かを判定する。ステップS209同様に、本実施形態では、規定回数以上ピンチアウトが連続して検出された場合にのみ、ユーザがピンチアウトの操作を入力したと判定する。このようにすることで、マルチタッチ操作を構成するタッチ点の情報が1点ずつ取得される場合に、一時的に2点間の距離が拡大されたことが検出されたことにより直ちに表示画像の拡大処理が実行されることを防ぐ。ピンチアウト回数Noutが規定回数以上であると判定された場合には、ステップS213に進む。一方、ピンチアウト回数Noutが規定回数未満であると判定された場合には、ステップS214に進む。
ステップS213では、決定部114が、判定部113の判定を受け、情報処理装置100に入力された操作はピンチアウトの操作であると決定し、出力制御部115に通知する。出力制御部115は、ユーザによる操作前にタッチパネルディスプレイ108に表示されていた画像を、2点間の距離の変化量に基づいて拡大して表示させる表示画像を生成し、出力する。
ステップS214では、ピンチ以外のマルチタッチ操作が入力されたか否かの判定処理が実行される。本実施形態では、一例としてマルチドラッグ操作が入力されたか否かを判定するマルチドラッグ判定処理が実行される。ここで実行されるマルチドラッグ判定処理の詳細は後述する。
そして、ステップS215においては、取得部112が、ステップS203で取得した2点間の距離を基準距離として保持する。本実施形態では、RAM103を基準距離の情報を保持するために利用するものとする。基準距離を保持したら、処理は終了する。以上が、本実施形態においてユーザのマルチタッチ操作を認識する処理の流れである。
ここで、図3は、ステップS214で実行されるマルチドラッグ判定処理の流れの一例を示すフローチャートである。
まず、ステップS301において、判定部113は、ステップS201で検出されたタッチ点の移動距離を取得する。判定部113は、RAM103に保持している、タッチ点が前回検出された位置の情報と、今回検出された位置の情報を参照し、タッチ点が移動した距離を求める。
次にステップS302において、判定部113は、少なくとも1つのタッチ点について、取得した移動距離が閾値bよりも大きいか否かを判定する。ここで、閾値bとは、予め情報処理装置100に登録された距離の大きさの閾値で、その値は、情報処理装置100が認識可能なマルチタッチ操作のために、ユーザがタッチパネルをタッチした点を移動させることが必要な最低限の距離に基づいて設定されている。移動距離が閾値bよりも大きいと判定された場合には、ステップS303に進む。一方、移動距離が閾値b以下であると判定された場合には、処理を終了する。本実施形態では、タッチ点の移動距離が閾値bよりも大きかった場合に、ユーザはマルチタッチ操作を行うためにタッチ点を動かしたと考え、入力されたマルチタッチ操作がマルチドラッグ操作か否かを判定する処理を実行する。タッチ点の移動距離が閾値b未満だった場合には、ユーザはタッチ点を停止させていると考え、入力されたマルチタッチ操作を判定する段階ではないとして処理を終了し、マルチタッチ操作を認識するメインの処理(図2のフローチャート)にリターンする。
次に、ステップS303では、判定部113が、ステップS203で取得部112が取得した2点間の距離と、初回距離との差分の絶対値が、閾値c未満か否かを判定する。判定部113はRAM103から、取得部112が取得した2点間の距離と、保持されていた初回距離を読み出し、その差分の絶対値を求める。求められた差分の絶対値は、ユーザによってタッチパネルがタッチされた最初の状態からの2点間の距離の変化量に相当する。そして、閾値cは、予め情報処理装置100に登録された距離の大きさの閾値で、本実施形態では、2点間の距離の変化量が閾値c未満である場合には、2点間の距離が略一定に保たれていると考え、ステップS304に進む。一方、2点間の距離と初回距離との差分の絶対値が、閾値c以上であると判定された場合には、処理を終了し、マルチタッチ操作を認識するメインの処理(図2のフローチャート)にリターンする。この際、本実施形態では、一度2点間の距離が略一定でなくなった後に検出されたタッチ点に対してもマルチドラッグ判定処理を実行し、2点間の距離と初回距離とが略一定に戻った際にはマルチドラッグ操作が入力されたと決定する。ただし、一度マルチドラッグ操作が入力された後で、2点間の距離が略一定でなくなったことに基づいて、例えばユーザがマルチドラッグ操作をキャンセルした事を示すキャンセルフラグを立てて、この後マルチドラッグ判定処理を行わないようにしてもよい。尚、キャンセルフラグは、例えば次に操作を開始するために改めてタッチされたタッチ点の情報が通知された時に下げればよい。
本実施形態では、2点間の距離が略一定に保たれたまま移動されている場合には、マルチドラッグ操作が入力されたと判定する。従って、ステップS304では、決定部114が、情報処理装置100に入力された操作はマルチドラッグ操作であると決定し、出力制御部115に通知して、マルチタッチ操作を認識するメインの処理(図2のフローチャート)にリターンする。以上が、本実施形態のステップS214において実行されるマルチドラッグ判定処理である。
以上説明したように、本実施形態では、2点間の距離が拡大された、あるいは縮小されたことが規定回数以上連続して検出されたことに応じて、ピンチ操作が入力されたと判定する。2点間の距離が拡大された、あるいは縮小されたと連続して判定された回数が、規定回数に満たない場合には、ピンチではない他のマルチタッチ操作が入力されたか否かを判定する。このようにすることで、マルチタッチ操作を構成するタッチ点の情報が1点ずつ取得される場合に、一時的に2点間の距離の大きさが変化したことによって、直ちに表示画像の拡大縮小処理が実行されることを防ぐ。従って、ユーザがタッチした2点の間の距離をほぼ一定に保ったまま同一方向にさせる場合には、誤ってピンチ操作が入力されたと判定され、ユーザの意図に反して表示画像の表示倍率が変更される誤動作は防止される。
なお、本実施形態では、入力インタフェース105が、入力装置であるタッチパネルが検出している複数のタッチ点の情報を一定の周期で参照し、1点についての情報を取得する毎に順次検出部111に信号を通知するものとした。このように、タッチ点の最新の情報が少なくとも1点分取得される度に、タッチ操作を認識する処理を行えるようにしたことで、情報処理装置100はタッチ操作に対する反応を速やかに出力することができる。その一方で、一時的な2点のタッチ点の間の距離変化が検出されやすくなるために、上述したようにユーザの意図に反したピンチ操作が認識される場合があった。このような問題は、例えば一定の周期でタッチ点の検出領域を走査するタッチパネルから、走査に従い1点ずつ検出されるタッチ点の情報が通知され、入力インタフェース105が取得した1点分の情報を順次検出部111に通知する形態であっても同様に発生する。そのような情報処理装置100においても、本実施形態で説明したように、2点間の距離の拡大あるいは縮小が連続して検出されたことに基づいてピンチ操作を認識するようにすることで、誤動作を低減することができる。
ここで、具体的に、第1の実施形態による情報処理装置100をユーザが操作する操作例1を説明する。図4は、マルチドラッグ操作を構成する複数のタッチ点の一例を示す。図4(a)と図4(b)は、マルチドラッグを行った際にタッチ点が移動する様子の一例を示している。タッチ点の座標は、入力領域400の図面に向かって左上を原点とし、指が触れた横方向の位置をx座標、縦方向の位置をy座標で表したものとする。単位は、タッチパネルディスプレイの画面解像度に合わせてdotとする。
なお、操作例1では、ユーザにタッチされた2点間の距離が、拡大されたあるいは縮小されたと判定するための閾値aを30dotとし、ピンチイン及びピンチアウトの操作が入力開始されたと判定されるために必要な規定回数を2として説明する。また、タッチ点が操作のために移動されたか否かを判定するための閾値bを20dot、2点間の距離が維持されているか否かを判定するための閾値cを10dotとする。
まずは、入力インタフェース105からタッチ点Aの情報が通知されることにより、マルチタッチ操作を認識する処理(図2のフローチャート)が開始される。ステップS201では、検出部111がタッチ点Aを検出する。検出部111は、ステップS304において、タッチ点Aについて、位置を示す座標情報としてX座標Ax=100、Y座標Ay=100、検出された時刻を示す情報をID=1に関連付けて保持する。以下、タッチ点の情報が通知される度に、ステップS201においては、同様にID毎にタッチ点の情報が保持される。ステップS202では、取得部112にてタッチ点数が2点であるかを判断する。この時点で検出されているタッチ点はタッチ点Aの1点のみなので、NOに進み処理を終了する。
次に入力インタフェース105からタッチ点Bの情報が通知されることで、図2のフローチャートの処理が開始される。ステップS201では検出部111によりタッチ点Bが検出される。検出部111は、タッチ点B(ID=2)に関する情報を保持する。ステップS202ではこの時点で検出されているタッチ点がタッチ点Aとタッチ点Bの2点で複数であるため、YESに進む。ステップS203では、取得部112がタッチ点Aタッチ点Bの2点間の距離を取得する。タッチ点Aタッチ点Bの2点間の距離は、例えば次のような式で求められる。
√{(Bx−Ax)*(Bx−Ax)−(By−Ay)*(By−Ay)}=√{(100−100)*(100−100)−(200−100)*(200−100)}=100[dot]
従って、タッチ点A(100,100)、タッチ点B(100,200)の間の距離は100dotと求められる。この時、取得部112が取得する2点間の距離は、図4(c)の矢印で示された部分である。ステップS204では、取得部112が、2点間の距離を取得する処理は初回であったためYESに進み、ステップS205において、取得した2点間の距離100dotを、初回距離及び基準距離としてRAM103に保持し、処理を終了する。
図4(b)は、図4(a)の状態から、2本の指401が移動された状態を示している。この時、2本の指401はA(200,100)、B(200,200)に移動しているが、1点ずつ順番に検出される。従って、タッチ点A(ID=1)の情報が通知された時点で、再び図2のフローチャートの処理が開始される。ステップS201ではタッチ点Aが検出され、検出部111は保持しているタッチ点の情報のうちIDが1のタッチ点の情報を更新し、前回検出された位置情報とともに今回検出された位置情報を保持する。ステップS202ではこの時点で検出されているタッチ点がタッチ点Bとタッチ点Aの2点であるため、YESに進む。ステップS203では、取得部112がタッチ点Bとタッチ点Aの2点間の距離を取得する。2点間の距離は、例えば次のような式で求められる。
√{(Ax−Bx)*(Ax−Bx)−(Ay−By)*(Ay−By)}=√{(200−100)*(200−100)−(100−200)*(100−200)}≒141.4[dot]
この時、算出される2点間の距離は、図4(d)の矢印で示された部分である。ステップS204では、取得部112が、IDが1のタッチ点とIDが2のタッチ点の間の距離を取得するのは2回目であるため、NOと判定しステップS206に進む。ステップS206では、ステップS203で取得した2点間の距離141.4dotから基準距離の100dotの差分を求め、その絶対値である41.4dotが閾値の30dotを超えているため、YESに進む。ステップS207では、ステップS203で取得した2点間の距離から基準距離を聞いた差分が41.4dotで、正の値であるためNOに進む。これは、前回の2点間の距離より今回の2点間の距離の方が大きい値ということを示すため、判定部113によって2点間の距離が拡大された、すなわちピンチアウトが1回発生したと判定される。ステップS211では、判定部113が、ピンチアウト回数Noutを1カウントアップとすると同時に、ピンチイン回数Ninを0に初期化する。ここでは、初めてピンチアウトが検出されたため、Nout=1となる。ステップS212では、判定部113によって、ピンチアウト回数が1であり、操作例1で設定されている規定回数の2に満たないと判定され、NOに進む。従って、ステップS214のマルチドラッグ判定処理が実行される。まずステップS301では、判定部113が、今回の処理で検出されたタッチ点A(IDが1のタッチ点)の移動距離を取得する。IDが1のタッチ点は、タッチ点Aからタッチ点Aに移動しており、それぞれの座標から、移動距離は100dotであることがわかる。ステップS302では、取得した移動距離100dotが、予め設定された閾値bの20dotよりも大きいため、YESに進む。ステップS303では、ステップS203で取得部112が取得した2点間の距離141.4dotから保持された初回距離100dotを引いた差分を求める。そして、求めた差分の絶対値41.4dotが、閾値cの10dotよりも大きいため、2点のタッチ点の間の距離は一定に維持されていないとして、NOに進み、図2のフローチャートにリターンする。ステップS215では、ステップS203で取得した2点間の距離141.4dotを基準距離として保持し、処理を終了する。今回の処理では、ピンチアウトが発生したことは認識されたが、ピンチアウトの操作が入力開始されたとは判定せずに、次の処理を待つことになる。
次に、タッチ点B(ID=2)の情報が通知された時点で、再び図2のフローチャートの処理が開始される。ステップS201において検出部111は、タッチ点Bを検出し、IDが2であるタッチ点の情報を更新する。ステップS202ではこの時点で検出されているタッチ点がAとタッチ点Bの2点であるため、YESに進む。ステップS203では、取得部112がタッチ点Aとタッチ点Bの2点間の距離を取得する。2点間の距離は、例えば、次のような式で求められる。
√{(Bx−Ax)*(Bx−Ax)−(By−Ay)*(By−Ay)}=√{(200−200)*(200−200)−(100−200)*(100−200)}=100[dot]
ここで求められる2点間の距離は、図4(e)の矢印で示された部分である。ステップS204では、取得部112が、IDが1のタッチ点とIDが2のタッチ点の間の距離を取得するのは2回目以降であるため、NOに進む。ステップS206では、ステップS203で取得した2点間の距離100dotから、保持されている基準距離の141.4dotを引き、その絶対値41.4dotが、閾値aの30dotを超えているため、YESに進む。次に、ステップS207では、2点間の距離100から基準距離141.4を引いた差分が、−41.4という0未満の負の値であるため、YESに進む。これは、前回取得した2点間の距離より、今回取得した2点間の距離の方が小さい値であるということであり、2点間の距離が縮小された、すなわちピンチインが発生したことを意味する。ステップS208では、ピンチイン回数Ninを1カウントアップするとともに、ピンチアウト回数Noutを0に初期化する。ここでは、初めてピンチインが検出されたため、Nin=1となる。ステップS209では、判定部113が、ピンチイン回数Ninが1であるため、規定回数の2に満たないと判定して処理はNOに進む。従って、ステップS214のマルチドラッグ判定処理が実行される。まずステップS301では、判定部113が、今回の処理で検出されたタッチ点B(IDが2のタッチ点)の移動距離を取得する。IDが2のタッチ点は、タッチ点Bからタッチ点Bに移動しており、それぞれの座標から、移動距離は100dotであることがわかる。ステップS302では、取得した移動距離100dotが、予め設定された閾値bの20dotよりも大きいため、YESに進む。ステップS303では、ステップS203で取得部112が取得した2点間の距離100dotから保持された初回距離100dotを引いた差分を求める。そして、求められた差分が0で、閾値cの10dotよりも未満であるため、2点のタッチ点の間の距離は一定に維持されているとして、YESに進む。そして、ステップS304において、決定部114が、マルチドラッグ操作が入力されたと決定し、出力制御部115に通知する。出力制御部115は、操作が入力される前にタッチパネルディスプレイに表示されていた画像とは異なる特定の画像の表示画像を生成し、ユーザによるタッチが全て解除された事に応じて、表示させるものとする。決定部114が、マルチドラッグ操作が入力されたと決定すると、処理は図2のフローチャートにリターンする。ステップS215では、ステップS203で取得した2点間の距離100dotを基準距離として保持し、処理を終了する。今回の処理では、ピンチインが発生したと認識されたが、ピンチイン操作の入力が開始されたとは判定されず、マルチドラッグ判定処理が実行され、マルチドラッグ操作が入力されたと決定された。この後も、マルチドラッグが継続して入力されたとしても、タッチ点Aおよびタッチ点B検出時に行われた内容の処理が繰り返され、ピンチアウトもピンチインも発生はするが、ピンチ操作として入力が開始されたとは判定されない。
このように、本実施形態を適応することで、マルチタッチ操作可能な情報処理装置において、マルチドラッグを行った場合にはピンチ操作が入力されたと判定されないため、操作中に表示画像が拡大・縮小を繰り返して見辛くなるという問題が発生しない。
次に、第1の実施形態による情報処理装置100をユーザがピンチ操作を行う例を説明する。図5は、ユーザが2点のタッチ点をほぼ同一方向へ移動させながら、少しずつ2点間の距離を変える操作をした場合に検出されるタッチ点の様子を示す。すなわち、ユーザは、表示画像をスクロールしつつ、同時に拡大・縮小操作を行うように、ピンチ操作を入力する。
まず、操作例2として、ユーザがピンチアウトの操作を入力する例を説明する。図5(a)、図5(b)は、ユーザが表示画像に対しスクロール操作をしながら、徐々に表示倍率の拡大を指示するピンチアウト操作を行った場合にタッチ点が移動する様子の一例を示している。図5においても、タッチ点の座標は、入力領域400の図面に向かって左上を原点とし、指が触れた横方向の位置をx座標、縦方向の位置をy座標で表したものとする。単位は、タッチパネルディスプレイの画面解像度に合わせてdotとする。
なお、操作例2においても、ユーザにタッチされた2点間の距離が、拡大されたあるいは縮小されたと判定するための閾値aを30dotとし、ピンチイン及びピンチアウトの操作が開始されたと判定されるために必要な規定回数を2として説明する。また、タッチ点が操作のために移動されたか否かを判定するための閾値bを20dot、2点間の距離が維持されているか否かを判定するための閾値cを10dotとする。
まず、図5(a)の状態で実行される処理は、図4(a)で示した操作例1と同内容であるため、説明を省略する。初回距離及び基準距離は、操作例1と同様にタッチ点Aとタッチ点Bとの間の距離である100dotが保持されている。
図5(b)は、図5(a)の状態から、2本の指401が移動された状態を示している。この時、2本の指401はA(200,40)、B(200,260)に移動しているが、1点ずつ順番に検出される。従って、タッチ点Aの情報が通知された時点で、図2のフローチャートの処理が開始される。
まず、ステップS201ではタッチ点A(ID=1)が検出され、検出部111は保持しているタッチ点の情報のうちIDが1のタッチ点の情報を更新し、前回検出された位置情報とともに今回検出された位置情報を保持する。ステップS202ではこの時点で検出されているタッチ点がタッチ点Bとタッチ点Aの2点であるため、YESに進む。ステップS203では、取得部112がタッチ点Bとタッチ点Aの2点間の距離を取得する。2点間の距離は、例えば次のような式で求められる。
√{(Ax−Bx)*(Ax−Bx)−(Ay−By)*(Ay−By)}=√{(200−100)*(200−100)−(40−200)*(40−200)}≒188.7[dot]
ステップS204では、取得部112が、IDが1のタッチ点とIDが2のタッチ点との間の距離を取得するのは2回目であるため、NOと判定しステップS206に進む。ステップS206では、判定部113が2点間の距離188.7dotから基準距離の100dotを引いた差分を求める。そして、その絶対値88.7dotが、閾値aの30dotを超えているため、YESに進む。ステップS207では、2点間の距離188.7dotから基準距離100dotを引いた差分88.7dotが0より大きい正の値であるためNOに進む。これは、2点間の距離がユーザによって拡大されたことを示す。ステップS211からステップS212までは操作例1と同様で、ピンチアウト回数Noutが1となり規定回数には満たないため、ピンチアウト操作の入力が開始されたとは判定されず、ステップS214のマルチドラッグ判定処理が実行される。マルチドラッグ判定処理では、ステップS301において、IDが1のタッチ点のタッチ点Aからタッチ点Aの移動距離が取得される。ステップS302では、取得された移動距離116.6dotが閾値bの20dotより大きいと判定される。さらにステップS303において、2点間の距離188.7dotと初回距離100dotとの差分が閾値cの10dotよりも大きいため、マルチドラッグ操作が入力されたとは判定されずに、図2のフローチャートにリターンする。ステップS215では、ステップS203で取得した2点間の距離188.7dotを基準距離として保持し、処理を終了する。
次に、タッチ点B(ID=2)の情報が通知された時点で、再び図2のフローチャートの処理が開始される。ステップS201において検出部111は、タッチ点Bを検出し、IDが2であるタッチ点の情報を更新する。ステップS202ではこの時点で検出されているタッチ点がAとタッチ点Bの2点であるため、YESに進む。ステップS203では、取得部112がタッチ点がAとタッチ点Bの2点間の距離を取得する。2点間の距離は、例えば、次のような式で求められる。
√{(Bx−Ax)*(Bx−Ax)−(By−Ay)*(By−Ay)}=√{(200−200)*(200−200)−(260−40)*(260−40)}=220[dot]
ステップS204では、取得部112が、IDが1のタッチ点とIDが2のタッチ点の間の距離を取得するのは2回目以降であるため、NOに進む。ステップS206では、取得した2点間の距離220dotから基準距離の188.7dotを引いた差分を求める。そして、その絶対値が31.3dotとなり、閾値の30dotを超えているため、YESに進む。また、ステップS205では、2点間の距離と基準距離の差分31.3が0より大きい正の値であるためNOに進む。これは、2点間の距離がユーザによって拡大されたことを示す。従って、ステップS211では、判定部113がピンチアウト回数Noutを1カウントアップするためNout=2となり、ピンチイン回数は0に初期化される。ステップS212では、ピンチアウト回数Noutが2で、規定回数の2以上に達したためYESに進む。ステップS213では、決定部114が、ピンチアウトの操作が入力されたと決定し、出力制御部115に通知する。出力制御部115は、ユーザの指401が移動された位置の変化と、2点間の距離の変化から、表示させる表示画像を生成し、タッチパネルディスプレイ108に出力する。ステップS215では、ステップS203で取得した2点間の距離を基準距離として保持し、処理を終了する。この後も仮にタッチ点Aからタッチ点Aの延長線上にさらにタッチ点Aが入力された場合、既にピンチアウト回数が規定回数を超えているため、ここでもピンチアウトが入力されたと判定される。このように、ピンチアウト回数Noutが規定回数を超えた後は、連続して2点間の距離が拡大されたことが検出される度に、ピンチアウトの操作が入力されたと判定されることになる。
このように、本実施形態を適応することで、マルチタッチ操作可能な情報処理装置において、2点のタッチ点をほぼ同一方向へ移動させながら2点間の距離を拡大する操作によって、表示画像をスクロールさせつつ拡大させるピンチアウト操作も入力可能となる。
次に、操作例3として、ユーザがピンチインの操作を入力する例を説明する。図5(c)、図5(d)は、ユーザが表示画像に対しスクロール操作をしながら、徐々に表示倍率の縮小を指示するピンチイン操作を行った場合にタッチ点が移動する様子の一例を示している。
なお、操作例3においても、ユーザにタッチされた2点間の距離が、拡大されたあるいは縮小されたと判定するための閾値aを30dotとし、ピンチイン及びピンチアウトの操作が開始されたと判定されるために必要な規定回数を2として説明する。また、タッチ点が操作のために移動されたか否かを判定するための閾値bを20dot、2点間の距離が維持されているか否かを判定するための閾値cを10dotとする。
図5(c)は、2本の指401が入力領域400に触れた時点での2本の指401の位置を示している。操作例1及び操作例2と同様に、2点のタッチ点が、タッチ点A(100,40)、タッチ点B(100,260)の順番で検出部111に検出されたものとする。操作例3においても、入力インタフェース105から1点分のタッチ点の情報が通知される度に、図2のフローチャートの処理が開始される。ただし、各処理ステップにおける詳細な内容は、操作例1及び操作例2と同様のため説明を省略する。図5(c)の状態では、図4(a)と同様の処理によって、初回距離及び基準距離としてタッチ点Aとタッチ点Bの間の距離である220dotが保持される(ステップS205)。
図5(d)は、図5(c)の状態から、2本の指401が移動された状態を示している。この時、2本の指401はA(200,100)、B(200,200)に移動しているが、1点ずつ順番に検出される。まず、タッチ点A(ID=1)が検出されたことに応じて開始される処理で、タッチ点Bとタッチ点Aの2点間の距離188.8dotが取得される(ステップS203)。また、取得された2点間の距離188.8dotと、基準距離220dotの差分の絶対値は31.3dotとなり、閾値aの30dotを超えていると判定される(ステップS206でYES)。さらに、取得された2点間の距離188.8dotから基準距離220dotを引いた差分は−31.3であり、0未満の負の値であることから、2点間の距離が縮小されたと判定される(ステップS207でYES)。従って、ピンチイン回数Ninが1カウントアップされ、ピンチアウト回数Noutが0に初期化される(ステップS208)。タッチ点Aが検出された時点では、ピンチイン回数Nin=1で、規定回数に満たないと判定され(ステップS209でNO)、ピンチイン操作は入力開始されていないのでマルチドラッグ判定処理が実行される(ステップS214)。マルチドラッグ判定処理では、タッチ点Aからタッチ点Aへの移動距離116.6dotは閾値bの20dotを超えると判定される(ステップS302でYES)。しかし、2点間の距離188.8dotと初回距離220dotの差分の絶対値31.2dotは、閾値cの10dotよりも大きいと判定される(ステップS303でNO)。従って、マルチドラッグ操作は入力されていないとして、図2のフローチャートにリターンし、2点間の距離188.8dotが基準距離として検出部111に保持される(ステップS215)。
続いて、タッチ点B(ID=2)が検出されたことに応じて開始される処理で、タッチ点Aとタッチ点Bの2点間の距離100dotが取得される(ステップS203)。取得された2点間の距離100dotと、基準距離188.8dotの差分の絶対値は88.8dotとなり、閾値aの30dotより大きいと判定される(ステップS206でYES)。さらに、取得された2点間の距離100dotから基準距離188.8dotを引いた差分は−88.8であり、0未満の負の値であることから、2点間の距離が縮小されたと判定される(ステップS207でYES)。従って、ピンチイン回数Ninが1カウントアップされ、ピンチアウト回数Noutが0に初期化される(ステップS208)。タッチ点Bが検出されたことで、ピンチイン回数Nin=2となり規定回数の2回に達したと判定され(ステップS209でYES)、決定部114が、ピンチイン操作が入力されたと決定する(ステップS210)。出力制御部115は、ユーザの指401が移動された位置の変化と、2点間の距離の変化から、表示させる表示画像を生成し、タッチパネルディスプレイ108に出力する。取得部112が、取得した2点間の距離100dotを基準距離として保持し(ステップS215)、処理を終了する。ピンチイン回数Ninは規定回数の2を超えているため、これ以降は、連続して2点間の距離が縮小されたことを検出する度にピンチインの操作が入力されたと判定される。
このように、本実施形態を適応することで、マルチタッチ操作可能な情報処理装置において、2点のタッチ点をほぼ同一方向へ移動させながら、2点間の距離を縮小する操作によって、表示画像をスクロールさせつつ縮小させるピンチイン操作も入力可能となる。
また、操作例2及び操作例3の説明では、ピンチインとピンチアウトが入力されたことを判定するための規定回数を同じ2回としたが、ピンチインとピンチアウトで違う値としてもよい。例えば、2点がタッチされた直後の2点間の距離が大きければ、ピンチインが行われる可能性が高いため、ピンチインを判定する回数は少なく(例えば1回)、ピンチアウトを判定する回数は多く(例えば2回)、規定してもよい。反対に、2点がタッチされた直後の2点間の距離が小さければピンチアウトが行われる可能性が高いため、ピンチアウトを判定する回数は少なく(例えば1回)、ピンチインを判定する回数は多く(例えば2回)、規定してもよい。更に、ピンチの連続発生回数に応じてユーザにタッチされた2点間の距離が、拡大されたあるいは縮小されたと判定するための閾値aの値を変更してもよい。例えば、ピンチインあるいはピンチアウトの連続発生回数が2回目では1回目に比べて閾値aの値を小さくしてもよい。3回目以降の閾値aは、2回目と同じ値としてもよいし、連続発生回数に応じて徐々に小さくしてもよい。こうすることで、拡大、縮小が交互に発生することによる誤動作を低減しつつ、ピンチ操作と判定されるまでの2点間の距離を小さくすることができ、ピンチ操作に対する応答性が良くなる。
なお、本実施形態では2点が入力された場合を例に挙げて説明しているが、3点以上が入力された場合に適用してもよい。例えば、3点以上のタッチ点の中から2点を抽出して、本実施形態の処理を適用してもよい。2点の抽出方法は、最も近い2点、もしくは最も遠い2点を抽出する方法等が考えられる。また、3点以上のタッチ点のそれぞれのタッチ点間の距離の合計値、もしくは平均値等を用いて本実施形態の処理を適用してもよい。
以上のように、本実施形態の情報処理装置100では、ユーザがマルチタッチ操作を入力する際に、マルチタッチ操作を構成するタッチ点の間の距離が拡大された、あるいは縮小された回数が規定回数を超えたことに応じて、ピンチ操作が入力されたと判定する。従って、検出されたタッチ点の情報が1点ずつ更新されるために、一時的に2点間の距離が変化したとしても直ちにピンチ操作が実行されることがないので、ユーザの意図に反して表示画像の拡大・縮小が繰り返されるという誤動作を低減することができる。
また、本実施形態では、マルチタッチ操作の一例として、ユーザが2点のタッチ点の間の距離をほぼ一定に保ったまま同一方向に動かすマルチドラッグ操作を入力する場合を想定した。マルチドラッグ操作では、例えばユーザによる操作が入力される前にタッチパネルディスプレイに表示されていた画像とは異なる画像を特定し、表示させることができるものとする。同様に、ユーザが複数の指を用いて表示されている画像のスクロールや回転を指示する等、他のマルチタッチ操作を入力する場合にも、本実施形態を適応することで、誤ってピンチ操作が認識されることを防ぐことができる。その場合には、ステップS214において、ピンチではないマルチタッチ操作が入力されたか否かを判定する処理を実行する。
<第1の実施形態の変形例>
第1の実施形態では、規定回数以上連続してピンチインもしくはピンチアウトが発生しないとピンチと判定されないため、規定回数の定め方によってはピンチ操作が入力されたと決定し、結果を出力するのが遅くなってしまう。その問題を解決するため、状況に応じて規定回数を変更し、ピンチ操作の実行が遅れることを防ぐ変形例を説明する。
まず、第1の実施形態の変形例1として、ユーザがタッチを開始した時点での2点間の距離が大きい場合に、ピンチアウトあるいはピンチインの操作の入力開始が判定されるために連続して検出されることが必要な規定回数を少ない回数に変更する例を示す。
まず、第1の実施形態の変形例1を効果的に適応可能な具体例を説明する。図6は、マルチドラッグ操作を構成するタッチ点が検出される様子を示す。図6(a)は、2本の指401が入力領域400に触れた時点での2本の指401の位置を示し、図6(b)は、図6(a)の状態から、2本の指401が移動された状態を示している。タッチ点の移動距離は、それぞれX軸のプラス方向に100dotであり、これは図4の操作例1と同様である。ただし、図4の操作例1で示した例よりもタッチ点の2点間の距離が大きい。また、操作例1、操作例2、操作例3と同様に、閾値aは30dotであるものとする。
図6(a)に示された、タッチ点A(100,50)及びタッチ点B(100,250)が検出された時点で取得される2点間の距離は、タッチ点Aとタッチ点Bとの間の距離200dotとなり、200dotが初回距離及び基準距離として保持される。次に図6(b)に示されたタッチ点A(200,50)が検出された時点で取得される2点間の距離は、タッチ点Bとタッチ点Aとの間の距離であるため、233.6dotとなる。ここで、2点間の距離223.6dotと、基準距離200dotの差分を求めると、その絶対値は23.6dotとなるため、閾値aを超えない。このように、2点間の初回距離が大きい場合には、初回距離が小さい場合と同じ距離を移動しても、2点間の距離の変化量が閾値aを超えにくい。これは、2点間の距離が大きい場合、操作のためにタッチ点が移動されたことによる2点間の距離の変化量が、2点間の距離に対して相対的に小さくなるためである。従って、初回距離が大きいにも関わらず、閾値aを超えるだけの2点間の距離の変化が検出された場合には、ユーザが2点間の距離を積極的に変化させた、すなわちピンチ操作が入力された可能性が高いと考えることができる。
そこで変形例1では、ユーザがタッチを開始した時点での2点間の距離が大きい場合には、ピンチ操作の開始を判定するために用いる規定回数を少ない回数に変更することで、入力されたピンチ操作に対する結果の出力が遅れることを防ぐ。
第1の実施形態の変形例1に係る情報処理装置100のハードウェア構成は、第1の実施形態の図1(a)と同様であるため、説明を省略する。
図1(c)は本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。図1(b)と異なる点は、変更部116が追加されたことである。変更部116は、取得部112が取得した2点間の距離の情報に応じて、ピンチ操作が入力開始されたことを判定するための規定回数を少なく変更し、判定部113に通知する。第1の実施形態の変形例1における変更部116は、特に取得部112に取得された2点間の距離が所定の距離以上大きい場合には、規定回数を少ない回数に変更する処理を実行する。
図7は第1の実施形態の変形例1において、情報処理装置100が実行するマルチタッチ操作を認識する処理の一例を示すフローチャートである。なお、図2と同内容の処理ステップについては、同符号を付して説明を省略し、図2と異なる点を説明する。第1の実施形態の変形例1では、ステップS205において、取得部112が初めて取得したタッチ点2点間の距離を、初回距離及び基準距離として保持して、ステップS701に進む。ステップS701では、変更部116が、ピンチアウトあるいはピンチインの操作の入力開始が判定されるために連続して検出されることが必要な規定回数を変更する処理を行う。
ここで、図8(a)は、第1の実施形態の変形例1のステップS701において実行される、規定回数変更処理の流れの一例を示すフローチャートである。ステップS801では、変更部116が、保持されている初回距離が、閾値d以上であるか否かを判定する。ここで閾値dは、予め情報処理装置100に登録されている距離の大きさの閾値で、タッチパネルディスプレイ108のサイズ、タッチ点の最新情報が検出される周期、及び閾値aの値に基づいて設定されている値である。初回距離が閾値d以上であると判定された場合、ステップS802に進む。一方、初回距離が閾値d未満であると判定された場合、ステップS803に進む。ステップS802では、変更部116が、ピンチ操作の開始を判定するための規定回数を、少ない回数に変更する。本実施形態では、規定回数を1回に設定するものとする。そして、変更した規定回数をRAM103に保持し、判定部113に通知する。この変更された回数は、ユーザがタッチ操作を終了するためにタッチ点を離したことを検出するまで、もしくは次のタッチ操作のための初回のタッチ点を検出した時点まで継続される。このように、初回距離が閾値d以上であった場合、次のタッチ点の情報が検出されるまでの間に、ユーザが2点のタッチ点を移動させることによる2点間の距離の変化量が、相対的に小さくなり、閾値aを超えにくくなる。そのため、2点間の距離が大きいにも関わらず2点間の距離の変化量が閾値aを超えた場合には、ピンチ操作が入力された可能性が高いといえるので、通常設定されているよりも少ない回数をピンチ操作が判定されるための条件に利用する。一方、ステップS803では、判定部113が保持している規定回数を維持して、処理を終了する。
このように、第1の実施形態の変形例1では、ユーザがタッチを開始した時点での2点間の距離が所定の距離(閾値d)よりも大きい場合、ピンチアウトあるいはピンチインの操作の入力が開始されたことを判定するために用いる規定回数を少ない回数に変更する。すなわち、ユーザがタッチを開始した時点での2点間の距離が大きいにも関わらず、2点間の距離の閾値a以上の変化が検出された場合には、ピンチ操作が入力された可能性が高いことから、直ちに表示画像の拡大縮小処理を実行する。これにより、ユーザの操作による結果を速やかに出力することができる。
また、第1の実施形態の変形例2として、タッチ点の最新の情報が検出される周期が短い場合に、ピンチアウトあるいはピンチインの操作の入力開始が判定されるために連続して検出されることが必要な規定回数を少ない回数に変更する例を説明する。
まず、第1の実施形態の変形例2を効果的に適応可能な具体例を説明する。図9は、マルチドラッグ操作を構成するタッチ点が検出される様子を示す。図9(a)は、2本の指401が入力領域400に触れた時点での2本の指401の位置を示し、図9(b)は、図9(a)の状態から、2本の指401が移動された状態を示している。ただし、図9(a)(b)で示す例では、入力インタフェース105が、タッチパネルが検出しているタッチ点の情報を参照する周期、すなわちタッチ点の最新の情報が検出される周期が、操作例1で示した20msecより短い10msecであるものとする。図4で示した操作例1に比較して、タッチ点の最新の位置が検出される周期が半分になったことで、図9(b)では、同じIDのタッチ点の最新の位置が検出されるまでの間に、各タッチ点が移動する距離は半分の50dotとなっている。なお、変形例2でも操作例1、操作例2、操作例3と同様に、閾値aは30dotであるものとする。
図9(a)に示された、タッチ点A(100,100)及びタッチ点B(100,200)の2点が検出された時点では、図4(a)に示した操作例1と同様、タッチ点Aとタッチ点Bとの間の距離100dotが初回距離及び基準距離として保持される。さらに、タッチパネルのタッチ点情報が10msec毎に参照されることによって、図9(b)に示されたタッチ点A(150,100)が検出された時点では、2点間の距離として、タッチ点Bとタッチ点Aとの間の距離111.8dotが取得される。ここで、2点間の距離111.8dotと、基準距離100dotの差分を求めると、その絶対値は11.8dotとなるため、閾値aを超えない。このように、タッチ点の最新の位置が検出される周期が短い場合、その間にタッチ点が移動可能な距離は小さくなるため、2点間の距離の変化量は閾値aを超えにくくなる。従って、タッチ点の最新の位置が検出される周期が短いにも関わらず、閾値aを超えるだけの2点間の距離の変化が検出された場合には、ユーザが2点間の距離を積極的に変化させた、すなわちピンチ操作が入力された可能性が高いと考えることができる。
そこで変形例2では、タッチ点の最新の位置が検出される周期が短い場合には、ピンチ操作の開始を判定するために用いる規定回数を少ない回数に変更することで、入力されたピンチ操作に対する結果の出力が遅れることを防ぐ。
第1の実施形態の変形例2に係る情報処理装置100のハードウェア構成は、第1の実施形態の図1(a)と同様であるため、説明を省略する。また、機能構成は、第1の実施形態の変形例1の図1(c)と同様である。ただし、第1の実施形態の変形例2における変更部116は、検出部111が同じIDのタッチ点の最新の位置を検出する周期が所定の時間よりも短い場合に、規定回数を少ない回数に変更する処理を実行する。
図10は第1の実施形態の変形例2において、情報処理装置100が実行するマルチタッチ操作を認識する処理の一例を示すフローチャートである。なお、図2及び図7と同内容の処理ステップについては、同符号を付して説明を省略し、図7と異なる点を説明する。第1の実施形態の変形例2では、ステップS204において、取得部112が2点間の距離を取得する処理が初回ではないと判定された場合に、ステップS1001の規定回数変更処理に進む。ステップS1001では、変更部116が、図8(b)のフローチャートに従って、規定回数を変更する処理を行う。
まず、ステップS811では、変更部116が、検出部111がタッチ点の最新の位置を検出する周期(タッチ点の検出周期)を示す情報を取得する。本実施形態では、検出部111が、入力インタフェース105がタッチパネルのタッチ点情報を参照する周期を制御しているものとする。従って、変更部116は、検出部111からタッチ点の検出周期を示す情報を取得する。ただしこれに限らず、変更部116は、例えばアプリケーションからタッチ点の検出周期の設定情報を取得してもよい。次に、ステップS812では、変更部116が、タッチ点の検出周期が閾値e未満であるか否かを判定する。閾値eは、予め情報処理装置100に登録されている時間の長さの閾値であって、タッチパネルディスプレイ108のサイズ、及び閾値aの値に基づいて設定されている値である。タッチ点の検出周期が閾値e未満であると判定された場合、処理はステップS802に進む。一方、タッチ点の検出周期が閾値e以上であると判定された場合、処理はステップS803に進む。ステップS802では、第1の実施形態の変形例1と同様、変更部116が、ピンチ操作の開始を判定するための規定回数を、少ない回数に変更する。そして、変更した規定回数をRAM103に保持し、判定部113に通知する。タッチ点の検出周期が閾値e未満であった場合、タッチ点の検出が行われる1周期の間に、ユーザが2点のタッチ点を移動させることによる2点間の距離の変化量が小さくなり、閾値aを超えにくくなる。そのため、タッチ点の検出周期が短いにも関わらず2点間の距離の変化量が閾値aを超えた場合には、ピンチ操作が入力された可能性が高いといえるので、通常設定されているよりも少ない回数をピンチ操作が判定されるための条件に利用する。一方、ステップS803では、判定部113が保持している規定回数を維持して、処理を終了する。
このように、第1の実施形態の変形例2では、タッチ点の最新の位置が検出される周期が所定の時間(閾値e)よりも短い場合には、ピンチアウトあるいはピンチインの操作の入力が開始されたことを判定するための条件に用いる規定回数を少ない回数に変更する。すなわち、ユーザがタッチした位置の情報が更新される周期が短いにも関わらず、2点間の距離の閾値a以上の変化が検出された場合には、ピンチ操作が入力された可能性が高いことから、直ちに表示画像の拡大縮小処理を実行する。これにより、ユーザの操作による結果を速やかに出力することができる。
また、変形例2の規定回数変更処理は、2回目以降に2点間の距離を取得した直後に実行されるものとしたが、これに限らない。例えば、情報処理装置100の起動時や、アプリケーションによってタッチ点を検出する周期が変更されたタイミングで、図8(b)の規定回数変更処理を実行してもよい。この際にも、変更された規定回数は変更部116がRAM103等に保持し、判定部113に通知する。そして、図2のフローチャートに従って実行されるマルチタッチ操作を認識する処理において、ピンチイン回数Ninあるいはピンチアウト回数Noutを、規定回数と比較する処理を行う際に、判定部113は変更された規定回数を参照する。また、変形例2では、タッチ点を検出する周期が所定の時間未満の場合にピンチの規定回数を少ない回数に変更する例を示したが、反対にタッチ点を検出する周期が所定の時間以上の場合にピンチの規定回数を大きい値に変更してもよい。
次に、第1の実施形態の変形例3として、タッチ点の移動速度が小さい場合に、ピンチアウトあるいはピンチインの操作の入力開始が判定されるために、2点間の距離の変化が連続して検出されることが必要な規定回数を少ない回数に変更する例を説明する。
まず、第1の実施形態の変形例3を効果的に適応可能な具体例を説明する。図9(a)は、変形例2で説明した通り2本の指401が入力領域400に触れた時点での2本の指401の位置を示す。さらに、図9(c)は、図9(a)の状態から、2本の指401が移動された状態を示している。ただし、図9(a)(c)で示す例では、タッチ点の移動が遅いため、操作例1と同じ20msecの周期でタッチ点の最新の位置が検出された場合において、同じIDのタッチ点が検出されるまでに各タッチ点が移動する移動距離が50dotと小さくなっている。なお、ここでも操作例1、操作例2、操作例3と同様に、閾値aは30dotであるものとする。
図9(a)に示された、タッチ点A(100,100)及びタッチ点B(100,200)の2点が検出された時点では、図4(a)に示した操作例1と同様、タッチ点Aとタッチ点Bとの間の距離100dotが初回距離及び基準距離として保持される。次に図9(b)に示されたタッチ点A(150,100)が検出された時点では、2点間の距離として、タッチ点Bとタッチ点Aとの間の距離111.8dotが取得される。ここで、2点間の距離111.8dotと、基準距離100dotの差分を求めると、その絶対値は11.8dotとなるため、閾値aを超えない。このように、タッチ点が移動する速度が小さい場合、タッチ点が次に検出されるまでの間にタッチ点が移動する距離も小さくなるため、2点間の距離の変化量は閾値aを超えにくくなる。従って、タッチ点が移動する速度が小さいにも関わらず、閾値aを超えるだけの2点間の距離の変化が検出された場合には、ユーザが2点間の距離を積極的に変化させた、すなわちピンチ操作が入力された可能性が高いと考えることができる。
そこで変形例3では、タッチ点が移動する速度が小さい場合には、ピンチ操作の開始を判定するために用いる規定回数を少ない回数に変更することで、入力されたピンチ操作に対する結果の出力が遅れることを防ぐ。
第1の実施形態の変形例3に係る情報処理装置100のハードウェア構成も、第1の実施形態の図1(a)と同様であるため、説明を省略する。また、機能構成は、第1の実施形態の変形例1の図1(c)と同様である。ただし、第1の実施形態の変形例3における変更部116は、検出部111が検出したタッチ点の位置が移動する速度が所定の速度よりも遅い場合に、規定回数を少ない回数に変更する処理を実行する。
第1の実施形態の変形例3においても、図10のフローチャートに従って情報処理装置100が実行するマルチタッチ操作を認識する処理が実行される。ただし、ステップS1001の規定回数変更処理では、変更部116が、図8(c)のフローチャートに従って、規定回数を変更する処理を行う。
まず、ステップS821では、変更部116が、タッチ点の移動速度を取得する。この際、変更部116は、検出部111が保持している、タッチ点が前回検出された位置の情報と今回検出された位置の情報とから得られるタッチ点の移動距離と、タッチ点の検出周期とに基づいて、移動速度を求める。図9(c)の例であれば、タッチ点Aからタッチ点Aへの移動距離50dotと、タッチ点の検出周期20msecから、移動速度は2.5dot/msecと求められる。タッチ点Bからタッチ点Bへの移動についても同様である。ステップS822では、変更部116が、ステップS821にて取得した移動速度が閾値f未満であるか否かを判定する。閾値fは、予め情報処理装置100に登録されている速度の大きさの閾値であって、タッチパネルディスプレイ108のサイズ、タッチ点の検出周期、及び閾値aの値に基づいて設定されている値である。タッチ点の移動速度が閾値f未満であると判定された場合、処理はステップS802に進む。一方、タッチ点の移動速度が閾値f以上であると判定された場合、処理はステップS803に進む。ステップS802では、第1の実施形態の変形例1及び変形例2と同様、変更部116が、ピンチ操作の開始を判定するための規定回数を、少ない回数に変更する。そして、変更した規定回数をRAM103に保持し、判定部113に通知する。一方、ステップS803では、判定部113が保持している規定回数を維持して、処理を終了する。
このように、第1の実施形態の変形例3では、タッチがの移動速度が所定の速度(閾値f)よりも小さい場合には、ピンチアウトあるいはピンチインの操作の入力が開始されたことを判定するための条件に用いる規定回数を少ない回数に変更する。すなわち、ユーザによるタッチ点の移動が遅いにも関わらず、2点間の距離の閾値a以上の変化が検出された場合には、ピンチ操作が入力された可能性が高いことから、直ちに表示画像の拡大縮小処理を実行する。これにより、ユーザの操作による結果を速やかに出力することができる。
また、ここでは、タッチ点が検出される毎に、前回の検出位置から今回の検出位置の検出周期への移動の速度を求めているが、タッチ点の検出を複数回行う毎に平均速度を求めてもよい。こうすることで、タッチパネルに検出されるタッチ点の位置の精度による影響を少なくすることができる。また、変形例3では、タッチ点の移動速度が所定の速度未満の場合にピンチの規定回数を少ない回数に変更する例を示したが、反対にタッチ点の移動速度が所定の速度以上の場合に規定回数を大きい値に変更してもよい。
なお、上述した第1の実施形態の変形例では、ステップS802で規定回数を少ない回数に変更する方法の一例として、1回という固定値に変更した。ただし、例えばステップS802ではデクリメントし、ステップS803ではインクリメントするなど、処理の度に変更してもよい。また、2点間の距離の大きさやタッチ点の検出周期、タッチ点の移動速度に応じた段階的な複数の閾値を設け、それに対応して段階的に規定回数を変更してもよい。
以上のように、本実施形態の情報処理装置100においては、状況に応じてピンチ操作が入力されたことを判定するための条件として用いる規定回数を、少ない回数に変更することで、ユーザの操作に対して速やかに反応することができる。なお、2点のタッチ点の間の距離が拡大されたあるいは縮小されたことを判定するための閾値aの大きさを、状況に応じて変更することによっても、上述した変形例と同じように、ユーザの操作に対して速やかに反応することができる。
<その他の実施形態>
第1の実施形態では、検出部111がタッチ点を検出する度に、情報処理装置100に対してピンチ操作の入力が開始されたか否かを判定し、ピンチ操作が開始されていない場合に、その他のマルチタッチ操作が入力されたか否か判定していた。ただし、他の実施形態として、検出部111がタッチ点を検出する度に、ピンチ操作が入力されたか否かを判定する処理と、その他のマルチタッチ操作が入力されたか否かを判定する処理を独立に実行することもできる。その際には、例えば図2のフローチャートにおいて、ステップS214を省略したピンチ判定処理と、図3(a)のフローチャートのマルチドラッグ判定処理を、直列処理あるいは並列処理する。ただし、図3(b)のフローチャートの処理開始直後に、図2のフローチャートのステップS201及びステップS202と同内容の処理ステップを加え、複数のタッチ点が検出されている場合にのみ、処理が実行されることが好ましい。複数のマルチタッチ操作が入力されたか否かを判定する複数の処理を独立して実行させる場合においても、2マルチタッチ操作を構成する2点のタッチ点の間の距離が、規定回数連続して拡大あるいは縮小された場合にのみピンチ操作が行われたことを判定する。それによって、マルチタッチ操作を構成する複数のタッチ点の位置情報が1点ずつ取得される場合に、ユーザの意図に反してピンチ操作が入力されたと判定され、表示画像の表示倍率が変更される誤動作は防止される。このように、複数のマルチタッチ操作が入力されたか否かを判定する複数の処理を独立して実行する方法では、実行する処理と実行しない処理を選択することで、アプリケーション毎に認識可能なマルチタッチ操作を限定するなど、必要に応じた調整が可能となる。また、処理負荷を調整することができる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (17)

  1. マルチタッチ操作が可能な情報処理装置であって、
    前記情報処理装置に対して入力された複数のタッチ点の位置を取得する位置取得手段と、
    前記位置取得手段によって取得された位置に基づいて、前記マルチタッチ操作を構成する2点のタッチ点の間の距離を取得する距離取得手段と、
    前記情報処理装置に対して入力されたマルチタッチ操作を決定する決定手段とを備え、
    前記決定手段は、前記距離取得手段によって複数回に渡って取得される前記2点のタッチ点の間の距離が、連続して拡大された場合に前記入力されたマルチタッチ操作は表示部に表示されている画像を拡大して表示させるための操作であると決定するか、または連続して縮小された場合に前記入力されたマルチタッチ操作は前記表示部に表示されている画像を縮小して表示させるための操作であると決定することを特徴とする情報処理装置。
  2. 前記距離取得手段によって複数回に渡って取得された前記2点のタッチ点の間の距離が、連続して拡大されたか、または、連続して縮小されたかを判定する判定手段を更に備え、
    前記決定手段は、前記判定手段による判定結果に応じて、前記入力されたマルチタッチ操作を決定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記位置取得手段は、前記マルチタッチ操作を構成する複数のタッチ点の位置を1点ずつ取得し、
    前記距離取得手段は、前記位置取得手段がタッチ点の位置を1点ずつ取得する度に、前記マルチタッチ操作を構成する2点のタッチ点の間の距離を取得する、ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記判定手段は、前記距離取得手段によって複数回に渡って取得される前記2点のタッチ点の間の距離が、連続して拡大あるいは連続して縮小されていないと判定した場合に、前記情報処理装置に対して前記拡大または縮小の操作以外のマルチタッチ操作が入力されたか否かを判定することを特徴とする請求項2に記載の情報処理装置。
  5. 前記判定手段は、前記判定手段によって、前記距離取得手段によって複数回に渡って取得される前記2点のタッチ点の間の距離が、連続して拡大あるいは連続して縮小されていないと判定された場合に、前記マルチタッチ操作を構成する2点のタッチ点が移動されたときに前記距離取得手段が取得した前記2点のタッチ点の間の距離と、前記距離取得手段が最初に検出した前記2点のタッチ点の間の距離とが略一定に保たれているかを判定することを特徴とする請求項に記載の情報処理装置。
  6. 前記決定手段は、前記マルチタッチ操作を構成する2点のタッチ点が移動されたときに前記距離取得手段が取得した前記2点のタッチ点の間の距離と、前記距離取得手段が最初に検出した前記2点のタッチ点の間の距離とが略一定に保たれている場合には、前記入力されたマルチタッチ操作は、前記表示部に表示されている画像とは異なる画像を特定して表示させるための操作であると決定することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記決定手段は、前記距離取得手段によって複数回に渡って取得される前記2点のタッチ点の間の距離が、規定回数以上連続して拡大された場合に前記入力されたマルチタッチ操作は前記拡大の操作であると決定するか、または規定回数以上連続して縮小された場合に、前記入力されたマルチタッチ操作は前記縮小の操作であると決定することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 前記規定回数を変更する変更手段を更に備え、
    前記変更手段は、前記距離取得手段が最初に検出した前記2点のタッチ点の間の距離が、所定の距離よりも大きい場合に、前記規定回数をより少ない回数に変更することを特徴とする請求項7に記載の情報処理装置。
  9. 前記規定回数を変更する変更手段を更に備え、
    前記位置取得手段は、入力装置であるタッチパネルが検出している複数のタッチ点の情報を一定の周期で1点ずつ順次取得し、
    前記変更手段は、前記位置取得手段が、前記複数のタッチ点の最新の位置情報を検出する周期が、所定の時間よりも短い場合に、前記規定回数をより少ない回数に変更することを特徴とする請求項7に記載の情報処理装置。
  10. 前記規定回数を変更する変更手段を更に備え、
    前記変更手段は、前記位置取得手段によって取得されたタッチ点の位置の移動速度が所定の速度より小さい場合に、前記規定回数をより少ない回数に変更することを特徴とする請求項7に記載の情報処理装置。
  11. コンピュータに読み込ませ実行させることで、前記コンピュータを請求項1乃至10のいずれか1項に記載された情報処理装置として動作させるためのプログラム。
  12. マルチタッチ操作が可能な情報処理装置の制御方法であって、
    位置取得手段により、前記情報処理装置に対して入力された複数のタッチ点の位置を取得する位置取得工程と、
    距離取得手段により、前記位置取得工程において取得された位置に基づいて、前記マルチタッチ操作を構成する2点のタッチ点の間の距離を取得する距離取得工程と、
    決定手段により、前記情報処理装置に対して入力されたマルチタッチ操作を決定する決定工程とを備え、
    前記決定工程では、前記距離取得工程において複数回に渡って取得される前記2点のタッチ点の間の距離が、連続して拡大された場合に前記入力されたマルチタッチ操作は表示部に表示されている画像を拡大して表示させるための操作であると決定するか、または連続して縮小された場合に前記入力されたマルチタッチ操作は前記表示部に表示されている画像を縮小して表示させるための操作であると決定することを特徴とする情報処理装置の制御方法。
  13. 請求項11に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
  14. マルチタッチ操作が可能な情報処理装置であって、
    前記情報処理装置に対して入力された複数のタッチ点の位置を取得する位置取得手段と、
    前記位置取得手段によって取得された位置に基づいて、前記マルチタッチ操作を構成する2点のタッチ点の間の距離を取得する距離取得手段と、
    前記情報処理装置に対して入力されたマルチタッチ操作を決定する決定手段とを備え、
    前記決定手段は、前記距離取得手段によって複数回に渡って取得される前記2点のタッチ点の間の距離が連続して拡大された場合、前記入力されたマルチタッチ操作は表示部に表示されている画像を拡大して表示させるための拡大操作であると決定し、前記距離取得手段によって取得される前記2点のタッチ点の間の距離が拡大されたが複数回連続してはいない場合、前記入力されたマルチタッチ操作は前記拡大操作であると決定しないことを特徴とする情報処理装置。
  15. マルチタッチ操作が可能な情報処理装置の制御方法であって、
    位置取得手段により、前記情報処理装置に対して入力された複数のタッチ点の位置を取得する位置取得工程と、
    距離取得手段により、前記位置取得工程において取得された位置に基づいて、前記マルチタッチ操作を構成する2点のタッチ点の間の距離を取得する距離取得工程と、
    前記情報処理装置に対して入力されたマルチタッチ操作を決定する決定工程とを備え、
    前記決定工程では、前記距離取得工程において複数回に渡って取得される前記2点のタッチ点の間の距離が連続して拡大された場合、前記入力されたマルチタッチ操作は表示部に表示されている画像を拡大して表示させるための拡大操作であると決定し、前記距離取得手段によって取得される前記2点のタッチ点の間の距離が拡大されたが複数回連続してはいない場合、前記入力されたマルチタッチ操作は前記拡大操作であると決定しないことを特徴とする情報処理装置。
  16. コンピュータに読み込ませ実行させることで、前記コンピュータを請求項14に記載された情報処理装置として動作させるためのプログラム。
  17. 請求項16に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
JP2012050682A 2012-03-07 2012-03-07 情報処理装置およびその制御方法 Active JP5979916B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012050682A JP5979916B2 (ja) 2012-03-07 2012-03-07 情報処理装置およびその制御方法
EP13156267.0A EP2637088B1 (en) 2012-03-07 2013-02-22 Information processing apparatus, control method thereof, and program
US13/786,289 US9665201B2 (en) 2012-03-07 2013-03-05 Information processing apparatus, control method thereof, and storage medium for recognizing a multi-touch operation
KR1020130023773A KR101572308B1 (ko) 2012-03-07 2013-03-06 정보 처리 장치, 그 제어 방법, 및 저장 매체
CN201310073132.2A CN103336660B (zh) 2012-03-07 2013-03-07 信息处理设备及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012050682A JP5979916B2 (ja) 2012-03-07 2012-03-07 情報処理装置およびその制御方法

Publications (3)

Publication Number Publication Date
JP2013186648A JP2013186648A (ja) 2013-09-19
JP2013186648A5 JP2013186648A5 (ja) 2015-04-23
JP5979916B2 true JP5979916B2 (ja) 2016-08-31

Family

ID=47900536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012050682A Active JP5979916B2 (ja) 2012-03-07 2012-03-07 情報処理装置およびその制御方法

Country Status (5)

Country Link
US (1) US9665201B2 (ja)
EP (1) EP2637088B1 (ja)
JP (1) JP5979916B2 (ja)
KR (1) KR101572308B1 (ja)
CN (1) CN103336660B (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5862587B2 (ja) * 2013-03-25 2016-02-16 コニカミノルタ株式会社 ジェスチャ判別装置、ジェスチャ判別方法、およびコンピュータプログラム
WO2015046287A1 (ja) * 2013-09-27 2015-04-02 株式会社村田製作所 タッチ式入力装置
JP6257255B2 (ja) * 2013-10-08 2018-01-10 キヤノン株式会社 表示制御装置及び表示制御装置の制御方法
WO2015079784A1 (ja) * 2013-11-29 2015-06-04 京セラドキュメントソリューションズ株式会社 情報処理装置、画像形成装置、及び情報処理方法
CN103870160B (zh) * 2014-03-26 2018-03-23 联想(北京)有限公司 一种信息处理方法及电子设备
JP6409312B2 (ja) * 2014-04-18 2018-10-24 セイコーエプソン株式会社 表示システム、表示装置、及び、表示制御方法
CN105242819B (zh) * 2014-06-12 2019-02-05 联想(北京)有限公司 一种快速切换界面的方法和电子设备
JP6344083B2 (ja) * 2014-06-20 2018-06-20 カシオ計算機株式会社 マルチタッチシステム、タッチ座標ペア決定方法及びタッチ座標ペア決定プログラム
CN104156167B (zh) * 2014-07-29 2018-01-02 Tcl通讯(宁波)有限公司 一种移动终端及其儿童模式的进入与退出方法
CN104199611B (zh) * 2014-08-29 2017-07-28 广东欧珀移动通信有限公司 一种移动终端调整播放进度的方法及装置
CN106033300B (zh) * 2015-03-10 2019-07-26 联想(北京)有限公司 一种控制方法及电子设备
US10042532B2 (en) * 2015-05-05 2018-08-07 Facebook, Inc. Methods and systems for viewing embedded content
US9880721B2 (en) * 2015-05-12 2018-01-30 Konica Minolta, Inc. Information processing device, non-transitory computer-readable recording medium storing an information processing program, and information processing method
JP5993511B1 (ja) * 2015-10-15 2016-09-14 株式会社東海理化電機製作所 操作装置
CN105892877A (zh) * 2015-10-23 2016-08-24 乐卡汽车智能科技(北京)有限公司 多指并拢或打开手势的识别方法、装置及终端设备
JP2017174071A (ja) * 2016-03-23 2017-09-28 株式会社東海理化電機製作所 操作装置
CN110249281B (zh) * 2017-02-10 2022-11-22 深圳市大疆创新科技有限公司 位置处理装置、飞行体、及飞行系统
KR20180098021A (ko) 2017-02-24 2018-09-03 삼성전자주식회사 전자장치 및 그 제어방법
JP7037177B2 (ja) * 2018-03-29 2022-03-16 株式会社コナミデジタルエンタテインメント プログラムおよび情報処理装置
JP6770040B2 (ja) 2018-10-23 2020-10-14 ファナック株式会社 タッチパネル装置、タッチパネル装置の制御方法、プログラムおよびプログラムを記憶する記憶媒体
CN109885372A (zh) * 2019-02-25 2019-06-14 努比亚技术有限公司 穿戴式设备的主界面切换方法、穿戴式设备及存储介质
CN113204293B (zh) * 2021-04-22 2023-09-08 Oppo广东移动通信有限公司 触摸感应处理方法、触摸感应处理装置、介质与电子设备
TWI782708B (zh) * 2021-09-16 2022-11-01 華碩電腦股份有限公司 電子裝置及其觸控控制方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5900875A (en) 1997-01-29 1999-05-04 3Com Corporation Method and apparatus for interacting with a portable computer system
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
JP4803883B2 (ja) 2000-01-31 2011-10-26 キヤノン株式会社 位置情報処理装置及びその方法及びそのプログラム。
US7138983B2 (en) * 2000-01-31 2006-11-21 Canon Kabushiki Kaisha Method and apparatus for detecting and interpreting path of designated position
US8643605B2 (en) 2005-11-21 2014-02-04 Core Wireless Licensing S.A.R.L Gesture based document editor
US7956847B2 (en) * 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
KR100892966B1 (ko) * 2007-01-20 2009-04-10 엘지전자 주식회사 터치 스크린을 구비한 전자 기기 및 이를 이용한 정보 표시방법
US7884805B2 (en) 2007-04-17 2011-02-08 Sony Ericsson Mobile Communications Ab Using touches to transfer information between devices
KR20090038540A (ko) * 2007-10-16 2009-04-21 주식회사 현대오토넷 화면 상의 영상위치 변경 장치 및 방법, 그리고 그를이용한 네비게이션 시스템
US20090309847A1 (en) * 2008-06-12 2009-12-17 You I Labs, Inc. Apparatus and method for providing multi-touch interface capability
CN101667089B (zh) 2008-09-04 2011-08-17 比亚迪股份有限公司 一种触摸手势的识别方法和装置
US8217909B2 (en) * 2008-12-19 2012-07-10 Cypress Semiconductor Corporation Multi-finger sub-gesture reporting for a user interface device
US20110032192A1 (en) 2009-08-04 2011-02-10 General Electric Company Touch screen control system and method
JP2011059952A (ja) 2009-09-09 2011-03-24 Aisin Aw Co Ltd 入出力表示装置
JP5340868B2 (ja) 2009-09-24 2013-11-13 パイオニア株式会社 接触操作装置
EP2378403A1 (en) * 2010-04-19 2011-10-19 Tyco Electronics Services GmbH Method and device for determining a user's touch gesture
US8743064B2 (en) * 2010-09-17 2014-06-03 A.I. Solutions, Inc. Gesture orbit design
US9542092B2 (en) * 2011-02-12 2017-01-10 Microsoft Technology Licensing, Llc Prediction-based touch contact tracking
JP2012185647A (ja) * 2011-03-04 2012-09-27 Sony Corp 表示制御装置、表示制御方法、およびプログラム
CN202142028U (zh) 2011-03-31 2012-02-08 比亚迪股份有限公司 多点缩放动作的识别装置
US8368723B1 (en) * 2011-07-14 2013-02-05 Google Inc. User input combination of touch and user position
US10296205B2 (en) * 2011-12-12 2019-05-21 Sony Corporation User interface for controlling a display scale of an image

Also Published As

Publication number Publication date
JP2013186648A (ja) 2013-09-19
EP2637088A2 (en) 2013-09-11
US20130234960A1 (en) 2013-09-12
KR20130102491A (ko) 2013-09-17
KR101572308B1 (ko) 2015-11-26
US9665201B2 (en) 2017-05-30
EP2637088A3 (en) 2017-08-09
CN103336660A (zh) 2013-10-02
EP2637088B1 (en) 2020-05-13
CN103336660B (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
JP5979916B2 (ja) 情報処理装置およびその制御方法
JP5990011B2 (ja) 情報処理装置及びその制御方法
JP6188288B2 (ja) 情報処理装置及びその制御方法
KR102426534B1 (ko) 정보 처리 장치, 정보 처리 방법 및 프로그램
JP5505550B1 (ja) 画像表示装置及びプログラム
US9529527B2 (en) Information processing apparatus and control method, and recording medium
JP5950597B2 (ja) 情報処理装置およびその制御方法
CN107249706B (zh) 游戏控制程序、游戏控制方法和游戏控制装置
US8837775B2 (en) Apparatus and method for recognizing gesture, and non-transitory computer readable medium thereof
JP2011014044A (ja) 操作制御装置、操作制御方法およびコンピュータプログラム
US9798400B2 (en) Displaying device and non-transitory computer-readable recording medium storing instructions
JP6410537B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP2008511876A (ja) タッチパッド上のスクロールおよびエッジモーションの改良された方法
JP6253284B2 (ja) 情報処理装置およびその制御方法、プログラム、記録媒体
US20120056831A1 (en) Information processing apparatus, information processing method, and program
US10379729B2 (en) Information processing apparatus, information processing method and a non-transitory storage medium
JP6176907B2 (ja) 情報処理装置およびその制御方法、プログラム
US9632697B2 (en) Information processing apparatus and control method thereof, and non-transitory computer-readable medium
JP6711632B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP5768869B2 (ja) 画像表示装置及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160726

R151 Written notification of patent or utility model registration

Ref document number: 5979916

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151