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

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

Info

Publication number
JP2013178636A
JP2013178636A JP2012041603A JP2012041603A JP2013178636A JP 2013178636 A JP2013178636 A JP 2013178636A JP 2012041603 A JP2012041603 A JP 2012041603A JP 2012041603 A JP2012041603 A JP 2012041603A JP 2013178636 A JP2013178636 A JP 2013178636A
Authority
JP
Japan
Prior art keywords
touch
processing apparatus
information processing
information
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012041603A
Other languages
English (en)
Other versions
JP2013178636A5 (ja
JP5990011B2 (ja
Inventor
Hikari Ito
光 伊藤
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 JP2012041603A priority Critical patent/JP5990011B2/ja
Priority to KR1020130017848A priority patent/KR101572307B1/ko
Priority to EP13156385.0A priority patent/EP2634681A3/en
Priority to IN808CH2013 priority patent/IN2013CH00808A/en
Priority to US13/776,278 priority patent/US9880673B2/en
Priority to RU2013108886/08A priority patent/RU2568775C2/ru
Priority to BR102013004710-4A priority patent/BR102013004710B1/pt
Priority to CN201310064576.XA priority patent/CN103294227B/zh
Publication of JP2013178636A publication Critical patent/JP2013178636A/ja
Publication of JP2013178636A5 publication Critical patent/JP2013178636A5/ja
Application granted granted Critical
Publication of JP5990011B2 publication Critical patent/JP5990011B2/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
    • 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
    • G06F3/0486Drag-and-drop
    • 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/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means

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

【課題】 タッチパネルから1点ずつタッチ点の情報を取得する場合、ユーザが複数のタッチ点を同時に操るマルチタッチ操作に対して、誤ってユーザの意図に反した操作が認識され、誤動作の原因となる場合がある。本発明は、マルチタッチ操作が可能な装置において、ユーザの意図に反する誤動作を低減することを主な目的とする。
【解決手段】 上記課題を解決するため、本発明は、前記マルチタッチ操作を構成する複数のタッチ点それぞれの位置情報を取得する第1の取得部112と、前記複数のタッチ点全ての位置情報が更新された後、前記情報処理装置に対して行われたマルチタッチ操作を決定する決定部116と、を備えることを特徴とする。
【選択図】 図1

Description

本発明は、マルチタッチ操作が可能な機器における誤動作を改善する技術に関する。
近年、ユーザの指あるいはスタイラスにより画面がタッチされたことに応答して、タッチされた位置のX,Y座標値を入力値として取り込み、この入力値に基づいて各種処理を実行するタッチ入力機器が普及している。
また、近年、画面の複数点をタッチすることにより操作を行う、いわゆるマルチタッチの技術が発展しつつある。一般に、タッチパネルに対するマルチタッチ操作として、ユーザがタッチパネルに触れている2点を近付けたり離したりする操作をピンチと言う。特に2点を近付ける操作をピンチインと言い、表示画像の縮小が行われる。反対に2点を離す操作をピンチアウトと言い、表示画像の拡大が行われる。
特許文献1では、画面に接触した2本の指にうち、少なくとも一方の指が移動した時、2本の指の間の距離変化に応じてピンチ操作を認識し、画像の拡大率の変更を行うと同時に、指の移動方向に応じて表示画像をスクロールする技術が知られている。
特開2011−059952号公報
一般に、ユーザによるタッチ操作を認識する際には、タッチ検出領域の走査により1点ずつ検出されるタッチ点の情報を順次取得し、タッチ点の位置や移動した軌跡を利用する。しかし、1点ずつタッチ点の情報を取得する方法では、ユーザが複数のタッチ点を同時に操るマルチタッチ操作に対して、誤ってユーザの意図に反した操作が認識され、誤動作の原因となる場合がある。
本発明は上記課題に鑑みてなされたものであり、マルチタッチ操作が可能な装置において、ユーザの意図に反する誤動作を低減することを主な目的とする。
上記課題を解決するため、本発明は、マルチタッチ操作が可能な情報処理装置であって、前記マルチタッチ操作を構成する複数のタッチ点それぞれの位置情報を取得する第1の取得手段と、前記第1の取得手段によって、前記複数のタッチ点全ての位置情報が更新された後、前記情報処理装置に対して行われたマルチタッチ操作を決定する決定手段と、を備えることを特徴とする。
本発明によれば、マルチタッチ操作が可能な装置において、ユーザの意図に反する誤動作を低減することができる。
情報処理装置の構成の一例を示すブロック図 情報処理装置がマルチタッチ操作を認識する処理の流れを示すフローチャート 情報処理装置が実行する処理の一例を示すフローチャート ユーザが行うマルチドラッグ操作の一例を示す図 検出されているタッチ点に関して保持される情報の一例を示すテーブル 情報処理装置がマルチタッチ操作を認識する処理の流れを示すフローチャート ユーザが行うピンチ操作の一例を表す概要図 情報処理装置の機能構成の一例を示すブロック図 情報処理装置がマルチタッチ操作を認識する処理の流れを示すフローチャート 情報処理装置がマルチタッチ操作を認識する処理の流れを示すフローチャート タッチ点の移動ベクトルを取得する方法の一例を示す図
以下、本実施例を実施するための形態について、図面を参照しながら説明する。なお、以下で説明する実施例は、本実施例を具体的に実施した場合の一例を示すものであり、これに限るものではない。
(第1の実施例)
本実施例では、ユーザがある時点で2点をタッチしているマルチタッチの状態を想定する。以下では、情報処理装置100に対してユーザの意図に合致したマルチタッチ操作を認識する為に、2点全てのタッチ点の位置情報が更新されたことに応じて、ユーザが行った操作内容を決定する例を説明する。
マルチタッチ操作の一例として、ユーザが2点のタッチ点の間の距離をほぼ一定に保ったまま同一方向に動かす操作(以下、マルチドラッグ操作)を行おうとする場合を説明する。
従来、マルチタッチ操作を認識する場合は、タッチパネルが検出しているタッチ点の情報が1点ずつ通知され、1点毎に取得された位置情報に基づいて処理が実行される。従って、マルチドラッグ操作を行うためにユーザにより移動された2点のタッチ点のうち、1点目の移動後の位置が取得された時点では、もう1点のタッチ点は移動前の位置が保持されており、ユーザが指を動かした分、「2点間の距離が広がった」と判定される。次に2点目の移動後の位置を取得した時点では、2点間の距離は移動前の2点間の距離に戻るため、「2点間の距離が狭まった」と判定される。よって、ユーザがマルチドラッグ操作を行おうとした場合に、上記判定結果に基づいてピンチアウトとピンチインが交互に連続して通知されるため、装置では、表示画像が拡大と縮小を交互に繰り返すといった、ユーザの意図と異なる不自然な表示が実行される。これに対し、本実施例では、マルチタッチ操作を構成する複数のタッチ点の位置情報を取得し、取得した全てのタッチ点の位置情報が更新されたことに応じて、ユーザが行った操作内容を決定する。
図1(a)は、本実施例に係る情報処理装置100のハードウェア構成の一例を示す図である。CPU101は、CPU(Central Processing Unit)であり、各種処理のための演算や論理判断などを行い、システムバス110に接続された各構成要素を制御する。この情報処理装置100には、プログラムメモリとデータメモリを含むメモリが搭載されている。ROM(Read−Only Memory)102は、プログラムメモリであって、後述する各種処理手順を含むCPUによる制御のためのプログラムを格納する。RAM(Random Access Memory)103であり、CPU101の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。外部記憶装置109などからRAM103にプログラムをロードすることで、プログラムメモリを実現しても構わない。HD104は、本実施例に係るデータやプログラムを記憶しておくためのハードディスクである。本実施例では、これらのHD104には、複数の画像データが格納されているものとする。同様の役割を果たすものとして、入出力インタフェース107を介して接続される外部記憶装置109を用いてもよい。ここで、外部記憶装置109は、例えば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD−ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。また、外部記憶装置109は、ネットワークで接続されたサーバ装置などであってもよい。本実施例において必要な情報は、RAM103やHD104、外部記憶装置109に保持される。入力インタフェース105は、ポインティングデバイスなどの入力装置を制御し、入力装置から出力された信号を取得する。出力インタフェース106は、液晶ディスプレイ、テレビモニタ等の表示部を有する出力装置に対して、後述する各種の処理を実行した結果の出力を制御する信号を出力する。本実施例において、入力装置であるタッチパネルと出力装置であるディスプレイ装置は、情報処理装置100に一体化したタッチパネルディスプレイ108を仕様するものとする。ただし、情報処理装置100に接続された外部装置であってもよく、それぞれが独立した装置であってもかまわない。なお、本実施例で用いられる入力装置としてのタッチパネルからは、ユーザによってタッチされている点、あるいはタッチが離された点を検出したことを示す信号が、タッチイベントとして情報処理装置100に通知される。その際、タッチを検出する領域が走査されることによって順次検出されたタッチイベントを、入力インタフェース105が1点ずつ取得する。タッチパネルは静電容量方式のものを使用するとし、ユーザとパネル表面との接触面のうち、1点の座標をタッチ点として特定してタッチイベントを通知する。ただし、タッチパネルの方式は静電容量方式に限らない。
図1(b)は、本実施例に係る情報処理装置100の機能構成を示す機能ブロック図である。まず、情報処理装置100は、検出部111、第1の取得部112、判定部114、第2の取得部115、決定部116、表示制御部118を有する。これらの各機能部は、CPU101がROM102に格納されたプログラムをRAM103に展開し、実行することで実現されている。また、本実施例において、保持部113はRAM103によって構成され、記憶部119はHD104の機能部であるものとする。以下、各要素について説明する。
検出部111は、タッチパネルディスプレイ108から通知されるタッチイベントの情報を順次1点ずつ検出し、解析する。
第1の取得部112は、検出部111から、検出されたタッチ点に関する情報を取得する。そして、タッチ点の位置を示す情報と、タッチが検出された時刻(検出時刻)とをタッチ点のIDに関連付け、タッチ点毎に保持部113に保持させる。IDを利用することで、同一のタッチ点を識別することができる。従って、第1の取得部112は、同じIDのタッチ点に関する情報を取得する度に、保持部113が保持する情報を順次更新する。なお、IDにはタッチ点が検出された順番を関連させることで、検出されるタッチ点の数が複数である場合に管理がしやすくなる。
判定部114は、保持部113に保持された情報を参照し、検出されている全てのタッチ点の位置情報が更新されたか否かを判定する。
第2の取得部115は、第1の取得部112が取得した情報に基づいて、2点のタッチ点の間の距離と、タッチ点の位置が更新された前後での2点間の距離の変化量、及びその絶対値を算出する。具体的には、第1の取得部112が取得した情報2点のタッチ点の座標から最短距離を算出し、保持する。そして、タッチ点の更新後に新たに算出された2点の間の距離と、保持された距離とを比較演算し、距離の変化量とその絶対値を求める。
決定部116は、第2の取得部115が求めた2点間の距離の変化量の絶対値を取得し、所定の閾値と比較する。本実施例では、取得した変化量の大きさが、所定の閾値以上であった場合には、ユーザによって行われた操作はピンチ操作(第1の操作)であると決定する。一方、取得した変化量の大きさが、所定の閾値以上であった場合には、ユーザによって行われた操作はマルチドラッグ操作(第2の操作)であると決定する。
ピンチ制御部117は、決定部116がピンチ操作が入力されたと決定した場合に、第2の取得部115が取得した変化量に基づいて、ピンチアウトあるいはピンチインの操作が開始されたか否かを判定する。
表示制御部118は、決定部116が処理した情報を取得し、本実施例ではタッチパネルディスプレイである出力装置に表示させる表示画像を生成する。ディスプレイには、ユーザのマルチタッチ操作が行われる前には、記憶部119に記憶された複数の画像データのうちの少なくとも1つを表示させているものとする。決定部116によって、入力された操作はピンチであると決定された場合、ピンチ制御部117からパラメータを取得して、ユーザが操作する前の表示画像を拡大あるいは縮小した表示画像を生成する。一方、決定部116によって、入力された操作はマルチドラッグであると決定された場合、本実施例では、タッチ点が移動された方向に基づき、記憶部119に記憶された複数の画像データのうち、特定の画像データを表示させるための表示画像を生成する。
次に図2は、本実施例において、情報処理装置100がマルチタッチ操作を認識する処理の流れを示すフローチャートである。
本実施例の情報処理装置100では、タッチパネルディスプレイ108に、記憶部119に記憶されている画像データの少なくとも1つが表示されたことに応じて、マルチタッチ操作を認識する処理が開始されるものとする。まず、ステップS201では、タッチ点を取得する。ここでは、検出部111が、タッチパネルにおいて入力領域401の走査により検出されたタッチイベントを1点ずつ取得し、解析する。そして、第1の取得部112が、入力領域401上で検出されているタッチ点に関する情報を、タッチ点毎に保持部113に保持する。本実施例では、タッチ点のID、座標で示される位置情報を示す情報、取得された時刻を保持部113に保持する。ステップS201において実行される処理の詳細は後述する。
次に、ステップS202において、判定部114が、入力領域401において検出されているタッチ点の数が複数か否かを判定する。本実施例では、各タッチ点はIDで識別されるので、保持部113に保持されている情報のうちIDの数を参照することで、タッチ点の数がわかる。なお、本実施例においては、情報処理装置100は2点のタッチ点を利用して要求されるマルチタッチ操作がピンチであるマルチドラッグであるかを決定する為、以下、入力領域401では最大2点のタッチ点が検出されているものとして説明する。タッチ点の数が複数であると判定された場合(ステップS202でYES)には、ステップS203に進む。一方、タッチ点の数が複数ではないと判定された場合(ステップS202でNO)には、処理を終了する。
ステップS203においては、判定部114が、情報が保持されている全てのタッチ点の位置情報が更新されたか否かを判定する。本実施例では、ステップS201において、第1の取得部112がタッチ点の情報を更新する際に更新フラグを立て、ステップS203において判定部114は更新フラグの数に基づく判定を行う。初回のステップS203の処理は、常にYESと判定される。全てのタッチ点の位置情報が更新されたと判定された場合(ステップS203でYES)には、更新フラグを下ろし、ステップS204に進む。全てのタッチ点の位置情報が更新されてはいないと判定された場合(ステップS203でNO)には、処理を終了する。なお、タッチ点が更新されたか否かを判定する方法は、これに限らず、他の方法を利用してもよい。例えば判定部114は、保持部113に保持されている各タッチ点の検出時刻を参照し、前回ステップS203の処理がYESと判定された時刻よりも後に、検出されているタッチ点全ての情報が更新されているか否かに基づいて、判定を行っても構わない。
ステップS204においては、決定部116が、少なくとも1つのタッチ点が移動したか否かを判定する。本実施例においては、ステップS201において、既に検出されていたのと同じIDのタッチ点の新たな位置情報が取得された場合には、移動フラグを立てて保持部113に保持するものとする。従って、ステップS204で、決定部116は、保持部における移動フラグを確認することで、タッチ点の移動の有無を判定することができる。少なくとも1つのタッチ点が移動したと判定された場合(ステップS204でYES)には、移動フラグを下ろし、ステップS206に進む。全てのタッチ点が移動していないと判定された場合(ステップS204でNO)には、ステップS205に進む。なお、タッチ点が移動されたか否かを判定する方法は、これに限らず、例えば保持部113の情報を更新する際に更新前の位置情報を保持し、更新前後の位置情報が所定の距離より離れているか否かに基づいて判定しても構わない。
ステップS205では、第2の取得部115、タッチされている2点間の距離を取得する。第2の取得部115は、第1の取得部112が取得した情報に基づき、2点のタッチ点の間の最短距離を算出し、保持する。
一方、ステップS206において、第2の取得部115が、入力領域401で検出されているタッチ点の、2点間の距離の変化量を取得する。第2の取得部115は、第1の取得部112が取得した情報に基づき、2点のタッチ点の間の最短距離を算出し、保持する。そして、更新後に新たに算出された2点の間の距離と、ステップS205あるいはステップS206で前回算出して保持していた2点間の距離とを比較演算し、距離の変化量とその絶対値を取得する。
そして、ステップS207において、決定部116が、第2の取得部115によって取得された2点間の距離の変化量の絶対値が、閾値a未満であるか否かを判定する。ここで閾値aとは、予め情報処理装置100に登録された距離の大きさの閾値である。閾値aの値は、ピンチ操作のためにユーザがタッチした2点間の距離を広げる、あるいは狭めたことを情報処理装置100が認識するために必要な2点間の距離の変化量に基づいて設定されている。変化量(絶対値)が、閾値a未満であると判定された場合(ステップS406でYES)には、決定部116は、ユーザによって入力された操作はマルチドラッグ操作であると決定して、ステップS208に進む。変化量(絶対値)が閾値a以上であると判定された場合(ステップS207でNO)には、決定部116は、ユーザによって入力された操作はピンチ操作であると決定し、ステップS210に進む。
ステップS208では、決定部116が、マルチドラッグ操作が入力されたことを表示制御部118に通知する。続くステップS209では、マルチドラッグ操作に対応する処理が実行される。本実施例では、記憶部119に記憶された複数の画像データのうち、特定の画像データをタッチパネルディスプレイに表示させる処理が実行される。詳細は後述する。
一方、ステップS210においては、ピンチ制御部117が、入力されたピンチアウト、あるいはピンチイン操作が開始されたか否かを判定する。本実施例においてはまず、タッチされた2点間の距離が広げられたのか、あるいは狭められたのかを、第2の取得部115が取得した2点間の距離の変化量に基づいて判別する。そして、2点間の距離が広げられたのか、あるいは狭められた回数をカウントする。ステップS210において、タッチされた2点間の距離が広げられたと連続してカウントされた回数が2回以上となった場合に、ピンチアウト操作が開始されたと判定する。そして、2点間の距離が狭められたと連続してカウントされた回数が2回以上となった場合に、ピンチイン操作が開始されたと判定する。一方、2点間の距離が広げられた、あるいは狭められたとカウントされた回数が1回である時点では、ピンチアウト及びピンチインのいずれの操作であるかを決定せず、ピンチ操作は開始されていないと判定する。これは、タッチパネルやユーザの指の状態に起因してステップS202点間の距離の変化量(絶対値)が閾値a以上と判定されるエラーが発生した場合であっても、ユーザがピンチ操作を行う意図を確実に反映し、誤動作を防ぐための処理である。ピンチアウトあるいはピンチイン操作が開始されたと判定された場合(ステップS210でYES)には、ステップS211に進む。一方、ピンチアウトあるいはピンチイン操作のいずれも開始されていないと判定された場合(ステップS210でNO)には、処理を終了する。
ステップS211では、ピンチ制御部117が、ピンチアウトあるいはピンチイン操作が入力されたことを、表示制御部118に通知する。続くステップS212では、表示制御部118によって、ピンチアウトあるいはピンチイン操作が入力されたことによる結果が出力される。本実施例では、ピンチアウト操作が入力された場合には、ユーザがタッチ点を移動させた距離に従ってディスプレイに表示された表示画像を拡大して表示させる処理が実行される。また、ピンチイン操作が入力された場合には、ユーザがタッチ点を移動させた距離に従ってディスプレイに表示された表示画像を縮小して表示させる処理が実行される。
以上が、情報処理装置100がマルチタッチ操作を認識する処理である。一連の処理が終了した場合には、再びステップS201に戻り、新たなタッチイベントが通知される度に上述した処理が実行される。
ここで、図3(a)は、ステップS201において実行される、タッチ点検出処理の流れを示すフローチャートである。
まず、ステップS301において、検出部111は、タッチパネルから通知されたタッチイベントが「TOUCH」であるか否かを判定する。本実施例において用いるタッチパネルからは、入力領域401を走査して、タッチされていることを検出したときにはタッチイベントとして「TOUCH」を、検出されていたタッチが離されたときにはタッチイベントとして「RELEASE」が通知されるものとする。通知されたタッチイベントが「TOUCH」だと判定された場合(ステップS301でYES)には、ステップS303に進む。通知されたタッチイベントがタッチではない、すなわちリリースであった場合(ステップS301でNO)には、ステップS302に進む。
ステップS302では、第1の取得部112が、保持部113に保持されていた情報のうち、「RELEASE」が検出されたタッチ点に対応するIDに関連付けられていた情報を、IDとともに削除する。
一方、ステップS303では、検出部111が、「TOUCH」が検出されたタッチ点と同じIDのタッチ点が既に検出されているか否かを判定する。検出部111は、保持部113に保持された情報を参照し、対応するIDが含まれているかを判定する。同じIDのタッチ点が既に検出されていると判定された場合(ステップS303でYES)には、処理はステップS305に進み、同じIDのタッチ点が検出されていないと判定された場合(ステップS303でNO)には、ステップS304に進む。
ステップS304において、第1の取得部112は、「TOUCH」が検出されたタッチ点のID、座標、検出時刻の情報を保持部113に保持されている情報に新規追加する。この際、保持部113では、タッチ点が更新されたことを示す情報を保持する。例えば、更新フラグを立てる。
ステップS305では、保持部113に保持されている情報のうち、「TOUCH」が検出されたタッチ点と同じIDの座標、検出時刻の情報を更新する。この際、保持部113では、タッチ点が更新されたことを示す情報を保持する。例えば、更新フラグを立てる。また、さらに取得した位置情報が更新前に保持していた同じIDのタッチ点の位置から所定の距離以上移動していた場合には、タッチ点が移動されたことを示す情報を保持する。例えば、移動フラグを立てる。そして、マルチタッチ操作を認識するメインの処理(図2)にリターンする。なお、ここでの所定の距離とは、ユーザがタッチ操作を行うためにタッチ点が移動される必要がある最低限の距離に基づいて予め設定されている。複数の操作を区別するため、段階的な複数の閾値が設定されていてもよい。本実施例では、所定の距離未満の移動が検出された場合、そのタッチ点は、移動していない、すなわち停止しているものとして処理される。
なお、本実施例では、入力領域401を走査し、タッチを検出したときにはタッチイベントとして「TOUCH」を、検出されていたタッチ点が解除されたときにはタッチイベントとして「RELEASE」が通知されるタッチパネルを用いたが、これに限らない。例えば、新たに入力領域401がタッチされた場合には「TOUCH_DOWN」、既に検出されていたIDのタッチ点の移動が検出された場合には「MOVE」、離された時には「TOUCH_UP」をタッチイベントとして通知するものでもよい。この場合、「TOUCH_DOWN」が通知された場合には、保持部113に保持される情報を新規追加して更新フラグを立て、「MOVE」が通知された場合には同じIDの情報を更新するとともに移動フラグを立てる。そして、「TOUCH_UP」が通知された場合には、同じIDの情報を削除すればよい。
このように、情報処理装置100は、入力装置であるタッチパネルで検出されている複数のタッチ点をIDによって識別して情報を管理する。従って、複数のタッチ点それぞれの動きを検出することができるので、それらのタッチ点に構成されるマルチタッチ操作を認識することができる。
図3(b)は、ステップS209で実行されるマルチドラッグ操作の結果出力処理の流れを示すフローチャートである。マルチドラッグ操作によって要求される動作の一例として、本実施例では、記憶部119に記憶された複数の画像データのうち、特定の画像データをタッチパネルディスプレイに表示させる処理が実行される。記憶部119に記憶された複数の画像データは、予め設定された順序に従って格納されているとする。本実施例では、マルチドラッグされた方向が左方向であれば、ユーザによる操作の前に表示されていた画像データよりも10枚後に格納された画像を表示させる。そして、マルチドラッグされた方向が右方向であれば、ユーザによる操作前に表示されていた画像データよりも10枚前に格納された画像を表示させるものとする。
まず、ステップS311では、表示制御部118が、ユーザによってマルチドラッグされた方向を取得する。本実施例では、第1の取得部112が取得した2つのタッチ点の、少なくとも1つについて、更新前後の位置情報のX座標から、ユーザが指を移動させた方向が、X軸のマイナス方向か、プラス方向かを取得する。次に、ステップS312では、表示制御部118が、ステップS311で取得された方向を示す情報に基づいて、ディスプレイに表示させる画像データを特定する。本実施例では、取得した方向がX軸のマイナス方向であった場合には、記憶部119に記憶された複数の画像データのうち、ユーザによる操作前に表示されていた画像データよりも10枚後に相当する画像データを特定する。同様に、取得した方向がX軸のプラス方向であった場合には、記憶部119に記憶された複数の画像データのうち、ユーザによる操作前に表示されていた画像データよりも10枚前に相当する画像データを特定する。次に、ステップS313では、表示制御部118が、特定した画像データを表示させるための表示画像を生成する。そして、ステップS314において、表示制御部118は、生成された表示画像を出力装置であるタッチパネルディスプレイ108に出力して、処理を終了し、マルチタッチ操作を認識するメインの処理(図2のフローチャート)にリターンする。なお、ステップS314の表示画像の出力を行う際には、ユーザによるタッチ点の解除をきっかけにしてもよい。その場合には、ステップS313の後、図3(a)のタッチ点検出処理を実行し、全てのタッチ点について、ステップS302におけるタッチ点の情報を保持部113から削除する処理が実行されたことに基づいて、ステップS314に処理が進むようにする。このようにすると、ユーザはマルチドラッグ操作を入力した指をタッチパネルから離す動作によって、特定の画像を表示させるタイミングを情報処理装置100に指示することができる。
マルチドラッグ操作によって要求される動作は、ここで説明した例に限らない。例えば、表示させる画像データの特定方法は、10枚後あるいは10枚前に限らず、任意に設定させることもできる。更にY軸方向のマルチドラッグに対しても、情報処理装置100の何らかの動作を対応させることもできる。ただし、一般的に、ドラッグなどによりX方向に表示された画像を移動させる操作に対応して、画像送りを実現し、前後に記憶された別の画像を表示させる場合が多い。従って、複数の指を使ったマルチドラッグにより、X軸方向に表示された画像を移動させることで、より多くの画像を一度に送って特定の画像を表示させること動作は、ユーザにとって直感的に理解しやすく、利便性が高いと言える。
ここで、具体的に、第1の実施例による情報処理装置100をユーザが操作する操作例1を説明する。
図4(a)は、本実施例に係る情報処理装置100の操作の一例を示す図である。情報処理装置100の入力領域401に対し、ユーザが操作を入力している様子を示す。入力領域401はディスプレイ上にタッチパネルが併設されたタッチパネルディスプレイで構成され、ユーザによるタッチをタッチパネルで検知可能な領域である。本実施例では、入力領域401全体を、向かって左下を原点とした座標平面とし、タッチパネルがユーザにタッチされた位置の座標を検出する。ここでは、具体的な操作例として、2本の指402、403を入力領域401に接触させ、横方向に移動することでマルチドラック操作を入力する。
次に、図4(b)は、図4(a)のようにユーザがマルチドラッグ操作を行った場合に、情報処理装置100が取得するタッチ点の位置の推移の一例を示す図である。タッチ点A〜Fは、入力領域401においてユーザの指がタッチした位置の座標を示し、横方向をX軸、縦方向をY軸とする。最初にユーザの指402が入力領域401にタッチした位置が、タッチ点Aとタッチ点Bであるとする。左側の指402がタッチした位置がタッチ点Aで、右側の指403がタッチした位置がタッチ点Bに対応する。次に、ユーザが2本の指を横に移動する。移動後にタッチしている位置がタッチ点Cとタッチ点Dに対応する。左側の指402がタッチしている位置がタッチ点Cで、右側の指403がタッチしている位置がタッチ点Dである。さらに、ユーザが2本の指を横に移動する。移動後にタッチしている位置がタッチ点Eとタッチ点Fとなる。左側の指402がタッチしている位置がタッチ点Eで、右側の指403がタッチしている位置がタッチ点Fに対応する。以下、この一連の操作に従って、本実施例の情報処理装置100の動作を説明する。なお、操作例1では、タッチパネルの入力領域401は20ミリ秒毎に走査され、順次検出されたタッチイベントが検出部111に通知されるものとする。また、閾値aは予め10dotと設定されているものとする。
まず、ユーザが最初に入力領域401にタッチした状態で、入力領域401の走査が開始され、タッチパネルからタッチ点Aのタッチイベントが通知される。情報処理装置100では、ステップS201において、検出部111によりタッチ点Aが新たにタッチされたことが検出される。そして、第1の取得部112は、IDが1、位置座標が(100,50)、検出時刻が0ミリ秒という情報を取得し、保持部113に保持させる。図5(a)は、保持部113に保持される情報の一例であるテーブルを表す。ステップS202では、判定部114が保持されている情報を参照し、IDの数から入力領域401上で検出されているタッチ点数が複数か否かを判定する。この時点では、図5(a)に示されるように、IDが1のタッチ点しか検出されておらず、複数ではないので、処理は終了する(ステップS202でNO)。
次に、タッチパネルからタッチ点Bのタッチイベントが通知される。情報処理装置100では、ステップS201において、同様に第1の取得部112が、IDが2、位置座標が(110,40)、検出時刻は5ミリ秒(5msec)という情報を取得する。このとき、保持部113で保持されていたテーブルは、図5(b)のように更新される。ステップS202では、判定部114により、タッチ点の数が複数であると判定される。ステップS203では、判定部114により、初回の処理であるので、検出されている全てのタッチ点の情報が更新されていると判定される。ステップS204で、決定部116が、少なくとも1つのタッチ点が移動していないと判定する(ステップS204でNO)。そして、ステップS205において、タッチ点それぞれの位置座標から2点間の最短距離となる、図4の距離Bを算出する。ここでは、タッチ点Aの座標(100,50)、及びタッチ点Bの座標(110,40)に基づき、2点間の距離は14dotと算出される。第2の取得部115は、14dotを検出開始時の2点間の距離としてRAM103に保持し、処理を終了する。
次に、20ミリ秒毎に入力領域401が走査されるので、タッチパネルから、タッチ点Cのタッチイベントが通知される。情報処理装置100では、ステップS201において、第1の取得部112によりIDが1、位置座標が(200,50)、検出時刻が20ミリ秒という情報が取得され、保持部113に保持された情報は、図5(c)のように更新される。この時、タッチ点CのIDは1でタッチ点Aと同じため、1というIDに関連付けられた情報が更新されている。また、位置座標が前回の検出時と異なるため、移動フラグを立てる。ステップS202では、タッチ点の数は複数であると判定される。ステップS203では、IDが1のタッチ点の情報は更新されているが、IDが2のタッチ点は更新されていないため、判定部114は全てのタッチ点の情報が更新されてはいないと判定して、処理を終了する(ステップS203でNO)。
次に、タッチパネルからタッチ点Dのタッチイベントが通知される。情報処理装置100では、ステップS201において同様にIDが2、位置座標が(210,40)、検出時刻が25ミリ秒という情報を取得し、保持部113に保持された情報は図5(d)のように更新される。この時、タッチ点DのIDは2でタッチ点Bと同じため、2というIDに関連付けられた情報が更新されている。また、位置座標が前回の検出時と異なるため、移動フラグを立てる。ステップS202では、タッチ点の数は2で複数であると判定される。そして、ステップS203では、IDが1のタッチ点及びIDが2のタッチ点がどちらも更新されているので、全てのタッチ点の位置情報が更新されたと判定される(ステップS203でYES)。ステップS204では、移動フラグに基づいて、少なくとも1つのタッチ点が移動していると判定される。ステップS206において、第2の取得部115が、タッチされている2点間の距離の変化量とその絶対値を取得する。ここでは、まずタッチ点Cの座標(200,50)、及びタッチ点Dの座標(210,40)に基づき、2点間の距離(図4の距離B)は14dotであると算出される。そして、RAM103に保持されている、前回第2の取得部115が取得した2点間の距離との変化量(絶対値)を求めると、14―14=0dotと算出される。今、閾値aは10dotであるので、ステップS207において、決定部116は、2点間の距離の変化量が閾値a未満であると判定する。従って、ステップS208においてマルチドラッグ操作が通知され、ステップS209において出力を実行する。操作例1では、X軸のプラス方向に向かってマルチドラッグ操作が行われているので、記憶部119に記憶されている複数の画像データうち、ユーザの操作前に表示されていた画像よりも10枚前に相当する画像データが表示される。
更に20ミリ秒毎に入力領域401が走査されるので、タッチパネルからタッチ点Eのタッチイベントが通知される。情報処理装置100では、ステップS201において、第1の取得部112によりIDが1、位置座標が(300,50)、検出時刻が40ミリ秒という情報が取得され、保持部113に保持された情報は、図5(e)のように更新される。この時、タッチ点EのIDは1でタッチ点Cと同じため、1というIDに関連付けられた情報が更新されている。また、位置が移動している。ステップS202では、タッチ点の数は複数であると判定される。ステップS203では、IDが1のタッチ点の情報は更新されているが、IDが2のタッチ点は更新されていないため、判定部114は全てのタッチ点の情報が更新されてはいないと判定して、処理を終了する(ステップS203でNO)。
次に、タッチパネルからタッチ点Fのタッチイベントが通知される。情報処理装置100では、ステップS201において同様にIDが2、位置座標が(310,40)、検出時刻が45ミリ秒という情報を取得し、保持部113に保持された情報は図5(f)のように更新される。この時、タッチ点FのIDは2でタッチ点Dと同じため、2というIDに関連付けられた情報が更新されている。また、位置座標が前回の検出時と異なるため、移動フラグを立てる。ステップS202では、タッチ点の数は2で複数であると判定される。そして、ステップS203では、IDが1のタッチ点及びIDが2のタッチ点がどちらも更新されているので、全てのタッチ点の位置情報が更新されたと判定される(ステップS203でYES)。ステップS204では、少なくとも1つのタッチ点が移動していると判定される。ステップS206において、第2の取得部115が、タッチされている2点間の距離の変化量とその絶対値を取得する。ここでは、まずタッチ点Eの座標(300,50)、及びタッチ点Fの座標(310,40)に基づき、2点間の距離(図4の距離F)は14dotであると算出される。そして、RAM103に保持されている、前回第2の取得部115が取得した2点間の距離との変化量(絶対値)を求めると、14―14=0dotと算出される。今、閾値aは10dotであるので、ステップS207において、決定部116は、2点間の距離の変化量が閾値a未満であると判定する。従って、ステップS208においてマルチドラッグ操作が通知され、ステップS209において出力を実行する。操作例1では、X軸のプラス方向に向かってマルチドラッグ操作が行われているので、記憶部119に記憶されている複数の画像データうち、前回ステップS209で表示された画像よりも更に10枚前に相当する画像データが表示される。
なお、タッチ点が解除された事に応じて、特定された画像データを表示させる場合には、マルチドラッグ操作が複数回通知されたとしても、1回目に特定された画像データを表示させる表示画像を保持し続けるものとする。従って、そして、ユーザによって全てのタッチ点のタッチが解除されたことに応じて、ユーザの操作前に表示されていた画像よりも10枚前に相当する画像データを表示させる。こうすることで、ユーザはマルチドラッグ操作を行った回数を認識しやすくなる。
以上説明したように、本実施例では、ユーザがタッチした2点のタッチ点の位置情報を取得して、2点全てのタッチ点の位置情報が更新されたことに応じて、情報処理装置100に対してユーザが入力したマルチタッチ操作を決定する処理を行う。その際、2点間の距離の変化量と閾値とを比較することで、入力された操作がマルチドラッグ操作かピンチ操作かを決定する。これにより、ユーザがタッチした2点の間の距離をほぼ一定に保ったまま同一方向にさせる場合には、誤ってピンチ操作が通知されることはなく、ユーザの意図に反して表示画像の表示倍率が変更される誤動作は防止される。同様に、ユーザが複数の指を用いて画像のスクロールや回転を指示する等、他のマルチタッチ操作を入力する場合にも、本実施例を適応することで、誤ってピンチ操作が認識されることを防ぐことができる。その場合にも、マルチタッチ操作を構成する全てのタッチ点の位置情報が更新されてから、ユーザが入力したマルチタッチ操作を判定することで、ユーザの意図に反した誤動作を低減することが可能である。
なお、本実施例では、決定部116によって、ユーザによって入力された操作がピンチ操作であると決定された後、ステップS210において、ピンチ制御部117が、ピンチアウトあるいはピンチインの操作が開始されたかを判定している。ステップS210の処理は省略してもかまわない。その場合には、ステップS211において、決定部116が、表示制御部118に対して、ピンチ操作が入力されたことを通知する。そして、ステップS212において、表示制御部118は、第2の取得部115が取得した2点間の距離の変化量に基づいて、ユーザがタッチ点を移動させた距離に従って表示画像の表示倍率を変更する処理を行う。ただし、ステップS210において、2点間の距離が変化した方向と回数に基づいて操作が開始されたか否かを判定することで、ユーザの意図する操作をより正確に決定した上で、表示画像の変更を行うことができる。例えば、タッチパネルやユーザの指の状態などに起因して2点間の距離の変化量(絶対値)が閾値a以上と判定されるエラーが発生した場合には、ピンチ操作が入力されたとの通知がなされない。従って、ユーザの意図に反して表示画像の表示倍率が変わってしまうという誤動作を防止することができるという効果を奏する。
なお、本実施例では、2つのタッチ点の処理について説明したが、タッチ点は3点以上検出されていても、同様の処理を実行することができる。例えば、タッチ点が検出された順番が早い順から2点のタッチ点のみを選択し、上述したのと同じ処理を行う。また、3点以上のN点のタッチ点を検出した場合には、N点全ての情報を取得し、ステップ403においてはN点の全ての情報が更新されたことに応じて、それ以降の処理ステップを実行する。
(第1の実施例の変形例1)
第1の実施例では、入力装置であるタッチパネルとして、ユーザによってタッチされている点、及びタッチが離された点を検出する度にタッチイベントを情報処理装置100に通知するものを想定していた。それに対し、変形例1として、ユーザによって新たな位置においてタッチされた点、及びタッチが離された点を検出する度にタッチイベントを情報処理装置100に通知するタッチパネルを想定した場合を説明する。
第1の実施例の変形例1で想定されるタッチパネルでは、既にタッチされている点が停止している場合には、タッチイベントが通知されないため、装置が保持しているタッチ点の情報は上書きされない。従って、実施例1のマルチタッチ操作を認識する処理が行われると、例えばユーザが2点のタッチ点の片方を固定して、もう片方を動かすことでピンチ操作を行う場合には、一部のタッチ点の情報が古いまま保持され続けることになる。従って、第1の実施例のように、装置が保持している情報が全て更新されたことに基づいて判定を行うと、マルチタッチ操作が実行されない場合が生じる。従って、第1の実施例の変形例1では、保持部113に情報が保持されている中で最も古い検出時刻から、所定時間が経過したことに基づいて、全てのタッチ点の情報が更新されたと判定する。
変形例1の情報処理装置100のハードウェア構成、および機能構成は第1の実施例と同様である。ただし、第1の実施例の変形例1における判定部114は、情報処理装置100が有する時計と、保持部113に保持された情報とを参照し、最も古い更新がなされてから所定時間が経過したことに応じて、全てのタッチ点の位置情報が更新されたと判定する。
図6は、第1の実施例の変形例1において、情報処理装置100がマルチタッチ操作を認識する処理の流れを示すフローチャートである。図2と同番号を付した処理ステップでは、同じ内容の処理が実行される。従って詳細な説明は省略し、第1の実施例と異なる点を説明する。
第1の実施例の変形例1では、ステップS202においてタッチ点が複数であると判定された場合、ステップS601において、判定部114が、全てのタッチ点について、保持部113に保持されている位置情報が更新されたか否かを判定する。初回の処理では常にYESと判定される。そして、保持部113に保持されている位置情報が全て更新された場合には、ステップS204に進み、保持されている位置情報が全て更新されてはいない場合には、ステップS602に進む。ステップS602では、判定部114が、現在検出されているうちタッチ点の最も古い更新がなされてから所定時間が経過したか否かを判定する。ここで、所定時間とは、タッチパネルが入力領域401全体をスキャンし終えるのに十分な時間として、予め設定されているものとする。例えば、タッチパネルの走査が行われる周期と同じだけの時間が設定される。検出されているタッチ点の数が複数で、かつ、現在検出されているうち最も古い位置情報の更新がなされてから、タッチパネル全体の走査が終了する十分な時間が経過した場合、タッチイベントが通知されなかったタッチ点は移動が検出されていないことがわかる。従って、全てのタッチ点について、その時点で保持部113に保持されている位置情報が維持され続けていると考えられる。判定部114によって、タッチ点の位置情報の最も古い更新がなされてから所定時間経過したと判定された場合(ステップS602でYES)には、ステップS204に進む。一方、タッチ点の位置情報の最も古い更新がなされてから所定時間経過していないと判定された場合(ステップS602でNO)には、処理を終了する。
この他の処理は、図2で示した情報処理装置100がマルチタッチ操作を認識する処理と同様に処理される。
ここで、具体的に、第1の実施例の変形例1による情報処理装置100をユーザが操作する操作例2を、図7を参照して説明する。
図7(a)は、ユーザがピンチ操作を行った場合に、情報処理装置100が取得するタッチ点の位置の推移の一例を示す図であり、第1の実施例における図4(b)に対応するものである。ただし、このときユーザは図4(a)における左の指402によるタッチ点Aを停止させたまま、ピンチ操作を行うために右の指403のみを右方向(X軸のプラス方向)に動かすことで、タッチ点B、タッチ点D、タッチ点Fが順に検知されている。また、図7(b)は、各タッチ点が検出されたことに応じて、保持部113に保持される情報の一例であるテーブルであり、第1の実施例における図5(a)〜(f)に対応するものである。
なお、操作例2においても、タッチパネルの入力領域401は20ミリ秒毎に走査され、検出されたタッチイベントが検出部111に通知されるものとする。また、全てのタッチ点の位置情報が更新されたか否かを判定するために用いる所定時間は20ミリ秒、閾値aは10dotとして、予め設定されているものとする。
まず、ユーザが最初に入力領域401にタッチした状態で、入力領域401の走査が開始され、タッチパネルからタッチ点Aのタッチイベントが通知される。情報処理装置100では、ステップS201において、検出部111によりタッチ点Aが新たにタッチされたことが検出される。そして、図7(b)に表されるように、第1の取得部112は、IDが1、位置座標が(100,50)、検出時刻が0ミリ秒という情報を取得し、保持部113に保持させる。ステップS202では、判定部114が保持されている情報を参照し、IDの数から入力領域401上で検出されているタッチ点数が複数か否かを判定する。この時点では、図7(b)に示される通り、IDが1のタッチ点しか検出されておらず、複数ではないので、処理は終了する(ステップS202でNO)。
次に、タッチパネルからタッチ点Bのタッチイベントが通知される。情報処理装置100では、ステップS201において、同様に第1の取得部112が、IDが2、位置座標が(110,40)、検出時刻は5ミリ秒という情報を取得する。このとき、保持部113で保持されていたテーブルは、図7(c)のように更新される。ステップS202では、判定部114により、タッチ点の数が複数であると判定される。ステップS601では、判定部114により、初回の処理であるため、検出されている全てのタッチ点の情報が更新されていると判定される。ステップS204で、決定部116が、少なくとも1つのタッチ点が移動していないと判定する(ステップS204でNO)。そして、ステップS205において、タッチ点それぞれの位置座標から2点間の最短距離(図7の距離)を算出する。ここでは、タッチ点Aの座標(100,50)、及びタッチ点Bの座標(110,40)に基づき、2点間の距離は14dotと算出される。第2の取得部115は、14dotを検出開始時の2点間の距離としてRAM103に保持し、処理を終了する。
次に、20ミリ秒毎に入力領域401が走査されるので、タッチパネルから、タッチ点Dのタッチイベントが通知される。変形例1のタッチパネルでは、停止しているタッチ点Aに関しては、新たなタッチイベントが通知されないためである。従って、情報処理装置100では、ステップS201において、第1の取得部112は、IDが2、位置座標が(210,40)、検出時刻が25ミリ秒という情報を取得する。そして、保持部113に保持された情報は図7(d)のように更新される。この時、タッチ点DのIDは2であって、タッチ点Bと同じため、2というIDに関連付けられた情報が更新されている。また、位置座標が前回の検出時と異なるため、移動フラグを立てる。ステップS202では、タッチ点の数は2で複数であると判定される。そして、ステップS601では、IDが2のタッチ点が更新されているが、IDが1のタッチ点が更新されていないので、全てのタッチ点の位置情報が更新されていないと判定される(ステップS601でNO)。そしてステップS602において、保持されているタッチ点の情報の中で最も古い更新がなされてからの時間が所定の20ミリ秒が経過したか否かを判定する。今、最古の更新がなされた時刻、すなわちタッチ点Aが検出された時刻からの経過時間は、25ミリ秒であるため、所定の時間を超えている。従って、全てのタッチ点の位置情報が更新されたと考えることができる。次にステップSステップS204では、移動フラグに基づいて、少なくとも1つのタッチ点が移動していると判定される。ステップS206において、第2の取得部115が、タッチされている2点間の距離の変化量とその絶対値を取得する。ここでは、タッチ点Aの座標(100,50)、及びタッチ点Dの座標(210,40)に基づき、2点間の距離(図7の距離D)は110dotであると算出される。そして、RAM103に保持されている、前回第2の取得部115が取得した2点間の距離との変化量(絶対値)を求めると、110−14=96dotと算出される。今、閾値aは10dotであるので、ステップS207において、決定部116は、2点間の距離の変化量が閾値a以上であると判定する。従って、ステップS210において、ピンチアウトあるいはピンチイン操作が開始されたか否かを判定する。今、第2の取得部115が取得した2点間の距離との変化量は、96dotであるため、2点間の距離は広げられた回数を、1回目とカウントする。ただし、2回に満たないため、ピンチアウトの操作が開始されたとは判定されず、処理を終了する。
次に、20ミリ秒毎に入力領域401が走査されるので、タッチパネルから、タッチ点Fのタッチイベントが通知される。変形例1のタッチパネルでは、停止しているタッチ点Aに関しては、新たなタッチイベントが通知されないためである。従って、情報処理装置100では、ステップS201において、第1の取得部112は、IDが2、位置座標が(310,40)、検出時刻が45ミリ秒という情報を取得する。そして、保持部113に保持された情報は図7(e)のように更新される。この時、タッチ点DのIDは2であって、タッチ点Bと同じため、2というIDに関連付けられた情報が更新されている。また、位置座標が前回の検出時と異なるため、移動フラグを立てる。ステップS202では、タッチ点の数は2で複数であると判定される。そして、ステップS601では、IDが2のタッチ点が更新されているが、IDが1のタッチ点が更新されていないので、全てのタッチ点の位置情報が更新されていないと判定される(ステップS601でNO)。そしてステップS602において、保持されているタッチ点の情報中で最も古い更新がなされてからの時間が所定の20ミリ秒が経過したか否かを判定する。今、最古の更新がなされた時刻、すなわちタッチ点Aが検出された時刻からの経過時間は、45ミリ秒であるため、所定の時間を超えている。従って、全てのタッチ点の位置情報が更新されたと考えることができる。ステップS204では、移動フラグに基づいて、少なくとも1つのタッチ点が移動していると判定される。ステップS206において、第2の取得部115が、タッチされている2点間の距離の変化量とその絶対値を取得する。ここでは、タッチ点Aの座標(100,50)、及びタッチ点Dの座標(310,40)に基づき、2点間の距離(図7の距離F)は210dotであると算出される。そして、RAM103に保持されている、前回第2の取得部115が取得した2点間の距離との変化量(絶対値)を求めると、210−110=100dotと算出される。今、閾値aは10dotであるので、ステップS207において、決定部116は、2点間の距離の変化量が閾値a以上であると判定する。従って、ステップS210において、ピンチアウトあるいはピンチ操作が開始されたか否かを判定する。今、第2の取得部115が取得した2点間の距離との変化量は、100dotであるため、2点間の距離は広げられた回数を、2回目とカウントする。そして、2点間の距離は広げられた回数が2回以上に達したため、ピンチ制御部117によって、ピンチアウトの操作が開始されたと判定される(ステップS210でYES)。ステップS211では、ピンチ制御部117が、ピンチアウトが入力されたことを、表示制御部118に通知し、ステップS212において、ピンチ操作による結果が出力される。ここでは、表示制御部118が、2点間の距離が距離Bの14dotから、距離Fの210dotに広げられたことに基づいて、表示画像を拡大して表示する処理を実行する。
以上説明したように、第1の実施例の変形例1では、ユーザが2点をタッチする場合に、最も古い位置情報の更新がなされてから所定時間が経過したことに応じて、情報処理装置100に対してユーザが入力したマルチタッチ操作を決定する処理を行う。従って、既に検出されていたタッチ点が停止している場合に新たなタッチイベントを通知しないタッチパネルを利用した場合でも、検出されている全てのタッチ点の位置情報が更新されたことを判定可能になる。そのため、ユーザが2点のタッチ点の片方を停止した状態で、もう片方を動かすことでピンチ操作を行う場合でも、ユーザの意図に合致するように、表示画像の表示倍率を変更することができる。
<第2の実施例>
第2の実施例においても、ユーザが入力するマルチタッチ操作の一例として、マルチドラッグ操作を入力する例を説明する。第1の実施例では、検出されている2点のタッチ点の位置情報が更新された結果、少なくとも1点が移動したことによる2点間の距離の変化量が所定の閾値未満か否かに基づいて、マルチドラッグ操作あるいはピンチ操作のいずれが入力されたかを決定した。それに対し、第2の実施例では、検出されている2点のタッチ点の位置情報が更新された結果、少なくとも1点が移動した移動方向の角度差が、所定の閾値未満か否かに基づいて、マルチドラッグ操作あるいはピンチ操作のいずれが入力されたかを決定する。この際、角度差が小さく、2本の指がほとんど同一方向にタッチ点を移動されたと考えられる場合には、マルチドラッグ操作が入力されたと決定し、角度差が大きい場合には、ピンチ操作が入力されたと決定する。
まず、図8は、変形例1の情報処理装置100の機能構成を示す機能ブロック図である。図1(b)と異なる点は、生成部801と、第3の取得部802が追加されたことである。生成部801は、第1の取得部112が取得したタッチ点の情報のうち、ベクトルの生成に必要な情報を保持する。そして、タッチ点の位置情報の推移からタッチ点毎に移動方向と移動量を示す移動ベクトルを生成する。第3の取得部802は、生成部801が生成したタッチ点毎に移動ベクトルの方向成分を比較し、その角度差を取得する。そして、本実施例の決定部116は、第3の取得部が取得した移動ベクトルの角度差が、所定の閾値以上であった場合には、ユーザによって行われた操作はピンチ操作(第1の操作)であると決定する。一方、取得した変化量の大きさが、所定の閾値未満であった場合には、ユーザによって行われた操作はマルチドラッグ操作(第2の操作)であると決定する。
図9は、第2の実施例において、情報処理装置100がマルチタッチ操作を認識する処理の流れを示すフローチャートである。図2と同番号を付した処理ステップでは、同じ内容の処理が実行される。従って詳細な説明は省略し、第1の実施例と異なる点を説明する。
第2の実施例では、ステップS204において、決定部116によって少なくとも1つのタッチ点が移動したと判定された場合には、ステップS901に進む。ステップS901では、第3の取得部802が、移動ベクトルの角度差を取得する。ステップS901で実行される処理の詳細は後述する。そして、ステップS902では、決定部116が、生成部801が生成した2つの移動ベクトルの角度差が閾値b未満であるか否かを判定する。ここで閾値bとは、予め情報処理装置100に登録された角度の大きさの閾値で、2点のタッチ点が同一ではない方向に移動されたと判定するのに必要な、最小限の角度の大きさとして設定される。角度差が閾値b以上であると判定された場合(ステップS902でNO)には、決定部116は、ユーザによって入力された操作はピンチ操作であると決定し、ステップS210に進む。角度差が、閾値b未満であると判定された場合(ステップS902でYES)には、決定部116は、ユーザによって入力された操作はマルチドラッグ操作であると決定して、ステップS208に進む。
なお、第2の実施例のステップS902で、ユーザによってピンチ操作が入力されたと決定された場合には、ステップS210において、第2の取得部115がタッチされた2点間の距離を取得するとともに、保持されていた距離と比較する処理を行う。そして、2点間の距離が広げられたか、あるいは狭められたかに基づいて、第1の実施例と同様の処理を行う。
ここで、図10は、ステップS901で実行される、タッチ点の移動ベクトルの角度差を取得する処理の流れの一例を示すフローチャートである。まず、ステップS1001において、生成部801は、検出されている複数のタッチ点のうち、1つのタッチ点を特定するためにタッチ点のIDを選択する。
ステップS1002において、生成部801は、位置ベクトルの始点となる座標を決定する。本実施例では、生成部801は、保持しているタッチ点の位置情報に基づき、選択されているIDのタッチ点が初めに検出された位置、または前回検出された位置を、位置ベクトルの始点となる座標として決定する。
次に、ステップS1003において、生成部801は、移動ベクトルの終点となる座標を決定する。本実施例では、生成部801は、第1の取得部112が取得した情報に基づき、選択されているIDのタッチ点の最新の位置情報を移動ベクトルの終点となる座標として決定する。
そして、ステップS1004において、生成部801は決定した始点から終点に向かう移動ベクトルの方向を示す情報を取得する。この際、生成部801は、決定された始点と終点を結ぶことで移動ベクトルを生成する。ただし、始点と終点が同一の座標となる場合の移動ベクトルは、ゼロベクトルとする。そして、入力領域401のY軸を基準として時計回りに、生成した移動ベクトルの方向を示す角度を算出する。角度算出は、例えばタンジェント等の三角関数を用いることができる。生成部801は、取得した角度の情報をタッチ点のIDと関連付けて保持する。
ステップS1005において、第3の取得部802が、全てのタッチ点について、移動ベクトルが生成されたか否かを判定する。第3の取得部802は、生成部801が保持しているIDの数に基づいて、判定を行う。全てのタッチ点のベクトルが生成されたと判定された場合(ステップS1005でYES)には、ステップS1006に進む。一方、全てのタッチ点のベクトルが生成されてはいないと判定された場合(ステップS1005でNO)には、ステップS1001に戻って、次に処理するタッチ点のIDを選択する。
ステップS1006では、第3の取得部802が、各タッチ点の移動ベクトルの角度差を取得する。第3の取得部802は、生成部801が保持している各ベクトルの方向を示す角度の差分を算出する。なお、ここで取得する角度差は、絶対値であるとする。そして、移動ベクトルの角度差を算出する処理は終了し、ステップ902に進む。以降の処理は、第1の実施例同様に実行される。
ここで、図11は、ステップS901で実行される1つのタッチ点の移動ベクトルの生成方法の一例を示す図である。図11(a)を参照しながら、本実施例において生成される移動ベクトルの具体例を説明する。ここで、p1からp4は、入力領域401とユーザの指が接触した位置の座標を、一定時間間隔でサンプリングしたタッチ点であり、p1は最初に検出された位置に相当する点である。本実施例では、20ミリ秒毎にタッチパネルが入力領域401をスキャンするので、略20ミリ秒間隔でタッチ点が取得されると考えることができる。生成部801は、p2が検出された時点で移動ベクトルV1aを生成する。同様に、p3が検出された時点で生成された移動ベクトルがV2a、p4が検出された時点で生成された移動ベクトルがV3aである。
移動ベクトルの生成方法は、本実施例で使用した方法に限らない。以下、図11(b)〜図11(d)を参照して、他の生成方法の例を説明する。
図11(b)では、生成された移動ベクトルの大きさが、基準となる距離Lを超えた時に、その移動ベクトルの終点となっていたタッチ点の検出位置を、次の処理で生成する移動ベクトルの始点とする方法を説明する。ここでも、p1からp4は、一定時間間隔でサンプリングされたタッチ点であり、p1はタッチ点が最初に検出された位置である。生成部801は、p1、p2が検出された時点では、最初に検出されたp1の座標を移動ベクトルの始点として決定する。従って、例えばp3が検出された時点では移動ベクトルV1aを生成する。そして、生成部801は、生成した移動ベクトルの大きさ(p1からp3への移動距離)が基準距離Lを超えたか否かを判定する。その結果、基準距離Lを超えた場合にはその時点でのタッチ点の最新の検出位置を、次に移動ベクトルを生成する際に、始点となる座標として決定する。従って、生成部801は、移動ベクトルV1bのX方向成分が基準距離Lを超えたことに応じて、p3を移動ベクトルの始点として決定する。そして、p4を検出した時点では移動ベクトルV2bを生成する。このようにして、生成部801はタッチ点毎に移動ベクトルを生成し、第3の取得部802は、各タッチ点について生成された最新の移動ベクトルを用いて、その角度差を取得する。なお、生成部801では、ベクトル生成に必要とならないタッチ点の情報、及び最新でない移動ベクトルの情報は破棄してしまってよい。
また、図11(c)では、タッチ点の移動速度が極小となった点を、生成部801が始点となる座標として決定して、移動ベクトルを生成する例を示す。p1からp8はここでも、一定時間間隔でサンプリングされたタッチ点である。サンプリング時間が一定のため、図11(b)におけるタッチ点間の距離は、タッチ点の移動速度の大きさに比例する。従って、p1からp8のタッチ点の推移から、移動速度が極小になったのは、前後のタッチ点との間隔が小さいp6であることがわかる。従って、生成部801は、p1〜p6が検出された時点の処理ではp1を移動ベクトルの始点として決定し、例えばp6が検出された時点では、移動ベクトルV1cを生成する。そして、p7以降が検出された時点で実行される処理ではp6を始点として決定し、例えばp8が検出された時点では移動ベクトルV2cを生成する。
ただし、タッチパネルセンサから取得されるタッチ点の位置座標には、ばらつきが生じる場合がある。例えば、操作中にユーザの指とタッチパネルの接触面の面積が変化し、タッチ点として特定される1点の座標の相対位置が変わるといったことが考えられる。このようなばらつきを考慮せずに移動ベクトルを生成すると、移動ベクトルの方向が検出のばらつきに依存して、角度差と閾値bの比較を行う処理の精度が低下する場合がある。この問題に対する対策として、図11(d)では、始点として決定された座標と、終点となる最新の検出位置の間の、タッチ点の推移の座標を全て考慮して移動ベクトルを生成する例を説明する。ここでは、始点として初めに検出されたp1の座標を決定し、終点となる座標としては、X座標をタッチ点の最新の検出位置のX座標、Y座標をこれまで検出された同じIDのタッチ点の位置のY軸座標の平均値に決定する。このように、検出されたタッチ点の座標の平均値を利用して移動ベクトルを生成することで、移動ベクトルの角度差と閾値bとの比較処理の精度が向上し、マルチタッチ操作の認識がより正確にできる。
以上説明した移動ベクトルの生成方法は一例である。例えば、生成した移動ベクトルの方向の角度差が所定の閾値以上となったことや、タッチ点が所定時間以上停止したことに基づいて、次に生成する移動ベクトルの始点となる座標を決定することもできる。このように様々な方法の中から、情報処理装置100の演算能力などに応じて適切な方法を選択し、本実施例に利用することができる。
ここで、具体的に、第2の実施例による情報処理装置100をユーザが操作する操作例3を説明する。操作例3では、操作例1と同様に、図4(a)のようにユーザが二本の指402、403を入力領域401にタッチさせて同時に右方向に、動かすマルチドラッグ操作を行い、図4(b)のようにそれぞれの指によるタッチ点が推移するものとする。その際、第1の取得部112によって取得された各タッチ点の情報は、図5に示すテーブルとして保持部113に保持されるものとする。なお、操作例3において角度の閾値bは45度であるものとする。
操作例1と異なる点は、タッチ点Dのタッチイベントがタッチパネルから通知されたことに従って、ステップS204において、少なくとも1つのタッチ点が移動したと判定された後の処理である。ステップS901において、生成部801は、IDが1のタッチ点について、タッチ点Aの位置を始点の座標、タッチ点Aの位置を終点の座標とした移動ベクトルAを生成する。移動ベクトルAの方向は、Y軸を基準とし時計回りの角度を求めると、90度となる。同様に、IDが2のタッチ点について、タッチ点Bの位置を始点の座標、タッチ点Dの位置を終点の座標とした移動ベクトルBを生成する。移動ベクトルBの方向も、Y軸を基準とし時計回りに90度となるので、第3の取得部802によって、移動ベクトルAと移動ベクトルBの角度差として、0度を示す情報が取得される。今、閾値bは45度であるので、ステップS902では、決定部116が、第3の取得部802に取得された角度差0度は閾値b未満であると判定する。すなわち、2つのタッチ点は、同方向に移動されているため、ユーザはマルチドラッグ操作を入力していると決定され、ステップS208及びステップS209において、マルチドラッグ操作に対応する処理が実行される。
同様に、タッチパネルによってタッチ点Fのタッチイベントが通知された際の処理においては、生成部801によって、IDが1のタッチ点について図4(b)の移動ベクトルC、IDが2のタッチ点について図4(b)の移動ベクトルDが生成される。それぞれ、ベクトルの方向は90度であり、角度差が0度なので、決定部116はマルチドラッグ操作が入力されたと決定する。
なお、本実施例のステップS1006の角度差を取得する処理においては、算出結果は絶対値で扱うことが望ましい。絶対値を用いることで、角度差の量だけを考慮し、角度差の方向は考慮しない。さらに、鋭角側の角度差を算出するため、算出結果が180度以上の場合、360度から算出結果を減算し、角度差を求めることが望ましい。角度差を鋭角に統一することで、閾値との比較処理の一貫性を保ち、ユーザにとっては視覚的にもわかりやすい操作が可能となる。
また、移動ベクトルの角度差と角度の閾値との比較において、閾値を複数設定してもよい。例えば、始点から終点までの距離に応じて、距離が近ければ角度の大きな閾値を用いる。このようにすることで、上述したようなタッチ点の検出位置にばらつきが生じた場合に、移動ベクトルの方向として取得される角度の誤差が大きくなることによって、判定の精度を低下させないことができる。図11(e)は、p1が検出された後、p2が検出された場合と、検出位置のばらつきによってp2´が検出された場合に生成される移動ベクトルV1eとV1e´との方向の違いを示す。一方、図11(f)は、p1が検出された後、p2よりも離れたp3が検出された場合と、p3´が検出された場合に生成される移動ベクトルV2eとV2e´との方向の違いを示す。なお、p3とp3´は、p2とp2´と同じだけの、検出位置のばらつきを表すものとする。V1eとV1e´との方向の違いは、V2eとV2e´との方向の違いよりも大きい。このように、始点から終点までの距離が近い程、検出位置のばらつきが、移動ベクトルの方向に与える影響は大きくなる。従って、始点から終点への距離に応じて、複数の閾値を設定することで、より正確に入力されたマルチタッチ操作の決定することができる。
以上説明したように、本実施例においても、ユーザが2点をタッチする場合に、2点全てのタッチ点の位置情報が更新されたことに応じて、情報処理装置100に対してユーザが入力したマルチタッチ操作を決定する処理を行う。その際、少なくとも1点が移動した移動方向の角度差が、所定の閾値未満か否かに基づいて、マルチドラッグ操作あるいはピンチ操作のいずれが入力されたかを決定する。これにより、ユーザがタッチした2点をほぼ同一の方向に移動させる場合には、誤ってピンチ操作が通知されることはなく、ユーザの意図に反して表示画像の表示倍率が変更される誤動作は防止される。なお、第1の実施例とその変形例、及び第2の実施例は、組み合わせて実施してもよい。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (11)

  1. マルチタッチ操作が可能な情報処理装置であって、
    前記マルチタッチ操作を構成する複数のタッチ点それぞれの位置情報を取得する第1の取得手段と、
    前記第1の取得手段によって、前記複数のタッチ点全ての位置情報が更新された後、前記情報処理装置に対して行われたマルチタッチ操作を決定する決定手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記マルチタッチ操作を構成するタッチ点毎に、前記第1の取得手段が取得した位置情報を順次更新して保持する保持手段と、
    前記保持手段によって保持されている全てのタッチ点の位置情報が更新されたことに応じて、前記複数のタッチ点全ての位置情報が更新されたと判定する判定手段とを更に備え、
    前記決定手段は、前記複数のタッチ点全ての位置情報が更新されたと判定されたことに応じて、前記情報処理装置に対して行われたマルチタッチ操作を決定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記マルチタッチ操作を構成するタッチ点毎に、前記第1の取得手段が取得した位置情報を順次更新して保持する保持手段と、
    前記判定手段は、前記保持手段によって保持されている位置情報のうち、最も古い位置情報が更新されてから所定時間が経過したことに基づいて、前記複数のタッチ点全ての位置情報が更新されたと判定する判定手段とを更に備え、
    前記決定手段は、前記複数のタッチ点全ての位置情報が更新されたと判定されたことに応じて、前記情報処理装置に対して行われたマルチタッチ操作を決定することを特徴とする請求項1に記載の情報処理装置。
  4. 前記第1の取得手段が取得した位置情報に基づき、前記複数のタッチ点間の距離の変化量を取得する第2の取得手段を更に備え、
    前記決定手段は、前記第2の取得手段により取得された距離の変化量が、第1の閾値以上である場合には、前記情報処理装置に対して行われたのは第1の操作であると判定し、前記第2の取得手段により取得された距離の変化量が、前記第1の閾値未満である場合には、前記情報処理装置に対して行われたのは第2の操作であると決定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記第1の取得手段が取得した位置情報に基づき、前記複数のタッチ点の移動方向の角度差を取得する第3の取得手段を更に備え、
    前記決定手段は、前記第3の取得手段により取得された移動方向の角度の差が、第2の閾値以上である場合には、前記情報処理装置に対して行われたのは第1の操作であると判定し、前記第2の取得手段により取得された移動方向の角度の差が、前記第2の閾値未満である場合には、前記情報処理装置に対して行われたのは第2の操作であると決定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  6. 前記第1の取得手段が取得した前記複数のタッチ点それぞれの位置情報の推移に基づき、前記複数のタッチ点それぞれの移動ベクトルを生成する生成手段を更に備え、
    前記第3の取得手段は、前記生成手段が生成した前記複数のタッチ点それぞれの移動ベクトルの方向に基づいて、前記複数のタッチ点の移動方向の角度差を取得することを特徴とする請求項5に記載の情報処理装置。
  7. 前記第1の操作とは、表示部に表示されている画像を拡大又は縮小して表示させるために行うピンチ操作であることを特徴とする請求項4乃至6のいずれか1項に記載の情報処理装置。
  8. 前記決定手段によって、前記情報処理装置に対して行われたのはピンチ操作であると決定された場合に、前記複数のタッチ点の間の距離の変化量に基づいて、前記表示部に表示されている画像を拡大して表示させるか、縮小して表示させるかを制御するピンチ制御手段と更に備えることを特徴とする請求項7に記載の情報処理装置。
  9. 前記第2の操作とは、表示部に表示されている画像とは異なる画像を特定して表示させるためのマルチドラッグ操作であることを特徴とする請求項3乃至8のいずれか1項に記載の情報処理装置。
  10. コンピュータに読み込ませ実行させることで、前記コンピュータを請求項1乃至9に記載された情報処理装置として動作させるためのプログラム。
  11. マルチタッチ操作が可能な情報処理装置の制御方法であって、
    第1の取得手段により、前記マルチタッチ操作を構成する複数のタッチ点それぞれの位置情報を取得する第1の取得工程と、
    判定手段により、前記第1の取得工程において、前記複数のタッチ点全ての位置情報が更新された後、前記情報処理装置に対して行われたマルチタッチ操作を決定する決定工程と、
    を備えることを特徴とする情報処理装置の制御方法。
JP2012041603A 2012-02-28 2012-02-28 情報処理装置及びその制御方法 Active JP5990011B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2012041603A JP5990011B2 (ja) 2012-02-28 2012-02-28 情報処理装置及びその制御方法
KR1020130017848A KR101572307B1 (ko) 2012-02-28 2013-02-20 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 저장 매체
EP13156385.0A EP2634681A3 (en) 2012-02-28 2013-02-22 Technique for preventing false operations in an apparatus supporting multi-touch operations
US13/776,278 US9880673B2 (en) 2012-02-28 2013-02-25 Multi-touch input information processing apparatus, method, and storage medium
IN808CH2013 IN2013CH00808A (ja) 2012-02-28 2013-02-25
RU2013108886/08A RU2568775C2 (ru) 2012-02-28 2013-02-27 Устройство обработки информации, способ управления им и запоминающий носитель
BR102013004710-4A BR102013004710B1 (pt) 2012-02-28 2013-02-27 Aparelho de processamento de informação, seu método de controle, e meio de armazenagem
CN201310064576.XA CN103294227B (zh) 2012-02-28 2013-02-28 信息处理设备及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012041603A JP5990011B2 (ja) 2012-02-28 2012-02-28 情報処理装置及びその制御方法

Publications (3)

Publication Number Publication Date
JP2013178636A true JP2013178636A (ja) 2013-09-09
JP2013178636A5 JP2013178636A5 (ja) 2015-04-16
JP5990011B2 JP5990011B2 (ja) 2016-09-07

Family

ID=47747487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012041603A Active JP5990011B2 (ja) 2012-02-28 2012-02-28 情報処理装置及びその制御方法

Country Status (8)

Country Link
US (1) US9880673B2 (ja)
EP (1) EP2634681A3 (ja)
JP (1) JP5990011B2 (ja)
KR (1) KR101572307B1 (ja)
CN (1) CN103294227B (ja)
BR (1) BR102013004710B1 (ja)
IN (1) IN2013CH00808A (ja)
RU (1) RU2568775C2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013257775A (ja) * 2012-06-13 2013-12-26 Tokai Rika Co Ltd タッチセンサ
KR20150064280A (ko) * 2013-12-02 2015-06-11 엘지디스플레이 주식회사 터치추적방법
KR20150077783A (ko) * 2013-12-30 2015-07-08 엘지디스플레이 주식회사 가우시안 합성 모델을 이용한 터치 알고리즘
JP2016522929A (ja) * 2014-03-31 2016-08-04 小米科技有限責任公司Xiaomi Inc. 復号化方法、装置、プログラム及び記録媒体
EP3093744A1 (en) 2015-05-12 2016-11-16 Konica Minolta, Inc. Information processing device, information processing program, and information processing method
JP2016206749A (ja) * 2015-04-16 2016-12-08 シャープ株式会社 タッチ入力装置、前記タッチ入力装置を備えた画像形成装置およびタッチ入力方法
US9645731B2 (en) 2014-03-31 2017-05-09 Xiaomi Inc. Unlocking method and device using same
JP2017536585A (ja) * 2015-11-05 2017-12-07 小米科技有限責任公司Xiaomi Inc. アイコン位置交換方法及び装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792017B1 (en) 2011-07-12 2017-10-17 Domo, Inc. Automatic creation of drill paths
US9202297B1 (en) 2011-07-12 2015-12-01 Domo, Inc. Dynamic expansion of data visualizations
US10001898B1 (en) 2011-07-12 2018-06-19 Domo, Inc. Automated provisioning of relational information for a summary data visualization
KR102157332B1 (ko) * 2013-03-15 2020-09-17 삼성전자주식회사 전자 장치에서 줌 기능을 제어하기 위한 방법 및 장치
JP6071866B2 (ja) * 2013-12-18 2017-02-01 キヤノン株式会社 表示制御装置、表示装置、撮像システム、表示制御方法、及びプログラム
TWI610211B (zh) * 2014-02-07 2018-01-01 財團法人工業技術研究院 觸控裝置、處理器及其觸控訊號讀取方法
CN103914224B (zh) * 2014-03-24 2018-03-23 联想(北京)有限公司 信息处理方法和装置
CN104156167B (zh) * 2014-07-29 2018-01-02 Tcl通讯(宁波)有限公司 一种移动终端及其儿童模式的进入与退出方法
CN104679429A (zh) * 2015-02-12 2015-06-03 深圳市中兴移动通信有限公司 防误触方法及装置
DE112017007915T5 (de) * 2017-10-11 2020-05-20 Mitsubishi Electric Corporation Bedienungseingabevorrichtung, informationsverarbeitungssystem und bedienungsbestimmungsverfahren
CN109254707A (zh) * 2018-09-14 2019-01-22 Oppo广东移动通信有限公司 一种窗口调节的方法、移动终端及计算机可读存储介质
US10761709B2 (en) * 2018-11-29 2020-09-01 General Electric Company Computer system and method for changing display of components shown on a display device
CN112181265B (zh) * 2019-07-04 2022-04-15 北京小米移动软件有限公司 一种触控信号处理方法、装置及介质
CN112287108B (zh) * 2020-10-29 2022-08-16 四川长虹电器股份有限公司 一种物联领域的意图识别优化方法
CN112445378B (zh) * 2020-11-23 2023-08-29 深圳市中视典数字科技有限公司 触摸点位置更新方法、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290585A (ja) * 2000-01-31 2001-10-19 Canon Inc 位置情報処理装置及びその方法及びそのプログラム、操作装置及びその方法及びそのプログラム
JP2011059952A (ja) * 2009-09-09 2011-03-24 Aisin Aw Co Ltd 入出力表示装置
JP2011070250A (ja) * 2009-09-24 2011-04-07 Pioneer Electronic Corp 接触操作装置
JP2011204127A (ja) * 2010-03-26 2011-10-13 Kyocera Corp 携帯端末及び表示制御プログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5952998A (en) * 1997-01-15 1999-09-14 Compaq Computer Corporation Transparent touchpad with flat panel display for personal computers
US7138983B2 (en) 2000-01-31 2006-11-21 Canon Kabushiki Kaisha Method and apparatus for detecting and interpreting path of designated position
US8643605B2 (en) 2005-11-21 2014-02-04 Core Wireless Licensing S.A.R.L Gesture based document editor
US7956847B2 (en) 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
US7884805B2 (en) 2007-04-17 2011-02-08 Sony Ericsson Mobile Communications Ab Using touches to transfer information between devices
KR20090038540A (ko) 2007-10-16 2009-04-21 주식회사 현대오토넷 화면 상의 영상위치 변경 장치 및 방법, 그리고 그를이용한 네비게이션 시스템
WO2009133559A2 (en) * 2008-04-30 2009-11-05 N-Trig Ltd. Multi-touch detection
CN101667089B (zh) 2008-09-04 2011-08-17 比亚迪股份有限公司 一种触摸手势的识别方法和装置
TW201011618A (en) * 2008-09-05 2010-03-16 Kye Systems Corp Optical multi-point touch-to-control method of windows-based interface
JP2010086230A (ja) * 2008-09-30 2010-04-15 Sony Corp 情報処理装置、情報処理方法およびプログラム
US8217909B2 (en) 2008-12-19 2012-07-10 Cypress Semiconductor Corporation Multi-finger sub-gesture reporting for a user interface device
KR101844366B1 (ko) * 2009-03-27 2018-04-02 삼성전자 주식회사 터치 제스처 인식 장치 및 방법
US20110032192A1 (en) 2009-08-04 2011-02-10 General Electric Company Touch screen control system and method
US9417787B2 (en) * 2010-02-12 2016-08-16 Microsoft Technology Licensing, Llc Distortion effects to indicate location in a movable data collection
US20110205169A1 (en) * 2010-02-24 2011-08-25 Primax Electronics Ltd. Multi-touch input apparatus and its interface method using hybrid resolution based touch data
US20110225524A1 (en) * 2010-03-10 2011-09-15 Cifra Christopher G Multi-Touch Editing in a Graphical Programming Language
EP2378403A1 (en) * 2010-04-19 2011-10-19 Tyco Electronics Services GmbH Method and device for determining a user's touch gesture
US8749499B2 (en) * 2010-06-08 2014-06-10 Sap Ag Touch screen for bridging multi and/or single touch points to applications
US8743064B2 (en) 2010-09-17 2014-06-03 A.I. Solutions, Inc. Gesture orbit design
US9542092B2 (en) 2011-02-12 2017-01-10 Microsoft Technology Licensing, Llc Prediction-based touch contact tracking
JP2012185647A (ja) 2011-03-04 2012-09-27 Sony Corp 表示制御装置、表示制御方法、およびプログラム
CN202142028U (zh) 2011-03-31 2012-02-08 比亚迪股份有限公司 多点缩放动作的识别装置
US8368723B1 (en) 2011-07-14 2013-02-05 Google Inc. User input combination of touch and user position
US20130021261A1 (en) * 2011-07-18 2013-01-24 Research In Motion Limited Electronic device and method of controlling same
US10296205B2 (en) 2011-12-12 2019-05-21 Sony Corporation User interface for controlling a display scale of an image
US9436300B2 (en) * 2012-07-10 2016-09-06 Nokia Technologies Oy Method and apparatus for providing a multimodal user interface track

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290585A (ja) * 2000-01-31 2001-10-19 Canon Inc 位置情報処理装置及びその方法及びそのプログラム、操作装置及びその方法及びそのプログラム
JP2011059952A (ja) * 2009-09-09 2011-03-24 Aisin Aw Co Ltd 入出力表示装置
JP2011070250A (ja) * 2009-09-24 2011-04-07 Pioneer Electronic Corp 接触操作装置
JP2011204127A (ja) * 2010-03-26 2011-10-13 Kyocera Corp 携帯端末及び表示制御プログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013257775A (ja) * 2012-06-13 2013-12-26 Tokai Rika Co Ltd タッチセンサ
KR20150064280A (ko) * 2013-12-02 2015-06-11 엘지디스플레이 주식회사 터치추적방법
KR102143760B1 (ko) * 2013-12-02 2020-08-13 엘지디스플레이 주식회사 터치추적방법
KR20150077783A (ko) * 2013-12-30 2015-07-08 엘지디스플레이 주식회사 가우시안 합성 모델을 이용한 터치 알고리즘
KR102242891B1 (ko) 2013-12-30 2021-04-21 엘지디스플레이 주식회사 가우시안 합성 모델을 이용한 터치 좌표 산출 방법
JP2016522929A (ja) * 2014-03-31 2016-08-04 小米科技有限責任公司Xiaomi Inc. 復号化方法、装置、プログラム及び記録媒体
US9645731B2 (en) 2014-03-31 2017-05-09 Xiaomi Inc. Unlocking method and device using same
JP2016206749A (ja) * 2015-04-16 2016-12-08 シャープ株式会社 タッチ入力装置、前記タッチ入力装置を備えた画像形成装置およびタッチ入力方法
EP3093744A1 (en) 2015-05-12 2016-11-16 Konica Minolta, Inc. Information processing device, information processing program, and information processing method
JP2017536585A (ja) * 2015-11-05 2017-12-07 小米科技有限責任公司Xiaomi Inc. アイコン位置交換方法及び装置
US10061497B2 (en) 2015-11-05 2018-08-28 Xiaomi Inc. Method, device and storage medium for interchanging icon positions

Also Published As

Publication number Publication date
CN103294227A (zh) 2013-09-11
RU2013108886A (ru) 2014-09-10
US9880673B2 (en) 2018-01-30
KR101572307B1 (ko) 2015-11-26
US20130222340A1 (en) 2013-08-29
BR102013004710B1 (pt) 2021-06-29
RU2568775C2 (ru) 2015-11-20
CN103294227B (zh) 2016-11-30
EP2634681A2 (en) 2013-09-04
BR102013004710A2 (pt) 2015-10-06
EP2634681A3 (en) 2017-04-05
KR20130098907A (ko) 2013-09-05
IN2013CH00808A (ja) 2015-08-14
JP5990011B2 (ja) 2016-09-07

Similar Documents

Publication Publication Date Title
JP5990011B2 (ja) 情報処理装置及びその制御方法
JP6188288B2 (ja) 情報処理装置及びその制御方法
US9529527B2 (en) Information processing apparatus and control method, and recording medium
JP5979916B2 (ja) 情報処理装置およびその制御方法
JP5950597B2 (ja) 情報処理装置およびその制御方法
JP6004716B2 (ja) 情報処理装置およびその制御方法、コンピュータプログラム
US9430089B2 (en) Information processing apparatus and method for controlling the same
JP6410537B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP2016164807A (ja) デスクトップ・コンテナ・ページの切り替えを制御するための方法および端末
JP6253284B2 (ja) 情報処理装置およびその制御方法、プログラム、記録媒体
JP2012247936A (ja) 情報処理装置、表示制御方法及びプログラム
JP6103835B2 (ja) 情報処理装置およびその制御方法
JP2015118541A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP2015035092A (ja) 表示制御装置及び表示制御装置の制御方法
JP2016110518A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US9632697B2 (en) Information processing apparatus and control method thereof, and non-transitory computer-readable medium
JP5618554B2 (ja) 情報入力装置、情報入力方法及びプログラム
JP2015230693A (ja) 情報処理装置、入力方法、コンピュータプログラム、及び記録媒体
JP2015219601A (ja) 情報処理装置およびその制御方法、プログラム、記録媒体
JP5620895B2 (ja) 表示制御装置、方法及びプログラム
JP6566767B2 (ja) 情報処理装置、情報処理装置の制御方法、コンピュータプログラム、及び記憶媒体
JP2006085218A (ja) タッチパネル操作装置
JP2018073088A (ja) 情報処理装置およびその制御方法およびプログラム
TW201502953A (zh) 操作使用者介面之放大區塊的方法與電子裝置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150302

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160401

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160812

R151 Written notification of patent or utility model registration

Ref document number: 5990011

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151