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

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

Info

Publication number
JP2015018325A
JP2015018325A JP2013143696A JP2013143696A JP2015018325A JP 2015018325 A JP2015018325 A JP 2015018325A JP 2013143696 A JP2013143696 A JP 2013143696A JP 2013143696 A JP2013143696 A JP 2013143696A JP 2015018325 A JP2015018325 A JP 2015018325A
Authority
JP
Japan
Prior art keywords
input
immediately before
information
touch
operation input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013143696A
Other languages
English (en)
Other versions
JP6253284B2 (ja
JP2015018325A5 (ja
Inventor
雅史 吉田
Masashi Yoshida
雅史 吉田
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 JP2013143696A priority Critical patent/JP6253284B2/ja
Priority to US14/325,089 priority patent/US9389781B2/en
Publication of JP2015018325A publication Critical patent/JP2015018325A/ja
Publication of JP2015018325A5 publication Critical patent/JP2015018325A5/ja
Application granted granted Critical
Publication of JP6253284B2 publication Critical patent/JP6253284B2/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/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
    • 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

Landscapes

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

Abstract

【課題】 本発明は、同じ操作が繰り返しされている状況であっても、ユーザの入力を意図に沿った操作種別として特定することを主な目的とする。【解決手段】 本発明は、上記課題を解決するため、入力された注目情報と直前に入力された操作に関する情報とに基づいて、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあるか否かを判定し(S203)、前記注目情報により予め設定された所定の条件が満たされたことに応じて、前記注目情報に基づいて入力された操作を特定する(S206)際に、前記判定において、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合には、前記特定において、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定するための条件を、前記所定の条件よりも満たされやすい条件に設定する設定する(S204)。【選択図】 図2

Description

本発明は、情報処理装置に対して入力された操作を特定する技術に関する。
近年、ユーザの指あるいはスタイラスなどの操作オブジェクトによりタッチパネル等の入力部がタッチされた位置のX,Y座標値に基づいてタッチ操作を認識し、そのタッチ操作に応じた各種処理を実行するタッチ入力機器が普及している。よく知られたタッチ操作の種別の1つに、フリック(タッチパネル表面を弾くようにしてタッチした指を離す操作)がある。フリックの入力に対しては、フリックのスピードや方向に合わせて表示部に表示された表示画像がスクロールされる、あるいは表示画像が順次切り替えられる、といった機能が知られている。ユーザは、スクロール量を増やしたい場合や表示画像の切り替えを繰り返したい場合には、連続して複数回フリックを入力する。
特許文献1では、一定時間内に繰り返しフリックが入力された場合に、1回のフリック操作に応じた表示画像のスクロール量を大きくすることが開示されている。
特開2012−168890号公報
フリックを繰り返し入力する場合、ユーザは後続するフリックを雑に入力する傾向があり、タッチ操作がフリックであると特定されるための基準が満たされないことがある。基準が満たされない場合、ユーザはフリックを意図した入力を行ったにも関わらず、フリックに応じた処理が実行されないため、誤動作であると感じられてしまうことがある。本発明は上記課題に鑑みてなされたものであり、同じ操作が繰り返しされている状況であっても、ユーザの入力を意図に沿った操作種別として特定することを主な目的とする。
上記目的を達成するため、本発明は、入力された注目情報と直前に入力された操作に関する情報とに基づいて、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあるか否かを判定する判定手段と、前記注目情報により予め設定された所定の条件が満たされたことに応じて、前記注目情報に基づいて入力された操作を特定する特定手段と、前記判定手段により、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合には、前記特定手段が、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定するための条件を、前記所定の条件よりも満たされやすい条件に設定する設定手段とを備えることを特徴とする。
本発明によれば、同じ操作が繰り返しされている状況であっても、ユーザの入力を意図に沿った操作種別として特定することが可能となる。
情報処理装置のハードウェア構成及び機能構成の一例を示す図 ユーザの操作を特定するメイン処理と、ユーザのタッチ入力を検出する処理の一例を示すフローチャート シングルタッチ操作の繰り返しを判定する処理の一例を示すフローチャート 繰り返し回数に応じて基準値を調整する処理と、操作種別がフリック操作であることを特定する処理の一例を示すフローチャート マルチタッチ操作の繰り返しが可能な情報処理装置が実行する、シングルタッチ操作の繰り返しを判定する処理の一例を示すフローチャート マルチタッチ操作の繰り返しを判定する処理の一例を示すフローチャート 操作種別がマルチドラッグ操作であることを特定する処理の一例を示すフローチャート 操作種別がピンチ操作であることを特定する処理、操作種別がローテート操作であることを特定する処理の一例を示すフローチャート 操作の繰り返し回数と各操作種別の基準値の対応の一例を示す表 検出されるタッチ位置に基づいてフリック操作の繰り返しが判定される様子の一例を示す図 検出されるタッチ位置に基づいてマルチタッチ操作の繰り返しが判定される様子の一例を示す図
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施の具体例を示すにすぎない。
<第1の実施形態>
本実施形態では、タッチ操作を認識可能な情報処理装置100に対して、入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるタッチ操作が、繰り返し入力されるやすい状況にあることを判定した上でタッチ操作の種別を特定する例を説明する。特に、ユーザが入力領域(タッチパネル表面等)の1箇所を指でタッチしたまま動かすことで行うシングルタッチ操作が繰り返される場合を想定する。なお、入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるシングルタッチ操作とは、例えばフリックである。フリックは、ユーザが指でタッチパネルをタッチしてから指を離すまでに、タッチ位置を移動させた距離に基づいて取得される、単位時間当たりの移動量が、所定の値を超えることに基づいて特定されることが多い。
図1(a)を参照して、本発明に係る情報処理装置100のハードウェア構成の一例について説明する。情報処理装置100は、バス101、CPU102、ROM103、RAM104、入力I/F105、出力I/F106、入出力I/F107、及びタッチパネルディスプレイ111と記憶装置108とを備える。
CPU102は、CPU(Central Processing Unit)であり、各種処理のための演算や論理判断などを行い、システムバス101に接続された各構成要素を制御する。この情報処理装置100には、プログラムメモリとデータメモリを含むメモリが搭載されている。
ROM(Read−Only Memory)103は、プログラムメモリであって、後述するフローチャートに示す各種処理手順を含むCPU102による制御のためのプログラムを格納する。
RAM(Random Access Memory)104であり、CPU102の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。記憶装置108などからRAM104にプログラムをロードすることで、プログラムメモリを実現しても構わない。
入力I/F105は、ポインティングデバイスなどの入力装置109を制御し、入力装置109から出力された信号を取得する。ポインティングデバイスは、例えば、マウス、トラックボール、タッチパネル等が使用可能である。また例えば各種センサを利用して、検出対象の三次元位置を検出するシステムを使用してもよい。
出力I/F106は、液晶ディスプレイ、テレビモニタ。液晶プロジェクタ等の表示出力部を有する出力装置110に対して、後述する各種の処理を実行した結果の出力を制御する信号を出力する。
本実施形態において、入力装置109であるタッチパネルと出力装置110であるディスプレイ装置は、情報処理装置100に一体化したタッチパネルディスプレイ111を使用するものとする。ただし、これらは情報処理装置100に接続された外部装置であってもよく、それぞれが独立した装置であってもかまわない。なお、本実施形態で用いられる入力装置としてのタッチパネルディスプレイ111からは、ユーザによってタッチされていること、あるいはタッチが離された点を検出したことを示す信号が、タッチイベントとして情報処理装置100に通知される。その際、タッチを検出する領域が走査されることによって順次検出されたタッチイベントを、入力I/F105が1点ずつ取得する。本実施形態において用いるタッチパネルディスプレイ111は、タッチされていることを検出したときにはタッチイベントとして「TOUCH」を、検出されていたタッチが離されたときにはタッチイベントとして「RELEASE」を通知する。タッチパネルは静電容量方式のものを使用するとし、ユーザとパネル表面との接触面のうち、1点の座標をタッチ位置として特定してタッチイベントと共に通知する。ただし、タッチパネルの方式は静電容量方式に限らない。
入出力I/F107を介して接続される記憶装置108は、本実施形態に係るデータやプログラムを記憶しておくためのハードディスクドライブ等の記憶装置である。記憶装置108は、外部から接続された外部記憶装置として構成としてもよい。例えば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD−ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。また、記憶装置108は、ネットワークで接続されたサーバ装置などであってもよい。本実施形態において必要な情報は、RAM104や記憶装置108に保持される。
以下では、特に断らない限り、既に説明した図を用いて説明されたものには同一の符号を付し、その説明を省略する。
図1(b)は情報処理装置100の機能構成の一例を示すブロック図である。情報処理装置100は、検出部121、判定部122、取得部123、条件設定部124、特定部125、領域設定部126、記憶部127、表示制御部128とを備える。これらの各機能部は、CPU102が、ROM103に格納されたプログラムをRAM104に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、上記CPU102を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
検出部121は、入力I/F105、CPU102、ROM103、RAM104等によって構成され、入力装置109から出力された信号を所定時間毎に検出する。本実施形態では、20ms毎に検出を繰り返すとする。本実施形態では、検出される信号には、タッチイベントの情報、ユーザによって入力された位置を示す情報が含まれる。以下では、検出部121が検出した信号により示される情報を「注目情報」と呼ぶ。検出部121は、検出した位置を示す情報と、位置の入力が検出された時刻(検出時刻)とをタッチ位置のIDに関連付けて保持する。IDを利用することで、同一のタッチ位置を識別することができる。従って、検出部121は、同じIDのタッチ位置に関する情報を取得する度に、RAM104が保持する注目情報を順次更新する。IDにはタッチ位置が検出された順番を関連させることで、検出されるタッチ位置の数が複数である場合に管理がしやすくなる。検出部121は、注目情報をRAM104に保持し適宜更新していく。
判定部122は、CPU102、ROM103、RAM104等によって構成され、検出部121が検出した注目情報と、直前に入力された操作に関する情報とに基づいて、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する。直前に入力された操作とは、その時点において、最後に操作種別が特定された操作を示す。本実施形態の判定部122は、直前に入力された操作の種別が特定されてから所定の時間内に、新たにタッチ位置の情報が検出され、かつ、当該新たに検出されたタッチ位置が、特定の範囲に含まれる場合、同じ種別の操作が繰り返されやすい状況にあると判定する。ここで用いられる特定の範囲とは、直前に入力された操作の入力が開始されたタッチ位置が含まれる一部の範囲であって、領域設定部126がタッチパネルの入力領域上で、同じ種別の操作が入力され易い特定の範囲として設定するものである。以下では、この特定の範囲を「入力開始領域」と言う。なお、判定部122は、さらに区別すべき操作種別に合わせて判定基準を加えることもできる。
取得部123は、CPU102、ROM103、RAM104等によって構成され、検出部121が検出した注目情報に基づいて、タッチ位置の移動に関する情報を取得する。例えば、ユーザがタッチパネルディスプレイ111に触れたまま指を移動させた後、指をタッチパネルディスプレイ111から離したときの移動距離、タッチ位置の移動距離から導かれる単位時間あたりの移動量等である。なお、以下この明細書では、ユーザが指をタッチパネルディスプレイ111から離すことを「リリースする」と表現する。取得部123は、取得した情報を特定部125に通知する。
条件設定部124は、CPU102、ROM103、RAM104等によって構成され、判定部122により、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定されたことに応じ、入力された操作の種別を特定するための条件を設定する。このとき、操作種別毎に予め設定された所定の条件よりも満たされやすい条件を設定する。本実施形態において、操作の種別とは、情報処理装置100が実行可能な処理に対応付けて予め記憶されたタッチ操作の種類である。情報処理装置100は、入力された操作の種別に応じた処理を実行する。本実施形態では、操作の種別を特定するための条件とは、取得部123によって取得される情報が示す値が、前記操作の種別毎に設定された所定の基準値を超えるという条件である。本実施形態では、後述する特定部125が、入力された操作種別を特定したことに応じて、RAM104に入力された操作の種別を示す情報を保持する。従って、条件設定部124は、保持されている情報を参照することで、どの種別の操作の基準値を設定するかを判断する。例えば、フリックに対して設定される所定の条件とは、タッチアップされるまでのタッチ位置の移動距離に基づく、単位時間あたりの移動量が所定の基準値を超えることである。なお、単位時間あたりの移動量を移動スピードとして扱っても同じである。条件設定部124は、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定されたことに応じて、所定の基準値よりも低い値となるように基準値を調整された値を、記憶部127に記憶された情報を参照することによって取得し条件を設定する。条件設定部124は、設定した条件、すなわち調整した基準値を特定部125に通知する。
特定部125は、CPU102、ROM103、RAM104等によって構成され、取得部123が取得した情報と、記憶部127に記憶された所定の条件、あるいは条件設定部124が設定した条件とに基づいて、入力された操作の種別を特定する。本実施形態では、判定部122が直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定した場合、条件設定部124が設定した基準値を用いた条件を用いて特定を行う。一方で、判定部122が直前に入力された操作と同じ種別の操作が繰り返されやすい状況にはない判定した場合、記憶部127に記憶された所定の基準値を用いた条件を用いて特定を行う。また、記憶部127に記憶されている、他の種別の操作を特定するために設定された条件が満たされた場合には、満たされた条件に対応する他の種別の操作が入力されたと特定する。また、特定部125は、直前に入力された操作の種別を示す情報をRAM104に保持し、表示制御部128に通知する。
領域設定部126は、CPU102、ROM103、RAM104等によって構成され、判定部122が直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあるるかを判定するのに利用する「入力開始領域」を設定する。本実施形態では、直前に入力された操作の開始位置を含む所定の大きさの範囲を「入力開始領域」として設定し、判定部122に通知する。
記憶部127は、CPU102、ROM103、RAM104等によって構成され、情報処理装置100が実行可能な複数の処理と、それらの処理の実行を指示する複数のタッチ操作の種別とを予め対応付けた情報を記憶している。また、各タッチ操作の種別を特定するための所定の条件と、所定の条件の判定に用いる所定の基準値(初期値)を関連付けて記憶している。また、各種別の操作が繰り返される場合に、繰り返し回数に対応して条件設定部124が設定する基準値の値を示す情報を記憶している。
表示制御部128は、CPU102、ROM103、RAM104、出力I/F107等によって構成され、特定部125によって特定された操作の種別に対応する処理を実行し、実行結果を反映した表示画像を生成して出力装置110に出力する。
図2(a)は情報処理装置100のメイン処理の一例を示すフローチャートである。本実施形態では、情報処理装置の電源が投入され起動され、タッチ操作の入力が可能な状態になったことに応じて図2(a)のフローチャートが起動される。ただし、フリック等特定のタッチ操作の受付が可能な特定のアプリケーション(画像の閲覧やWEBブラウザ等)が実行されたことにおうじて起動されるようにしてもよい。
ステップS201では、検出部121は、ユーザの入力に基づく情報を検出する。本実施形態では、タッチパネルディスプレイ111から出力される信号に基づいて、タッチイベント、タッチされた位置を示す情報、タッチ位置を検出した時刻の情報を検出する。そして本実施形態では、ステップS201が実行された時に検出された情報を注目情報という。本実施形態では、検出部121は、所定時間毎にタッチパネルディスプレイ111からの信号を受け付けており、以降の処理ステップが実行されている間にも、所定時間毎に検出部121により注目情報が検出され、情報が蓄積されている。ステップS201のより詳細な処理の内容は図2(b)のフローチャートを参照して後述する。
ステップS202では、判定部122が、検出部121によって検出された注目情報と、直前に入力された操作に関する情報とに基づいて、直前に入力された操作と同じ種別の操作が繰り返され状況にあるかを判定する。直前に入力された操作とは、この時点までの時間において、最後に操作種別が特定された操作を示す。本実施形態では、注目情報の入力が、直前に入力された操作の終了後直ぐに入力され、かつ、直前に入力された操作が開始された位置から開始された入力であるとみなせる場合に、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する。上記のような入力であるとみなせなければ、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にはないと判定される。ステップS202のより詳細な処理の内容は図3のフローチャートを参照して後述する。
ステップS203では、ステップS202において、判定部122が、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあるかと判定する。直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合(ステップS202でYES)には、ステップS203に進む。一方、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にはないと判定された場合(ステップS202でNO)には、ステップS204に進む。
ステップS204では、条件設定部124が、直前に入力された操作種別の操作に関する条件を設定する。本実施形態では、条件設定部124は、記憶部127に記憶されている情報を取得することで、入力された操作を当該種別の操作を特定するために予め設定された所定の条件とは異なる条件を設定する。ステップS204のより詳細な処理の内容は図4(a)のフローチャートを参照して後述する。
ステップS205では、特定部125が、注目情報に基づいて取得される情報が、入力された操作が、直前に入力された操作と同じ種別の操作であると特定するための条件を満たすか否かを判定する。ステップS203において、同じ種別の操作が繰り返しされやすい状況にはない判定された場合には、記憶部127に記憶された所定の条件に基づいて判定が行われる。一方、ステップS203において、同じ種別の操作が繰り返しされやすい状況にあると判定された場合には、ステップS204において設定された条件に基づいて判定が行われる。条件が満たされると判定された場合(ステップS205でYES)には、ステップS206に進む。一方条件が満たされないと判定された場合(ステップS205でNO)には、メイン処理を終了する。特定部125は、メイン処理が終了された後で、記憶部127に記憶された他の条件が満たされた場合には、入力された操作は他の操作であると特定することができる。
ステップS206では、特定部125が、注目情報に基づいて入力される操作は、直前に入力された操作と同じ種別の操作であると特定する。そして、表示制御部128は、特定された操作に対応する処理の結果が反映された表示画像を生成し、タッチパネルディスプレイ111に出力する。ステップS205、ステップS206のより詳細な処理の内容は、図4(b)のフローチャートを参照して後述する。
以下、各ステップの詳細な内容を、フローチャートを参照して説明する。
図2(b)は、ステップS201において実行される、注目情報を取得する処理の詳細を示すフローチャートである。
まず、ステップS211において、検出部121は、タッチパネルから通知されたタッチイベントが「TOUCH」であるか否かを判定する。通知されたタッチイベントが「TOUCH」だと判定された場合(ステップS211でYES)には、ステップS213に進む。通知されたタッチイベントが「TOUCH」ではない、すなわち「RELEASE」であった場合(ステップS211でNO)には、ステップS212に進む。
ステップS212では、検出部121が、RAM104に保持されていた情報のうち、「RELEASE」が検出されたタッチ位置に対応するIDに関連付けられていた情報に、タッチ位置がリリースされたことを示す情報を付加する。例えば、リリースフラグを「TRUE」とする。
一方、ステップS213では、検出部121が、「TOUCH」が検出されたタッチ位置と同じIDのタッチ位置が既に検出されているか否かを判定する。検出部121は、RAM104に保持された情報を参照し、対応するIDが含まれているかを判定する。同じIDのタッチ位置が既に検出されていると判定された場合(ステップS213でYES)には、処理はステップS215に進み、同じIDのタッチ位置が検出されていないと判定された場合(ステップS213でNO)には、ステップS214に進む。
ステップS214において、検出部121は、「TOUCH」が検出されたタッチ位置のID、座標、検出時刻の情報をRAM104に保持されている情報に新規追加する。この際、RAM104では、タッチ位置が新たに検出されたことを示す情報を保持する。例えば、新規検出フラグを「TRUE」とする。
ステップS215では、RAM104に保持されている情報のうち、「TOUCH」が検出されたタッチ位置と同じIDの座標、検出時刻の情報を更新する。このとき、新規検出フラグが「TRUE」である情報は上書きせず、同じIDのタッチ位置の最新の情報として別途記憶する。それ以降に繰り返される処理で、最新の位置情報を上書きして更新し、図2(a)の処理にリターンする。本実施形態では、所定の距離未満の移動が検出された場合、そのタッチ位置は、移動していない、すなわち停止しているものとして処理される。
なお、RAM104に蓄積されている注目情報は、これらの注目情報に基づくタッチ操作の種別が特定された時点で、初期化される。その際、後述するように、特定部125により、一部の注目情報は、直前に入力された操作に関する情報に変換されて保持される。
また、本実施形態では、タッチを検出したときにはタッチイベントとして「TOUCH」を、検出されていたタッチ位置が解除されたときにはタッチイベントとして「RELEASE」が通知されるタッチパネル109を用いたが、これに限らない。例えば、新たに入力領域がタッチされた場合には「TOUCH_DOWN」、既に検出されていたIDのタッチ位置の移動が検出された場合には「MOVE」、離された時には「TOUCH_UP」をタッチイベントとして通知するものでもよい。この場合、「TOUCH_DOWN」が通知された場合には、RAM104に保持される情報を新規追加して新規検出フラグを「TRUE」とし、「MOVE」が通知された場合には同じIDの情報を最新の情報を更新する。そして、「TOUCH_UP」が通知された場合には、同じIDの情報を削除すればよい。
このように、情報処理装置100は、タッチパネルディスプレイ111で検出されている複数のタッチ位置をIDによって識別して情報を管理する。従って、例えばユーザが複数の指によって入力領域上の複数個所を同時にタッチしている場合、複数のタッチ位置それぞれに異なるIDを付してそれぞれの動きを検出することができる。
次に、図3のフローチャートを参照して、ステップS202で実行される、繰り返し判定処理の詳細を説明する。本実施形態では、注目情報の入力が、直前に入力された操作の終了後直ぐに入力され、かつ、直前に入力された操作が開始された位置から開始された入力であるとみなせる場合に、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する。従って、少なくとも、新たに入力される操作が開始された最初のタッチ位置に関する情報が注目情報として検出された段階で判定処理を開始することができる。
ステップS301では、判定部122が、直前に入力された操作に関する情報を取得する。本実施形態では、後述するように、特定部125が、入力された操作の種別を特定した場合には、RAM104に、特定した操作の種別、種別の特定がなされた時刻、特定した操作が開始された位置等の情報を、直前に入力された操作に関する情報として保持する。また、領域設定部126が、特定した操作が開始された位置を含む特定の範囲を、同じ種別の操作が入力され易い範囲である「入力開始領域」として設定し、その範囲を示す情報をRAM104に保持する。従って、判定部122は、ステップS301において、RAM104から必要な情報を読み出す。
ステップS302では、判定部122が、直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出されたか否かを判定する。判定部122は、検出部121が検出した注目情報のうち、検出時刻に関する情報と、ステップS301において取得した、直前に入力された操作に関する情報のうち、種別の特定がなされた時刻の情報とを参照し、判定を行う。本実施形態では、一例として、所定の時間は500msであるとする。つまり、判定部122は、直前に入力された操作の種別の特定がなされた時刻から500msの間に、注目情報が検出されているか否かを判定する。直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出されたと判定された場合(ステップS302でYES)は、ステップS303に進む。一方、直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出されていないと判定された場合(ステップS302でNO)は、ステップS306に進む。
次にステップS303において、判定部122は、設定されている「入力開始領域」に含まれる位置から入力が開始されたか否かを判定する。判定部122は、検出部121が検出した注目情報のうち、新規検出フラグが「TRUE」である位置情報と、ステップS301において取得した、直前に入力された操作に関する情報のうち、「入力開始領域」の情報とを参照し、判定を行う。本実施形態では、一例として、「入力開始領域」は、直前に入力された操作の開始位置を中心とする半径50dotの円内であるとする。つまり、判定部122は、新規検出フラグが「TRUE」とされたタッチ位置が、直前に入力された操作の開始位置を中心とする半径50dotの円内に含まれているか否かを判定する。「入力開始領域」に含まれる位置から入力が開始されたと判定された場合(ステップS303でYES)は、ステップS304に進む。一方、「入力開始領域」に含まれる位置から入力が開始されていないと判定された場合(ステップS303でNO)は、ステップS306に進む。
ステップS304では、判定部122が、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する。そして、直前に入力された操作と同じ種別の操作が繰り返されやすい、すなわち同じ種別の操作が繰り返される可能性が高いと判定されていることを示す情報をRAM104に保持する。例えば、繰り返し判定フラグを「TRUE」とする。
ステップS305では、判定部122がRAM104に保持している繰り返し回数の値をインクリメントし、メイン処理にリターンする。
一方、ステップS306では、判定部122が、RAM104に保持している繰り返し回数の値を0とする。
ステップS307では、判定部122が、直前に入力された操作と同じ種別の操作であると特定するための条件となる基準値を初期化する。本実施形態では、操作の種別を特定するための条件とは、注目情報に基づいて取得される値が、操作の種別毎に設定される基準値を超えるという条件である。ステップS307では、この時点までに同じ種別の操作がこれまでに繰り返し行われており、ステップS204において条件を設定する処理(基準値を調整する処理)によって変更された基準値が設定されていたとしても、それを初期化する。すなわち、RAM104上で基準値として設定されている情報を削除する。処理が完了したら、メインの処理にリターンする。
次に、図4(a)のフローチャートを参照して、ステップS204で実行される、繰り返し判定処理の詳細を説明する。
ステップS401では、条件設定部124が、直前に入力された操作の種別を取得する。本実施形態では、特定部125が、入力された操作の種別を特定したことに応じてRAM104に記憶した情報のうち、操作の種別を示す情報を読み出す。
ステップS402では、条件設定部124が、直前に入力された操作の種別と、繰り返し回数とに対応する基準値を設定する。本実施形態では、予め記憶部127に、各種別の操作が繰り返される場合に、その繰り返し回数に対応して調整される基準値の値を示す情報が記憶されている。図8(a)は、フリック操作の種別に関して、繰り返し回数と設定される基準値とが対応付けられた情報の一例である。例えば、繰り返し回数が1回の場合、フリック特定の基準値である単位時間あたりの移動量は「20」となる。なお、単位は[dot/20ms]に相当する。この場合は、注目情報から導かれるタッチ位置の単位時間あたりの移動量が20dotを超えた場合に、注目情報に基づいて入力される操作の種別はフリックと特定されることを意味する。また繰り返し回数が2回の場合、基準値は「10」、繰り返し回数が3回以上続いた場合、基準値は「5」と設定される。つまり、繰り返し回数が多くなるほど、フリック特定の基準値は小さい値となり、フリックが特定され易くなる。
従って、条件設定部124は、記憶部127に記憶されている情報を参照し、ステップS401で特定された操作種別と、ステップS203の処理においてカウントされた繰り返し回数とに対応する基準値を読み出し、設定する。すなわち、基準値として特定部125に通知する。処理が完了したら、メインの処理にリターンする。
次に、図4(b)のフローチャートを参照して、ステップS204で実行される、繰り返し判定処理の詳細を説明する。
なお、ここからはユーザが入力領域の1箇所を指でタッチしたまま動かすことで行うシングルタッチ操作の一例として、フリック操作が繰り返し入力される場合を想定する。つまり、ステップS401において、直前に入力された操作はフリックであると特定されたものとする。ただし、本実施形態は、フリック操作に限らず、入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるシングルタッチ操作が、繰り返し入力される場合に適応することが可能である。
図4(b)は、直前に入力された操作がフリックと特定された場合に、ステップS204で実行される、繰り返し判定処理の一例である。本実施形態では、各種別の特定に用いられるフローチャートに示す処理は、予め記憶部127に記憶されており、直前に入力された操作が特定されたことに応じて読みだされ、実行される。
ステップS411では、特定部125が、検出部121が所定時間毎に検出する注目情報に基づいて、タッチ位置がリリースされたかを判定する。タッチ位置がリリースされたと判定された場合(ステップS411でYES)には、ステップS412に進む。タッチ位置がリリースされていないと判定された場合(ステップS411でNO)には、ステップS411を繰り返し、リリースされるのを待つ。
ステップS412では、特定部125が、RAM104に保持されている注目情報に基づいて、最後に検出されていたタッチ位置について、タッチが開始されてからリリースされるまでの移動に関する情報を取得する。フリック操作の場合には、タッチ位置の単位時間あたりの移動量を示す情報を取得する。本実施形態では、まず、リリースフラグが「TRUE」であるIDのタッチ位置について、新規検出フラグが「TRUE」である位置情報と、最後に検出された位置を示す位置情報との間隔が、当該タッチ位置の移動距離として取得される。また、取得した移動距離を、新規検出フラグが「TRUE」である検出時刻と、最後に検出されたタッチ位置の検出時刻とから、入力にかかった時間が、移動時間として取得される。ただし、計算を簡単にするため、移動時間は、検出部121が注目情報の検出を行う所定の時間間隔を単位時間とするとよい。そして、移動距離を移動時間で割ることにより、単位時間あたりのタッチ位置の移動量が取得される。
ステップS413では、取得されたタッチが開始されてからリリースされるまでの単位時間あたりの移動量が、基準値を超えるか否かを判定する。このとき、ステップS402において、条件設定部124が基準値を設定していない場合には、記憶部127に記憶されている所定の基準値を読み出して使用する。ステップS402において、条件設定部124が基準値を設定した場合には、通知された基準値を使用する。単位時間あたりの移動量が基準値を超えると判定された場合(ステップS413でYES)には、ステップS414に進む。一方で、単位時間あたりの移動量が基準値を超えないと判定された場合(ステップS413でNO)には、メイン処理にリターンする。そして、メイン処理が終了する。
一方、ステップS414では、特定部125が、注目情報に基づいて入力された操作が、フリック操作であると特定する。
ステップS415では、表示制御手段128が、フリック操作に対応する処理を実行した結果を反映した表示画像を生成し、出力装置110に出力する。従って、フリック操作に応じて表示画像のスクロール、あるいは表示画像の切り替えなどの処理が実行され、ユーザにフィードバックされる。その際には、検出部121によってRAM104に保持されている注目情報を利用して、フリックの方向や操作量を特定し、出力に反映する。
ステップS416では、特定部125が、今回特定したフリック操作の情報を、直前に入力された操作に関する情報としてRAM104に保持する。本実施形態では、特定した操作の種別、種別の特定がなされた時刻、特定した操作が開始された位置等の情報を、直前に入力された操作に関する情報として保持する。
ステップS417では、領域設定部126が、タッチパネルディスプレイ111の入力領域上で、今回特定された操作と同じ種別の操作が入力され易い特定の範囲である「入力開始領域」を設定する。具体的には、RAM104に保持されている注目情報のうち、新規検出フラグが「TRUE」である位置情報を取得し、その位置が含まれる範囲を特定する。例えば、取得したタッチ位置を中心とする半径が50dotの円を「入力開始領域」とする。そして、検出部121によってRAM104に蓄積されていた注目情報を初期化する。
ここで、図10を参照して、直前に入力された操作が開始された位置の情報に基づいて設定される、「入力開始領域」の具体例を説明する。図10(a)の領域1000は、直前に入力された操作がフリックであった場合の、入力開始位置に基づいて設定された「入力開始領域」を表している。この「入力開始領域」の範囲は、直前に入力されたフリック操作の開始位置1001から半径50dotの円内である。ただし、例えば直前に入力されたフリックの開始位置である位置1001からX座標、Y座標共に±50dotの範囲等の特定方法を用いてもよい。また、本実施形態では50dotとしているが、この値は自由に変更することが可能である。また、タッチパネルディスプレイ111の大きさに基づいて「入力開始領域」の大きさを決定するようにしてもよい。図10(a)の場合、注目情報に基づいて入力される今回の操作の開始位置1003は、領域1000の内部に含まれる。従って、同じ種別の操作が繰り返される可能性は高いと考えられる(ステップS403でYES)。一方、図10(b)では、注目情報に基づいて入力される今回の操作の開始位置1003が領域100の外から開始されている。従って、本実施形態では、同じ種別の操作が繰り返される可能性は低いとみなし、同じ種別の操作が繰り返されやすい状況にはないと判定する(ステップS403でNO)。
以上が、本実施形態において、入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるタッチ操作が、繰り返し入力されやすい状況にあるかを判定した上でタッチ操作の種別を特定する処理である。
なお、本実施形態では繰り返し回数に応じて基準値を段階的に異ならせたが、これは一例であり、これに限らない。例えば、前回にフリックと判定された時間から次の入力が開始されるまでの時間に応じてフリック特定の基準値を調整してもよい。この場合、前回からの経過時間が短いほど次回もフリックが行われる可能性が高いと判断し、フリック特定の基準値を小さい値に調整する。
また、本実施形態の判定部122は、直前に入力された操作の種別が特定されてから直ぐに次の入力が開始されたかを判定する処理と、入力開始領域で次の入力が開始されたかを判定する処理との2段階の判定を行った。ただし、新たに入力される操作が、入力開始領域内から開始されたかを判定する処理は省略も可能である。一般的に、同じ種別の操作を繰り返すことでユーザの入力が雑になる傾向が生じる理由は、操作と操作の間隔が短いために、高速で指を動かすためである可能性が高い。従って、少なくとも、直前に入力された操作の種別が特定されてから直ぐに次の入力が開始されたかを判定する処理を行うことで、操作が繰り返されることでユーザの入力が雑となり、タッチ位置の移動量が不十分になるなどの課題は解決することができる。ただし、入力開始領域で次の入力が開始されたかを判定する処理を加えることで、より精度の良い判定が可能となる。ユーザが、直前の操作の直後に、直前の操作と開始位置に指を戻すという行為を行った場合、同じ種別の操作を繰り返す可能性が高いと考えられるためである。
なお、第1の実施形態は、フリック操作が繰り返されることを例に挙げて説明した。フリック操作は、シングルタッチ操作の中でも、特に繰り返し入力される場面が多い。本実施形態は、このように、特に課題が生じやすい操作に対してのみ、実行されるようにしてもよい。その場合には、例えば、繰り返し判定処理に、操作種別毎に適切な判定ステップを加えることも可能となる。例えば、フリック操作の場合、同じフリック操作であっても、入力の方向が異なれば、異なる処理の表示コマンドに対応付けられている場合がある。従って、ステップS303の後に、判定部122によって、注目情報に基づいて、入力されている操作の方向を取得し、直前に入力された操作の入力方向と略同一な方向の入力か否かを判定する処理ステップを加える。こうすることで、例えば右向きのフリック、左向きのフリックを区別した上で、直前に入力された操作と同じ種別の操作が繰り返されるかをより精度良く判定することができる。ただし、注目情報に基づいて新たに入力される操作の入力方向を算出するためには、少なくとも2点分の位置情報を検出している必要がある。
例えば、上述した図10(a)のように、位置1001から位置1002に向かう直前に入力されたフリック操作の方向と、位置1003から位置1004に向かう注目情報に基づいて入力された操作の方向との角度の差が、所定の角度以内かを判定する。所定の角度を45°とすると、角度の差が45°以内であれば、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定するステップS304に進む。角度の差が45°を超えていれば、ステップS307に進む。なお、入力の方向の算出は、注目情報に含まれる2点のタッチ位置の座標情報と、アークタンジェントを用いて行う。タッチパネルディスプレイ111に触れた際の座標(X1、Y1)、離す直前の座標(X2、Y2)とすると、TANθ=(Y2−Y1)/(X2−X1)を計算し、入力方向であるθを算出する。ここで、Y2−Y1の値が負である場合は、Y軸に対して負の方向にユーザ操作が行われている為、入力方向に180°を加算する。
入力方向の算出の具体例について図10(a)を例にして説明する。図10(a)は、ユーザ操作の一例を示す図である。位置1003は入力の開始位置を表しており、位置1004は終了位置を表している。例えば、位置1003の座標が(100、500)、位置1004の座標が(300、500)であった場合、TANθ=(500−500)/(300−100)=0となり、θ=0°となる。つまり、この場合入力方向は0°と求められる。ここで、図10(c)は45°以内で入力されていない場合の一例である。位置1007は入力の開始位置を表し、位置1008は終了位置を表している。例えば、位置1007の座標が(100,500)、位置1008の座標が(200、800)であった場合、TANθ=(800−500)/(200−100)=3となり、θ=71°となる。つまり、この場合、入力方向は71°である。また、上述した通り前回のフリックである位置1001から位置1002の入力方向は0°である。従って、0°から71°と前回のフリックの方向から45°を超えた入力方向である為、同一な方向の入力ではないと判定する。
このように、例えば同じフリックでも方向が異なるなど、区別することが求められる操作種別に適切な判定処理を加えることで、より精度良く判定を行うことができる。
本実施形態では、操作の開始の検出時刻、入力開始位置、入力方向を使って、同じ種別の操作が繰り返されやすい状況にあるか否かを判定する例を示した。操作の開始の検出時刻、入力開始位置を用いる場合、新たな注目情報を取得した段階で、速やかに判定処理を行うことができる。ただし、判定方法はこれらに限らない。例えば、直前に入力された操作との入力スピードの差が所定の範囲内であれば、同じ種別の操作が繰り返される可能性が高いとみなすこともできる。また、直前に入力された操作よりも前の操作の開始時刻を取得し、一定の時間間隔で入力が開始されていれば、同じ種別の操作が繰り返される可能性が高いとみなすこともできる。
このように、第1の実施形態では、直前に入力された操作と同じ種別の操作が繰り返し入力される可能性が高いとみなされる状況では、直前に入力された操作と同じ種別の操作を特定するための条件を異ならせる。それにより、繰り返し入力される可能性が低いとみなされる場合よりも、入力された操作が直前に入力された操作と同じ種別の操作であると特定されやすくなる。従って、ユーザが操作を繰り返すうちに入力が雑になり、移動量が不十分になったとしても、ユーザの意図に沿った操作が認識され易くなる。つまり、ユーザにとっての誤動作を軽減することができる。特に本実施形態では、同じ種別の操作が繰り返された回数に応じて、条件の厳しさ(基準値の大きさ)を変化させるので、繰り返し回数が多くなり、入力が雑になり易いほど、入力された操作が直前に入力された操作と同じ種別の操作であると特定され易くなる。また、直前に入力された操作と同じ種別の操作を特定する条件が満たされない場合には、通常通り他の操作が入力されたことが特定される所定の条件が満たされることに応じ、直前に入力された操作以外の様々な操作に対応する処理が実行される。
次に、第1の実施形態に適応することが可能な変形例を説明する。
<変形例1>
第1の実施形態では、同じ種別の操作が繰り返された回数に応じて、次に入力される操作が、直前に入力された操作と同じ種別の操作であると特定されるための基準を異ならせた。
それに対し、変形例1では、繰り返し回数が一定回数を超えた場合、操作種別を特定する。つまり、同じ種別の操作が繰り返されやすいと判定された時点で、直前に入力された操作と同じ種別の操作に対応する処理の実行を開始する。以下では、第1の実施形態と同様に、フリック操作が繰り返される場合を例にして説明する。
変形例1における、ハードウェアの構成は、第1の実施形態の図1(a)と同様である。また、機能構成も判定部122と特定部125の処理内容を除いて同様であるため、異なる点のみを説明する。
変形例1の判定部122は、第1の実施形態における処理に加えて、更に、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定した場合には、同じ種別の繰り返し回数が所定の回数以上であるかを判定する。そして、所定の回数以上である場合には、同じ種別の操作が繰り返されるそれを特定部125に通知する。
変形例1の特定部125は、判定部122から、同じ種別の繰り返し回数が所定の回数以上であるという通知を受けた場合、注目情報に基づいて取得される情報が条件を満たすか否かの判定を省略して、入力された操作を直前と同じ種別の操作であると特定する。
変形例1の情報処理装置も、基本的には、第1の実施形態と同様、図2(a)のフローチャートに従ってメイン処理を実行する。
ただし、繰り返し判定処理(ステップS202)において、判定部122が、繰り返し回数をインクリメントした後、更に、同じ種別の繰り返し回数が所定の回数以上であるか否かを判定する処理を加える。そして、繰り返し回数が所定の回数以上であると判定された場合には、RAM104において多回数連続フラグを「TRUE」としてメイン処理にリターンする。特定部125は、多回数連続フラグを参照することで、判定結果を取得することができる。一方、繰り返し回数が所定の回数以上ではないと判定された場合には、そのままメイン処理にリターンする。
そして、特定部125は、ステップS412において、タッチ位置の移動に関する情報を取得する前に、RAM104を参照し、多回数連続フラグが「TRUE」か否かを判定する。多回数連続フラグが「TRUE」である場合には、ステップS412、ステップS413の処理を省略し、ステップS414において、入力された操作はフリック操作であると特定する。以下の処理は、第1の実施形態に準ずる。
例えば、所定の繰り返し回数が4回であるとすると、変形例1により、ユーザが既に4回フリックを繰り返した後、5回目からは直前のフリックの終了後直ぐ、直前のフリックの開始位置付近をタッチした段階で、フリックが入力されたことが特定される。ここでは一例として、繰り返し回数が4回以上であるかどうかを判定したが、これは一例であり、これに限らない。
変形例1によれば、同じ種別の操作が多回数繰り返されている場合は、ユーザがタッチを開始した時点で情報処理装置からのフィードバックが行われる。例えば、フリックを繰り返す場合には、途中からはタップ(タッチパネル上をタッチして移動させずに離す)だけで、フリックと同じ結果を得ることができるため、より容易な操作が可能となる。そしてより速やかに、所望とする結果を得ることができる。
<変形例2>
第1の実施形態では、直前に入力された操作が開始された位置に基づいて「入力開始領域」を設定し、新たな操作の入力が「入力開始領域」に含まれる位置から開始されたか否かを判定した。また、右方向のフリック、左方向のフリック等を区別する必要がある場合には、同じ種別の操作が繰り返されやすい状況にあると判定する判断要素の1つとして、入力方向が類似するか否かを判断した。
それに対し、変形例2では、直前に入力された操作が終了された位置に基づいて「入力開始領域」を設定し、新たな操作の入力が「入力開始領域」に含まれる位置から開始されたか否かを判定する。これは、ユーザが逆方向の操作を交互に繰り返すことを想定した場合、ユーザは直前の操作を終了した位置から次の操作を開始する傾向があるためである。以下では、第1の実施形態と同様に、フリック操作が繰り返される場合例にして説明する。
変形例2における、ハードウェアの構成は、第1の実施形態の図1(a)と同様である。また、機能構成も領域設定部126の処理内容を除いて同様であるため、異なる点のみを説明する。
変形例2の領域設定部126は、特定部125によって、注目座標に基づいて入力された操作の種別が特定されたことに応じて、当該操作が終了した位置を含む特定の範囲を「入力開始領域」として設定する。具体的には、RAM104に保持されている注目情報のうち、最後に検出されたタッチ位置を含む範囲を特定する。
変形例2の情報処理装置100が実行する処理は、第1の実施形態について説明した各フローチャートの処理に準ずるため、説明を省略する。
ここで、図10(d)を用いて、変形例2における「入力開始領域」の具体例を説明する。図10(d)の位置1001、位置1002は、図10及び図10(c)と同様、直前に入力されたフリックの開始位置と終了位置を示している。領域1009は、変形例2の領域設定部126によって設定される「入力開始領域」である。このように、変形例2の「入力開始領域」は、直前に入力されたフリックに終了位置(ユーザの指がリリースされた位置)である位置1004から半径50dotの円が示す領域となる。また、第1の実施形態と同様に、一定の範囲を終了座標から半径50dotの円状の範囲としているがこれに限らない。例えば、終了座標からX座標、Y座標共に±50dotの範囲としてもよい。また、本実施形態では50dotとしているが、この値は自由に変更することが可能である。また、タッチパネルディスプレイ111の大きさ等から「入力開始領域」の大きさを決めてもよい。
以上のように、変形例2では、逆方向の操作が交互に繰り返し入力される場面において、繰り返されやすいかを判定するため、直前に入力された操作の終了位置に基づいて「入力開始領域」を設定する。ただし、直前に入力された操作の終了位置を利用するのは一例である。例えば、第1の実施形態のように、直前に入力された操作の開始位置に基づいて定まる「入力開始領域」を、直前に入力された操作の操作方向側に拡張するような処理を行ってもよい。また、その際、操作のスピードに応じて拡張させる範囲の大きさ、あるいは最初に設定される領域の大きさを変更してもよい。
変形例2により、ユーザが逆方向の操作を交互に繰り返すうちに入力が雑になり、移動量が不十分になったとしても、意図に沿った操作が認識され易くなる。
<変形例3>
「入力開始領域」を設定するため、第1の実施形態では、直前に入力された操作の開始位置、第1の実施形態の変形例2では、直前に入力された操作の終了位置を利用した。ただし、「入力開始領域」を設定する基準となる位置情報は、これらに限らない。例えば、繰り返し入力されている同じ種別の操作が開始された位置の平均座標に基づいて「入力開始領域」を設定することもできる。また例えば、連続操作された2回分の操作の入力開始位置の差分から判定領域を設定してもよい。
例えばスクロール等により表示画像の内容が変わった場合、表示画像の内容(例えばブラウザであればハイパーリンクの位置)などの影響で、フリックのためのタッチ入力を開始することができない部分が生じることがある。変形例3のように、既に何度か繰り返された操作の情報を使って「入力開始領域」を設定すれば、ユーザが操作を開始する位置を変動させても、その誤差を吸収した判断が可能になる。
<第2の実施形態>
本実施形態においてもタッチ操作を認識可能な情報処理装置100に対して、入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるタッチ操作が、繰り返し入力されやすいことを判定した上でタッチ操作の種別を特定する例を説明する。ただし、第2の実施形態では、シングルタッチ操作に加えて、ユーザが入力領域の複数個所を同時にタッチしたまま動かすことで行うマルチタッチ操作が繰り返される場合を考慮した例を示す。入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるマルチタッチ操作とは、例えばマルチドラッグ、ピンチ、ローテート等と呼ばれるものがある。ここでマルチドラッグとは、2点のタッチ位置が同時に平行移動される(2点のタッチ位置の間の距離が一定に保たれたまま、同方向に移動される)移動距離が、所定の基準値を超えたことによって特定される。マルチドラッグは、例えばディスプレイに表示される表示画像を、特定の画像に変更させる処理に対する指示操作とされる。また、ピンチとは、2点のタッチ位置の間の距離の変化量が、所定の基準値を超えることに応じて特定される。ピンチは、例えば2点間の距離の変化量に応じて、ディスプレイに表示される表示画像を拡大(あるいは縮小)させる処理に対する指示操作とされる。また、ローテートは、2点のタッチ位置結ぶ直線がなす角度の、タッチ位置の移動前後での変化量が、所定の基準値を超えることに応じて特定される。ローテートは、例えば角度の変化量に応じて、ディスプレイに表示される表示画像を回転させる処理に対する指示操作とされる。第2の実施形態では、マルチタッチ操作を繰り返し入力することで、ユーザの入力が雑となり、タッチ位置の移動量等が不十分となってしまう課題を鑑み、同じ種別のマルチタッチ操作が繰り返されやすい状況かを判定した場合に条件を変化させ操作の種別を特定する。
第2の実施形態における、ハードウェアの構成は、第1の実施形態の図1(a)と同様である。ただし、タッチパネルディスプレイ111は、複数のタッチ位置の入力を同時に検出可能であり、上述したように、IDを利用して複数のタッチを識別するものである。
第2の実施形態の情報処理装置100の機能構成は判定部122と領域設定部126の処理内容を除いて同様であるため、異なる点のみを説明する。
変形例2の判定部122も、第1の実施形態と同様に、直前に入力された操作の種別が特定されてから直ぐに次の入力が開始されたかを判定する処理と、入力開始領域で次の入力が開始されたかを判定する処理との2段階の判定を行う。ただし、直前に入力された操作がマルチタッチ操作であった場合には、入力開始領域で次の入力が開始されたかを判定する処理において、複数設定されている「入力開始領域」のそれぞれが、次の入力の開始位置を少なくとも1つ含むことを判定する。
変形例2の領域設定部126は、特定部125により、入力されたマルチタッチ操作の種別が特定された場合には、当該マルチタッチ操作に使用された複数のタッチ位置の全てについて、入力開始位置を含む所定の範囲を「入力開始領域」として設定する。そして、各「入力開始領域」の範囲を示す情報を識別可能なIDと関連付けてRAM104に保持する。
ここで検出部121によって検出されるタッチ位置のIDは、タッチ位置が検出された順番に対応付けられている。例えば、ユーザが直前に人差し指と中指を使用してマルチタッチ操作を入力した時、人差し指によってタッチされた位置がID=1、中指によってタッチされた位置入力がID=2と検出されたとする。しかし、ユーザが次に同じ種別の操作を入力しようとしても、必ずしも同じ順番でタッチ位置が検出されるとは限らない。つまり、2回目には、中指によってタッチされた位置入力がID=1、人差し指によってタッチされた位置がID=2と検出されることもある。従って、マルチタッチ操作が繰り返されやすい状況にあるかを判定する場合には、タッチ位置のIDに関わらず、直前のマルチタッチ操作の複数のタッチ開始位置に基づく「入力開始領域」のいずれかに含まれることが条件となる。
第2の実施形態の情報処理装置も、基本的には、第1の実施形態と同様、図2(a)のフローチャートに従ってメイン処理を実行する。
ただし、繰り返し判定処理(ステップS202)においては、図5に示すフローチャートが呼び出され、処理される。
図5のフローチャートを参照して、第2の実施形態において実行される繰り返し判定処理を説明する。
まず、ステップS501では、判定部122が、直前に入力された操作に関する情報を、RAM104から読み出して取得する。図3のフローチャートのステップS301と同じ処理に当たる。
ステップS502では、判定部122が、取得した情報に基づいて、直前に入力された操作はマルチタッチ操作であったかを判定する。直前に入力された操作はマルチタッチ操作であったと判定された場合(ステップS502でYES)には、ステップS503に進む。直前に入力された操作はマルチタッチ操作ではない、すなわちシングルタッチ操作であると判定された場合(ステップS502でNO)には、ステップS505に進む。
ステップS503では、判定部122が、検出されているタッチ位置は複数か否かを判定する。本実施形態では、検出部121がRAM104に保持している注目情報のうち、タッチ位置のIDの情報を参照することで、検出されているタッチ位置がいくつであるかがわかる。従って、判定部122はRAM104の情報を参照して判定を行う。検出されているタッチ位置は複数であると判定される(ステップS503でYES)には、ステップS504に進む。検出されているタッチ位置は複数ではないと判定された場合には、ステップS506に進む。なお、検出されているタッチ位置が複数ではないと判定するのは、1点目のタッチ位置が検出されてから一定時間の間に2点目のタッチ位置が検出されない場合とする。一定時間以内の間であれば、2点目の入力を待つ。
ステップS504では、直前に入力されたマルチタッチ操作と同じ操作が繰り返されやすい状況下を判定する処理が実行される。詳細な内容は図6のフローチャートを用いて後述する。
ステップS505では、直前に入力されたシングルタッチ操作と同じ操作が繰り返されやすい状況下を判定する処理が実行される。ステップS505では、上述した図3のフローチャートに従って、処理が実行される。ここでは説明を省略する。
一方、処理がステップS506に進んでいる場合、直前に入力された操作がマルチタッチ操作であるのに対し、検出されているタッチ位置は1つである。つまり、シングルタッチ操作である可能性が高く、マルチタッチ操作が繰り返される可能性は低いと考えられる。従って、ステップS506において、判定部122はRAM104に保持している繰り返し回数の値を0とする。そして、ステップS507では、判定部122が、直前に入力された操作と同じ種別の操作であると特定するための条件となる基準値を初期化する。ステップS506とステップS507で実行される処理は、図3のフローチャートのステップS306とステップS307で実行される処理と同じである。
次に、図6のフローチャートを参照して、ステップS504で実行される、マルチタッチ操作の繰り返し判定処理の詳細を説明する。ただし、第1の実施形態で説明したシングルタッチ操作の繰り返し判定処理と同じ処理ステップに関しては同じ番号を付し、詳細な説明は省略する。
マルチタッチ操作の場合でも、注目情報の入力が、直前に入力された操作の終了後直ぐに入力され、かつ、直前に入力された操作が開始された位置から開始された入力であるとみなせる場合に、直前に入力された操作と同じ種別の操作が繰り返されやすいと判定する。従って、少なくとも、新たに入力される操作が開始された最初のタッチ位置に関する情報が注目情報として検出された段階で推判定処理を開始することができる。
第2の実施形態では、ステップS501において、直前に入力された操作に関する情報が取得されている。従って、マルチタッチ操作の判定処理では、まずステップS302において、判定部122が、直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出されたか否かを判定する。直前に入力された操作の種別が特定されてから所定の時間の間に、注目情報が検出されたと判定された場合(ステップS302でYES)は、ステップS601に進む。一方、直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出されていないと判定された場合(ステップS302でNO)は、ステップS306に進む。
ステップS601では、判定部122が、検出部121によって検出されている複数のタッチ位置のうち、1つのタッチ位置を選択する。本実施形態では、RAM104に保持されている注目情報のうち、タッチ位置を識別するIDを1つ選択する。ただし、ステップS602の処理が実行されるのが2回目以降の場合には、前回までに選択されていないIDのうちから1つを選択する。
ステップS602では、判定部122が、選択したタッチ位置の入力は、入力開始領域のいずれかで入力が開始されたか否かを判定する。本実施形態では、まず、選択されたIDに関連付けられてRAM104に保持されている情報のうち、検出開始フラグが「TRUE」であるタッチ位置の座標情報を取得する。そして、領域設定部126が設定した複数の「入力開始領域」のうちのいずれかに含まれる位置を示すか否かを判定する。選択したタッチ位置の入力は、入力開始領域のいずれかで入力が開始されたと判定された場合(ステップS602でYES)は、ステップS603に進む。一方、選択したタッチ位置の入力は、入力開始領域のいずれかで入力が開始されていないと判定された場合(ステップS602でNO)は、ステップS306に進む。
ステップS603では、判定部122が、選択されたタッチ位置と、当該タッチ位置の入力が開始された「入力開始領域」とを対応付けてRAM104に情報を保持する。本実施形態では、タッチ位置と「入力開始領域」とにそれぞれIDが付与されているため、ID同士を対応付ける。なお、複数の「入力開始領域」は、互いに重なる場合があるため、必ずしも1対1の関係に対応づけられるとは限らない。1つのタッチ位置について、複数の「入力開始領域」が対応づけられる場合もある。
ステップS604では、判定部122が、検出されている全てのタッチ位置についてステップS602の判定処理が終了したか否かを判定する。全てのタッチ位置についてステップS602の判定処理が終了したと判定された場合(ステップS604でYES)は、ステップS605に進む。一方、選択したタッチ位置の入力は、全てのタッチ位置についてステップS602の判定処理が終了していないと判定された場合(ステップS604でNO)は、ステップS601に戻って処理を繰り返す。
ステップS605では、判定部122が、全ての入力開始領域に少なくとも1つのタッチ位置が対応付けられているかを判定する。同じ種別のマルチタッチ操作が繰り返されやすいかを判定するためには、全ての「入力開始領域」において、少なくとも1つのタッチ位置の入力が開始されている必要がある。「入力開始領域」のうちに1つでも、その中から入力が開始されるタッチ位置が無い領域が存在する場合は、直前に入力されたマルチタッチ操作と、新たに入力が開始されたマルチタッチ操作の開始位置は大きく異なることを意味するからである。従って、直前に入力されたマルチタッチ操作と同じ種別の操作が繰り返されやすいと判定するため、本実施形態では、全ての入力開始領域に少なくとも1つのタッチ位置が対応付けられているかを、RAM104に保持された対応付け情報を参照して、判定する。全ての入力開始領域に少なくとも1つのタッチ位置が対応付けられていると判定された場合(ステップS605でYES)は、ステップS304に進む。一方、全ての入力開始領域に少なくとも1つのタッチ位置が対応付けられてないと判定された場合(ステップS605でNO)は、ステップS306に戻って処理を繰り返す。
ステップS304〜ステップS307において実行される処理は、第1の実施形態と同じため、説明は省略する。処理が完了したら、メインの処理にリターンする。
第2の実施形態においても、繰り返し判定結果に応じて、操作の種別を特定する条件を設定する処理(ステップS204)は、図4(a)に示すフローチャートが呼び出され、処理される。ここからは、ステップS401において特定される直前に入力された操作の種別毎に説明する。
(マルチドラッグの場合)
まず、ステップS401において、直前に入力された操作はマルチドラッグであると特定されたものとする。この場合、ステップS402では、マルチドラッグ操作に関して、繰り返し回数に対応する基準値が設定される。図8(b)は、マルチドラッグ操作の種別に関して、繰り返し回数と設定される基準値とが対応付けられた情報の一例である。マルチドラッグ操作が特定されるための所定の条件は、2つのタッチ位置の間の距離が略一定のまま移動した移動距離が、所定の基準値を超えることである。例えば、繰り返し回数が1回の場合、マルチドラッグ操作が特定されるための基準値である移動距離は「20」となる。なお、単位は[dot]に相当する。この場合は、注目情報から導かれるタッチ位置の移動距離が20dotを超えた場合に、注目情報に基づいて入力される操作の種別はマルチドラッグと特定されることを意味する。また繰り返し回数が2回の場合、基準値は「10」、繰り返し回数が3回以上続いた場合、基準値は「5」と設定される。つまり、繰り返し回数が多くなるほど、マルチドラッグ操作が特定されるための基準値は小さい値となり、マルチドラッグが特定され易くなる。
ここからは、直前に入力された操作はマルチドラッグであるとして、以降の処理(ステップS205、ステップS206)を説明する。図7は、入力された操作が、マルチドラッグ操作が繰り返し入力されることを特定する処理の一例を示すフローチャートである。
ステップS701では、特定部125が、2つのタッチ位置のタッチ開始から移動に関する情報を取得する。本実施形態では、検出部121がRAM104に蓄積している注目情報のうち、2つのタッチ位置が移動した移動距離と、移動前後における2つのタッチ位置の間の距離の情報を取得する。なお、検出部121によって検出されているタッチ位置が3つ以上であった場合には、そのうち検出時刻が早い2つについての情報を取得するとする。
ステップS702では、特定部125が、取得された情報に基づいて、2点間の距離が略一定のまま移動した移動距離が基準値を超えるかを判定する。このとき、ステップS402において、条件設定部124が基準値を設定していない場合には、記憶部127に記憶されている所定の基準値を読み出して使用する。ステップS402において、条件設定部124が基準値を設定した場合には、通知された基準値を使用する。単位時間あたりの移動量が基準値を超えると判定された場合(ステップS702でYES)には、ステップS703に進む。一方で、単位時間あたりの移動量が基準値を超えないと判定された場合(ステップS702でNO)には、メイン処理にリターンする。そして、メイン処理が終了する。
ステップS703では、特定部125が、注目情報に基づいて入力された操作が、マルチドラッグ操作であると特定する。
ステップS704では、表示制御手段128が、マルチドラッグ操作に対応する処理を実行した結果を反映した表示画像を生成し、出力装置110に出力する。例えば、特定の法則に従って表示画像が変更され、ユーザにフィードバックされる。その際には、検出部121によってRAM104に保持されている注目情報を利用して、マルチドラッグの方向や操作量を特定し、出力に反映する。
ステップS705では、特定部125が、検出部121が所定時間毎に検出する注目情報に基づいて、タッチ位置がリリースされたかを判定する。タッチ位置がリリースされたと判定された場合(ステップS705でYES)には、ステップS706に進む。タッチ位置がリリースされていないと判定された場合(ステップS705でNO)には、ステップS704に戻り、タッチ位置がリリースされるまで、マルチドラッグに対応する処理を実行し続ける。
ステップS706では、特定部125が、今回特定したマルチドラッグ操作の情報を、直前に入力された操作に関する情報としてRAM104に保持する。本実施形態では、特定した操作の種別、種別の特定がなされた時刻、特定した操作が開始された複数のタッチ位置等の情報を、直前に入力された操作に関する情報として保持する。
ステップS707では、領域設定部126が、タッチパネルディスプレイ111の入力領域上で、今回特定された操作と同じ種別の操作が入力され易い特定の範囲である「入力開始領域」を設定する。その際、複数のタッチ位置のそれぞれに基づいて、複数の「入力開始領域」を設定する。具体的には、RAM104保持されている注目情報のうち、新規検出フラグが「TRUE」である2つの位置情報を取得し、それぞれの位置が含まれる2つの領域を特定する。例えば、各タッチ位置を中心とする半径が50dotの円を「入力開始領域」とする。そして、検出部121によってRAM104に蓄積されていた注目情報を初期化する。
ここで、図11(a)を参照して、直前に入力されたマルチタッチ操作が開始された位置の情報に基づいて設定される、「入力開始領域」の具体例を説明する。図11(a)の位置1102はID=1のタッチ位置の入力開始位置、位置1103はID=2のタッチ位置の入力開始位置を表している。図11では、ID=1のタッチ位置を黒い丸、ID=2のタッチ位置を黒い星型で表現する。位置1104、位置1105はそれぞれのタッチ位置が移動したことにより、入力操作がマルチドラッグと特定された時点のタッチを表している。また、領域1100は位置1102に基づいて設定された「第1の入力開始領域」を表しており、領域1101は位置1103に基づいて設定された「第2の入力開始領域」を表している。各「入力開始領域」は、タッチ入力の開始位置を中心とする半径50dotの領域として定められている。ただし、第1の実施形態と同様、半径50dotの円に限らず他の方法で領域を定めてもよい。
図11(b)〜(d)は、図11(a)に示したマルチドラッグ操作の種別が特定された後、次に入力されたマルチタッチの開始位置を示す。
図11(b)では、ID=1のタッチ位置1106が「第1の入力開始領域」内から開始されている、ID=2のタッチ位置1107が「第2の入力開始領域」内から開始されている。また、図11(c)では、ID=1のタッチ位置1109が「第2の入力開始領域」内から開始されている、ID=2のタッチ位置1108が「第1の入力開始領域」内から開始されている。図11(b)と(c)の場合はいずれも、各タッチ位置がいずれかの「入力開始領域」に含まれ、かつ、全ての「入力開始領域」に少なくとも1つのタッチ位置が対応するので、直前に入力されたマルチタッチ操作と同じ種別の操作が繰り返されやすいと判定される。
図11(d)の場合は、ID=2のタッチ位置1111は「第2の入力開始領域」内から開始されているが、ID=1のタッチ位置の入力開始位置1110が「第1の入力開始領域」の外から開始している。従って、判定部122により、同じ種別の操作が繰り返されやすい状況にはないと判定される。
以上、マルチドラッグを例に挙げて、マルチタッチ操作が繰り返し入力されやすい状況にあると判定した上で、入力される操作が繰り返されている操作と同じ種別の操作であると特定するための条件を制御する処理を説明した。
(ピンチの場合)
次に、ステップS401において、直前に入力された操作はピンチであると特定された場合を説明する。この場合、ステップS402では、ピンチ操作に関して、繰り返し回数に対応する基準値が設定される。図8(c)は、ピンチ操作の種別に関して、繰り返し回数と設定される基準値とが対応付けられた情報の一例である。ピンチ操作が特定されるための所定の条件は、2点のタッチ位置の間の距離の変化量が、所定の基準値を超えることである。例えば、繰り返し回数が1回の場合、ピンチ操作が特定されるための基準値である2点のタッチ位置の間の距離の変化量は「20」となる。なお、単位は[dot]に相当する。この場合は、注目情報から導かれる2点のタッチ位置の間の距離の変化量が20dotを超えた場合に、注目情報に基づいて入力される操作の種別はピンチと特定されることを意味する。ピンチの場合も、フリック、マルチドラッグと同様、繰り返し回数が多くなるほど、ピンチ操作が特定されるための基準値は小さい値となり、ピンチが特定され易くなる。
ここからは、直前に入力された操作はピンチであるとして、以降の処理(ステップS205、ステップS206)を図8(a)のフローチャートを参照して説明する。ただし、マルチドラッグの場合の図7に準じる処理に関しては説明を省略する。
図8(a)のフローチャートでは、ステップS701において、移動に関する情報として2点のタッチ位置の間の距離の変化量を取得する。
そして、ステップS801では、特定部125が、2点間の距離の変化量が基準値を超えるかを判定する。2点間の距離の変化量が基準値を超えると判定された場合(ステップS801でYES)には、ステップS802に進む。一方で、2点間の距離の変化量が基準値を超えないと判定された場合(ステップS801でNO)には、メイン処理にリターンする。そして、メイン処理が終了する。
ステップS802では、特定部125が、注目情報に基づいて入力された操作が、ピンチ操作であると特定する。
ステップS803では、表示制御手段128が、ピンチ操作に対応する処理を実行した結果を反映した表示画像を生成し、出力装置110に出力する。例えば、2点間の距離の変化量に応じて、ディスプレイに表示される表示画像を拡大(あるいは縮小)され、ユーザにフィードバックされる。その際には、検出部121によってRAM104に保持されている注目情報を利用して、マルチドラッグの方向や操作量を特定し、出力に反映する。
ステップS804では、特定部125が、今回特定したピンチ操作の情報を、直前に入力された操作に関する情報としてRAM104に保持する。本実施形態では、特定した操作の種別、種別の特定がなされた時刻、特定した操作が開始された複数のタッチ位置等の情報を、直前に入力された操作に関する情報として保持する。
以上が、ステップS401で、直前に入力された操作がピンチ操作であると特定された場合に実行される処理の詳細である。
第2の実施形態の処理により、ユーザがピンチ操作を繰り返しているうちに、入力が雑になり、ピンチ操作の操作量として検出される2点のタッチ位置の変化量が不十分となった場合でも、入力された操作がピンチ操作であると特定することができるようになる。しかし、ピンチ操作の操作量として検出される2点のタッチ位置の変化量が不十分となった場合、ピンチ操作が入力できたとしても、それに対する出力がユーザの意図に沿わない場合がある。例えばピンチに対応する処理が表示画像の拡大であった場合、出力された表示画像の拡大率が、ユーザが意図した拡大率より小さい場合がある。従って、特定された操作がピンチ操作であった場合には、ステップS402で繰り返し回数に応じて基準値を小さくするのと同時に、ピンチに対応する処理におけるパラメータを補正してもよい。
図9(e)は、繰り返し回数と、設定されるパラメータの一例である拡大率の補正倍率を対応付けた情報の一例である。繰り返し回数が0の場合、2点のタッチ位置の間の距離の変化率と、表示画像の拡大率は一致させることが一般的に行われている。例えば、2点のタッチ位置の間の距離の初期値が200dotで、タッチ位置の移動後400dotに変化した場合、拡大率は2倍となる。それに対し、第2の実施形態では、繰り返し回数が1回であれば、変化量から導かれ拡大率2倍に、更に補正値の1.2を掛け、2.4倍の拡大率で表示画像を拡大する。さらに、以下同様に、繰り返し回数が2回であれば、拡大率は2倍×1.5で3.0倍、繰り返し回数が3回以上であれば、拡大率は2倍×2.0で4.0倍となる。これにより、2点のタッチ位置の間の距離の変化が不十分な場合でも、表示画像の拡大率が補正され、ユーザの意図に沿ったフィードバックを返すことが可能となる。
以上、ピンチを例に挙げて、マルチタッチ操作が繰り返し入力されやすい状況にあることを判定した上で、入力される操作が繰り返されている操作と同じ種別の操作であると特定するための条件を制御する処理を説明した。
(ローテートの場合)
ステップS401において、直前に入力された操作はローテートであると特定された場合も同様である。この場合、ステップS402では、ローテート操作に関して、繰り返し回数に対応する基準値が設定される。ローテート操作が特定されるための所定の条件は、2点のタッチ位置を結ぶ直線がなす角度の、タッチ位置の移動前後での変化量が、所定の基準値を超えることである。ローテートの場合も、フリック、マルチドラッグ、ピンチと同様、繰り返し回数が多くなるほど、ローテート操作が特定されるための基準値は小さい値となり、ローテートが特定され易くなる。
直前に入力された操作がローテートである場合、ステップS205、ステップS206で実行される処理は、マルチドラッグおよび図8のピンチの場合に準じるので詳細な説明を省略する。
ローテート操作の場合は、特定部125によって、2点のタッチ位置を結ぶ直線がなす角度の、タッチ位置の移動前後での変化量を取得され、取得した変化量が、基準値を超える場合には、入力された操作はローテートであると特定される。そして、出力制御部128により、ローテート操作に応じて回転された表示画像が生成され、出力装置110に出力される。
また、ローテートの場合も、ピンチと同様に、繰り返し回数に応じて、基準値だけでなく、出力処理に用いられるパラメータを設定することができる。ローテートによる表示画像の回転の場合でも、ユーザが操作を繰り返しているうちに、入力が雑になり、タッチ位置の移動が不十分となった場合、それに対する出力がユーザの意図に沿わない場合があるからである。ローテートの場合には、表示画像の回転量を、繰り返し回数に応じて補正する。
以上、ローテートを例に挙げて、マルチタッチ操作が繰り返し入力されやすい状況にあることを判定した上で、入力される操作が繰り返されている操作と同じ種別の操作であると特定するための条件を制御する処理を説明した。
このように、第2の実施形態では、直前に入力された操作がマルチタッチ操作である場合も考慮して、同じ種別の操作が繰り返し入力される可能性が高いとみなされる状況では、直前に入力された操作と同じ種別の操作を特定するための条件を異ならせる。特にマルチタッチ操作を構成する複数のタッチ位置が、どのような順番で検出された場合でも、正確に繰り返されやすさを判定することができる。それにより、繰り返し入力される可能性が低いとみなされる場合よりも、入力された操作が直前に入力された操作と同じ種別の操作であると特定されやすくなる。従って、ユーザが操作を繰り返すうちに入力が雑になり、タッチ位置を移動させる量が不十分になったとしても、ユーザの意図に沿った操作が認識され易くなる。つまり、ユーザにとっての誤動作を軽減することができる。また、第2の実施形態においても、同じ種別の操作が繰り返された回数に応じて、条件の厳しさ(基準値の大きさ)を変化させる。従って、繰り返し回数が多くなり、入力が雑になり易いほど、入力された操作が直前に入力された操作と同じ種別の操作であると特定され易くなる。また、直前に入力された操作と同じ種別の操作を特定する条件が満たされない場合には、通常通り他の操作が入力されたことが特定される所定の条件が満たされることに応じ、直前に入力された操作以外の様々な操作に対応する処理が実行される。
なお、本実施形態では2点のタッチ位置についての情報を用いて処理を行う例にして説明しているが、3点以上についても同じ処理を行うことができる。
なお、マルチタッチ操作が繰り返される場合でも、第1の実施形態と同様、繰り返し回数が一定回数を超えた場合、同じ種別の操作が繰り返されやすいと判定された時点で、入力操作は直前に入力された操作と同じ種別であると特定する変形例を適応可能である。
この変形により、同じ種別の操作が多回数繰り返されている場合は、ユーザがタッチを開始した時点で情報処理装置からのフィードバックが行われるので、ユーザは速やかに、所望とする結果を得ることができる。
また、マルチタッチ操作が繰り返される場合でも、第1の実施形態と同様、直前に入力された操作が終了された位置に基づいて「入力開始領域」を設定する変形例を適応可能である。この場合にも、複数の「入力開始領域」が設定され、全ての「入力開始領域」が、注目情報として検出される複数のタッチ位置のいずれかを含むことによって、同じ種別のマルチタッチ操作が繰り返されやすい状況にあると判定する。この変形により、ユーザが逆方向のマルチタッチ操作を交互に繰り返す場合に入力が雑になり、移動量が不十分になったとしても、意図に沿った操作が認識され易くなる。
また、マルチタッチ操作が繰り返される場合でも、第1の実施形態と同様、「入力開始領域」を設定する基準となる位置情報を、繰り返し入力されている同じ種別の操作が開始された位置の平均座標とする変形例を適応することができる。また、「入力開始領域」を設定する基準となる位置情報を、連続操作された2回分の操作の入力開始位置の差分から判定領域を設定してもよい。このような変形により、表示画像の内容などの影響で、タッチ入力を開始することができない部分が生じても、ユーザが操作を開始する位置を変動させても、その誤差を吸収した判断が可能になる。
<その他の実施形態>
なお、本発明はタッチパネルへのタッチ操作による入力に限られず、ユーザによる同じ種別の入力操作を複数回連続して認識可能な場合に適用可能である。この場合にも、検出した注目情報に基づいて、直前に入力された操作と同じ種別の操作が繰り返されやすい判定される場合には、注目情報に基づいて入力される次の操作が直前に入力された操作と同じ種別の操作であると特定され易くなるように条件を変更する。ユーザによる入力操作とは、操作ボタンを押す動作でも良いし、ジェスチャ入力を行うための人間の動作であっても良い。また入力された操作の種別に対応して実行される処理は、例えば、画像を表示するための描画処理であっても良いし、音声出力などであっても良い。
また、本発明は、以下の処理に移行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
121 検出部
122 判定部
123 取得部
124 条件設定部
125 特定部
126 領域設定部
128 表示制御部

Claims (15)

  1. 入力された操作の種別に応じた処理を実行する情報処理装置であって、
    入力された注目情報と直前に入力された操作に関する情報とに基づいて、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあるか否かを判定する判定手段と、
    前記注目情報により予め設定された所定の条件が満たされたことに応じて、前記注目情報に基づいて入力された操作を特定する特定手段と、
    前記判定手段により、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合には、前記特定手段が、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定するための条件を、前記所定の条件よりも満たされやすい条件に設定する設定手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記所定の条件とは、前記注目情報に基づいて取得される値が、前記操作の種別毎に設定された所定の基準値を超えるという条件であって、
    前記設定手段は、
    前記判定手段により、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合、前記注目情報に基づいて取得される値が、前記所定の基準値よりも低い基準値を超えるという条件を、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定されるための条件として、前記所定の条件よりも満たされやすい条件を設定する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記判定手段は、前記直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出された場合に、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記注目情報として、入力された位置情報を検出する検出手段を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記判定手段は、前記直前に入力された操作の種別が特定されてから初めて前記検出手段が検出した位置情報が、特定の領域に含まれる位置の情報である場合に、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記特定の領域には、前記直前に入力された操作の入力が開始された時に前記検出手段が検出した位置が含まれる
    ことを特徴とする請求項5に記載の情報処理装置。
  7. 前記検出手段は、入力領域上のユーザによってタッチされたタッチ位置の情報を検出する手段であって、
    前記特定の領域は、前記入力領域の一部の領域であることを特徴とする請求項4乃至6のいずれか1項に記載の情報処理装置。
  8. 前記直前に入力された操作がマルチタッチ操作であった場合には、
    前記特定の領域は、前記直前に入力されたマルチタッチ操作の入力が開始された時に前記検出手段が検出した複数のタッチ位置をそれぞれ含む複数の領域である
    ことを特徴とする請求項7に記載の情報処理装置。
  9. 前記判定手段は、前記直前に入力された操作がマルチタッチ操作であった場合には、
    前記特定の領域である複数の領域のそれぞれが、前記直前に入力されたマルチタッチ操作の種別が特定されてから初めて前記検出手段が検出した複数のタッチ位置の少なくともいずれか1つを含む場合に、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する
    ことを特徴とする請求項8に記載の情報処理装置。
  10. 前記判定手段は、前記直前に入力された操作がフリック操作であった場合には、
    前記注目情報に基づいて判定される入力方向が、前記直前に入力されたフリック操作の方向と同じ方向である場合に、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定することを特徴とする請求項7乃至9のいずれか1項に記載の情報処理装置。
  11. 前記特定手段は、さらに前記直前に入力された操作と同じ種別の操作が繰り返された回数に対応する条件が満たされることに応じて、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定することを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
  12. 前記判定手段により、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定される場合には、前記直前に入力された操作と同じ種別の操作が繰り返された回数に対応する条件で、前記特定手段によって特定された操作に対応する処理を出力装置に実行させる出力制御手段を更に備えることを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
  13. 入力された操作の種別に応じた処理を実行する情報処理装置の制御方法であって、
    判定手段により、入力された注目情報と直前に入力された操作に関する情報とに基づいて、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する判定工程と、
    特定手段により、前記注目情報により予め設定された所定の条件が満たされたことに応じて、前記注目情報に基づいて入力された操作を特定する特定工程と、
    設定手段により、前記判定工程において前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合には、前記特定手段が、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定するための条件を、前記所定の条件よりも満たされやすい条件に設定する設定工程と
    を有することを特徴とする情報処理装置の制御方法。
  14. コンピュータに読み込ませ実行させることで、前記コンピュータを請求項1乃至13のいずれか1項に記載された情報処理装置の各手段として動作させるためのプログラム。
  15. 請求項14のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
JP2013143696A 2013-07-09 2013-07-09 情報処理装置およびその制御方法、プログラム、記録媒体 Active JP6253284B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013143696A JP6253284B2 (ja) 2013-07-09 2013-07-09 情報処理装置およびその制御方法、プログラム、記録媒体
US14/325,089 US9389781B2 (en) 2013-07-09 2014-07-07 Information processing apparatus, method for controlling same, and recording medium

Applications Claiming Priority (1)

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

Publications (3)

Publication Number Publication Date
JP2015018325A true JP2015018325A (ja) 2015-01-29
JP2015018325A5 JP2015018325A5 (ja) 2016-08-18
JP6253284B2 JP6253284B2 (ja) 2017-12-27

Family

ID=52276707

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US9389781B2 (ja)
JP (1) JP6253284B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017094443A1 (ja) * 2015-11-30 2017-06-08 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JP2017138759A (ja) * 2016-02-03 2017-08-10 セイコーエプソン株式会社 電子機器、電子機器の制御プログラム
JP2019020901A (ja) * 2017-07-13 2019-02-07 コニカミノルタ株式会社 画像処理装置、画像表示方法、およびコンピュータプログラム
JP2019511774A (ja) * 2016-03-02 2019-04-25 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド データ処理方法及びデータ処理装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107015637B (zh) * 2016-10-27 2020-05-05 阿里巴巴集团控股有限公司 虚拟现实场景下的输入方法和装置
JP6701070B2 (ja) 2016-12-26 2020-05-27 キヤノン株式会社 表示制御装置及び方法
JP7007805B2 (ja) * 2017-02-15 2022-01-25 キヤノン株式会社 表示制御装置及びその制御方法
CN110286991B (zh) * 2019-06-30 2021-08-17 联想(北京)有限公司 一种信息处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216069A (ja) * 2000-02-01 2001-08-10 Toshiba Corp 操作入力装置および方向検出方法
JP2009054135A (ja) * 2007-07-30 2009-03-12 Kyocera Corp 入力装置
JP2011076521A (ja) * 2009-10-01 2011-04-14 Sony Corp 情報処理装置、情報処理方法およびプログラム
JP2011138457A (ja) * 2010-01-04 2011-07-14 Sony Corp 操作方向判定装置、遠隔操作システム、操作方向判定方法およびプログラム
JP2012128830A (ja) * 2010-11-24 2012-07-05 Canon Inc 情報処理装置およびその動作方法
WO2013001775A1 (ja) * 2011-06-28 2013-01-03 京セラ株式会社 電子機器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5262990B2 (ja) 2009-05-22 2013-08-14 富士通モバイルコミュニケーションズ株式会社 携帯端末
JP5618858B2 (ja) 2011-02-16 2014-11-05 株式会社Nttドコモ 表示装置、通信装置及びプログラム
JP5994434B2 (ja) * 2011-10-07 2016-09-21 カシオ計算機株式会社 電子機器、及びプログラム
JP5994412B2 (ja) * 2012-06-13 2016-09-21 富士ゼロックス株式会社 画像表示装置、画像制御装置、画像形成装置およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216069A (ja) * 2000-02-01 2001-08-10 Toshiba Corp 操作入力装置および方向検出方法
JP2009054135A (ja) * 2007-07-30 2009-03-12 Kyocera Corp 入力装置
JP2011076521A (ja) * 2009-10-01 2011-04-14 Sony Corp 情報処理装置、情報処理方法およびプログラム
JP2011138457A (ja) * 2010-01-04 2011-07-14 Sony Corp 操作方向判定装置、遠隔操作システム、操作方向判定方法およびプログラム
JP2012128830A (ja) * 2010-11-24 2012-07-05 Canon Inc 情報処理装置およびその動作方法
WO2013001775A1 (ja) * 2011-06-28 2013-01-03 京セラ株式会社 電子機器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017094443A1 (ja) * 2015-11-30 2017-06-08 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US10754431B2 (en) 2015-11-30 2020-08-25 Sony Corporation Information processing device and information processing method
JP2017138759A (ja) * 2016-02-03 2017-08-10 セイコーエプソン株式会社 電子機器、電子機器の制御プログラム
US10838550B2 (en) 2016-02-03 2020-11-17 Seiko Epson Corporation Changing specification of operation based on start position
JP2019511774A (ja) * 2016-03-02 2019-04-25 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド データ処理方法及びデータ処理装置
US10558351B2 (en) 2016-03-02 2020-02-11 Tencent Technology (Shenzhen) Company Limited Data processing method and apparatus
JP2019020901A (ja) * 2017-07-13 2019-02-07 コニカミノルタ株式会社 画像処理装置、画像表示方法、およびコンピュータプログラム

Also Published As

Publication number Publication date
US9389781B2 (en) 2016-07-12
JP6253284B2 (ja) 2017-12-27
US20150015507A1 (en) 2015-01-15

Similar Documents

Publication Publication Date Title
JP6253284B2 (ja) 情報処理装置およびその制御方法、プログラム、記録媒体
US9529527B2 (en) Information processing apparatus and control method, and recording medium
JP5990011B2 (ja) 情報処理装置及びその制御方法
EP2835731B1 (en) Image display apparatus, image display method, and image display program
JP6188288B2 (ja) 情報処理装置及びその制御方法
JP5618665B2 (ja) 制御装置、制御方法、およびプログラム
EP2682853A2 (en) Mobile device and operation method control available for using touch and drag
JP6004716B2 (ja) 情報処理装置およびその制御方法、コンピュータプログラム
KR20110041915A (ko) 데이터 표시 방법 및 그를 수행하는 단말기
JP2013003718A (ja) 情報処理装置、情報処理装置のスクロール表示方法およびスクロール表示プログラム
US20150169151A1 (en) Displaying device and computer-readable recording medium therefor
US10282087B2 (en) Multi-touch based drawing input method and apparatus
US9201587B2 (en) Portable device and operation method thereof
JP2011034169A (ja) 情報入力装置および情報入力方法
JP2014182814A (ja) 描画装置、描画方法および描画プログラム
JP6370118B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
JP2014041391A (ja) タッチパネル装置
KR101154137B1 (ko) 터치 패드 상에서 한손 제스처를 이용한 사용자 인터페이스
JP5477108B2 (ja) 情報処理装置及びその制御方法並びにプログラム
JP2014153951A (ja) タッチ式入力システムおよび入力制御方法
US10101905B1 (en) Proximity-based input device
EP3433713B1 (en) Selecting first digital input behavior based on presence of a second, concurrent, input
KR101251021B1 (ko) 터치스크린 출력화면 조정방법
JPWO2018173181A1 (ja) タッチ入力判定装置、タッチパネル入力装置、タッチ入力判定方法、及びタッチ入力判定プログラム
JP6505317B2 (ja) 表示制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160701

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160701

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171128

R151 Written notification of patent or utility model registration

Ref document number: 6253284

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151