JP2015118541A - 情報処理装置、その制御方法、プログラム、及び記憶媒体 - Google Patents

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

Info

Publication number
JP2015118541A
JP2015118541A JP2013261506A JP2013261506A JP2015118541A JP 2015118541 A JP2015118541 A JP 2015118541A JP 2013261506 A JP2013261506 A JP 2013261506A JP 2013261506 A JP2013261506 A JP 2013261506A JP 2015118541 A JP2015118541 A JP 2015118541A
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
pressure
information
designated
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
JP2013261506A
Other languages
English (en)
Other versions
JP2015118541A5 (ja
JP6308769B2 (ja
Inventor
伊藤 光
Hikari Ito
光 伊藤
星子 河野
Seiko Kono
星子 河野
山崎 健史
Takeshi Yamazaki
健史 山崎
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 JP2013261506A priority Critical patent/JP6308769B2/ja
Priority to US14/569,462 priority patent/US10048728B2/en
Publication of JP2015118541A publication Critical patent/JP2015118541A/ja
Publication of JP2015118541A5 publication Critical patent/JP2015118541A5/ja
Application granted granted Critical
Publication of JP6308769B2 publication Critical patent/JP6308769B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 マルチタッチによる操作が可能な装置において、ユーザの個体差や操作時のタッチ入力機器の傾きの違いがある場合でも、装置を支持する手によるタッチに起因する誤動作を低減することを主な目的とする。【解決手段】 本発明は、指示位置を用いて入力される操作を認識する情報処理装置であって、表示画面上で指示される1以上の指示位置を取得する位置取得部121と、前記取得された1以上の指示位置のそれぞれに対応する圧力に関する情報を取得する圧力取得部122と、前記表示画面上で指示されている指示位置が同時刻に複数存在する場合に、該複数の指示位置のうち、前記圧力取得部によって取得された圧力に関する情報に基づいて前記情報処理装置に対する操作に用いられる入力ではないと決定される指示位置を除く指示位置を用いて入力される前記操作を認識する認識部124とを備えることを特徴とする。【選択図】 図1

Description

本発明は、1以上の指示位置を用いて入力される操作を認識する技術に関する。
近年、ユーザの指あるいはスタイラスにより画面がタッチされたことに応答して、タッチされた位置のX,Y座標値を入力値として取り込み、この入力値に基づいて各種処理を実行するタッチ入力機器が普及している。また、画面の複数点をタッチすることにより操作を行う、いわゆるマルチタッチの技術が発展しつつある。このマルチタッチの操作においては、例えば右手の人差し指と親指の2つを使って2点をタッチするなどにより、拡大、縮小、スクロールなどの多種多様な操作が可能である。
このようなタッチ入力機器では、多くの場合、できるだけ装置全体を画面として設計することが望まれる。従って、例えばユーザが手でタッチ入力機器を保持するためなど、無意識に画面をタッチしてしまう事が起こり得る。マルチタッチ操作が可能なタッチ入力機器において、上述したようにユーザが誤って画面を触ってしまった場合には、ユーザの意図よりも多くのタッチ入力が認識されてしまい、誤動作の原因となりえる。
ユーザの意図しないタッチ入力を無効にする技術として、特許文献1が知られている。
特許文献1では、タッチ入力における押圧荷重を検出し、設定された荷重基準に基づいて、このタッチ入力を受けつけるか否かを制御することが開示されている。その際、タッチ入力を受け付ける荷重基準は、第1の荷重基準とこれよりも高い第2の荷重基準を設定する。そして、第1の荷重基準の入力用オブジェクトに対するタッチ入力の押圧荷重が、第2の荷重基準を満たした場合は、このタッチ入力を受け付けないように制御する。
特開2011−150738号
しかしながら、多くのタッチ入力機器において、タッチ入力の押圧荷重はユーザ毎に異なり、さらに操作されている時のタッチ入力機器の傾きによっても異なる。例えば、タッチ入力の押圧荷重は、ユーザの年齢や性別等により異なる。また、ユーザが仰向けに寝た状態で、タッチ入力機器を下から操作した場合は、タッチ入力にタッチ入力機器の重さも荷重され、通常よりも押圧荷重が大きくなり、また不安定になり易い。
本発明は上記課題に鑑みてなされたものであり、マルチタッチによる操作が可能な装置において、ユーザの個体差や操作時のタッチ入力機器の傾きの違いがある場合でも、装置を支持する手によるタッチに起因する誤動作を低減することを主な目的とする。
本発明は上記課題に鑑みてなされたものであり、指示位置を用いて入力される操作を認識する情報処理装置であって、表示画面上で指示される1以上の指示位置を取得する位置取得手段と、前記位置取得手段によって取得された1以上の指示位置のそれぞれに対応する圧力に関する情報を取得する圧力取得手段と、前記表示画面上で指示されている指示位置が同時刻に複数存在する場合に、該複数の指示位置のうち、前記圧力取得手段によって取得された圧力に関する情報に基づいて前記情報処理装置に対する操作に用いられる入力ではないと決定される指示位置を除く指示位置を用いて入力される前記操作を認識する認識手段と、を備えることを特徴とする。
本発明によれば、マルチタッチによる操作が可能な装置において、ユーザの個体差や操作時のタッチ入力機器の傾きの違いがある場合でも、装置を支持する手によるタッチに起因する誤動作が低減する。
情報処理装置の外観と構成の一例を示す図 ユーザによるタッチ入力の認識処理の流れの一例を示すフローチャート 指示位置の検出処理の流れの一例を示すフローチャート 指示位置の接触圧力に基づく指示位置の無効決定処理の流れの一例を示すフローチャート 情報処理装置の操作例を示す図 情報処理装置の傾きを示す図 指示位置に関して保持される情報の一例を示す図 指示位置に関して保持される情報の一例を示す図 指示位置の接触圧力に基づく指示位置の無効決定処理の流れの一例を示すフローチャート 指示位置に関して保持される情報の一例を示す図 情報処理装置を操作するユーザの姿勢の一例を示す図
以下、本発明を実施するための形態について、図面を参照しながら説明する。なお、以下で説明する実施形態は、本発明を具体的に実施した場合の一例を示すものであり、これに限るものではない。
[第1の実施形態]
図1は、本実施形態に適用可能な情報処理装置の外観とハードウェア構成とソフトウェア構成の一例を示す。
図1(a)は、情報処理装置100の一例である携帯端末を画面の正面及び側面から見た外観を示す図である。図1(a)において、筐体101は、入力領域102の外周部であり、合成樹脂や金属等で形成される。入力領域102は、タッチセンサ等で構成され、ユーザがタッチの対象とする対象領域であり、情報処理装置100に対する操作入力に用いられるタッチ入力を受け付ける。本実施形態では、入力領域102は表示部であるディスプレイの表示画面部分にタッチセンサを設置したタッチパネルディスプレイによって構成される。この表示画面は、情報処理装置100、あるいは情報処理装置100と接続された装置を操作するための画像を表示するインタフェースである。ユーザが情報処理装置100を支持する場合、通常はこの筐体101の一部を手で掴むことになる。なお、ここで説明する情報処理装置100のタッチパネルディスプレイ115の入力領域102は、480[dot]×640[dot]の解像度を有し、紙面に向かって左上を原点とする座標平面として位置情報を管理することができるものとする。さらにタッチセンサは、指示位置における接触情報も取得でき、具体的には接触圧力や接触面積等を取得する。以降、本実施形態では、図1(a)に示す携帯端末を、情報処理装置100として説明する。
指示位置指示位置 図1(b)は、本実施形態に適用可能な情報処理装置100のハードウェア構成を示すブロック図の一例である。図1(b)において、CPU111は、Central Processing Unitである。また、ROM112は、Read Only Memoryであり、HDD113は、Hard Disk Driveである。本実施形態では、CPU111が、ROM112やHDD113に格納されている制御プログラムを読み出して実行し、各デバイスを制御する。この制御プログラムは、本実施形態で説明される各種動作を情報処理装置100に実行させるための制御プログラムである。ROM112は、それらの制御プログラムやそのプログラムに利用される各種データを保持する。RAM114は、Random Access Memoryであり、CPU111の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。HDD113は、上述の各種制御プログラムや各種データを格納する。タッチパネルディスプレイ115は、入力領域102におけるユーザの操作情報を取り込むためのタッチセンサ等と表示出力を行う表示画面を兼ねるデバイスである。タッチパネルディスプレイ115は、入力領域102が人の手などでタッチされた場合にその接触部分を検出し、入力領域102に定義される座標平面上で、タッチされている位置を1つの座標点として特定する。接触部分が面積を有する場合にはその重心あるいは中心の座標を特定する。以下、当該点を指示位置と言う。なお、指示位置は、タッチパネルに検出されている1以上の接触部分のうち、独立しているとみなされる1以上の接触部分(例えば、複数の指でタッチされた場合、接触部分は複数存在する)のそれぞれについて検出可能とする。すなわち本実施形態のタッチパネルディスプレイ115は、いわゆるマルチタッチ検出が可能なものであって、同時刻において指示されている1以上の指示位置を全て検出することができるものである。タッチの検出方式は、抵抗膜方式、静電容量方式、赤外線方式、超音波方式、音響波方式、振動検出方式等の各種タッチパネルが利用できる。他にも、距離画像センサや、ステレオカメラなどの三次元空間での位置を検出できるもので入力対象面に触れたかどうかを検出し、入力対象面上で定義される位置情報を取得してもよい。また、情報処理装置の表面に接触していない、近接した状態でのユーザの指などの位置情報を検出できる検出手段を用いて得られた近接状態での位置(近接位置)情報を、指示位置として扱うことも可能である。本実施形態では、指示位置は1点の座標点として検出するものとするが、これに限らない。面積を持った接触部分を指示位置とみなしてもよく、また例えば入力領域102をアレイ状のタッチエリアに区分し、いずれのエリアにおいてタッチが検出されているかを示すエリアの識別情報を、指示位置として扱うこともできる。また、指示位置の接触圧力は、タッチによる指示位置近傍の圧力センサにより検出された圧力の総和である。本実施形態では、接触圧力の最大値は1500で、非接触状態では0となる。近接位置が検出される場合、当該指示位置における接触圧力の大きさは0となる。よって、指示位置での接触圧力値は、0〜1500の範囲で圧力の強さに比例する離散値となる。なお、接触圧力を、接触面積で代用してもよい。すなわち、指をタッチパネルに押し付ける圧力が大きいほど、指がタッチパネルの表面に接触する面積が大きくなる性質を利用し、接触部分の面積の大きさを示す情報を、接触圧力の大きさを示す情報として扱ってもよい。つぎに、出力I/F116はネットワーク等を介してディスプレイ以外の出力装置に各種情報を出力するためのインタフェースである。角度センサ117は、例えば加速度センサであって、情報処理装置100が鉛直方向に対して傾いている傾きの角度情報を取得する。なお、指示位置を、タッチ操作を構成する入力に用いられる指示位置ではないか(タッチ操作を構成する入力として無効か)を決定する、指示位置の無効決定処理において、情報処理装置100の傾きを考慮しない場合は、角度センサ117は不要となる。バス118は、CPU111の制御の対象とする構成要素を指示するアドレス信号、各構成要素を制御するためのコントロール信号、各構成機器相互間でやりとりされるデータの転送を行う。なお、上述した制御プログラムは、ROM112又はHDD113に予め記憶されていてもよいし、必要に応じてネットワークを介して外部装置などから受理し、ROM112又はHDD113に記憶しても良い。
図1(c)は、情報処理装置100のソフトウェアの構成を示すブロック図の一例である。
位置取得部121は、CPU、ROM、RAM(以下、CPU等)によって構成され、タッチパネルディスプレイ115のタッチセンサからの信号に基づき、表示画面上(入力領域上)でユーザによってタッチされている指示位置に関する情報を取得する。ただし、必ずしも接触状態にない近接位置を、タッチされた指示位置とみなす場合も含む。なお、本実施形態で用いるタッチセンサは、複数の指示位置が同時にタッチされている場合(いわゆるマルチタッチ状態)でも、1点ずつ順に情報を通知してくるものとする。そして、これらのタッチに関する情報を、RAM114により構成される保持部127に保持する。指示位置に関する情報とは、例えば入力領域102内での指示位置を示す座標情報、指示位置が検出された検出時刻、検出された順番を示す情報である。さらに、本実施形態では、指示位置毎に最新フラグが関連付けられる。最新フラグとは、1以上の指示位置のうち、最後に検出した指示位置を識別可能とするためのフラグである。ただし、本実施形態のタッチセンサは周期的に指示位置を検出しているため、移動せずに同じ位置に存在し続ける指示位置も、一定の時間間隔毎に検出されてしまう。最新フラグを「TRUE」とする指示位置は、単にタッチセンサが最後に検出した指示位置ではなく、ユーザが最後にタッチした指による指示位置、あるいはユーザにより最後に移動された指による指示位置とみなされる指示位置である。つまり、同時刻に複数の指示位置が指示されている場合、タッチセンサが最後の検出した指示位置の最新フラグを「TRUE」となる。そして、タッチセンサが一定時間後に指示位置の検出を開始した際、前回の位置からの移動のない指示位置の最新フラグは「FALSE」となり、タッチセンサによる検出順に関わらず、移動があった指示位置の最新フラグは「TRUE」となる。位置取得部121は、保持部127に指示位置毎に情報を保持する際に、新たに検出された指示位置、または移動した指示位置の場合は、最新フラグ「TRUE」、それ以外は最新フラグ「FALSE」を対応付けて保持させる。
圧力取得部122は、CPU等によって構成され、タッチパネルディスプレイ115のタッチセンサからの信号に基づき、位置取得部121が座標情報を取得した各指示位置に対応する接触圧力を取得し、保持部127に保持する。さらに、接触圧力の時間変化を表す圧力変化、または指示位置間における相対圧力差である圧力差を示す情報を取得し、保持する。本実施形態では、圧力変化は、接触圧力値の更新時に、
|今回検出された接触圧力値−前回接触圧力値|=圧力変化
として算出することで取得する。圧力差は、接触圧力値の更新時に、
|今回検出された接触圧力値−最新フラグが「TRUE」の接触圧力値|=圧力差
として算出することで取得する。もし最新フラグが「TRUE」の指示位置が無い場合は、算出する処理を実行しない。
角度取得部126は、CPU等によって構成され、角度センサ117が一定の周期で情報処理装置100の傾きを示す情報を保持部127に保持する。本実施形態では、保持部127において、指示位置毎に対応する情報が保持されており、指示位置の検出時刻において角度取得部126が取得した角度の情報が、当該指示位置に対応づけて保持される。なお、指示位置の無効決定において、情報処理装置100の傾きを考慮しない場合は、角度取得部126は省略可能である。
決定部123は、CPU等によって構成される。そして、保持部127に保持された情報に基づいて、位置取得部121により検出された指示位置に関する各種決定処理を行う。本実施形態では、位置取得部121により座標情報が取得された指示位置が、情報処理装置100に対するタッチ操作を構成する入力として有効とするか、無効とするかを決定する。本実施形態では、保持部127において、指示位置毎に無効フラグの値が関連付けて保持される。無効フラグの初期値は「FALSE」であり、決定部123は、決定処理の結果に応じて無効フラグの値を変更する。無効フラグが「TRUE」の指示位置は、操作として認識されない。
認識部124は、CPU等によって構成される。そして、決定部123による決定結果を受け、保持部127に保持された中から、決定部123によって有効(無効ではない)と決定された指示位置に関する情報を取得し、タッチ操作を構成する入力情報として認識する。すなわち、決定部123によって無効(有効ではない)と決定された指示位置は、タッチ操作に用いられる入力として認識する指示位置から除く。
表示制御部125は、CPU等によって構成される。そして、認識部124により認識されたタッチ操作に対応するように、保持部127を参照して表示画像を制御する。
本実施形態では、これらの各機能部は、CPU111がROM112に格納されたプログラムをRAM114に展開し実行することでその機能を実現する。ただし、本発明は、これらの機能部をハードウェアで実現する情報処理装置によっても、同様に実現可能である。
次に、図2のフローチャートに従い、本実施形態においてユーザのタッチ入力を認識する処理の流れを説明する。なお、本実施形態では、情報処理装置100において電源が投入されたことに応じて以降の処理が開始される。ただしこれに限らず、装置のロックが解除されたり、特定のアプリケーションが起動されたり、あるいは表示画像の描画が完了したことに応じてタッチ入力を認識する処理が開始されても構わない。
まず、ステップS201では、位置取得部121および圧力取得部122が、タッチパネルディスプレイ115からの信号に基づき、入力領域102上の指示位置に関する情報を取得する。位置取得部121は、タッチセンサから得られる情報を基に、指示位置の座標、検出された時刻等に関する情報を取得し、保持部127に保持する。また、圧力取得部122は、各指示位置に対応する接触圧力の大きさを取得し、保持部127に保持する。ここで、ステップS201において実行される指示位置検出処理の流れの詳細を、図3のフローチャートに示す。
まず、ステップS301では、位置取得部121は、タッチセンサから通知されたタッチイベントが「TOUCH」であるか否かを決定する。本実施形態において用いるタッチセンサからは、入力領域102がタッチされていることを検出したとき、あるいは検出されていたタッチが離されたときにタッチイベントを通知される。ここでは、入力領域102がタッチされていることを検出したときにはタッチイベントとして「TOUCH」が、検出されていたタッチが離されたときにはタッチイベントとして「RELEASE」が通知される。そして、位置取得部121はタッチイベントと、指示位置の座標情報、及び検出時刻を取得する。同時に圧力取得部122は、指示位置に対応する接触圧力の大きさを取得する。位置取得部121によって、通知されたタッチイベントが「TOUCH」だと決定された場合(ステップS301でYES)には、ステップS302に進む。通知されたタッチイベントが「TOUCH」ではない、すなわち「RELEASE」であった場合(ステップS301でNO)には、ステップS306に進む。
ステップS302では、位置取得部121が、「TOUCH」が通知された指示位置と同じIDの指示位置が既に検出されているか否かを決定する。位置取得部121は、保持部127に保持された情報を参照し、対応するIDが含まれているかを決定する。指示位置のIDとは、位置取得部121が検出した指示位置の識別情報である。本実施形態では、その指示位置が、入力領域102を同時刻にタッチしている1以上の指示位置のいち、何番目に検出された点かに基づき、検出順に1、2、…という番号のIDを割り当てる。同じIDの指示位置が検出されていないと決定された場合(ステップS302でNO)には、処理はステップS307に進む。一方、同じIDの指示位置が既に検出されていると決定された場合(ステップS302でYES)には、処理はステップS303に進む。
ステップS303では、位置取得部121が、保持部127に保持されている情報のうち、「TOUCH」が検出された指示位置と同じIDの指示位置の座標、検出時刻の情報を更新する。そして圧力取得部122が、接触圧力の大きさの情報を更新し、さらに接触圧力の時間変化を算出して、保持部127に保持する。
ステップS304では、位置取得部121が、検出した指示位置は、以前に検出された位置から移動した指示位置か否かを決定する。本実施形態では、ステップS303において指示位置の情報が更新される際に、更新前後の指示位置の座標情報から指示位置の移動距離を算出し、算出された移動距離と所定の距離との大きさを比較する。比較した結果、指示位置の移動距離が所定の距離より大きい場合には、指示位置が移動したと決定する。ここで用いられる所定の距離とは、ユーザがタッチによる操作を行うために、指示位置を移動させたと判断できるか否かを決定するための、距離の閾値である。この閾値は、予め情報処理装置100に登録されているタッチ操作が、認識されるために必要な指示位置の最小の移動距離程度の大きさとして設定される。そして、検出した指示位置が、移動した指示位置であると決定される場合(ステップS304でYES)には、ステップS305に進む。一方で、取得した指示位置が、移動した指示位置ではないと決定される場合(ステップS304でNO)には、ステップS309に進む。
ステップS305では、位置取得部121が、検出された指示位置が移動した指示位置であり、最新の指示位置であることを示す情報を更新する。本実施形態では、保持部127に保持されている各指示位置に、最新の指示位置であることを示す情報として、最新フラグの値「TRUE」を関連付けて保持する。そして、図2の処理に戻る。
一方、S301でNOと決定された場合、すなわち「TOUCH」以外のイベントである「RELEASE」がタッチセンサから通知された場合は、ステップS306に進む。ステップS306では、位置取得部121が、保持部127に保持されていた情報のうち、「RELEASE」が検出された指示位置に対応するIDに、関連付けられた指示位置の情報(座標、検出時刻、ID、接触圧力、角度等)を削除する。そして、処理はステップS310に進む。
ステップS310では、ステップS306で処理された指示位置の最新フラグ、無効フラグを初期化する。本実施形態では、初期化処理として、最新フラグと無効フラグの値を「FALSE」する。そして、図2の処理に戻る。
一方、S302でNOと決定された場合、すなわち新しい指示位置が検出された場合は、S307に進む。ステップS307では、位置取得部121が、「TOUCH」が検出された指示位置のID、位置座標、検出時刻、接触圧力の大きさ、装置の角度等の情報を保持部127に保持されている情報に新規追加する。なお、本実施形態において、位置座標の情報は、図1(a)に示したように、入力領域102の左上を原点とした座標平面に基づく座標(x,y)で示される。そして、処理はステップS308に進む。
ステップS308では、位置取得部121が、検出された指示位置が最新の指示位置であることを示す情報を更新する。本実施形態では、S307で保持部127に保持された指示位置の最新フラグを「TRUE」する。そして、図2の処理に戻る。
一方、ステップS304でNOと決定された場合、すなわち検出された指示位置が移動していないと決定された場合は、ステップS309に進む。ステップS309では、位置取得部121が、ステップS303で保持された指示位置の、最新フラグを初期化する。本実施形態では、初期化処理として、最新フラグを「FALSE」とする。そして、図2の処理に戻る。
図2の処理に戻ると、続くステップS202において、決定部123が、位置取得部121によって検出されている指示位置が、複数か否かを決定する。ここで決定するのは、2本の指が同じタイミングで入力領域102に触れたか時間差があったかに関わらず、入力領域102上で、指示位置が同時刻に複数存在するか否かである。つまり、いわゆるマルチタッチが入力されている場合に、指示位置が複数である、との決定がされる。本実施形態の決定部123は、保持部127に保持された情報を参照し、保持されたIDの数から指示位置数を求め、検出されている指示位置の数が複数か否かを決定する。ステップS202において、複数の指示位置が検出されていると決定された場合(ステップS202でYES)には、処理はステップS203に進む。一方、複数の指示位置が検出されていないと決定された場合(ステップS202でNO)には、処理はステップS207に進む。
ステップS203とステップS204では、決定部123が、検出されている指示位置の数が増えたか、または指示位置が移動したかを決定する。決定部123は、保持部127に保持されている、今回検出された指示位置に関連づけられている最新フラグを参照する。最新フラグが「TRUE」の場合は、指示位置の数が増えたか、または指示位置が移動したと決定(ステップS203またはステップS204でYES)し、処理はステップS205に進む。一方、最新フラグが「FALSE」の場合は、タッチ数が増えていないか、または指示位置が移動していないと決定(ステップS203またはステップS204でNO)し、処理はステップS207に進む。
ステップS205では、この時点において、入力領域102上で検出されている全ての指示位置について、それぞれがタッチ操作を構成する入力として無効かを判断する。図4に、ステップS205において実行される、指示位置に対応する接触圧力に基づいて、有効な指示位置を決定する処理の流れの詳細を示すフローチャートを示す。
まず、ステップS401では、決定部123が、全ての指示位置のうち、最新の指示位置を有効と決定する。本実施形態では、決定部123が、保持部127に保持された情報を参照し、最新フラグが「TRUE」である指示位置のIDを取得する。そして、取得されたIDの指示位置に関連付けられている無効フラグを「FALSE」とする。
ステップS402では、圧力取得部122が、最新でない全ての指示位置の接触圧力の時間変化を取得する。本実施形態では、まず圧力取得部122が、保持部127に保持された情報を参照し、最新フラグが「FALSE」である指示位置のIDを全て取得する。次に、取得されたIDの指示位置の接触圧力の時間変化である圧力変化を取得する。
ステップS403では、角度取得部126が、情報処理装置100の傾きの角度情報を取得する。本実施形態では、圧力取得部122が、ステップS201で取得された指示位置に関連付けられている角度を取得する。なお、指示位置の無効決定において、情報処理装置100の傾きを考慮しない場合は、ステップS403の処理は不要である。
ステップS404では、決定部123が、ステップS403で取得された情報処理装置100の傾きに基づき、指示位置の無効決定に用いる閾値T1を取得する。閾値T1とは、情報処理装置100を支持する手による指示位置の圧力の変動を許容する限界の幅を示す圧力変動幅である。閾値T1は、予め記憶され、保持部127に読み出されている。圧力変動幅は、一般的には数値で登録するが、検出された接触圧力に対する割合(例えば10%等)で登録してもよい。また、情報処理装置100が傾けられている角度によっては、装置を支持する手によって入力領域102にかけられる圧力の大きさ、及び変動の幅は異なる。従って本実施形態では、決定精度を向上させるため、装置の角度の状態に応じた閾値T1を変更する。例えば、情報処理装置100を安定して保持できる角度の場合、装置を支持する手による指示位置において許容される圧力変動幅が小さくて良い。例えば、図6の角度30[°]から150[°]の場合は、閾値T1を小さくすることが好ましい。本実施形態では、決定部123が、ステップS403で取得された角度を参照し、角度に対応する閾値T1を取得する。
ステップS405では、決定部123が、ステップS402で取得された指示位置の接触圧力の時間変化に基づいて、有効な指示位置を決定する。本実施形態では、決定部123が、ステップS402で取得された指示位置の圧力変化の大きさが、ステップS404で取得された閾値T1を超えるか否かに応じた決定が行われる。具体的には、圧力変化の大きさが閾値T1を超える場合は、その指示位置を操作点と推定し、有効な指示位置と決定する。一方、圧力変化の大きさが閾値T1を下回る場合は、その指示位置を支持点と推定し、無効な指示位置と決定する。なお、圧力変化の大きさが閾値T1と一致する場合に有効と決定するか無効と決定するかは、予め閾値T1を設定する際に適宜選択されればよい。ここでは、閾値T1を超えた場合と同様の処理が行われるとする。すなわち、本実施形態では、圧力変化の大きさが、ステップS404で取得された閾値T1以上であると決定された場合は、タッチを有効と決定し、無効フラグを「FALSE」として保持部127に保持する。一方、圧力変化の大きさが、ステップS404で取得された閾値T1未満であると決定された場合は、タッチを無効と決定し、無効フラグを「TRUE」として保持する。そして、図2のフローチャートに戻る。
図2の処理に戻り、続くステップS206では、認識部124が、ステップS205で有効と決定された指示位置による入力を認識する。本実施形態では、認識部124が、保持部127を参照し、無効フラグが「FALSE」となっている、全ての指示位置を入力として認識する。そして、表示制御部125が、認識部124により認識されたユーザの入力に基づき、タッチパネルディスプレイ115に表示する画像を制御する。そして、図2の処理を終了する。
一方、ステップS207では、指示位置の決定結果を保持する。本実施形態では、保持部127が、無効フラグが「TRUE」の場合は、引き続き「TRUE」を保持する。一方、無効フラグが「TRUE」以外の場合は、「FALSE」とする。
なお、本実施形態では、タッチセンサがタッチを検出したときには「TOUCH」を、検出されていた指示位置が解除されたときには「RELEASE」をタッチイベントとして通知するタッチパネルを用いたが、これに限らない。例えば、新たに入力領域102がタッチされた場合には「TOUCH_DOWN」、既に検出されていたIDの指示位置の移動が検出された場合には「MOVE」、離された時には「TOUCH_UP」をタッチイベントとして通知するものでもよい。この場合、「TOUCH_DOWN」が通知された場合に、保持部127に保持される情報をIDに関連付けて新規追加する。そして、「MOVE」が通知された場合には同じIDに関連付けられた情報を更新し、「TOUCH_UP」が通知された場合に、同じIDに関連付けられた情報を削除すればよい。このように、情報処理装置100は、入力装置であるタッチパネルで検出されている複数の指示位置をIDによって識別して情報を管理する。従って、複数の指示位置それぞれの動きを検出することができるので、それらの指示位置に構成されるマルチタッチ操作を認識することができる。
また、上述した実施形態では、指示位置の無効決定において、情報処理装置100の傾きを考慮することで、圧力変動幅を最適化した。しかしながら、傾きの取得を省略し、閾値T1を情報処理装置100の傾きに関係なく一定値とした場合でも、圧力の変化に基づいてユーザの操作意図を推定し、誤認識を低減することは可能である。その場合、閾値Tの値は、表示画面を見るユーザが最も装置を支持し易い態勢に合わせて設定すると、ユーザに対して違和感のない操作感を提供できる。
ここで、第1の実施形態による情報処理装置100をユーザが操作する操作例を、図5と図6を参照して説明する。図5は、情報処理装置100を入力領域102側から見た状態を示す図であり、図5(a)から図5(c)の順に、ユーザの操作が進んでいく。また、図6は、情報処理装置100を側面から見た状態を示す図であり、情報処理装置100がユーザにより支持されている角度を、垂直線601と水平線602を用いて示す。図6に示すように、本実施形態では、角度センサ117により検知された傾き情報に基づいて、垂直線601を基準として時計回りに、装置の角度が算出される。よって、垂直線601が0[°]、水平線602が90[°]、垂直線601の反対側が180[°]、水平線602の反対側が270[°]となる。図6(a)は、第1の操作例において、ユーザにより支持されている情報処理装置100の角度が60[°]であることを示す。図6(b)は、第2と第3の操作例において、ユーザにより支持されている情報処理装置100の角度が270[°]であることを示す。
まず、第1の操作例を、図5と図6(a)を参照して説明する。第1の操作例では、卓上等の平らな面の上で、ユーザが左手で情報処理装置100を見やすい角度で支持し、右手の指で情報処理装置100を操作する。例えば、図11(a)のような姿勢を想定する。図6(a)で示すように、ユーザにより支持される情報処理装置100の角度は60[°]である。この角度は、図5(a)から図5(c)におけるユーザの操作において、変わらずに一定である。ここでは、装置の角度が60[°]である場合の圧力変動幅(閾値T1)は、100であるとする。
まず、図5(a)は、ユーザが左手により情報処理装置100を、支持している状態を示している。この時、情報処理装置100を支持している左手の親指が、入力領域102に触れると、親指による指示位置501の位置、ID、検出時刻、接触圧力等の情報が取得され、保持される(ステップS201)。ここで図7(a)は、この時に保持される情報の一例を示すテーブルである。保持される項目は、指示位置を識別するためのID、指示位置のXY座標と検出時刻、最新の指示位置を表す最新フラグ、指示位置に対応する接触圧力とその時間変化量、情報処理装置の角度、指示位置が入力として無効であることを表す無効フラグである。図5(a)の段階では、IDを1とし、座標(50,320)、検出時刻0[ms]、最新フラグ「TRUE」、接触圧力900、接触圧力の時間変化0、角度60[°]、無効フラグ「FALSE」が保持される。なお、指示位置の検出が初めての時(直前まで指示位置が検出されていない状態だった時)は、常に最新フラグは「TRUE」、接触圧力の時間変化は「0」、無効フラグは「FALSE」である。この時点で検出されている指示位置数は1点のため、指示位置は複数でないと決定されることから(ステップS202でNo)、無効フラグは「FALSE」のまま保持され(ステップS207)、指示位置501は有効な入力情報として認識される。ここでは、認識されたタッチ入力に応じた表示内容の変更は生じないため、表示画像を変更されない(ステップS206)。以下、表示の変更がない場合は、表示制御部125の記述は省略する。
次に、図5(b)は、ユーザが左手により情報処理装置100を支持した状態を維持しつつ、右手により情報処理装置100を操作し始める状態を示している。この時、入力領域102に触れている左手の指示位置501と右手の指示位置502の情報が、新たに検出される。本実施形態では、タッチセンサはマルチタッチ状態においても、1点ずつ指示位置の情報を通知している。図5(b)の場合、左手の指示位置501の方が、XY座標の値がより小さいため、タッチセンサから先に情報が通知される。従ってまず、左手の指示位置501に対する処理を説明する。図7(b)は、周期的に入力領域102の指示位置を検出するタッチセンサから、図5(b)の指示位置501の情報が取得された時(ステップS201)に、保持部127に保持される情報の一例を示すテーブルである。指示位置501は、IDは1で、座標(50,320)、検出時刻1000[ms]、最新フラグ「FALSE」、接触圧力880、接触圧力の時間変化|880−900|=20、角度60[°]、無効フラグ「FALSE」である。タッチセンサから、指示位置501の処理の情報だけが通知されているこの段階では、指示位置数は1点と認識されるため、指示位置は複数でないと決定される(ステップS202でNo)。無効フラグは「FALSE」のまま保持され(ステップS207)、指示位置501は、有効な入力情報として認識される(ステップS206)。次に、右手の指示位置502に対して行われる処理を説明する。図7(c)は、タッチセンサから指示位置502の情報が取得された時(ステップS201)に、保持部127に保持される情報の一例を示す。指示位置502は新たに検出された別の指示位置のため、IDは2となる。そして、座標(430,100)、検出時刻1010[ms]、最新フラグ「TRUE」、接触圧力700、接触圧力の時間変化0、角度60[°]、無効フラグ「FALSE」が、新規追加される。この時点で検出されている指示位置は2点のため、指示位置は複数であると決定される(ステップS202でYes)。そして、指示位置数が増えたので(ステップS203でYes)、指示位置501と指示位置502の全てに対して、有効な指示位置か否かを決定する処理が行われる(ステップS205)。まず、指示位置502は、最新の指示位置のため、有効な指示位置と決定され、無効フラグは「FALSE」となる(ステップS401)。そして、最新でない指示位置501について、接触圧力の時間変化20、情報処理装置100の傾き角度60[°]が取得され(ステップS402、S403)、取得された傾き角度60[°]に対応する閾値T1=100が取得される(ステップS404)。そして、取得された接触圧力の時間変化が20であり、閾値T1未満のため、指示位置501は無効と決定され、無効フラグを「TRUE」とする(ステップS405)。結果的に、無効フラグが「FALSE」である指示位置502のみが、有効な入力情報として認識される(ステップS206)。
次に、図5(c)は、ユーザが左手により情報処理装置100を支持した状態を維持しつつ、右手により情報処理装置100を操作している状態を示している。この時、タッチセンサにより、入力領域102に触れている左手の指示位置501と右手の指示位置502の情報が、新たに検出される。図7(d)は、指示位置501について保持される情報の一例である。IDは1で、座標(50,320)、検出時刻2000[ms]、最新フラグ「FALSE」、接触圧力850、接触圧力の時間変化|850−880|=30、角度60[°]、無効フラグは引き続き「TRUE」である。このとき、検出されている指示位置は2点のため、指示位置は複数であると決定され(ステップS202)、指示位置数が増えていない(ステップS203でNo)。また、指示位置501は移動していないので(ステップS204でNo)、無効フラグは「TRUE」のまま変更されない(ステップS207)。従って、無効フラグが「FALSE」である指示位置502のみが、有効な入力情報として認識される(ステップS206)。次に、右手の指示位置502に対する処理の説明をする。図7(e)は、指示位置502について保持される情報の一例を示すテーブルである。IDは2、座標(430,400)、検出時刻2010[ms]、最新フラグ「TRUE」、接触圧力400、接触圧力の時間変化|400−700|=300、角度60[°]、無効フラグ「FALSE」が保持される。検出されている指示位置は2点であり(ステップS202でYes)、指示位置数は増えておらず(ステップS203)、指示位置502は移動している(ステップS204でYes)。従って、指示位置501と指示位置502の全てについて、有効な指示位置か否かが決定される(ステップS205)。指示位置502は、最新の指示位置のため、有効な指示位置と決定され、無効フラグは「FALSE」となる(ステップS401)。一方、最新でない指示位置501については、接触圧力の時間変化30、情報処理装置100の傾き角度60[°]が取得され(ステップS402、S403)、それに対応する閾値T1=100が取得される(ステップS404)。そして、指示位置501の接触圧力の時間変化が30であり、閾値T1未満のため、指示位置は無効と決定され、無効フラグは「TRUE」となる(ステップS405)。結果的に、無効フラグが「FALSE」である指示位置502のみが、タッチ操作に有効な入力情報として認識される。そして、有効な指示位置502が、Y軸の正方向に300[dot]移動した操作に対応して、表示画像が下方向にスクロールするように、表示制御部125による表示画像の制御が実行される(ステップS206)。
次に、第2の操作例を、図5と図6(b)を参照して説明する。第1の操作例との違いは、ユーザにより支持される情報処理装置100の角度が、第1の操作例では60[°]だったのに対し、第2の操作例では270[°]であることである。第2の操作例では、ユーザが仰向けに寝た状態で、左手により見やすい角度で情報処理装置100を支持し、右手の指で情報処理装置100を操作する。例えば、図11(b)のような姿勢を想定する。この場合、図11(a)の場合に比べて、装置を支持する手による指示位置にかかる押圧荷重は大きく、かつ装置の角度は不安定になり易い。図6(b)で示すように、ユーザにより支持される情報処理装置100の角度は270[°]となる。この角度は、図5(a)から図5(c)におけるユーザの操作において、変わらずに一定である。ここでは、装置の角度が60[°]である場合の圧力変動幅(閾値T1)は、200であるとする。
以下、説明において第1の操作例と重複する部分は省略する。まず、図5(a)は、ユーザが左手により情報処理装置100を、支持している状態を示している。この時、情報処理装置100を支持している左手の親指による指示位置501は、唯一の指示位置であるため、第1の操作例と同様、一連の処理の間、無効フラグは「FALSE」で維持され、タッチ操作を構成する入力として認識される。
次に、図5(b)は、ユーザが左手により情報処理装置100を支持した状態を維持しつつ、右手により情報処理装置100を操作し始める状態を示している。この時、入力領域102に触れている左手の指示位置501と右手の指示位置502の情報が、新たに検出される。先に行われる、左手の指示位置501に対する処理は、第1の操作例と同様である。図8(b)は、指示位置501が検出された時点で保持される情報の一例を示すテーブルである。IDは1で、座標(50,320)、検出時刻1000[ms]、最新フラグ「FALSE」、接触圧力1140、接触圧力の時間変化|1140−1200|=60、角度270[°]、無効フラグ「FALSE」という情報が保持される。タッチセンサから先に指示位置501の情報が通知されているこの段階では、指示位置の数は1点と認識されているため、無効フラグ「FALSE」が維持され、指示位置501は有効な入力情報として認識される。
次に、右手の指示位置502について通知される情報に基づき取得情報の一例が、図8(c)のテーブルに示される。IDは2、座標(430,100)、検出時刻1010[ms]、最新フラグ「TRUE」、接触圧力650、接触圧力の時間変化0、角度270[°]、無効フラグ「FALSE」という情報が保持される。指示位置は複数で増えたことから、指示位置501と指示位置502の全てについて、指示位置502の入力が無効か否かの決定が行われる。ここで、指示位置502は、最新の指示位置のため、有効な指示位置と決定され、無効フラグは「FALSE」となる。そして、最新でない指示位置501について、接触圧力の時間変化60、情報処理装置100の傾き角度270[°]に基づき、取得された傾き角度270[°]に対応する、閾値T1=200が取得される。そして、指示位置501の接触圧力の時間変化が60であり、閾値T1未満のため、指示位置を無効と決定し無効フラグを「TRUE」とする。そして、認識部124が、無効フラグが「FALSE」である指示位置502は、有効な入力情報として認識される。
次に、図5(c)は、ユーザが左手により情報処理装置100を支持した状態を維持しつつ、右手により情報処理装置100を操作している状態を示している。この時、入力領域102に触れている左手の指示位置501と右手の指示位置502の情報が、新たに検出される。図8(d)は、左手の指示位置501の情報が通知された段階で保持される情報の一例を示すテーブルである。IDは1で、座標(50,320)、検出時刻2000[ms]、最新フラグ「FALSE」、接触圧力1300、接触圧力の時間変化|1300−1140|=160、角度270[°]、無効フラグは引き続き「TRUE」である。最新フラグが「FALSE」であるため、無効フラグが「TRUE」で維持され、この時点でも、操作として認識されるのは、指示位置502のみである。
次に、図8(e)は、続いて指示位置502の情報が通知された段階で、保持される情報の一例を示すテーブルである。IDは2、座標(430,400)、指示位置502は、最新フラグが「TRUE」ため、指示位置501と指示位置502の全てについて、無効決定が行われる。まず、指示位置502は、最新の指示位置のため、有効な指示位置と決定され、無効フラグは「FALSE」となる。そして、最新でない指示位置501について、接触圧力の時間変化160、傾き角度270[°]と、傾き角度270[°]に対応する閾値T1=200が取得される。そして、指示位置501の接触圧力の時間変化が160であり、閾値T1未満のため、指示位置502は無効と決定され、無効フラグは「TRUE」となる。そして、無効フラグが「FALSE」である指示位置502が、有効な入力情報として認識され、指示位置502がY軸の正方向に300[dot]移動したことに応じて、表示画像が下方向にスクロールするように表示制御が行われる。
第1の操作例に比べ、第2の操作例では、入力面は垂直方向の下側の面となっているために情報処理装置100の重さが、入力面に接触する1本の指に集中し、支持が不安定となる。このように情報処理装置100の支持されている傾きを考慮することで、第1の操作例よりも、第2の操作例の閾値T1をより大きな値としたことにより、第1の操作例同様にスクロール操作が認識可能となる。
以上説明したように、第1の実施形態では、マルチタッチの操作が可能な情報処理装置100において、ユーザが装置を支持する為に入力領域102に触れた指示位置501が、入力として認識されるために発生する誤動作を避けることができる。ここでの誤動作とは、指示位置502によるシングルタッチ操作が、指示位置501が認識されることにより、マルチタッチ操作となってしまい、装置がユーザの意図とは違う動作をすることである。本実施形態では、指示位置の接触圧力の時間変動の幅に基づく判断を行う。そのため、ユーザ毎の力の個人差や、装置を奏させうるときの姿勢の違い等による指示位置への押圧荷重の違い影響を抑えつつ、装置を支持するための手がタッチパネルに触れることに起因する装置の誤動作を低減することができる。これにより、例えば、図11(a)のように、仰向けに寝た状態など自由な姿勢でユーザが情報処理装置を操作する際の誤動作の発生を低減することができる。
さらに、情報処理装置100の支持されている傾きの違いを考慮することで、閾値T1をより適切な数値とし、決定精度を向上することができる。圧力変動幅(閾値T1)は、装置を支持するための指示位置と、装置を操作するための指示位置とを、区別するための判断基準である。よって、閾値T1は大き過ぎず、小さ過ぎない、適切な数値とする必要がある。第1の操作例の情報処理装置100の角度では、垂直方向の上側の面が入力面となっており、入力面の反対側の面に接触する4本の指により、情報処理装置100が安定して支えられている。よって、指示位置501の接触圧力の変動幅は小さくなり、閾値T1も小さな値となる。さらに、新たに検出された指示位置と移動が検出された指示位置は、ユーザの操作による指示位置と推定できるため、接触圧力に基づく無効決定の処理は行わずに、有効な指示位置と決定する。従って、決定精度を低下させることなく、処理効率を向上することができる。
なお、上述した第1の実施形態では、同時刻に検出されている複数の指示位置のうち最新の指示位置(最後に検出された指示位置)は、圧力の情報によらず、操作に用いられる入力であると決定していた。これは、タッチ位置あるいは近接位置である指示位置が複数のとき、操作を行うため入力は、装置を支持した時点よりも後に行われる可能性が高いことから、圧力の情報に基づく判断処理を省略しているからである。例えば、ユーザが装置を支持する手という役割と操作をする手(あるいはスタイラスを持つ等)という役割を、両手のいずれかに対応させる場合を考えれば、先に操作を支持してから、もう一方の手で最後に表示画面にタッチあるいは近接する可能性が高い。従って、最新の指示位置に対しては、無効決定処理を省略することで、速やかに操作に対応することが可能である。しかしながら、最新の指示位置に対しても、圧力の変化量に基づいて、指示位置が無効か否かの決定処理を行っても構わない。これによれば、ユーザは両手で装置を支えたり、装置を持ち変えたりする場合にも、誤動作を低減するという効果を奏することができる。
<変形例>
第1の実施形態では、1つ指示位置に対応する接触圧力の変動幅に基づいて、有効な指示位置を決定する。それに対し、変形例では、複数の指示位置に対応する接触圧力の圧力差に基づいて、有効な指示位置を決定する例を説明する。ユーザが仰向けになって、下方向に向けた表示画面にタッチ操作を行う場面など、装置を支持するための指示位置と、装置を操作するための指示位置で接触圧力の大きさの違いが生じやすい場面において、変形例は有効である。
変形例に係る情報処理装置100の外観、ハードウェア構成は、第1の実施形態の図1に示したものと一部を除き同様であるため、説明を省略する。ただし、機能構成において、変形例の圧力取得部122は、指示位置の接触圧力の時間変化ではなく、最新の指示位置を基準とした圧力差を取得し、保持部127に指示位置毎に保持する。また、決定部123は、圧力変動幅ではなく、圧力差に基づいて、指示位置の無効決定を行う。なお、変形例は第1の実施形態と別に実施してもよいし、組み合せて実施してもよい。
変形例においても、情報処理装置100は図2及び図3のフローチャートに沿って、タッチ入力を認識する。ただし、変形例において、S205で実行される、指示位置の接触圧力に基づいて、有効な指示位置を決定する処理の流れを示すフローチャートを、図9に示す。
まず、ステップS901では、決定部123が、最新の指示位置を有効と決定する。本実施形態では、決定部123が、保持部127に保持された情報を参照し、最新フラグが「TRUE」である指示位置のIDを取得する。そして、取得されたIDの指示位置に関連付けられている無効フラグを「FALSE」とする。
ステップS902では、圧力取得部122が、最新の指示位置と最新でない指示位置での接触圧力の圧力差を取得する。本実施形態では、保持部127を参照し、ステップS201において取得され接触圧力の情報に基づいて、最新でない指示位置と(複数存在する場合はそのそれぞれと)、基準となる最新の指示位置での圧力差を取得する。
ステップS903では、決定部123が、ステップS902で取得された指示位置の接触圧差に基づいて、有効な指示位置を決定する。変形例の決定方法は、装置を支持するための指示位置と、装置を操作するための指示位置では、接触圧力が大きく異なることに注目し、決定基準として利用している。従って、操作点と推定される最新の指示位置を基準とした接触圧力差が、閾値T2以上の指示位置を、装置を支持する手による指示位置と推定し、この指示位置を、操作入力としては無効と決定する。閾値T2は、装置を支持する手によるタッチと、タッチ操作を行うためのタッチの接触圧力差の最小値として、予め設定された値である。なお、閾値T2は、第1の実施形態と同様に、情報処理装置100が指示されているときの角度に応じて、いくつかの値が用意されていてもよい。また例えば、角度センサ117の検知結果等により、表示画面がある程度以上下方向に向けられたことが判断された場合にのみ、変形例の処理を行うようにすることも可能である。決定部123は、ステップS902で取得された指示位置の接触圧力差が、閾値T2以上であると決定した指示位置に対し、無効フラグを「TRUE」とし、決定結果が閾値T2未満の指示位置に対し、無効フラグを「FALSE」とする。ただし、圧力差が閾値T2と一致したときの判断をいずれとするかは、閾値T2を設定する時点で適宜選択されればよい。なお、図9のフローチャートの処理が終了したら、図2のフローチャートに戻る。
ここで、変形例に沿った第3の操作例を、図5と図6(b)を参照して説明する。変形例は、第3の操作例では、ユーザが仰向けに寝た状態で、左手により見やすい角度で情報処理装置100を支持し、右手の指で情報処理装置100を操作する場合を想定する。図6(b)で示すように、ユーザにより支持される情報処理装置100の角度は270[°]となる。この角度は、図5(a)から図5(c)におけるユーザの操作において、変わらずに一定である。なお、第3の操作例において、圧力差の閾値T2は200であるとする。
まず、図5(a)は、ユーザが左手により情報処理装置100を、支持している状態を示している。この時、情報処理装置100を支持している左手の親指が、入力領域102に触れると、指示位置501の情報がタッチセンサから通知され、保持部127に保持される(ステップS201)。図10(a)は、指示位置501に対する処理について保持される情報の一例を示すテーブルである。なお、図10の図7、図8との差異は、最新の指示位置(最新フラグが「TRUE」の指示位置)を基準とした接触圧力差の項目があることである。接触圧力差は、検出されている指示位置が複数のときのみ、取得され、保持される。従って、図10(a)では、IDを1、座標(50,320)、検出時刻0[ms]、最新フラグ「TRUE」、接触圧力1200、無効フラグ「FALSE」とする。次に、検出されている指示位置の数は1点のため(ステップS202でNo)、無効フラグは「FALSE」のまま維持され(ステップS207)、指示位置501は有効な入力情報として認識される(ステップS206)。
次に、図5(b)は、ユーザが左手により情報処理装置100を支持した状態を維持しつつ、右手により情報処理装置100を操作し始める状態を示している。この時、入力領域102に触れている左手の指示位置501と右手の指示位置502の情報が、新たに検出される。図10(b)は、指示位置501の情報が取得されたことに応じて、保持される情報の一例を示すテーブルである。IDは1で、座標(50,320)、検出時刻1000[ms]、最新フラグ「FALSE」、接触圧力1150、無効フラグは「FALSE」である。今回検出している指示位置数は1点のため(ステップS202でNo)、無効フラグは「FALSE」が維持され(ステップS207)、指示位置501は有効な入力情報として認識される(ステップS206)。次に、図10(c)は、指示位置502の情報が取得されたことに応じて、保持される情報の一例を示すテーブルである。IDは2、座標(430,100)、検出時刻1010[ms]、最新フラグ「TRUE」、接触圧力700、無効フラグは「FALSE」である。このとき、検出されている指示位置が複数になったことから、最新フラグが「TRUE」である指示位置502に対応する接触圧力が基準となり、他の指示位置について取得された接触圧力の大きさとの圧力差が、各指示位置に対応づけられた情報に加えられる。図10(c)の場合、IDが1の指示位置501の情報において、圧力差450が保持される。この段階では、指示位置は2点で複数であり(ステップS202でYes)、指示位置数が増えたので(ステップS203でYes)、指示位置501と指示位置502の全てについて無効決定が実行される(ステップS205)。まず、指示位置502は最新の指示位置のため、有効な指示位置と決定され、無効フラグは「FALSE」となる(ステップS901)。そして、最新フラグが「TRUE」である指示位置502を基準に、最新フラグが「FALSE」である指示位置501との接触圧力差450を取得する(ステップS902)。そして、決定部123が閾値T2=200を取得し、指示位置501の接触圧力差は450で、閾値T2以上のため、指示位置501を無効と決定し、無効フラグを「TRUE」とする(ステップS903)。そして、認識部124が、無効フラグが「FALSE」である指示位置502を、有効な入力情報として認識する(ステップS206)。
次に、図5(c)は、ユーザが左手により情報処理装置100を支持した状態を維持しつつ、右手により情報処理装置100を操作している状態を示している。この時、入力領域102に触れている左手の指示位置501と右手の指示位置502の情報が、新たに検出される。図10(d)は、指示位置501の情報が取得されたことに応じて保持される情報の一例を示すテーブルである。IDは1で、座標(50,320)、検出時刻2000[ms]、最新フラグ「FALSE」、接触圧力1300、接触圧力差|1300−700|=600、無効フラグは引き続き「TRUE」である。次に、決定部123が、今回検出されている指示位置は2点で複数であるため(ステップS202でYes)、指示位置が移動していないので(ステップS204でNo)、無効フラグ「TRUE」が維持される(ステップS207)。そして、無効フラグが「FALSE」である指示位置502を有効な入力情報として認識される(ステップS206)。次に、図10(e)は、指示位置502の情報が取得されたことに応じて保持される情報の一例を示すテーブルである。IDは2、座標(430,400)、検出時刻2010[ms]、最新フラグ「TRUE」、接触圧力400、無効フラグは「FALSE」である。さらに、指示位置であるので、IDが1の指示位置501について保持される情報に対し、最新フラグが「TRUE」の指示位置を基準とした接触圧力差|1300−400|=900が加えられる。そして、指示位置502は移動したので(ステップS204でYes)、指示位置501と指示位置502に全てについて、無効決定が行われる(ステップS205)。まず、指示位置502は、最新の指示位置のため、有効な指示位置と決定され、無効フラグは「FALSE」となる(ステップS901)。そして、最新フラグが「TRUE」でない指示位置について、接触圧力差が参照され、取得される(ステップS902)。図10(e)のように、この段階では接触圧力差は900であり、閾値T2の200以上のため、指示位置を無効と決定し無効フラグを「TRUE」とする(ステップS904)。そして、無効フラグが「FALSE」である指示位置502が、有効な入力情報として認識される。そして、有効な入力情報として認識された指示位置502が、Y軸の正方向に300[dot]移動した操作に対応して、表示画像が下方向にスクロールするように、表示制御が行われる(ステップS206)。
第3の操作例のように、情報処理装置100が表示画面を下に向けた角度で指示されている場合、情報処理装置100の重さが、入力面に接触する1本の指に集中するため、支持が不安定となる。よって、装置を支持する手による指示位置501の接触圧力の変動幅は大きくなる傾向があるため、変動幅ではなく(あるいは変動幅と組み合わせて)、変形例のように、複数の指示位置の圧力差を用いることで、決定精度を向上させることができる。
なお、変形例においても、操作を行うため入力は、装置を支持した時点よりも後に行われる可能性が高いことから、最新の指示位置に対する無効決定処理を省略した例を説明したが、これに限らない。ただし、圧力差を用いる無効決定処理には、圧力差の基準となる指示位置を特定することが必要になる。最新の指示位置に対しても、圧力差に基づく処理を行う場合には、既に無効か有効かの決定処理が実行された指示位置を基準として圧力差を求めることで、装置を支持する手と装置を操作する手による圧力の違いに基づく判断が可能となる。これによれば、ユーザは両手で装置を支えたり、装置を持ち変えたりする場合にも、誤動作を低減するという効果を奏する。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
121 位置取得部
122 圧力取得部
123 決定部
124 認識部
125 表示制御部
126 角度取得部

Claims (14)

  1. 指示位置を用いて入力される操作を認識する情報処理装置であって、
    表示画面上で指示される1以上の指示位置を取得する位置取得手段と、
    前記位置取得手段によって取得された1以上の指示位置のそれぞれに対応する圧力に関する情報を取得する圧力取得手段と、
    前記表示画面上で指示されている指示位置が同時刻に複数存在する場合に、該複数の指示位置のうち、前記圧力取得手段によって取得された圧力に関する情報に基づいて前記情報処理装置に対する操作に用いられる入力ではないと決定される指示位置を除く指示位置を用いて、入力される前記操作を認識する認識手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記表示画面上で指示されている指示位置が同時刻に複数存在する場合、前記複数の指示位置のそれぞれについて、前記圧力取得手段によって取得された圧力に関する情報に基づいて、前記情報処理装置に対する操作に用いられる入力かを決定する決定手段
    をさらに備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記圧力取得手段は、前記位置取得手段によって取得された1以上の指示位置のそれぞれに対応する圧力の一定の時間における変化量を取得し、
    前記決定手段は、前記複数の指示位置のそれぞれについて、前記圧力取得手段によって取得された圧力の変化量に基づいて、前記情報処理装置に対する操作に用いられる入力かを決定する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記決定手段は、前記複数の指示位置のうち、前記前記圧力取得手段によって取得された圧力の変化量が所定の値を越えた指示位置を、前記圧力取得手段によって取得された圧力に関する情報に基づいて、前記情報処理装置に対する操作に用いられる入力ではないと決定する
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記情報処理装置の傾きに対応する角度情報を検知する角度取得手段をさらに備え、
    前記決定手段は、前記角度取得手段によって取得された角度情報に基づいて、指示位置の決定手段が所定の値を選択する
    ことを特徴とする請求項3又は4に記載の情報処理装置。
  6. 前記決定手段は、前記複数の指示位置のうち、最新ではない指示位置のそれぞれについて、前記圧力取得手段によって取得された圧力に関する情報に基づいて、前記情報処理装置に対する操作に用いられる入力かを決定する
    ことを特徴とする請求項2乃至5のいずれか1項に記載の情報処理装置。
  7. 前記圧力取得手段は、前記位置取得手段によって取得された1以上の指示位置のうち、基準となる指示位置のそれぞれに対応する圧力と、基準ではない指示位置に対応する圧力との圧力差を取得し、
    前記決定手段は、前記複数の指示位置のそれぞれについて、前記圧力取得手段によって取得された圧力差に基づいて、前記情報処理装置に対する操作に用いられる入力かを決定する
    ことを特徴とする請求項2に記載の情報処理装置。
  8. 前記基準となる指示位置は、前記複数の指示位置のうち、最新の指示位置であって、
    前記決定手段は、前記最新の指示位置は、前記情報処理装置に対する操作に用いられる入力であると決定する
    ことを特徴とする請求項7に記載の情報処理装置。
  9. 前記最新の指示位置とは、前記位置取得手段によって取得される指示位置の数が増えたときに最後に取得された指示位置、あるいは、前記位置取得手段によって取得される指示位置が最後に移動した指示位置であることを特徴とする請求項8に記載の情報処理装置。
  10. 前記圧力取得手段は、前記位置取得手段によって取得された1以上の指示位置のそれぞれに加わる接触圧力の大きさを示す値を取得する
    ことを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. 前記圧力取得手段は、前記位置取得手段によって取得された1以上の指示位置のそれぞれにおいて検出される接触面積の大きさを、当該指示位置に加わる接触圧力の大きさを示す値であるとみなす
    ことを特徴とする請求項10項に記載の情報処理装置。
  12. 指示位置を用いて入力される操作を認識する情報処理装置の制御方法であって、
    位置取得手段により、表示画面上で指示される1以上の指示位置を取得する位置取得工程と、
    圧力取得手段により、前記位置取得工程において取得された1以上の指示位置のそれぞれに対応する圧力に関する情報を取得する圧力取得工程と、
    認識手段により、前記表示画面上で指示されている指示位置が同時刻に複数存在する場合に、該複数の指示位置のうち、前記圧力取得工程において取得された圧力に関する情報に基づいて、前記情報処理装置に対する操作に用いられる入力ではないと決定された指示位置を除く指示位置に基づいて、前記操作を認識する認識工程と、
    を備えることを特徴とする情報処理装置の制御方法。
  13. コンピュータに読み込ませ実行させることで、前記コンピュータに請求項12に記載の制御方法を実行させるための制御プログラム。
  14. 請求項13に記載の制御プログラムを格納したコンピュータが読み取り可能な記憶媒体。
JP2013261506A 2013-12-18 2013-12-18 情報処理装置、その制御方法、プログラム、及び記憶媒体 Expired - Fee Related JP6308769B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013261506A JP6308769B2 (ja) 2013-12-18 2013-12-18 情報処理装置、その制御方法、プログラム、及び記憶媒体
US14/569,462 US10048728B2 (en) 2013-12-18 2014-12-12 Information processing apparatus, method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013261506A JP6308769B2 (ja) 2013-12-18 2013-12-18 情報処理装置、その制御方法、プログラム、及び記憶媒体

Publications (3)

Publication Number Publication Date
JP2015118541A true JP2015118541A (ja) 2015-06-25
JP2015118541A5 JP2015118541A5 (ja) 2017-02-02
JP6308769B2 JP6308769B2 (ja) 2018-04-11

Family

ID=53368421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013261506A Expired - Fee Related JP6308769B2 (ja) 2013-12-18 2013-12-18 情報処理装置、その制御方法、プログラム、及び記憶媒体

Country Status (2)

Country Link
US (1) US10048728B2 (ja)
JP (1) JP6308769B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017149784A1 (ja) * 2016-03-04 2017-09-08 富士通株式会社 タッチ入力装置
JP6430088B1 (ja) * 2018-01-31 2018-11-28 三菱電機株式会社 タッチパネル装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5927342B2 (ja) * 2013-05-28 2016-06-01 京セラドキュメントソリューションズ株式会社 表示装置及び画像形成装置
JP2016035716A (ja) * 2014-08-04 2016-03-17 富士通株式会社 情報処理装置、入力制御方法および入力制御プログラム
DE102014019040B4 (de) * 2014-12-18 2021-01-14 Audi Ag Verfahren zum Betreiben einer Bedienvorrichtung eines Kraftfahrzeugs bei einer Mehrfingerbedienung
CN107395877B (zh) 2015-08-27 2021-07-30 Oppo广东移动通信有限公司 一种终端防误触方法及终端
US10318072B2 (en) * 2017-05-01 2019-06-11 International Business Machines Corporation Intelligent prevention of unintended mobile touch screen interaction
AU2017445389B2 (en) * 2017-12-28 2021-11-18 Huawei Technologies Co., Ltd. Touch method and terminal
JP7195794B2 (ja) * 2018-07-12 2022-12-26 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及びプログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282369A (ja) * 1993-03-29 1994-10-07 Alps Electric Co Ltd 座標入力装置
US20070152976A1 (en) * 2005-12-30 2007-07-05 Microsoft Corporation Unintentional touch rejection
JP2011150738A (ja) * 2011-05-12 2011-08-04 Kyocera Corp 入力装置
WO2011101940A1 (ja) * 2010-02-19 2011-08-25 日本電気株式会社 携帯端末及びその制御方法
JP2011164746A (ja) * 2010-02-05 2011-08-25 Seiko Epson Corp 端末装置、持ち手検出方法、及びプログラム
JP2012014022A (ja) * 2010-07-02 2012-01-19 Fujitsu Ltd 電子機器、制御プログラムおよび制御方法
JP2013122625A (ja) * 2011-12-09 2013-06-20 Sony Corp 情報処理装置、入力装置、入力装置モジュール、プログラム、入力処理方法。
JP2013161221A (ja) * 2012-02-03 2013-08-19 Canon Inc 情報処理装置およびその制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5482023B2 (ja) * 2009-08-27 2014-04-23 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2011221640A (ja) * 2010-04-06 2011-11-04 Sony Corp 情報処理装置、情報処理方法およびプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282369A (ja) * 1993-03-29 1994-10-07 Alps Electric Co Ltd 座標入力装置
US20070152976A1 (en) * 2005-12-30 2007-07-05 Microsoft Corporation Unintentional touch rejection
JP2011164746A (ja) * 2010-02-05 2011-08-25 Seiko Epson Corp 端末装置、持ち手検出方法、及びプログラム
WO2011101940A1 (ja) * 2010-02-19 2011-08-25 日本電気株式会社 携帯端末及びその制御方法
JP2012014022A (ja) * 2010-07-02 2012-01-19 Fujitsu Ltd 電子機器、制御プログラムおよび制御方法
JP2011150738A (ja) * 2011-05-12 2011-08-04 Kyocera Corp 入力装置
JP2013122625A (ja) * 2011-12-09 2013-06-20 Sony Corp 情報処理装置、入力装置、入力装置モジュール、プログラム、入力処理方法。
JP2013161221A (ja) * 2012-02-03 2013-08-19 Canon Inc 情報処理装置およびその制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017149784A1 (ja) * 2016-03-04 2017-09-08 富士通株式会社 タッチ入力装置
JP6430088B1 (ja) * 2018-01-31 2018-11-28 三菱電機株式会社 タッチパネル装置
WO2019150473A1 (ja) * 2018-01-31 2019-08-08 三菱電機株式会社 タッチパネル装置

Also Published As

Publication number Publication date
US20150169125A1 (en) 2015-06-18
US10048728B2 (en) 2018-08-14
JP6308769B2 (ja) 2018-04-11

Similar Documents

Publication Publication Date Title
JP6308769B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP5950597B2 (ja) 情報処理装置およびその制御方法
JP6009454B2 (ja) コンピューティング装置の動きを利用するコンピューティング装置と相互作用するときに発生する入力イベントの解釈の強化
JP5990011B2 (ja) 情報処理装置及びその制御方法
US8954882B2 (en) Recording medium storing information processing program, information processing device, information processing system, and information processing method
WO2011142317A1 (ja) ジェスチャー認識装置、方法、プログラム、および該プログラムを格納したコンピュータ可読媒体
JP2012247936A (ja) 情報処理装置、表示制御方法及びプログラム
US10346992B2 (en) Information processing apparatus, information processing method, and program
JP6103835B2 (ja) 情報処理装置およびその制御方法
WO2017029749A1 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
TWI510976B (zh) 觸碰輸入來源的選擇方法與電子裝置
US20180052598A1 (en) Multi-touch based drawing input method and apparatus
JP2014130450A (ja) 情報処理装置およびその制御方法
JP5759659B2 (ja) タッチパネルに対する押下圧力を検出する方法および携帯式端末装置
US20130234997A1 (en) Input processing apparatus, input processing program, and input processing method
JP5618554B2 (ja) 情報入力装置、情報入力方法及びプログラム
US20180373392A1 (en) Information processing device and information processing method
JP2014109883A (ja) 電子機器及びその制御方法
JP6081324B2 (ja) 操作入力装置、携帯型情報端末、操作入力装置の制御方法、プログラム、及び記録媒体
US10901549B2 (en) Program, computer apparatus, program execution method, and system
JP6630164B2 (ja) 電子機器及びその制御方法、プログラム、並びに記憶媒体
JP2015219601A (ja) 情報処理装置およびその制御方法、プログラム、記録媒体
JP5675196B2 (ja) 情報処理装置及びその制御方法
JP6508652B2 (ja) 情報端末装置
JP2014130449A (ja) 情報処理装置およびその制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170809

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180313

R151 Written notification of patent or utility model registration

Ref document number: 6308769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees