Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6004716B2 - 情報処理装置およびその制御方法、コンピュータプログラム - Google Patents
[go: Go Back, main page]

JP6004716B2 - 情報処理装置およびその制御方法、コンピュータプログラム - Google Patents

情報処理装置およびその制御方法、コンピュータプログラム Download PDF

Info

Publication number
JP6004716B2
JP6004716B2 JP2012092213A JP2012092213A JP6004716B2 JP 6004716 B2 JP6004716 B2 JP 6004716B2 JP 2012092213 A JP2012092213 A JP 2012092213A JP 2012092213 A JP2012092213 A JP 2012092213A JP 6004716 B2 JP6004716 B2 JP 6004716B2
Authority
JP
Japan
Prior art keywords
touch
angle
touch positions
distance
setting
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.)
Expired - Fee Related
Application number
JP2012092213A
Other languages
English (en)
Other versions
JP2013222263A5 (ja
JP2013222263A (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 JP2012092213A priority Critical patent/JP6004716B2/ja
Priority to US13/860,207 priority patent/US9195381B2/en
Priority to CN201310127458.9A priority patent/CN103376945B/zh
Publication of JP2013222263A publication Critical patent/JP2013222263A/ja
Publication of JP2013222263A5 publication Critical patent/JP2013222263A5/ja
Application granted granted Critical
Publication of JP6004716B2 publication Critical patent/JP6004716B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

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

Description

本発明は、ユーザによって入力されたマルチタッチ操作を認識する技術に関する。
従来、指やスタイラスによる装置表面の複数箇所の同時タッチを検出し、検出された複数座標の時間に対する変化に応じて装置を操作する技術がある。以下、本明細書ではこの技術を「マルチタッチ操作」と呼ぶ。
一般的なマルチタッチ操作の1つに「回転操作」がある。一般に、回転操作は、表示部に表示されている画像や地図などのオブジェクトを回転させるために用いられる。
特許文献1では、2つの指示位置(タッチ点)による操作を、移動開始時のタッチ点を結ぶ線と、移動終了時の同じタッチ点を結ぶ線とが角度をなす場合に基づいて、回転操作であると解釈する技術が知られている。
特開2011−14169号公報
一方、ユーザが回転操作を意図していない場合にも、タッチ点の位置が移動することに伴って、複数のタッチ点を結ぶ直線に角度の変化が生じる場合がある。このような場合に、回転操作が入力されたと認識されてしまい、表示されているオブジェクトが回転されることは、ユーザの意図に反する誤動作となる。
本発明は上記課題に鑑みてなされたものであり、マルチタッチ操作が可能な装置において、ユーザの意図に反する誤動作を低減することを主な目的とする。
上記の目的を達成するために、本発明に係る情報処理装置は、マルチタッチ操作を受け付ける情報処理装置であって、入力された複数のタッチ位置を所定の周期で検出する検出手段と、前記検出手段によって検出された、第1の時点における2つのタッチ位置から定まる直線と、第2の時点における前記2つのタッチ位置から定まる直線のなす角度を取得する取得手段と、前記第1の時点における2つのタッチ位置の間の距離と、前記2つのタッチ位置によってマルチタッチされているオブジェクトのサイズとに基づいて、角度の閾値を設定する設定手段と、前記取得手段によって取得された角度が、前記設定手段によって設定された角度の閾値より大きい場合に前記2つのタッチ位置に基づく入力を表示部に表示されている前記オブジェクトに対する回転操作を受け付ける受付手段と、を備え、前記設定手段は、前記2つのタッチ位置の間の距離が同じで前記オブジェクトのサイズが異なる場合、前記オブジェクトのサイズが小さいほど小さい角度を、前記角度の閾値として設定することを特徴とする。
本発明によれば、マルチタッチ操作が可能な装置において、ユーザの意図に反する誤動作を低減することができる。
情報処理装置のハードウェア構成及び機能構成を表すブロック図 マルチタッチ操作を認識する処理のフローチャート 情報処理装置が実行する処理の流れの一例を示すフローチャート 情報を管理するテーブルの一例を表す図 具体的に回転操作を行う場合にタッチ点の推移の一例を表す図 情報処理装置の機能構成を表すブロック図 角度の閾値を設定する処理の流れの一例を表すフローチャート ユーザの手のサイズの取得方法の一例を表す図 マルチタッチ操作を認識する処理のフローチャート
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
<実施例1>
実施例1では、ある時点において、ユーザの指によるタッチが2箇所で検出されているマルチタッチの状態を想定する。そして、検出された2点のタッチ点間の距離に基づく角度の閾値を設定し、タッチ点が移動されることによってタッチ点を結ぶ直線が回転した角度が、設定された閾値を超えたときに、回転操作が入力されたと認識する。その際、タッチ点の間の距離が小さい場合には、タッチ点の間の距離が大きい場合よりも大きい角度を閾値として設定する。それにより、タッチ点の間の距離に関わらず、ユーザが回転操作を行うことを意図していない場合には、ユーザの意図に反して表示画像が回転される動作を低減する実施例を説明する。
一般的な回転操作の認識方法について説明する。ある時刻Tに検出されているタッチ点Aとタッチ点Bのうち少なくとも片方が移動して、それより後の時刻T´にタッチ点A´とタッチ点B´として検出されたとする。そして、直線ABと直線A´B´とがなす角度αと、所定の角度の閾値θの大きさを比較し、角度αの大きさが閾値θ以上であった場合に、回転操作が入力されたと認識される。このように角度の閾値を設けることで、回転操作以外のマルチタッチ操作中に微小な角度αが生じた場合には、誤って回転操作が入力されたと認識されることを防ぐことができる。ここで、角度αが閾値θを超えるために、タッチ点Aが移動する必要がある距離(直線AA´)またはタッチ点Bが移動する必要がある距離(直線BB´)は、距離ABの大きさが大きいほど大きく、距離ABの大きさが小さいほど小さくなる。
従って、例えばユーザが人差し指と中指を使って操作を行おうとすると、マルチタッチ操作を構成する2つのタッチ点の間隔が小さいので、2点のタッチ点の相対的な位置関係が微小に変化しただけでも、角度αの大きさが閾値θを超えてしまう場合がある。
しかし、ユーザにとって、表示画像を回転させないために、複数のタッチ点の相対的な位置関係を全く動かさないようにすることは負担を伴う。また、タッチパネルによっては、ユーザの指の接触を検出して、タッチ点の座標を特定する処理に誤差が生じるため、例えユーザが相対的な位置関係が全く変化しないように指を固定しているつもりでも、タッチ点として検出される座標には変動が生じることがある。
このように、特にタッチ点の間の距離が小さい場合には、ユーザが回転操作を意図していない場合であっても、誤って装置に回転操作が入力されたと認識されやすくなる。そのため、ユーザの意図と異なる動作が実行されることがある。これに対し、本実施例では、ユーザにタッチされた2点間の距離に基づいて定められる角度を閾値θとして設定する。その際、2点間の距離が小さい場合には、2点間の距離が大きい場合よりも大きな角度を閾値θとして設定する。すなわち、2点間の距離がある距離iの場合には、2点間の距離が距離iより大きいある距離kの場合よりも大きい角度を、前記角度の閾値として設定する。これにより、例えばタッチ点の距離が小さい場合であっても、ユーザが意図していない回転操作が実行されることを防ぐことができる。
図1(a)は、本実施例に係る情報処理装置100のハードウェア構成の一例を示す図である。CPU101は、CPU(Central Processing Unit)であり、各種処理のための演算や論理判断などを行い、システムバス110に接続された各構成要素を制御する。この情報処理装置100には、プログラムメモリとデータメモリを含むメモリが搭載されている。ROM(Read−Only Memory)102は、プログラムメモリであって、後述する各種処理手順を含むCPUによる制御のためのプログラムを格納する。RAM103(Random Access Memory)103は、データメモリであり、CPU101の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。外部記憶装置109などからRAM103にプログラムをロードすることで、プログラムメモリを実現しても構わない。HD104は、本実施例に係るデータやプログラムを記憶しておくためのハードディスクである。本実施例では、これらのHD104には、複数の画像データが格納されているものとする。同様の役割を果たすものとして、入出力インタフェース107を介して接続される外部記憶装置109を用いてもよい。ここで、外部記憶装置109は、例えば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD−ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。また、外部記憶装置109は、ネットワークで接続されたサーバ装置などであってもよい。本実施例において必要な情報は、RAM103やHD104、外部記憶装置109に保持される。入力インタフェース105は、ポインティングデバイスなどの入力装置を制御し、入力信号を取得して情報処理装置100へのタッチを認識し、システムに通知する。出力インタフェース106は、液晶ディスプレイ、テレビモニタ等の表示部を有する出力装置に対して、後述する各種の処理を実行した結果の出力を制御する信号を出力する。本実施例において、入力装置であるタッチパネルと出力装置であるディスプレイ装置は、情報処理装置100に一体化したタッチパネルディスプレイ108を使用するものとする。ただし、情報処理装置100に接続された外部装置であってもよく、それぞれが独立した装置であってもかまわない。なお、本実施例では、タッチパネルは静電容量方式のものを使用するとし、ユーザとパネル表面とのタッチ面のうち、1点の座標をタッチ点として特定する。ただし、タッチパネルの方式は静電容量方式に限らない。
図1(b)は、発明に係る情報処理装置100の機能構成を表すブロック図である。検出部111は、CPU101、ROM102、RAM103等で構成され、本実施例では、入力インタフェース105から通知された信号に基づき、ユーザがタッチしたタッチ点に関する情報を検出する。その際、本実施形態では、入力インタフェース105が、入力装置であるタッチパネルが検出している複数のタッチ点の情報を一定の周期で参照し、1点についての情報を取得する毎に順次、検出部111に信号を通知するものとする。タッチ点に関する情報には、タッチ点の位置を示す座標情報、タッチイベントの種類、及び複数のタッチ点を識別するためのIDを示す情報が含まれる。IDにはタッチ点が検出された順番を関連させることで、検出されるタッチ点の数が複数である場合に管理がしやすくなる。本実施例において、入力インタフェース105から通知されるタッチイベントは、タッチの開始を表す「DOWN」、タッチしたまま指やスタイラスが移動されたことを表す「MOVE」、タッチが解除されたことを表す「UP」の3種類である。タッチの開始から終了に到る一連の軌跡を構成するタッチ点が検出された際には、同一のIDが割り振られる。検出部111は、検出したタッチ点に関する情報をRAM103に保持する。
距離取得部112は、CPU101、ROM102、RAM103等で構成され、検出部111によってRAM103に保持されたタッチ点に関する情報に基づいて、タッチ点間の距離を取得し、RAM103に保持する。
設定部113は、CPU101、ROM102、RAM103等で構成され、距離取得部112によってRAM103に保持された、タッチ点間の距離に基づいて、判定部115で用いる閾値を設定し、RAM103に保持する。
角度取得部114は、CPU101、ROM102、RAM103等で構成され、検出部111によってRAM103に保持された複数のタッチ点の移動前後の位置情報から、ユーザによってタッチ点が回転された角度を取得し、RAM103に保持する。
判定部115は、CPU101、ROM102、RAM103等で構成され、角度取得部114によってRAM103に保持された角度と、距離取得部112によってRAM103に保持された閾値の比較に基づいて、回転操作が入力されたか否かを判定する。
受付部116は、CPU101、ROM102、RAM103等で構成され、判定部115の判定結果に基づき、情報処理装置100に入力されたマルチタッチ操作を受け付け、出力制御部117に通知する。
出力制御部117は、CPU101、ROM102、RAM103等で構成され、ユーザによって入力されたマルチタッチ操作の結果を出力する為、出力に関連する機能部を制御する。
図2は、情報処理装置100によるマルチタッチ操作の認識のフローチャートの一例である。本実施例では、図2のフローチャートの処理は、ユーザがタッチパネルを新たにタッチしたり、タッチしていた指やスタイラスを移動させたりすることで、入力インタフェース105から、タッチ点が検出されたことを示す情報が通知されたことに応じて起動される。また、ユーザがタッチパネルに対するタッチを解除したことで、入力インタフェース105から、検出されていたタッチ点が検出されなくなったことを示す情報の通知があったことに応じても起動される。
まず、ステップS201では、検出部111がタッチ点を検出する。検出部111は、タッチパネルが検出する情報に基づき、入力インタフェース105から通知されるタッチ点に関する情報を取得する。さらに検出部111は、検出したタッチ点を識別するためのID毎に、タッチ点の位置を示す座標の情報やタッチイベントの種類など、タッチ点に関する情報を保持する。ここで実行されるタッチ点検出処理の詳細は後述する。
ステップS202では、距離取得部112が、検出されたのは移動したタッチ点か否かを判定する。距離取得部112は、検出部111によってRAM103に保持されているタッチ点に関する情報を参照し、ステップS201において検出されたタッチ点が、以前から検出されたタッチ点が移動した位置で検出されたものか否かを判定する。本実施形態では、RAM103に保持された情報には、タッチイベントを示す情報が含まれるため、ステップS201で検出されたタッチ点のタッチイベントがMOVEである場合に、検出されたのは移動したタッチ点であると判定される。検出されたのは移動したタッチ点であると判定された場合には(ステップS202でYES)、ステップS203に進む。一方、検出されたのは移動したタッチ点ではない、すなわち、新しくタッチされたタッチ点が検出されていた場合、あるいはタッチが解除されたことが検出されていた場合には(ステップS202でNO)、マルチタッチ操作は処理を終了する。
ステップS203では、距離取得部112が、検出されているタッチ点は複数か否かを判定する。距離取得部112は、検出部111によってRAM103に保持されているタッチ点に関する情報を参照し、複数のIDのタッチ点の情報が保持されているかを判定する。本実施例では、複数のタッチ点を識別するためのIDを保持しているため、保持されているIDが複数であれば、検出されているタッチ点は複数である。検出されているタッチ点は複数であると判定された場合には(ステップS203でYES)、ステップS204に進む。一方、検出されているタッチ点が複数ではないと判定された場合には(ステップS203でNO)、処理を終了する。
ステップS204では、距離取得部112が、2点のタッチ点の間の距離Dを取得する。本実施例では、三平方の定理に基づいて、検出されている複数のタッチ点の最新の位置を示す座標情報から2点間の距離を求めるものとする。
ステップS205では、設定部113が、取得された2点間の距離に応じて、角度の閾値θを設定する。その際、2点間の距離が小さい場合には、2点間の距離が大きい場合よりも大きな角度を閾値θとして設定する。ステップS205において実行される処理の詳細は後述する。
ステップS206では、角度取得部114が、マルチタッチ開始時のタッチ点を結ぶ直線と、 最新状態のタッチ点を結ぶ直線のなす角度αを取得する。本実施例では、タッチパネルへの接触が以前から継続されているタッチ点は、最初に検出された位置情報とともに、検出部111によって移動が検出される度にその軌跡を示す位置情報がRAM103に保持されている。従って、角度取得部114は、ステップS201で検出部111が検出したタッチ点と同じIDのタッチ点が、最初に検出された時刻での、各タッチ点の位置を示す情報を基に、移動前の2点のタッチ点を結ぶ直線を取得する。そして、ステップS201で検出部111がタッチ点を検出した時点時刻での、各タッチ点の位置情報を基に、移動後のタッチ点を結ぶ直線を取得する。そして、2本の直線がなす角度を角度αとして取得する。本実施例では、角度取得部114は、三角関数を用いて、移動前後のタッチ点を結ぶ2本の直線が、それぞれタッチパネルの座標軸となす角度を求める。求められた2つの角度の差分を、2本の直線がなす角度αの大きさとして取得する。
次に、ステップS207では、判定部115が、角度αの大きさが、閾値θの大きさ以上であるか否かを判定する。判定部115は、角度取得部114が取得してRAM103に保持している角度αの情報と、設定部113が設定してRAM103に保持している閾値θの情報を参照し、その大きさを比較する。角度αが閾値θ以上であると判定された場合には(ステップS207でYES)、ステップS208に進み、角度αが閾値θ未満であると判定された場合(ステップS207でNO)には、処理を終了する。
ステップS208では、受付部116が、情報処理装置100に入力された回転操作を受け付け、タッチパネルディスプレイ108に表示されている画像を回転させる回転量を出力制御部117に通知する。画像を回転させる回転量は、角度αに依存する。
ステップS209では、出力制御部117が、タッチパネルディスプレイ108に表示させるための表示画像を生成し、出力する。ステップS208で、情報処理装置100に入力された回転操作を受け付けた場合には、出力制御部117では、ユーザによるタッチ点の移動量に追従して、タッチパネルディスプレイ108に表示されている画像を回転させた表示画像を生成し、出力する。表示画像が出力されたら、本実施例のマルチタッチ操作を認識する処理は終了する。
なお、ステップS204やステップS206で、2点間の距離Dや2本の線分のなす角度αを求める方法は、ここで説明した方法に限らない。例えば、複数のタッチ点の位置関係から一意に決定される値を、予め情報処理装置100が保持していてもよい。
なお、他のマルチタッチ操作と回転操作とを受け付けて同時に出力を返す場合には、ステップS209で表示画像を出力する前に、判定部115が回転操作以外のマルチタッチ操作が入力されたか否かを判定する。その際、判定部115がタッチ点の動きが他のマルチタッチ操作を認識する条件に当てはまるか否かを判定し、その判定結果に基づくマルチタッチ操作を受付部116が受け付け、表示画像の更新に必要なパラメータを通知しておく。このようにすることで、ユーザが意図しない回転操作が誤認識されるのを防ぐとともに、多種のマルチタッチ操作が入力されたことによる結果を出力できる。
ここで、図3(a)は、本実施例のステップS201において実行される、タッチ点の検出を示すフローチャートの一例である。本実施例において、入力インタフェース105から通知されるタッチイベントは、ユーザによるタッチの開始を表す「DOWN」、タッチしたまま指やスタイラスが移動されたことを表す「MOVE」、タッチが解除されたことを表す「UP」の3種類である。
ステップS301では、検出部111が、入力インタフェース105から通知された信号を解析し、タッチイベントが「UP」であるか否かを判定する。タッチイベントが「UP」ではないと判定された場合には(ステップS301でNO)、ステップS302に進み、タッチ点に関する情報を追加して保持する。
ここで、図4(a)は、本実施例の検出部111がRAM103に保持していくタッチ点に関する情報の一例を表すテーブルである。ここで、図4(a)のテーブルの項目401には、検出番号が格納されている。本実施例では、タッチ点の情報が検出された順番を検出番号としており、RAM103においては検出番号順に、タッチ点に関する情報をテーブルに追加していくものとする。ただし、タッチ点が検出された時刻の情報をさらに取得し、検出時刻順に情報をテーブルに追加していく方法でRAM103に保持しても構わない。
また、項目402では、各タッチ点が検出された際に通知されたタッチイベントを示す情報が格納されている。従って、項目402を参照することで、新たにタッチされたタッチ点であるのか、以前から検出されていたタッチ点が移動したのかが判定できる。ただし、タッチ点が新たにタッチされたのか移動されたのかが判定できる情報が保持される方法であれば、タッチイベントの種類を格納する方法に限らず利用できる。例えば、タッチイベントが「MOVE」であった場合にだけ移動フラグを立てるなどの方法を利用できる。
項目403および項目404には、タッチパネルのタッチ検出領域全体を座標平面としたときの、各タッチ点のX座標とY座標が格納される。
そして、項目405はタッチ点に割り当てられた識別情報であるIDが格納されている。本実施例では、最初に検出されたタッチ点を0、次に検出されたタッチ点を1、タッチパネルが同時に検出しているタッチ点が増える度に1ずつカウントアップされていく番号をIDとして割り当てる。タッチパネルから離れることなく移動するタッチ点の軌跡には、全て同じIDが割り当てられるため、複数のタッチ点を識別することができる。
一方、図3(a)のフローチャートのステップS301において、タッチイベントが「UP」であると判定された場合には(ステップS301でYES)、ステップS303に進む。ステップS303では、検出部111が、RAM103に保持されているタッチ点に関する情報のうち、タッチイベント「UP」が通知されたタッチ点と同じIDのタッチ点の情報を全て削除する。
本実施例では、タッチの開始を表す「DOWN」、タッチが解除されずに移動されたことを表す「MOVE」、タッチの動作が解除されたことを表す「UP」の3種類のタッチイベントが検出部111に通知されるものとしたが、タッチイベントの種類はこれに限らない。例えば、タッチ点がタッチパネル上で接触している状態が検出された場合には「TOUCH」、タッチ点がタッチパネル上から離れたことが検出された場合には「RELEASE」の2種類のタッチイベントが通知される形式であっても構わない。この場合にも、「RELEASE」が通知された場合には、タッチ点の情報をRAM103から消去し、「TOUCH」が通知された場合には、タッチ点の情報をRAM103に追加する。そして、既に検出されていたタッチ点とIDと同じタッチ点が、移動した位置で検出された場合には、例えば移動フラグを立てる等、タッチ点が移動したことを示す情報を保持するものとする。
このように、本実施例では、ユーザによるタッチが解除されない限り、繰り返し検出されるタッチ点の情報をRAM103に追加して保持していく。この場合、タッチ点が最初にタッチされたときの位置、その後の軌跡の位置を全て利用することができる。その一方で、タッチ点の数が多い場合や、ユーザが長時間タッチを継続している場合には、RAM103に保持される情報量が大きくなってしまう場合がある。そのため、タッチ点が移動したことを検出した時に、タッチ点が移動前に検出されていた直前の状態に関する情報、及び移動後に検出された最新の状態の情報だけを保持して、それより古い情報を削除してもよい。その場合、ステップS301でNOの判定を行った後に、例えばタッチイベントが「DOWN」であるか否かを判定する処理を行い、「DOWN」であると判定された場合にはステップS302に進んでタッチ点に関する情報を追加する処理を行う。そして、タッチイベントが「DOWN」ではない、すなわち「MOVE」であると判定されば場合には、同じIDのタッチ点に関する情報のうち、最新の2回の検出で検出された情報のみを保持して、古い情報を消去する処理を行う。
次に、図3(b)は、本実施例のステップS205において実行される、2点間の距離に応じた閾値θを設定する処理の流れの一例を示すフローチャートである。
ステップS311では、設定部113が、ステップS204で距離取得部112が取得した距離Dの大きさに対応付けられている所定の角度を取得する。図4(b)はその対応関係の一例を示すテーブルである。
図4(b)のテーブルにおいて、項目406には、ステップS204で取得された距離Dの範囲が格納され、項目407には、ある範囲の距離Dに対応する所定の角度が格納されている。このように、距離Dの大きさと所定の角度の対応関係を示すテーブルが予めHD104に保持され、設定部113によってRAM103に読み出され、参照されるものとする。このとき、2点間の距離がある距離iの場合には、2点間の距離が距離iより大きいある距離kの場合よりも大きい角度が対応するように、対応関係が設定されている。例えば、図4(b)に示すように距離Dが300dotであるときに対応する角度10度は、距離Dが500dotであるときに対応する所定の角度5度よりも大きい。
ステップS312では、設定部113が、ステップS311で取得した角度を、閾値θとして設定する。これにより、2点間の距離がある距離iの場合に設定される角度の閾値は、2点間の距離が距離iより大きいある距離kの場合に設定される角度の閾値よりも大きくなる。このようにすることで、タッチ点の間隔が小さい場合には、タッチ点の位置に微小な変化が生じてタッチ点を結ぶ直線が回転したとしても、角度の閾値が大きいために回転角度が閾値を超え難い。従って、誤って回転操作が入力されたと認識される誤動作を低減できる。閾値θが設定されたら、ユーザによるマルチタッチ操作を認識するメインの処理にリターンする。
以上が、本実施例において実行されるマルチタッチ操作を認識する処理である。このように、本実施例では回転操作が入力されたか否かを判定するための角度の閾値として、マルチタッチ操作を構成する複数のタッチ点の間の距離に基づいた値を設定する。その際、タッチ点の間の距離が小さい場合には、タッチ点の間の距離が大きい場合よりも大きい角度を閾値として設定することで、タッチ点の間の距離に関わらず、ユーザが回転操作を意図しない場合に、誤って表示画像が回転されてしまう誤動作を低減する。
なお、本実施例では2点のタッチ点が入力された場合を例に挙げて説明しているが、3点以上が入力された場合に適用することもできる。この場合、例えば、3点以上のタッチ点の中から2点を抽出して、本実施例の処理を適用する。この2点の抽出方法は、最も近い2点、もしくは最も遠い2点を抽出する方法等が考えられる。また、例えば3点以上のタッチ点のそれぞれについて、他のタッチ点との2点間の距離の合計値又は平均値等に基づいて閾値θを設定し、同様に合計値又は平均値等に基づいて角度αの値を求め、本実施例の処理を適応することもできる。
ここで、具体的に、実施例1による情報処理装置100に対して、ユーザが回転操作を入力する例を説明する。
図5は、ユーザが情報処理装置100に対して、複数の指を使ったマルチタッチ操作を行う際に検出されるタッチ点の位置を示す座標の推移を、x−y平面において表したグラフである。
図5(a)は、ユーザが2本の指でタッチパネルディスプレイ108の2箇所をタッチしたことで、タッチ点508とタッチ点509とが検出されている様子を表し、図4(a)のテーブルでは検出番号2までの情報に相当するものとする。具体的には、まずタッチ点508が検出部111によって検出され、検出番号1として、タッチイベント「DOWN」、x座標が50、y座標が150という情報が、ID=0に関連付けられてRAM103に保持される。次に、タッチ点509が検出され、検出番号2として、タッチイベント「DOWN」、x座標が250、y座標が150という情報が、ID=1に関連付けられてRAM103に保持される。検出番号2のタッチ点509が検出された時点で開始された図2のフローチャートの処理では、タッチイベントが「MOVE」ではないため、距離取得部112によってステップS202でNOと判定され、図2のフローチャートの処理は終了する。
図5(b)は、ユーザが2本の指を動かしたことで、タッチ点508とタッチ点509が移動し、ID=0のタッチ点510と、ID=1のタッチ点511が検出された様子を表している。図4(a)のテーブルでは、検出番号4までの情報が検出された状態に相当する。ここで、検出番号4のタッチ点511が検出されたことに応じて実行される処理を、図2のフローチャートに従って説明する。
まず、タッチ点511は、検出番号4として、タッチイベント「MOVE」、x座標が249、y座標が167という情報が、ID=1に関連付けられて保持される(ステップS201)。このとき、タッチイベントが「MOVE」であることから、タッチ点511は移動したタッチ点であり(ステップS202でYES)、検出されているタッチ点はID=0とID=1の2つのタッチ点であると判定される(ステップS203でYES)。次に、タッチ点510とタッチ点511の座標情報から、2点のタッチ点の間の距離Dが取得される(ステップS204)。2点の距離Dは、例えば1点目を(x1、y1)、2点目を(x2、y2)とした時、次の式により求まる。
X=√{(x1−x2)*(x1−x2)+(y1−y2)*(y1−y2)}
上記の式にタッチ点510とタッチ点511を当てはめると、距離Dは200dotと求められる。次に、設定部113が予め記憶されている図4(b)のテーブルが参照され、距離Dに対応する所定の角度を取得する(ステップS311)。今、距離Dは200dotだったので、設定部113は、距離Dに対応する所定の角度として20度を取得する。そして、取得した角度20度を閾値θとして設定する。(ステップS312)。次に、設定部113は、マルチタッチ開始時のタッチ点、すなわちタッチ点508とタッチ点509を結ぶ直線と、最新状態のタッチ点、すなわちタッチ点510とタッチ点511を結ぶ直線のなす角度αを取得する(ステップS206)。角度αは、各タッチ点の座標から三角関数を利用して算出することができる。図5の例では、角度αは10度であるものとする。ここでは、判定部115により、角度α(10度)が閾値θ(20度)以上ではないと判定されるので(ステップS207でNO)、図2のフローチャートの処理は終了する。
次に、図5(c)は、さらにユーザが2本の指を動かしたことで、タッチ点510とタッチ点511が移動し、ID=0のタッチ点512と、ID=1のタッチ点513が検出された様子を表している。図4(a)のテーブルでは、検出番号6までの情報が検出された状態に相当する。ここで、検出番号6のタッチ点513が検出されたことに応じて実行される処理を、図2のフローチャートに従って説明する。
まず、タッチ点513は、検出番号6として、タッチイベント「MOVE」、x座標が244、y座標が184という情報が、ID=1に関連付けられて保持される(ステップS201)。このとき、タッチイベントが「MOVE」であることから、タッチ点511は移動したタッチ点であり(ステップS202でYES)、検出されているタッチ点はID=0とID=1の2つのタッチ点であると判定される(ステップS203でYES)。次に、タッチ点512とタッチ点513の座標情報から、2点のタッチ点の間の距離Dが取得される(ステップS204)。図5(c)の例では、2点の距離Dは、200dotと求められる。次に、設定部113が予め記憶されている図4(b)のテーブルが参照され、距離Dに対応する所定の角度を取得する(ステップS311)。今、距離Dは200dotだったので、設定部113は、距離Dに対応する所定の角度として20度を取得し、閾値θとして設定する。(ステップS312)。次に、設定部113は、マルチタッチ開始時のタッチ点、すなわちタッチ点508とタッチ点509を結ぶ直線と、最新状態のタッチ点、すなわちタッチ点512とタッチ点513を結ぶ直線のなす角度αを取得する(ステップS206)。図5の例では、各タッチ点の座標を用いて算出することにより、角度αは20度と求められるものとする。そして、判定部115により、角度α(20度)が閾値θ(20度)以上であると判定される(ステップS207でYES)。従って、ステップS208で、受付部116が、情報処理装置100に入力された回転操作を受け付け、出力制御部117に通知する。出力制御部117では、ユーザによるタッチ点の移動量に追従する方向に、タッチパネルディスプレイ108に表示されている画像を、角度α(20度)分だけ回転させた表示画像を生成し、出力する(ステップS209)。表示画像が出力されたら、図2のフローチャートの処理は終了する。
なお、ここではID=1のタッチ点が検出された時点における図2のフローチャートの処理に注目して説明したが、ID=0のタッチ点508、タッチ点510、タッチ点512が検出された時点でも毎回、同じように図2のフローチャートの処理が実行される。
また、本実施例の具体例では、ステップS311で距離Dに対応する所定の角度を取得するのに、図4(b)のような距離Dと角度の対応を示すテーブルを用いた。しかし、必ずしもテーブルを用いる必要はなく、予め用意された式やパラメータによって、距離Dから所定の角度を一意に定めてもよい。その際、2点間の距離が小さいほど、大きな角度が対応するように設定する。ただし、本実施例のように所定の角度に対応する距離Dが範囲を有していてもよい。図4(b)のテーブルでは、距離Dがある距離iの場合には、2点間の距離が距離iより大きい範囲の中の、ある距離kの場合よりも大きい角度が対応するように、対応関係が設定されている。このように、2点のタッチ点の間の距離に応じて定められた所定の角度を、回転操作が入力されたことを認識するための角度の閾値に用いることで、2点間の距離の大きさに関わらず、適切な閾値を設定することができる。それにより、2点間の距離が小さい場合でも、ユーザの意図に反して表示画像が回転されてしまう誤動作を防止することができる。
また、本実施例の具体例では、回転操作が入力された場合に、表示されている画像が回転される角度は、角度αと一致するものとした。このようにすることで、ユーザは、指を使って表示画像を動かしているという感覚を得やすいので、直感的なマルチタッチ操作が可能になる。ただし、表示画像を回転させる角度はこれに限らない。例えば、表示画像が回転される角度は、5度毎の段階的な角度に限定することもできる。この場合、出力制御部117は、例えば角度αが20〜24度であれば、表示画像を最初の表示状態から20度回転させ、角度αが25〜29度であれば表示画像を最初の表示状態から25度回転させる。
以上説明したように、本実施例では、ある時点において、検出された2点のタッチ点間の距離に基づいて、回転操作が入力されたか否かを判定するための角度の閾値を設定する。そして、タッチ点が移動されることによって、複数のタッチ点を結ぶ直線が回転した角度が、設定された閾値を超えた場合に、回転操作が入力されたと認識する。その際、タッチ点の間の距離が小さい場合には、タッチ点の間の距離が大きい場合よりも大きい角度を閾値として設定することで、タッチ点の間の距離に関わらず、ユーザが回転操作を意図しない場合に表示画像が回転して表示されてしまう誤動作を低減する。
なお、本実施例では、2点のタッチ点の間の距離が小さいほど大きい角度を、回転操作が入力されたことを認識するための閾値として設定するが、さらに2点間のタッチ点の間の距離が所定の距離より小さい場合には、回転操作を禁止してもよい。このようにすることで、例えば表示部のサイズが小さいなど特殊な環境においても、ユーザが回転操作を意図しない場合に表示画像が回転して表示されてしまう誤動作を低減することができる。
(実施例1の変形例)
実施例1では、マルチタッチを構成する2点のタッチ点間の距離に基づいて、回転操作が入力されたか否かを判定するための角度の閾値を設定した。その際、2点間の距離が小さいほど大きくなる角度を、回転操作が入力されたことを認識するための閾値として設定することで、タッチ点の間の距離関わらず、ユーザ回転操作を意図していない場合に、誤って表示画像が表示される誤動作を低減することができた。しかしこの場合、2点のタッチ点間の距離をある程度以上大きくすることが困難な環境においては、回転操作が入力されたと認識され難くなり、操作性が低下するという問題がある。その問題を解決するため、状況に応じて閾値θの設定方法を変更し、回転操作が入力されたと認識され難くなることを防ぐ変形例を説明する。
まず、実施例1の変形例1として、2点のタッチ点間の距離Dと、入力装置であるタッチパネルディスプレイ108がユーザによるタッチを検出可能な範囲(以下、入力領域)のサイズとに基づいて、閾値θを設定する例を示す。この際、入力領域のサイズが小さいほど小さい角度を閾値θとして設定する。これにより、画面サイズが小さいため、ユーザが2点のタッチ点の間の距離を小さくせざるを得ない場合でも、回転操作を入力したときの操作性が低下することを防ぐ。
まず、実施例1の変形例1に係る情報処理装置100のハードウェア構成は、実施例1の図1(a)と同様であるため、説明を省略する。
図6(a)は本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。図1(b)と異なる点は、領域情報601が追加されたことである。領域情報601は、タッチパネルディスプレイ108と入力インタフェース105から取得したディスプレイ画面の大きさ、解像度、及びタッチパネルを駆動するドライバ情報に基づき、検出部111が入力領域のサイズを取得する。なお、入力領域のサイズは、情報処理装置100に接続あるいは内蔵されたタッチパネルディスプレイ108のハードウェアサイズだけでなく、起動されているアプリケーションやディスプレイの表示内容によっても異なるものとする。その他の機能構成は、実施例1に準じるため、説明を省略する。
実施例1の変形例1の場合も、図2のフローチャートに従ってマルチタッチ操作を認識する処理が実行される。ただし、変形例1のステップS205において、図7(a)のフローチャートに従って、閾値θを設定する処理が行われる。
まず、ステップS701では、領域情報601が、タッチパネルディスプレイ108及び入力インタフェース105より、ユーザによるタッチを検出可能な入力領域のサイズを取得する。
ステップS702では、設定部113が、ステップS701で取得した入力領域のサイズにおける、距離Dと角度の対応関係を取得する。実施例1の変形例では、予め距離Dの大きさと所定の角度の対応関係を示す複数のテーブルが、HD104に保持されており、それぞれのテーブルが入力領域のサイズに対応付けられているものとする。ここで、実施例1の変形例1では、距離Dが小さい大きい角度が対応付けられているとともに、入力領域のサイズが小さいほど、同じ距離Dに対応付けられた角度は小さくなるように設定されている。ステップS702では、設定部113が、ステップS701で取得した入力領域のサイズに対応するテーブルを取得し、RAM103に読み出して使用するものとする。
ステップS703では、設定部113が、取得した対応関係を参照して、ステップS204で距離取得部112が取得した距離Dの大きさに対応付けられている所定の角度を取得する。
ステップS704では、設定部113が、ステップS703で取得した角度を、閾値θとして設定する。閾値θが設定されたら、ユーザによるマルチタッチ操作を認識するメインの処理にリターンする。
図2のフローチャートにおけるこの他の処理は、実施例1と同様に行われる。
ここで、本実施例の具体例を、図5を参照しながら実施例1との相違点に着目して説明する。また、図4(b)及び図4(c)は、予めHD104に保持された距離Dの大きさと所定の角度の対応関係を示すテーブルであるものとする。ここでは、領域情報601が取得した入力領域のサイズが、x軸方向及びy軸方向ともに500dot以上の場合は図4(b)のテーブルを使用し、x軸方向及びy軸方向ともに500dot未満の場合には図4(c)のテーブルを使用するものとする。
実施例1と同様、図5(b)はユーザがタッチパネルにタッチしていた2本の指を動かしたことに伴って検出された、検出番号4までのタッチ点の位置の推移(タッチ点508〜511)を、x−y平面において表したグラフである。ステップS204までの処理は、実施例1に準じ、タッチ点510とタッチ点511との間の距離Dが200dotと求められる(ステップS204)。次に、領域情報601が、タッチパネルディスプレイ108から、入力領域のサイズを示す情報を取得する(ステップS701)。ここでは、検出可能なタッチ点のx座標の最大値が300dot、y座標の最大値が300dotという情報が得られたものとする。従って、設定部113は、図4(c)のテーブルをRAM103に読み出し(ステップS702)、ステップS204で取得された距離Dに対応する所定の角度を取得する(ステップS703)。今、距離Dは200dotであるから、所定の角度は10度であり、設定部113によって、閾値θが10度と設定される(ステップS704)。実施例1と同様、角度取得部114によって、タッチ点508とタッチ点509とを結ぶ直線と、タッチ点510とタッチ点511とを結ぶ直線のなす角度αは10度と求められる(ステップS206)。従って、判定部115によって角度α(10度)が閾値θ(10度)以上であると判定される(ステップS207でYES)。従って、受付部116が、情報処理装置100に入力された回転操作を受け付け、出力制御部117に通知する(ステップS208)。出力制御部117では、ユーザによるタッチ点の移動量に追従する方向に、タッチパネルディスプレイ108に表示されている画像を、角度α(10度)分だけ回転させた表示画像を生成し、出力する。表示画像が出力されたら、図2のフローチャートの処理は終了する。
以上説明したように、実施例1の変形例1によれば、距離Dに加えて、ユーザによるタッチを検出可能な入力領域のサイズに基づいて閾値θを設定する。これにより、ユーザがタッチ点の間隔を小さくした状態で操作を行わざるを得ない場合に、回転操作が入力されたことが認識され難くなってしまうことを防ぐ。すなわち、情報処理装置100に供えられたタッチパネルの画面サイズが小さかったり、アプリケーションの機能によって入力領域の範囲が狭められたりした場合であっても、マルチタッチ操作を行うユーザの操作性を低下させない。
次に、実施例1の変形例2として、2点のタッチ点間の距離Dと、ディスプレイに表示している表示画像において、ユーザがマルチタッチしているオブジェクトのサイズとに基づいて、閾値θを設定する例を示す。この際、オブジェクトのサイズが小さいほど小さい角度を閾値θとして設定する。これにより、ユーザがマルチタッチ操作によって回転させようとするオブジェクトが小さいため、ユーザが2点のタッチ点の間の距離を小さくせざるを得ない場合でも、回転操作を入力したときの操作性が低下することを防ぐ。
まず、実施例1の変形例3に係る情報処理装置100のハードウェア構成は、実施例1の図1(a)と同じため、説明を省略する。
また、図6(b)は本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。図1(b)と異なる点は、オブジェクト情報取得部602が追加されたことである。オブジェクト情報取得部602は、出力制御部117がタッチパネルディスプレイ108に出力している表示画像の情報に基づき、検出部111が検出したタッチ点の位置に存在するオブジェクトを特定して、そのサイズを示す情報を取得する。その他の機能構成は、実施例1に準じるため、説明を省略する。
実施例1の変形例2の場合も、図2のフローチャートに従ってマルチタッチ操作を認識する処理が実行される。ただし、変形例1のステップS205において、図7(b)のフローチャートに従って、閾値θを設定する処理が行われる。
まず、ステップS711では、オブジェクト情報取得部602が、ユーザによってマルチタッチされているオブジェクトのサイズを取得する。このとき、オブジェクト情報取得部602は、出力制御部117から出力されている表示画像の情報を得て、検出されているタッチ点の位置を示す座標に対応する位置に表示されているオブジェクトを、ユーザがマルチタッチしているオブジェクトとして1つ特定する。オブジェクトが複数存在し、重なり合っている場合には、一番上に存在するものとして表示されているオブジェクトを特定する。このように、検出されているタッチ点毎に、タッチ点の位置に表示されているオブジェクトを特定し、2点のタッチ点に表示されているオブジェクトが同一であった場合、そのオブジェクトのサイズを示す情報を出力制御部117から取得する。
ステップS712では、設定部113が、ステップS711で取得したオブジェクトのサイズにおける、距離Dと角度の対応関係を取得する。実施例1の変形例2においても、予め距離Dの大きさと所定の角度の対応関係を示す複数のテーブルが、HD104に保持されており、それぞれのテーブルが、ユーザがマルチタッチしているオブジェクトのサイズに対応付けられているものとする。実施例1の変形例2では、距離Dが小さいほど大きい角度が対応付けられているとともに、ユーザがマルチタッチしているオブジェクトのサイズが小さいほど、同じ距離Dに対応付けられた角度は小さくなるように設定されている。ステップS712では、設定部113が、ステップS711で取得したオブジェクトのサイズに対応するテーブルを取得し、RAM103に読み出して使用するものとする。
ステップS713では、設定部113が、取得した対応関係を参照して、ステップS204で距離取得部112が取得した距離Dの大きさに対応付けられている所定の角度を取得する。
ステップS714では、設定部113が、ステップS713で取得した角度を、閾値θとして設定する。閾値θが設定されたら、ユーザによるマルチタッチ操作を認識するメインの処理にリターンする。
図2のフローチャートにおけるこの他の処理は、実施例1と同様に行われる。
実施例1の変形例2の具体例を、実施例1及び変形例1との差分に着目して説明する。なお、変形例2においても、図4(b)及び図4(c)は、予めHD104に保持された距離Dの大きさと所定の角度の対応関係を示すテーブルであるものとする。ここでは、オブジェクト情報取得部602が取得したオブジェクトのサイズが、x軸方向及びy軸方向ともに400dot以上の場合は図4(b)のテーブルを、x軸方向及びy軸方向ともに400dot未満の場合には図4(c)のテーブルを使用するものとする。
ここで、図5(d)は、ユーザがタッチパネルにタッチしていた2本の指を動かしたことに伴って検出された、検出番号4までのタッチ点の位置の推移(タッチ点508〜511)を、x−y平面において表したグラフである。すなわち、実施例1およびその変形例1の具体例で説明した図5(b)に対応するものである。ここで、オブジェクト514は、ユーザがタッチ点508〜511によってマルチタッチしているオブジェクトを表している。ステップS204までの処理は、実施例1に準じ、タッチ点510とタッチ点511との間の距離Dが200dotと求められる(ステップS204)。次に、オブジェクト情報取得部602が、出力制御部117が出力している表示画像に基づき、ユーザがマルチタッチしているオブジェクトのサイズを示す情報を取得する(ステップS711)。図5(d)の例では、オブジェクト514は、x方向の最大幅が240dot、y方向の最大幅が240dotであることを示す情報が取得されたものとする。従って、設定部113は、図4(c)のテーブルをRAM103に読み出し(ステップS712)、ステップS204で取得された距離Dに対応する所定の角度を取得する(ステップS713)。今、距離Dは200dotであるから、所定の角度は10度であり、設定部113によって、閾値θが10度と設定される(ステップS714)。以降は、実施例1の変形例1と同様、角度取得部114によって、タッチ点508とタッチ点509とを結ぶ直線と、タッチ点510とタッチ点511とを結ぶ直線のなす角度αは10度と求められる(ステップS206)。従って、判定部115によって角度α(10度)が閾値θ(10度)以上であると判定される(ステップS207でYES)。従って、受付部116が、情報処理装置100に入力された回転操作を受け付け、出力制御部117に通知する(ステップS208)。出力制御部117では、ユーザによるタッチ点の移動量に追従する方向に、タッチパネルディスプレイ108に表示されている画像を、角度α(10度)分だけ回転させた表示画像を生成し、出力する。表示画像が出力されたら、図2のフローチャートの処理は終了する。
以上説明したように、実施例1の変形例2によれば、距離Dに加えて、ユーザがマルチタッチしているオブジェクトのサイズに基づいて閾値θを設定する。これにより、変形例1と同様に、ユーザがタッチ点の間隔を小さくした状態で操作を行わざるを得ない場合に、回転操作が入力されたことを認識され難くなってしまうことを防ぐ。すなわち、ユーザがマルチタッチ操作によって回転させようとするオブジェクトが小さい場合でも、回転操作の操作性を低下させない。
次に、実施例1の変形例3として、距離Dと、入力領域のサイズと、ユーザがマルチタッチしたオブジェクトのサイズの比率を考慮して閾値θを設定する例を説明する。この場合も、入力領域のサイズが小さいほど小さい角度を閾値θとして設定するとともに、実施例1の変形例2で説明したように、オブジェクトのサイズが小さいほど小さい角度を閾値θとして設定することを目的とする。従って、例えば入力領域のサイズが小さくても、マルチタッチされているオブジェクトが十分に大きい場合には、同じ距離Dに対する閾値θは変形例2に比較して大きくなる。従って、実施例1の変形例3は、入力領域のサイズが比較的小さい情報処理装置100において、より有効な変形例といえる。
まず、実施例1の変形例3に係る情報処理装置100のハードウェア構成も、実施例1の図1(a)と同様である。また、機能構成においては、図6(a)に示した領域情報601と、図6(b)に示したオブジェクト情報取得部602を両方とも有する点が、実施例1及びその変形例1、変形例2と異なる。その他の機能構成は、実施例1に準じるため、説明を省略する。
実施例1の変形例3の場合も、図2のフローチャートに従ってマルチタッチ操作を認識する処理が実行される。ただし、変形例1のステップS205において、図7(c)のフローチャートに従って、閾値θを設定する処理が行われる。
まず、ステップS721では、設定部113が、入力領域に対する、ユーザにマルチタッチされているオブジェクトのサイズの比率を取得する。この際、領域情報601が、タッチパネルディスプレイ108及び入力インタフェース105より、ユーザによるタッチを検出可能な入力領域のサイズを取得する。また、オブジェクト情報取得部602が、ユーザによってマルチタッチされているオブジェクトのサイズを取得する。設定部113は、取得された入力領域のサイズと、取得されたオブジェクトのサイズに基づき、入力領域に対するオブジェクトのサイズの比率を算出する。
ステップS722では、設定部113が、ステップS721で取得した比率における、距離Dと角度の対応関係を取得する。実施例1の変形例3においても、予め距離Dの大きさと所定の角度の対応関係を示す複数のテーブルが、HD104に保持されており、それぞれのテーブルが、入力領域に対するオブジェクトのサイズの比率に対応付けられているものとする。実施例1の変形例3では、距離Dが小さいほど大きい角度が対応付けられているとともに、入力領域に対するオブジェクトのサイズの比率が大きいほど、同じ距離Dに対応付けられた角度は大きくなるように設定されている。ステップS722では、設定部113が、ステップS721で取得した比率に対応するテーブルを取得し、RAM103に読み出して使用するものとする。
ステップS723では、設定部113が、取得した対応関係を参照して、ステップS204で距離取得部112が取得した距離Dの大きさに対応付けられている所定の角度を取得する。
ステップS724では、設定部113が、ステップS713で取得した角度を、閾値θとして設定する。閾値θが設定されたら、ユーザによるマルチタッチ操作を認識するメインの処理にリターンする。
以上説明したように、実施例1の変形例3によれば、距離Dと、入力領域に対するユーザがマルチタッチしているオブジェクトのサイズの比率に基づいて閾値θを変更する。これにより、タッチパネルディスプレイ108とその表示画像の内容に依存して、ユーザによるマルチタッチ操作が正しく認識され難くなってしまうことを防ぐ。すなわち、変形例4では、ユーザのタッチを検出可能な入力領域のサイズが狭められても、ユーザがマルチタッチ操作によって回転させようとするオブジェクトのサイズが十分であれば、回転操作が入力されたことを認識するための角度の閾値を大きく設定できる。それにより、回転操作の操作性を低減させずに、ユーザが回転操作を意図していないにも関わらず表示画像が回転されてしまう誤動作を低減することができる。
次に、実施例1の変形例4として、2点のタッチ点間の距離Dと、ユーザがマルチタッチ操作に用いる手のサイズとに基づいて、閾値θを設定する例を示す。この際、ユーザの手のサイズが小さいほど小さい角度を閾値θとして設定する。これにより、例えばユーザが子供であるとった場合に、手が小さいため、2点のタッチ点の間の距離が小さくならざるを得ない場合でも、回転操作を入力したときの操作性が低下することを防ぐ。
実施例1の変形例3に係る情報処理装置100のハードウェア構成も、実施例1の図1(a)と同様である。
図6(c)は、本発明に係る情報処理装置100の機能構成を表すブロック図である。本実施例では、図1のブロック図からユーザ情報取得部603が追加されている。
ユーザ情報取得部603は、検出部111が取得する複数のタッチ点の位置情報を利用して、ユーザの手のサイズを取得する。ここで、手のサイズの取得方法の一例を説明する。実施例1の変形例4では、予めユーザ情報として、ユーザの手のサイズを情報処理装置100に登録してHD104などの記憶装置に保持しておく処理を行っておくものとする。そして、マルチタッチ操作を認識する際に、ユーザの手のサイズの情報が要求され場合には、保持していた情報を読み出して利用する。手のサイズを登録する処理では、ユーザが規定されたポーズでタッチパネルディスプレイ108の入力領域上に手を置くことによって、ユーザの指先に相当する位置情報を検出する。ここで図8(a)は、ユーザがタッチパネルディスプレイ108の入力領域800上に手801を置いた状態を表している。ここで、規定のポーズとしては、手を軽く広げて5本の指先を入力領域800に触れさせることが、予め情報処理装置100で定められているものとする。従って、図8(b)に示されるように、検出部111によりユーザの5本の指に対応する複数のタッチ点802〜806が検出される。そして、ユーザ情報取得部603は、検出された全てのタッチ点を内包する最小の矩形領域のサイズを示す情報を、ユーザの手のサイズ情報として登録する。図8(c)の矩形807は、図8の例でユーザの手のサイズを示す矩形領域である。その他の機能構成は、実施例1とその変形例1〜3に準じるため、説明を省略する。なお、ユーザの手のサイズを登録する場合には、必ずしも5本の指の位置情報を取得する必要はなく、規定のポーズとしては、人差し指と中指だけを、または親指と人差し指だけを入力領域に触れさせるようなポーズが利用されても構わない。
実施例1の変形例2の場合も、図2のフローチャートに従ってマルチタッチ操作を認識する処理が実行される。ただし、変形例1のステップS205において、図7(d)のフローチャートに従って、閾値θを設定する処理が行われる。
まず、ステップS731では、ユーザ情報取得部603が、HD104などの記憶装置に保持されているユーザの手のサイズの情報を取得する。
ステップS732では、設定部113が、ステップS731で取得したユーザの手のサイズにおける、距離Dと角度の対応関係を取得する。実施例1の変形例4においても、予め距離Dの大きさと所定の角度の対応関係を示す複数のテーブルが、HD104に保持されており、それぞれのテーブルが、ユーザの手のサイズに対応付けられているものとする。実施例1の変形例4では、距離Dが小さいほど大きい角度が対応付けられているとともに、ユーザの手のサイズが小さいほど、同じ距離Dに対応付けられた角度は小さくなるように設定されている。ステップS712では、設定部113が、ステップS731で取得したユーザの手のサイズの情報に対応するテーブルを取得し、RAM103に読み出して使用するものとする。
ステップS733では、設定部113が、取得した対応関係を参照して、ステップS204で距離取得部112が取得した距離Dの大きさに対応付けられている所定の角度を取得する。
ステップS734では、設定部113が、ステップS713で取得した角度を、閾値θとして設定する。閾値θが設定されたら、ユーザによるマルチタッチ操作を認識するメインの処理にリターンする。
以上説明したように、実施例1の変形例4によれば、距離Dに加えて、ユーザの手のサイズに基づいて閾値θを設定する。これにより、ユーザがタッチ点の間隔を小さくした状態で操作を行わざるを得ない場合に、マルチタッチ操作が認識され難くなってしまうことを防ぐ。すなわち、ユーザの手が小さい場合でも、回転操作の操作性を低下させない。
なお、上述した実施例1の4つの変形例(変形例1〜変形例4)は、一部または全てを組み合わせることによっても、ユーザがタッチ点の間隔を小さくした状態で操作を行わざるを得ない場合に、回転操作の操作性を低下させないという効果を奏する。
<実施例2>
実施例1では、ユーザが回転操作を意図していない場合に、誤って表示画像が回転して表示される誤動作を低減するため、マルチタッチ操作を構成する2点のタッチ点の間の距離に基づいて、回転操作が入力されたことを認識するための角度の閾値θを設定する例を示した。実施例2では、移動前後の2点のタッチ点の位置を結ぶ直線がなす角度αが、閾値θ未満であった場合、表示画像の回転を伴うことがないマルチタッチ操作が入力されたか否かを判定する。これにより、特にユーザが表示画像を回転させることを意図していないマルチタッチ操作を行う場合に、タッチ点の間の距離に関わらず、誤って回転操作が入力されたと認識されてしまう誤動作を低減することができる。
実施例2に係る情報処理装置100のハードウェア構成、及び機能構成は、実施例1の図1(a)及び(b)と同じため、説明を省略する。
実施例2では、図9のフローチャートに従ってマルチタッチ操作を認識する処理が実行される。図9のフローチャートは、ステップS901及びステップS902が追加されていることが図2と異なる。その他のステップは、全て実施例1と同様に処理されるため、説明を省略する。
実施例2では、ステップS207において、角度αが閾値θ未満であると判定された場合、ステップS901に進む。ステップS901では、表示画像の回転を伴わないマルチタッチ操作が入力されたか否かを判定する処理が行われる。ここで判定するマルチタッチ操作は、予め表示画像の回転が伴わないと定められている操作であって、情報処理装置100で実行されているアプリケーションや機能によって決定される。例えば、写真を閲覧している場合には、2点間の距離が略一定に保たれたままタッチ点が同一方向に移動されたかに基づいて、特定の画像を呼び出して表示させるためのマルチドラッグ操作が入力されたか否かを判定することが可能である。表示画像の回転を伴わないマルチタッチ操作が入力されたと判定された場合には、受付部116が入力された操作を受け付け、表示画像を更新するために出力制御部117に必要なパラメータを通知する。例えば、本実施例におけるマルチドラッグ操作は、特定の画像を呼び出して表示させるために行われるので、受付部116は出力制御部117に表示させるべき画像を示す情報を通知する。さらに、ステップS901では、複数のマルチタッチ操作について、それぞれ入力されたか否かを判定する複数の処理を直列的に、あるいは並列的に実行することもできる。
ステップS902では、表示画像の回転を伴うことができるマルチタッチ操作が入力されたか否かを判定する処理が行われる。ここで判定するマルチタッチ操作は、情報処理装置100で実行されているアプリケーションや機能によって決定される。例えば地図を表示させている場合には、2点間の距離Dが少なくともタッチ点が移動した前後で拡大されたか、あるいは縮小されたかに基づいて表示画像を拡大あるいは縮小するためのピンチ操作が入力されたか否かを判定することが可能である。表示画像の回転を伴うことができるマルチタッチ操作が入力されたと判定された場合には、受付部116が入力された操作を受け付けて表示画像を更新するために出力制御部117に必要なパラメータを通知する。ピンチ操作が入力された場合には、受付部116が出力制御部117に表示画像の表示サイズを変更するための拡大率を通知する。ステップS902においても、複数のマルチタッチ操作について、それぞれ入力されたか否かを判定する複数の処理を直列的に、あるいは並列的に実行することもできる。
なお、実施例2においても、距離Dに基づいて閾値θを設定する際には、タッチパネルの入力領域のサイズを考慮した変形例を利用することができる。その場合には、ステップS205の閾値θを設定する処理では、図7(a)に示すフローチャートに従って処理が行われる。この際も、実施例1の変形例1と同様、2点のタッチ点の距離Dが同じときには、入力領域のサイズが小さいほど、小さい角度が閾値θとして設定される。これによって、入力領域が小さいためにユーザが2点間の距離を小さくして操作を行わざるを得ない場合にも、回転操作の操作性を低下させない。
同様に、実施例2においても、距離Dに基づいて閾値θを設定する際には、マルチタッチされているオブジェクトのサイズを考慮した変形例を利用することができる。その場合には、ステップS205の閾値θを設定する処理では、図7(b)に示すフローチャートに従って処理が行われる。この際も、実施例1の変形例2と同様、2点のタッチ点の距離Dが同じときには、マルチタッチされているオブジェクトのサイズが小さいほど、小さい角度が閾値θとして設定される。これによって、操作したいオブジェクトが小さいために、ユーザが2点間の距離を小さくして操作を行わざるを得ない場合にも、回転操作の操作性を低下させない。
同様に、実施例2においても、距離Dに基づいて閾値θを設定する際には、マルチタッチされているオブジェクトの入力領域に対するサイズの比率を考慮した変形例を利用することができる。その場合には、ステップS205の閾値θを設定する処理では、図7(c)に示すフローチャートに従って処理が行われる。この際も、実施例1の変形例3と同様、2点のタッチ点の距離Dが同じときには、マルチタッチされているオブジェクトの入力領域に対するサイズの比率が大きいほど、大きい角度が閾値θとして設定される。これによって、ユーザが2点間の距離を狭めて操作を行わざるを得ない場合にも、回転操作の操作性を低下させない。
同様に、実施例2においても、距離Dに基づいて閾値θを設定する際には、ユーザの手のサイズを考慮した変形例を利用することができる。その場合には、ステップS205の閾値θを設定する処理では、図7(c)に示すフローチャートに従って処理が行われる。この際も、実施例1の変形例4と同様、2点のタッチ点の距離Dが同じときには、操作に用いられるユーザの手のサイズが小さいほど、小さい角度が閾値θとして設定される。これによって、ユーザの手が小さいために、ユーザが2点間の距離を比較的小さくして操作を行わざるを得ない場合にも、回転操作の操作性を低下させない。
なお、上述した実施例1の4つの変形例は、一部または全てを組み合わせることによっても、ユーザがタッチ点の間隔を小さくした状態で操作を行わざるを得ない場合に、回転操作の操作性を低下させないという効果を奏する。
以上説明したように、本実施例では、ある時点において、検出された2点のタッチ点間の距離に応じた異なる角度の閾値を設定する。そして、タッチ点が移動されることによって、複数のタッチ点を結ぶ直線が回転した角度が、設定された閾値を超えた場合に回転操作が入力されたと認識し、閾値を超えなかった場合には、表示画像の回転操作を伴わないマルチタッチ操作が入力されたか否かを判定する。その際、タッチ点の間の距離が小さい場合には、タッチ点の間の距離が大きい場合よりも大きい角度を閾値として設定することで、タッチ点の間の距離の大きさに関わらず、ユーザの意図に反して表示画像が回転して表示されてしまう誤動作を低減することができる。
<その他の実施例>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (16)

  1. マルチタッチ操作を受け付ける情報処理装置であって、
    入力された複数のタッチ位置を所定の周期で検出する検出手段と、
    前記検出手段によって検出された、第1の時点における2つのタッチ位置から定まる直線と、第2の時点における前記2つのタッチ位置から定まる直線のなす角度を取得する取得手段と、
    前記第1の時点における2つのタッチ位置の間の距離と、前記2つのタッチ位置によってマルチタッチされているオブジェクトのサイズとに基づいて、角度の閾値を設定する設定手段と、
    前記取得手段によって取得された角度が、前記設定手段によって設定された角度の閾値より大きい場合に前記2つのタッチ位置に基づく入力を表示部に表示されている前記オブジェクトに対する回転操作を受け付ける受付手段と、を備え
    前記設定手段は、前記2つのタッチ位置の間の距離が同じで前記オブジェクトのサイズが異なる場合、前記オブジェクトのサイズが小さいほど小さい角度を、前記角度の閾値として設定することを特徴とする情報処理装置。
  2. マルチタッチ操作を受け付ける情報処理装置であって、
    入力された複数のタッチ位置を所定の周期で検出する検出手段と、
    前記検出手段によって検出された、第1の時点における2つのタッチ位置から定まる直線と、第2の時点における前記2つのタッチ位置から定まる直線のなす角度を取得する取得手段と、
    前記第1の時点における2つのタッチ位置の間の距離と、前記マルチタッチ操作が入力される領域のサイズとに基づいて、角度の閾値を設定する設定手段と、
    前記取得手段によって取得された角度が、前記設定手段によって設定された角度の閾値より大きい場合に、前記2つのタッチ位置に基づく入力を表示部に表示されている画像の少なくとも一部に対する回転操作を受け付ける受付手段と、
    を備え
    前記設定手段は、前記2つのタッチ位置の間の距離が同じで前記領域のサイズが異なる場合、前記領域のサイズが小さいほど小さい角度を、前記角度の閾値として設定することを特徴とする情報処理装置。
  3. マルチタッチ操作を受け付ける情報処理装置であって、
    入力された複数のタッチ位置を所定の周期で検出する検出手段と、
    前記検出手段によって検出された、第1の時点における2つのタッチ位置から定まる直線と、第2の時点における前記2つのタッチ位置から定まる直線のなす角度を取得する取得手段と、
    前記第1の時点における2つのタッチ位置の間の距離と、前記2つのタッチ位置によってマルチタッチされているオブジェクトのサイズの、前記マルチタッチ操作が入力される領域のサイズに対する比率とに基づいて、角度の閾値を設定する設定手段と、
    前記取得手段によって取得された角度が、前記設定手段によって設定された角度の閾値より大きい場合に、前記2つのタッチ位置に基づく入力を表示部に表示されている前記オブジェクトに対する回転操作を受け付ける受付手段と、
    を備え
    前記設定手段は、前記2つのタッチ位置の間の距離が同じで前記比率が異なる場合、前記比率が大きいほど大きい角度を、前記角度の閾値として設定することを特徴とする情報処理装置。
  4. マルチタッチ操作を受け付ける情報処理装置であって、
    入力された複数のタッチ位置を所定の周期で検出する検出手段と、
    前記検出手段によって検出された、第1の時点における2つのタッチ位置から定まる直線と、第2の時点における前記2つのタッチ位置から定まる直線のなす角度を取得する取得手段と、
    前記第1の時点における2つのタッチ位置の間の距離と、前記マルチタッチ操作を行うユーザの手のサイズとに基づいて、角度の閾値を設定する設定手段と、
    前記取得手段によって取得された角度が、前記設定手段によって設定された角度の閾値より大きい場合に、前記2つのタッチ位置に基づく入力を表示部に表示されている画像の少なくとも一部に対する回転操作を受け付ける受付手段と、
    を備え
    前記設定手段は、前記2つのタッチ位置の間の距離が同じで前記手のサイズが異なる場合、前記手のサイズが小さいほど小さい角度を、前記角度の閾値として設定することを特徴とする情報処理装置。
  5. 前記取得手段は、前記2つのタッチ位置のうち、少なくとも1つのタッチ位置が移動した場合に、移動前である前記第1の時点での前記2つのタッチ位置の位置を結ぶ直線と、移動後である前記第2の時点での前記2つのタッチ位置の位置を結ぶ直線のなす角度を取得することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  6. 前記設定手段は、前記第1の時点における前記2つのタッチ位置の間の距離がある距離iの場合には、前記第1の時点における前記2つのタッチ位置の間の距離が、前記距離iより大きいある距離kの場合よりも大きい角度を、前記角度の閾値として設定することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  7. 前記取得手段は、前記マルチタッチ操作を構成する2つのタッチ位置が初めて検出されたときである前記第1の時点における前記2つのタッチ位置を結ぶ直線と、前記2つのタッチ位置のうち少なくとも1つのタッチ位置の最新の移動が検出された後である前記第2の時点での前記2つのタッチ位置を結ぶ直線とのなす角度を取得することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  8. 前記取得手段によって取得された角度が前記設定手段によって設定された角度の閾値より小さい場合に、前記表示部に表示されている画像の回転を伴わないマルチタッチ操作が入力されたか否かを判定する判定手段を更に備えることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  9. 前記判定手段は、前記取得手段によって取得された角度が前記設定手段によって設定された角度の閾値より小さい場合、前記第1の時点から前記第2の時点にかけ、前記2つのタッチ位置の間の距離を略一定に保たれたままの同一方向への移動があったかを判定することを特徴とする請求項に記載の情報処理装置。
  10. 前記マルチタッチ操作を構成する2つのタッチ位置は、前記マルチタッチ操作を構成する3つ以上のタッチ位置の中の2つのタッチ位置であることを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. コンピュータに読み込ませ実行させることで、前記コンピュータを請求項1乃至10のいずれか1項に記載された情報処理装置として動作させるためのプログラム。
  12. 請求項11に記載されたプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
  13. マルチタッチ操作を受け付ける情報処理装置の制御方法であって、
    検出手段により、入力された複数のタッチ位置を所定の周期で検出する検出工程と、
    取得手段により、前記検出工程において検出された、第1の時点における2つのタッチ位置から定まる直線と、第2の時点における前記2つのタッチ位置から定まる直線のなす角度を取得する取得工程と、
    設定手段により、前記第1の時点における2つのタッチ位置の間の距離と、前記2つのタッチ位置によってマルチタッチされているオブジェクトのサイズとに基づいて、角度の閾値を設定する設定工程と、
    受付手段により、前記取得工程において取得された角度が、前記設定工程において設定された角度の閾値より大きい場合に、前記2つのタッチ位置に基づく入力を表示部に表示されている前記オブジェクトに対する回転操作を受け付ける受付工程と、
    を備え
    前記設定工程では、前記2つのタッチ位置の間の距離が同じで前記オブジェクトのサイズが異なる場合、前記オブジェクトのサイズが小さいほど小さい角度を、前記角度の閾値として設定することを特徴とする情報処理装置の制御方法。
  14. マルチタッチ操作を受け付ける情報処理装置の制御方法であって、
    検出手段により、入力された複数のタッチ位置を所定の周期で検出する検出工程と、
    取得手段により、前記検出工程において検出された、第1の時点における2つのタッチ位置から定まる直線と、第2の時点における前記2つのタッチ位置から定まる直線のなす角度を取得する取得工程と、
    設定手段により、前記第1の時点における2つのタッチ位置の間の距離と、前記マルチタッチ操作が入力される領域のサイズとに基づいて、角度の閾値を設定する設定工程と、
    受付手段により、前記取得工程において取得された角度が、前記設定工程において設定された角度の閾値より大きい場合に、前記2つのタッチ位置に基づく入力を表示部に表示されている画像の少なくとも一部に対する回転操作を受け付ける受付工程と、
    を備え
    前記設定工程では、前記2つのタッチ位置の間の距離が同じで前記領域のサイズが異なる場合、前記領域のサイズが小さいほど小さい角度を、前記角度の閾値として設定することを特徴とする情報処理装置の制御方法。
  15. マルチタッチ操作を受け付ける情報処理装置の制御方法であって、
    検出手段により、入力された複数のタッチ位置を所定の周期で検出する検出工程と、
    取得手段により、前記検出工程において検出された、第1の時点における2つのタッチ位置から定まる直線と、第2の時点における前記2つのタッチ位置から定まる直線のなす角度を取得する取得工程と、
    設定手段により、前記第1の時点における2つのタッチ位置の間の距離と、前記2つのタッチ位置によってマルチタッチされているオブジェクトのサイズの、前記マルチタッチ操作が入力される領域のサイズに対する比率とに基づいて、角度の閾値を設定する設定工程と、
    受付手段により、前記取得工程において取得された角度が、前記設定工程において設定された角度の閾値より大きい場合に、前記2つのタッチ位置に基づく入力を表示部に表示されている前記オブジェクトに対する回転操作を受け付ける受付工程と、
    を備え
    前記設定工程では、前記2つのタッチ位置の間の距離が同じで前記比率が異なる場合、前記比率が大きいほど大きい角度を、前記角度の閾値として設定することを特徴とする情報処理装置の制御方法。
  16. マルチタッチ操作を受け付ける情報処理装置の制御方法であって、
    検出手段により、入力された複数のタッチ位置を所定の周期で検出する検出工程と、
    取得手段により、前記検出工程において検出された、第1の時点における2つのタッチ位置から定まる直線と、第2の時点における前記2つのタッチ位置から定まる直線のなす角度を取得する取得工程と、
    設定手段により、前記第1の時点における2つのタッチ位置の間の距離と、前記マルチタッチ操作を行うユーザの手のサイズとに基づいて、角度の閾値を設定する設定工程と、
    受付手段により、前記取得工程において取得された角度が、前記設定工程において設定された角度の閾値より大きい場合に、前記2つのタッチ位置に基づく入力を表示部に表示されている画像の少なくとも一部に対する回転操作を受け付ける受付工程と、
    を備え
    前記設定工程では、前記2つのタッチ位置の間の距離が同じで前記手のサイズが異なる場合、前記手のサイズが小さいほど小さい角度を、前記角度の閾値として設定することを特徴とする情報処理装置の制御方法。
JP2012092213A 2012-04-13 2012-04-13 情報処理装置およびその制御方法、コンピュータプログラム Expired - Fee Related JP6004716B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012092213A JP6004716B2 (ja) 2012-04-13 2012-04-13 情報処理装置およびその制御方法、コンピュータプログラム
US13/860,207 US9195381B2 (en) 2012-04-13 2013-04-10 Information processing apparatus, method for controlling the same, and storage medium to receive a touch operation for rotating a displayed image
CN201310127458.9A CN103376945B (zh) 2012-04-13 2013-04-12 信息处理装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012092213A JP6004716B2 (ja) 2012-04-13 2012-04-13 情報処理装置およびその制御方法、コンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2013222263A JP2013222263A (ja) 2013-10-28
JP2013222263A5 JP2013222263A5 (ja) 2015-06-11
JP6004716B2 true JP6004716B2 (ja) 2016-10-12

Family

ID=49324646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012092213A Expired - Fee Related JP6004716B2 (ja) 2012-04-13 2012-04-13 情報処理装置およびその制御方法、コンピュータプログラム

Country Status (3)

Country Link
US (1) US9195381B2 (ja)
JP (1) JP6004716B2 (ja)
CN (1) CN103376945B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI525494B (zh) * 2013-10-31 2016-03-11 緯創資通股份有限公司 觸控方法及觸控電子裝置
CN104657061B (zh) * 2013-11-25 2018-01-30 华硕电脑股份有限公司 截屏的方法及应用其的电子装置
US9086759B2 (en) * 2013-12-19 2015-07-21 Amazon Technologies, Inc. Input control assignment
US9690478B2 (en) * 2014-03-04 2017-06-27 Texas Instruments Incorporated Method and system for processing gestures to cause computation of measurement of an angle or a segment using a touch system
JP6255321B2 (ja) * 2014-08-20 2017-12-27 アルプス電気株式会社 情報処理装置とその指先操作識別方法並びにプログラム
CN104777998B (zh) * 2015-03-17 2018-12-18 惠州Tcl移动通信有限公司 图片旋转的方法及智能终端
WO2017018384A1 (ja) 2015-07-28 2017-02-02 日本電信電話株式会社 タッチパネル型情報端末装置とその情報入力処理方法およびプログラム
JP6024848B1 (ja) * 2016-05-06 2016-11-16 富士ゼロックス株式会社 情報処理装置及びプログラム
JP6996322B2 (ja) * 2018-02-02 2022-01-17 京セラドキュメントソリューションズ株式会社 情報処理装置
JP7218171B2 (ja) * 2018-12-21 2023-02-06 キヤノン株式会社 回転操作装置および電子機器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7138983B2 (en) 2000-01-31 2006-11-21 Canon Kabushiki Kaisha Method and apparatus for detecting and interpreting path of designated position
KR100958491B1 (ko) * 2004-07-30 2010-05-17 애플 인크. 터치 감지 입력 장치용 모드 기반 그래픽 사용자 인터페이스
JP2008070968A (ja) * 2006-09-12 2008-03-27 Funai Electric Co Ltd 表示処理装置
DE202007014957U1 (de) 2007-01-05 2007-12-27 Apple Inc., Cupertino Multimediakommunikationseinrichtung mit Berührungsbildschirm, der auf Gesten zur Steuerung, Manipulierung und Editierung von Mediendateien reagiert
US7956847B2 (en) * 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
WO2009093241A2 (en) * 2008-01-23 2009-07-30 N-Trig Ltd. Graphical object manipulation with a touch sensitive screen
JP2008217767A (ja) 2008-01-29 2008-09-18 Fujitsu Ten Ltd 表示装置
US8390577B2 (en) * 2008-07-25 2013-03-05 Intuilab Continuous recognition of multi-touch gestures
WO2011045861A1 (ja) * 2009-10-16 2011-04-21 パイオニア株式会社 地図表示装置、地図表示方法及び地図表示プログラム

Also Published As

Publication number Publication date
US9195381B2 (en) 2015-11-24
US20130271430A1 (en) 2013-10-17
CN103376945B (zh) 2016-08-03
CN103376945A (zh) 2013-10-30
JP2013222263A (ja) 2013-10-28

Similar Documents

Publication Publication Date Title
JP6004716B2 (ja) 情報処理装置およびその制御方法、コンピュータプログラム
US9529527B2 (en) Information processing apparatus and control method, and recording medium
JP5990011B2 (ja) 情報処理装置及びその制御方法
US9575562B2 (en) User interface systems and methods for managing multiple regions
JP4795343B2 (ja) 二重モードデジタイザの自動切り替え
JP6410537B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
CN102841702A (zh) 信息处理装置、显示控制方法以及程序
JP6253284B2 (ja) 情報処理装置およびその制御方法、プログラム、記録媒体
US20150277649A1 (en) Method, circuit, and system for hover and gesture detection with a touch screen
US10126856B2 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
JP2012099005A (ja) 入力装置、入力方法および入力プログラム
TWI354223B (ja)
JP6370118B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
US10564762B2 (en) Electronic apparatus and control method thereof
JP5477108B2 (ja) 情報処理装置及びその制御方法並びにプログラム
KR20140033726A (ko) 터치 스크린을 포함한 전자 장치에서 다섯 손가락을 구별하기 위한 방법 및 장치
JP5675196B2 (ja) 情報処理装置及びその制御方法
JP2017059201A (ja) 電子機器及びその制御方法、プログラム、並びに記憶媒体
JPWO2016208099A1 (ja) 情報処理装置、情報処理装置に対する入力を制御する入力制御方法及び入力制御方法を情報処理装置に実行させるためのプログラム
EP3433713B1 (en) Selecting first digital input behavior based on presence of a second, concurrent, input
CN104679312A (zh) 电子装置及其触控系统、触控方法
JP2017228216A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
TW201528114A (zh) 電子裝置及其觸控系統、觸控方法
JP2014130449A (ja) 情報処理装置およびその制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160624

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160906

R151 Written notification of patent or utility model registration

Ref document number: 6004716

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees