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

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

Info

Publication number
JP6711817B2
JP6711817B2 JP2017509073A JP2017509073A JP6711817B2 JP 6711817 B2 JP6711817 B2 JP 6711817B2 JP 2017509073 A JP2017509073 A JP 2017509073A JP 2017509073 A JP2017509073 A JP 2017509073A JP 6711817 B2 JP6711817 B2 JP 6711817B2
Authority
JP
Japan
Prior art keywords
condition
proximity
degree
touch
touch 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.)
Expired - Fee Related
Application number
JP2017509073A
Other languages
English (en)
Other versions
JPWO2017029749A1 (ja
Inventor
勇樹 釜森
勇樹 釜森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JPWO2017029749A1 publication Critical patent/JPWO2017029749A1/ja
Application granted granted Critical
Publication of JP6711817B2 publication Critical patent/JP6711817B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/041012.5D-digitiser, i.e. digitiser detecting the X/Y position of the input means, finger or stylus, also when it does not touch, but is proximate to the digitiser's interaction surface and also measures the distance of the input means within a short range in the Z direction, possibly with a separate measurement setup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04105Pressure sensors for measuring the pressure or force exerted on the touch surface without providing the touch position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive 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/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

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)
  • Multimedia (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、操作者によるタッチ入力を検出する技術に関する。
近年では、AR(Augmented Reality)やMR(Mixed Reality)といった環境において、物理的には存在しない仮想的なタッチ対象面に対するタッチが行われる場面がある。また、プロジェクションによってユーザインタフェース(以下、UI)を壁や机など任意の操作面に投影し、投影したUIに対してタッチが行われる場面がある。このような場面においては、ステレオカメラや赤外カメラ等、距離情報を得ることが可能な距離画像の撮像手段を用い、対象面と、所定の操作体の一部(例えば操作者の指先)との間の近接の程度に基づいて、両者が接触しているか否かを判定することが多い。具体的には、対象面と、操作者の指先との間の距離に所定の閾値を設け、その閾値を越える程度両者が近づいた場合に、指先が対象面にタッチしたと判定する。以下、指先と対象面が非接触の状態から接触することをタッチ、接触状態から非接触になることをリリースと表記する。
距離画像から距離情報を得るなど、センサで検知した情報から操作体と対象面の近接の程度を取得する処理を実際に行う場合、センサの精度や環境に起因して生じる誤差を無くすことは難しい。操作体と対象面の間の距離など、両者の近接の程度に対する閾値判定を用いたタッチとリリースの検出においては、誤差を踏まえた上で適切な閾値を設定することが困難な場合がある。
特許文献1は、リリースを認識するための条件を、閾値を越えることではなく、対象面をタッチした操作体の動きの向きが反転したこととしている。
特許第4052498号公報
操作体の位置検出に誤差が生じる環境では、ユーザが操作体を固定していたとしても、位置情報のぶれが検出されることがある。検出されるぶれの大きさによっては、ユーザが意図しないにも関わらず、操作体の動きに反転が生じたような結果が得られる場合もある。特許文献1は、そのような場合に対する考慮はなされていない。
本発明は、操作体と対象面の近接の程度の検出結果に誤差が含まれる場合に生じる、タッチ入力の終了の誤認識を低減することを目的とする。
本発明は、上記の目的を達成するために、所定の面に対する操作体の近接の程度を表す情報を取得する取得手段と、前記操作体による前記所定の面へのタッチ入力の開始が認識された第1の時点より後の前記近接の程度の遷移に基づいて、前記近接の程度に関する第1基準値を決定する基準決定手段と、前記基準決定手段によって特定された前記第1基準値に基づいて、前記第1の時点に開始が認識された前記タッチ入力の終了を認識するための前記近接の程度に関する第1条件を決定する条件決定手段と、前記取得手段によって取得される情報が表す前記近接の程度が前記条件決定手段によって決定された前記第1条件を満たしたことに応じて、前記タッチ入力の終了を認識する認識手段とを備え、前記条件決定手段は、前記第1の時点より後で、前記操作体が所定速度で移動するまでの間、前記第1条件を前記タッチ入力の終了を認識するための条件として決定する。
本発明によれば、操作体と対象面の近接の程度の検出結果に誤差が含まれる場合に生じる、タッチ入力の終了の誤認識を低減することができる。
第1実施形態の情報処理装置を利用するシステムの外観の一例を表す図 (a)第1実施形態情報処理装置のハードウェア構成、(b)第1実施形態の機能構成の一例を表すブロック図 第1実施形態における操作認識処理の流れの一例を表すフローチャート (a)第1実施形態におけるタッチ操作認識処理の流れの一例を表すフローチャート、(b)第1実施形態におけるタッチ操作認識処理の流れの一例を表すフローチャート (a)操作中の指先と対象面の間の距離の理想的な遷移の一例を表す図、(b)操作中の指先と対象面の間の距離の遷移の一例を表す図 (a)第1実施形態のリリース閾値決定処理の流れの一例を表すフローチャート、(b)第1実施形態のタッチ閾値決定処理の流れの一例を表すフローチャート 第1実施形態で決定されるリリース閾値の一例を表す図 第1実施形態で決定されるタッチ閾値の一例を表す図 (a)変形例でのタッチ操作認識処理の流れの一例を表すフローチャート、(b)変形例でのリリース閾値決定処理の流れの一例を表すフローチャート 変形例で決定されるリリース閾値の一例を表す図
以下、本発明に係る実施例の情報処理を、図面を参照して詳細に説明する。なお、実施例に記載する構成は例示であり、本発明の範囲をそれらの構成に限定する趣旨のものではない。
<第1実施形態>
一般的に「タッチ」とは、テーブル面に投影されたアイテムの表示領域に指先を接触または近接させることにより当該アイテムに対するタッチ入力を開始する動作である。また、「リリース」とは、タッチ操作後のアイテムに接触または近接させた指先をアイテムから離すことにより、当該アイテムに対するタッチ入力を終了する動作である。タッチ操作を採用する多くの情報処理装置は、タッチからリリースに至る間の指先の位置・動き・速度等に基づいてタップ・ムーブ・フリック等の様々なタッチ操作を認識することができる。例えば、指先を対象面にタッチした後、対象面に沿った方向にはほぼ動かずにすぐリリースするという一流れの入力は、「タップ操作」と呼ばれ、表示されているアイテムを選択するための指示として認識されることが多い。本実施形態では、「タッチ」と「リリース」のそれぞれを「タッチ操作」及び「リリース操作」という単独の操作の入力として認識し、ユーザに対してフィードバックを行う情報処理装置を例に説明していく。例えば、タッチ操作が認識されたこと応じて、タッチされているアイテムの色を変更する。さらにリリース操作が認識された場合には、タッチされていたアイテムを拡大する。また、本実施形態では、タッチからリリースに至る間の操作体の状態を、タッチ入力中と表記する。
スマートホンやタブレットPCなどの携帯型装置では、多くの場合、表示画面に設けたタッチセンサにより操作者の指先が表示画面に接触したことを直接検出し、タッチとリリースを認識する。このように、直接的に所定のタッチ対象面に対する接触/非接触を検出するシステムでは、タッチ操作を入力するユーザの意図と大きく異なるタイミングでタッチやリリースが認識されることは少ない。これに対し、操作体と対象面の間の距離を取得し、その距離と閾値との比較に基づいてタッチとリリースを検出する場合は、十分な精度で距離を取得できないために、ユーザの意図に沿わないタイミングで計測結果の距離が閾値を越えてしまう可能性がある。従来は、検出誤差によってタッチの認識漏れが起きることを防ぐために、タッチを検出するためのタッチ対象面からの距離の閾値(以下ではタッチ閾値という)を十分に大きく設定することが多かった。また、リリースを検出するためのタッチ対象面からの距離の閾値(以下ではリリース閾値という)は、タッチ閾値に一致させるか、あるいは、タッチ閾値よりさらに大きく設定されることがあった。リリース閾値をより大きく設定すると、操作体が十分に対象面から離れるまではリリースが認識されないので、タッチ入力中に生じた検出のぶれによって、操作の認識が中断されてしまうことを防ぐことができた。しかしながら、タッチ閾値とリリース閾値のそれぞれを大きく設定すると、結果的に、ユーザは不自然に大振りな動きでタッチ操作を行わなくてはタッチとリリースが認識されなくなる。その結果、操作性が低下してしまう。
そこで本実施形態では、所定のタッチ閾値に関する閾値処理により、タッチが認識された場合、その後のタッチ入力中の操作体とタッチ対象面との近接の程度の遷移に基づいて、動的にリリース閾値を決定する。具体的には、操作体がタッチ入力中に最もタッチ対象面に近づいた時点での両者の近接の程度を基準とし、操作体が基準から所定の閾値の分だけタッチ対象面から遠ざかった段階でリリースを認識する。また、本実施形態では、一旦リリースが認識された後でタッチ入力が再開されるときのタッチ閾値は、リリースが認識された後の操作体とタッチ対象面との近接の程度の遷移に基づいて、動的に決定する。
以下、第1実施形態として、テーブルトップインタフェースシステムのテーブル面に投影されたアイテムを選択するために、操作者が片手の指1本によってタッチ入力を行う場合を例に挙げて説明する。なお、以下では、ユーザが操作の入力に用いる操作体としては、ユーザの片手の指を例に挙げるが、スタイラスやロボットアームなどの物体が操作体として利用される場合にも適用可能である。
[システムの外観]
図1は、本実施形態に係る情報処理装置100を設置したテーブルトップインタフェースシステムの外観の一例である。また、3次元空間内の位置情報を定義する座標軸も示す。対象面101は、テーブルトップインタフェースのテーブル部分であり、ユーザは、対象面101をタッチすることでタッチ操作を入力することが可能である。本実施形態では、対象面101の上方に、対象面を見下ろすようにして距離画像センサ102が設置される。距離画像とは、各画素の値に、基準位置(例えば、撮像に利用された撮像手段のレンズ中心など)から、その画素に撮像された被写体表面までの距離に対応する情報が反映された画像である。本実施形態において、距離画像センサ102が撮像する距離画像の画素値には、距離画像センサ102から、対象面101あるいはその上方に存在する物体表面までの距離が反映される。撮像された距離画像は、情報処理装置100に入力画像として入力される。情報処理装置100は、入力画像を解析することでユーザの手106の三次元位置を取得し、入力される操作を認識する。従ってユーザは、対象面101と距離画像センサ102の間の空間の、距離画像センサ102によって撮像可能な範囲内で手などの所定の物体を動かすことにより、空間ジェスチャ操作を入力することが可能である。本実施形態では、赤外光を利用するパターン照射方式、あるいは、TOF(Time-of-Flight)方式のセンサを利用する。
また本実施形態では、可視光カメラ103もまた、上方から対象面101を見下ろすようにして設置される。情報処理装置100は、可視光カメラ103を制御して、対象面101に載置された物体を撮像してその読み取り画像を得る書画カメラとして機能することができる。情報処理装置100は、可視光カメラ103によって得られる可視光画像や、距離画像センサ102によって得られる距離画像に基づいて、対象面101上の空間に存在する物体を検出し、さらに識別する。物体には、例えば、ユーザの手、紙媒体や本などのドキュメントやその他の立体物を含む。
プロジェクタ104は、対象面101の上面に画像の投影を行う。本システムでは、ユーザは投影された画像に含まれるアイテム105に対して、タッチや空間ジェスチャによる操作を行う。上述したように、本実施形態では、手106の検出および操作の認識には、距離画像センサ102を使って取得した距離画像を用いる。距離画像を用いることで、プロジェクタ104の投影光の影響でユーザの手の色が変化しても影響を受けにくいという利点がある。本システムの表示装置としては、プロジェクタ104に替えて、対象面101を液晶ディスプレイとするなどとすることもできる。その場合、可視光画像からの肌色領域を検出するなどして画像から人の手を検出する方式を用いることでも、投影光の影響を受けずに手の検出が可能である。
なお、対象面101を上方からみた画像が得られる構成であれば、必ずしも距離画像センサ102及び可視光カメラ103自体が上方に設置されている必要はない。例えば、対象面の情報に設置したミラーを撮像するように構成したとしても、対象面101を上方から見た画角の画像が得られる。プロジェクタ104も同様に、図1の例では、斜め上方から見下ろすように対象面101上への投影を行うが、異なる方向に向けて投影された投影光を、ミラーなどを利用して対象面101に反射させてもよい。
本実施形態では、対象面101上の三次元空間に図1に示すx、y、z軸を定義し、位置情報を扱う。ここでは一例として、テーブルの上面に平行な二次元がxy平面、テーブル上面に直交し上方に伸びる方向をz軸の正方向としている。なお、本実施形態では、z軸方向は、世界座標系での高さ方向に相当する。しかしながら本実施形態は、ホワイトボードや壁面など、水平ではない面を対象面101とするシステムにも適用可能である。
[装置の構成]
図2(a)は、本実施形態に係る情報処理装置100を含むテーブルトップインタフェースのハードウェア構成図である。中央処理ユニット(CPU)200は、RAM202をワークメモリとして、ROM201や記憶装置203に格納されたOSやプログラムを実行して、各種処理の演算や論理判断などを行い、システムバス204に接続された各構成を制御する。CPU200が実行する処理には、後述するタッチ操作とリリース操作の認識処理が含まれる。記憶装置203は、ハードディスクドライブや各種インタフェースによって接続された外部記憶装置などであり、実施形態の操作認識処理にかかるプログラムや各種データを記憶する。距離画像センサ102は、CPU200の制御に従い、アイテムが表示されるテーブルとアイテムを操作するユーザの手を含む空間の距離画像を撮像し、撮影した距離画像をシステムバス204に出力する。本実施形態では、距離画像の取得方法として、環境光やテーブル面の表示の影響が小さい赤外光を利用する方式のセンサを例に説明するが、用途に応じて視差方式や赤外光の反射時間を利用する方式などを利用することも可能である。プロジェクタ104は、CPU200の制御に従い、テーブルに操作対象となる画像アイテムを投影する。
なお図1の利用例では、可視光カメラ103、距離画像センサ102、プロジェクタ104はそれぞれ情報処理装置100に入出力用のインタフェースを介して接続された外部装置であり、情報処理装置100と協同して情報処理システムを構成する。ただし、これらのデバイスは、情報処理装置100に一体化されていても構わない。
図2(b)は、本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。各機能部は、CPU200が、ROM201に格納されたプログラムをRAM202に展開し、後述する各フローチャートに従った処理を実行することで実現される。また例えば、CPU200を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
画像取得部210は、距離画像センサ102によって撮像された距離画像を、入力画像として一定時間毎に取得し、RAM202に随時保持する。なお画像取得部210が取得し、各機能部とやりとりする対象は、実際には画像データに対応する信号であるが、本明細書では単に「距離画像を取得する」あるいは「入力画像を取得する」として説明する。
領域抽出部211は、画像取得部210によって取得された入力画像の各画素について、背景差分法に従って閾値判定やノイズ低減処理を施し、距離画像中の手領域を抽出する。背景画像としては、テーブル101上に物体が存在しない状態が撮像された入力画像が使用される。手領域とは、入力された距離画像のうち、操作体としてユーザが利用する手が映っている領域である。位置検出部212は、領域抽出部211によって抽出された手領域の輪郭情報に基づき、ユーザの手の指先位置を検出し、座標値を特定する。
距離取得部213は、位置検出部212が検出した指先位置と、タッチ対象面であるテーブル上面との間の距離を近接の程度を表す情報として取得する。本実施形態の入力画像は、各画素値に、z座標に相当する値を持つため、背景画像と最新の入力画像のそれぞれで、位置検出部212が検出した指先位置に相当する画素の画素値の差分が、指先(上面)とテーブル101上面の間の距離に相当する。このように本実施形態においては、操作体とタッチ対象面の近接の程度は、図1に示した座標軸のうちz座標の値に対応し、これは、指先のテーブル面からの高さを意味する。ただし、操作体とタッチ対象面の近接の程度は、距離画像の画素値に基づいて得られる距離情報には限られない。例えば、操作体がタッチ対象面に近接することによって生じる静電容量の変化量や、温度や圧力、接触面積の変化量の情報であっても構わない。
基準決定部214は、後述する認識部216によってタッチが認識された後の、操作体の対象面に対する近接の程度の遷移に基づいて、リリース閾値を決定するための基準となる第1基準値を決定する。第1基準値は、操作体が対象面に最も近づいた時点の情報を基に特定される。本実施形態では、近接の程度は、タッチ対象面と操作体の間の距離(テーブルからの指先の高さ)である。従って基準決定部214は、タッチ入力が開始された後の、タッチ対象面と操作体の間の距離の遷移の中で、最小の距離(最小の高さ)を第1基準値として決定する。また本実施形態では、基準決定部214は、後述する認識部216によってリリースが認識された後の、前記操作体の対象面に対する近接の程度の遷移に基づいて、第2基準値を決定する。第2基準値は、リリース後に再度入力されるタッチを認識するためのタッチ閾値を決定する処理において基準となる。第2基準値は、リリース後に操作体が対象面に最も離れた時点の情報を基に特定される。本実施形態では、基準決定部214は、リリースが認識された後の、タッチ対象面と操作体の間の距離(テーブルからの指先の高さ)の遷移の中で、最大の距離(最大の高さ)を第2基準値とする。
条件決定部215は、基準決定部214が決定した基準値を使って、タッチ操作とリリース操作の検出に用いる条件を決定する。本実施形態では、少なくともタッチ入力の終了を認識するための第1条件として、タッチ対象面と操作体の近接の程度に関するリリース閾値を決定する。そして、タッチ入力の再開を認識するための第2条件としてタッチ閾値を決定する。そして、本実施形態では、近接の程度を表す情報としてタッチ対象面と操作体の間の距離(テーブルからの指先の高さ)を扱うため、リリース閾値とタッチ閾値は距離(高さ)の閾値である。具体的には、第1条件となるリリース閾値は、第1基準値として決定された距離に、所定値を加えることで決定される。第2条件となるタッチ閾値は、第2基準値として決定された値に、所定値を加えることで決定される。ただし、第2基準値に所定値を加えた結果が、タッチ閾値の初期値より大きくなる場合は、タッチ閾値は初期値のままとなる。
認識部216は、距離取得部213によって取得された距離と、予め決定された初期値としてのタッチ閾値、あるいは条件決定部215によって決定された第1条件、第2条件である閾値との比較に基づいて、タッチ操作とリリース操作を認識する。具体的には、操作体がタッチ対象面から十分離れた距離から、タッチ閾値を越える距離に近づいた場合に、タッチを認識する。また、操作体がタッチ対象面からリリース閾値を越える距離まで離れた場合にリリースを認識する。
表示制御部217は、ROM201や記憶装置203に記憶された情報を用いて、本実施形態の表示部であるプロジェクタ104によって、テーブルの対象面101上に投影させる画像を生成し、出力する。出力された画像は、プロジェクタ104によって、テーブル上の対象面101上に投影表示される。投影される画像には、少なくとも選択操作の対象となる複数のアイテムを含むGUI画面が含まれる。アイテム毎に選択や移動が可能であってもよく、画像全体が選択や移動の対象であってもよい。
[タッチ操作の認識処理]
図3のフローチャートに従って第1実施形態の操作の認識処理を説明する。図3のフローチャートの処理は、情報処理装置の各機能部を構成するCPU200がROM201に記録されたプログラムをRAM202に展開して実行することで実現される。本実施形態では、距離画像センサ102によって撮影された距離画像が情報処理装置100に入力されたことに応じて図3のフローチャートの処理が開始される。また本実施形態では、図3のフローチャートの処理が、距離画像センサ102から距離画像が入力される毎に繰り返される。従って処理が繰り返される周期は、距離画像センサ102の撮像映像のフレームレートに一致する。
ステップS301では、画像取得部210が、距離画像センサ102から、入力画像として、画像が投影されるテーブルとユーザの手を含む空間を撮像した距離画像を取得する。取得される距離画像の各画素には、距離画像センサ102から被写体までの距離に対応する値が、画素値として保持される。本実施形態では、入力画像内の各画素の位置と画素値に対して、距離画像センサ102のレンズ特性および対象面101との相対位置関係に基づく座標変換を施す。これにより、入力画像内の各画素の情報を、テーブル101上に定義された実世界の3次元座標系にマッピングして、三次元位置情報として扱う。
ステップS302では、領域抽出部211が、距離画像の各画素を走査し、距離画像からユーザの手が映る手領域を抽出する。本実施形態においては、入力されたユーザの手を含む距離画像と、予め取得した背景のみの距離画像(テーブルのみを撮像した距離画像)との差分を画素毎に求め、差分が閾値よりも大きくなる画素を手領域として抽出する。すなわち、テーブル上面からの高さが閾値以上高い画素が集合した領域を、テーブルより上に存在する手が写っている領域とみなす。この方式は背景差分法の考え方に従う。さらに、抽出された領域に、膨張収縮処理を施し、距離画像センサの誤差に由来する微小なノイズを除去することで手領域を補正する。なお、他の抽出方法として、画素値が表すセンサからの距離が、所定の閾値が表す距離よりも近いという条件を満たす画素群を手領域として抽出することも可能である。この場合は背景画像として用いるためのテーブルのみを撮像した距離画像を予め取得することが不要となる。
ステップS303では、位置検出部212が、ステップS302において抽出された手領域の形状に基づいて、指先に相当する位置を探索し、その3次元座標を検出する。本実施形態では、まず手領域の輪郭点を抽出し、各輪郭点について、隣接する輪郭点と成すベクトル間の角度を算出する。そして、ベクトル間角度が閾値よりも小さくなる輪郭点を指先位置の候補点として抽出し、さらに複数の指先位置の候補点が密集する位置を指先として特定する。つまり、輪郭が比較的細まった突端部を表す部分の先端を指先位置として特定する。特定した指先位置、距離画像の画素値、実世界座標系への座標変換パラメータを基に、実世界座標系における指先の3次元座標を算出することが可能である。なお、指先位置の検出方法はこれに限らず、円形テンプレートマッチングや、手の構造に基づく制約を使って位置を絞り込む方法を利用することも可能である。
ステップS304では、距離取得部213が、ステップS303において検出された指先とタッチ対象面との間の距離を、近接の程度を表す情報として取得する。本実施形態においては、指先とタッチ対象面との間の距離は、テーブル上に定義されたz座標として算出される。
ステップS305では、認識部216が、現在は非タッチ状態かを判定する。本実施形態では、タッチ状態と非タッチ状態の2つの状態を定義する。そして、各フレームについて、操作体がいずれの状態にあるかの判定結果を得る。ステップS305では、前のフレームで、操作体がいずれの状態に遷移していたかを参照することで、現フレームがタッチ入力中か否かが判定される。
タッチ状態とは、操作体とタッチ対象面との間の距離が、タッチ閾値(初期値として予め定義されたタッチ閾値と条件決定部215に第2条件として決定されたタッチ閾値の両方を含む)を下回っている状態である。非タッチ状態とは、タッチ状態にあった操作体がタッチ対象面から遠ざかることで、操作体とタッチ対象面との間の距離がリリース閾値を越えた状態である。ただし、情報処理装置100が起動されてから一度もタッチの認識が行われていない初期状態は非タッチ状態に含まれる。非タッチ状態からタッチ状態への状態遷移が起こることが、すなわちタッチを認識することである。同様に、タッチ状態から非タッチ状態への状態遷移が起こることが、リリースを認識することになる。本実施形態では、操作体がタッチ対象面に物理的に接触しているか否かには関わらず、操作体がタッチ状態にある間を、タッチ入力中であるとみなす。そして、非タッチ状態に遷移した場合、タッチ入力が終了されたとみなす。これにより、情報処理装置100は、タッチセンサ機能を有さない任意の面が対象面となる場合でも、タッチセンサを搭載した機器と同様に、いわゆるタッチ操作を認識可能となる。
認識部216は、状態遷移が生じる毎に、RAM202に、現在の状態を示す情報を保持する。従って、認識部216は、ステップS305において、前のフレームの処理の結果、RAM202に保持されている情報を参照して判定を行う。現在は非タッチ状態であると判定された場合(ステップS305でYes)、ステップS306に進む。現在は非タッチ状態でないと判定された場合(ステップS305でNo)、ステップS307に進む。非タッチ状態でない場合とは、すなわちタッチ状態の場合である。
ステップS306では、タッチ操作の認識処理が実行される。タッチ操作の認識処理では、現在非タッチ状態にある操作体とタッチ対象面との間の距離と、タッチ閾値との大小関係に基づいて、タッチ操作が認識される。ここで、図4(a)のフローチャートは、ステップS306において認識部216が実行する処理の流れの一例を表す。まず、ステップS401において、認識部216は、ステップS304において取得された距離は、タッチ閾値より小さいかを判定する。ここで比較に用いられるタッチ閾値は、初期値として情報処理装置100が保持していたタッチ閾値か、あるいは、後述するステップS310において第2条件として決定されたタッチ閾値のいずれかである。取得された距離がタッチ閾値より小さいと判定される場合(ステップS401でYes)、ステップS402に進む。取得された距離がタッチ閾値より小さいと判定されない場合(ステップS401でNo)、タッチ操作は認識されないため、図3のフローチャートに戻る。
ステップS402では、認識部216が、指先の状態が、非タッチ状態からタッチ状態に遷移したことを表す情報をRAM202に保持する。ステップS403では、認識部216が、条件決定部215及び表示制御部217など、後続する処理を行う各機能部に、タッチ入力が開始されたことを通知する。
図3のフローチャートに戻り、ステップS307では、リリース操作の認識処理が実行される。リリース操作の認識処理では、タッチ状態にある操作体とタッチ対象面との間の距離と、リリース閾値との大小関係に基づいて、リリース操作が検出される。ここで、図4(b)のフローチャートは、ステップS307において認識部216が実行する処理の流れの一例を表す。まず、ステップS411において、認識部216は、ステップS304において取得された距離は、リリース閾値より大きいかを判定する。ここで比較に用いられるリリース閾値は、後述するステップS311において第1条件として決定されたリリース閾値である。取得された距離がリリース閾値より大きいと判定される場合(ステップS411でYes)、ステップS412に進む。取得された距離がリリース閾値より大きいと判定されない場合(ステップS411でNo)、リリース操作は認識されないため、図3のフローチャートに戻る。
ステップS412では、認識部216が、指先の状態が、タッチ状態から非タッチ状態に遷移したことを表す情報をRAM202に保持する。またこのとき、認識部216は、現在時刻を、最後にリリース操作が認識された時刻としてRAM202に保持する。ステップS413では、認識部216が、条件決定部215及び表示制御部217など、後続する処理を行う各機能部に、タッチ入力が終了されたことを通知する。
図3のフローチャートに戻り、ステップS308では、表示制御部217が、認識部216の認識結果に基づいて、表示部であるプロジェクタ104に対する出力を制御する。例えば、タッチ操作が認識された場合には、ステップS303において検出された指先位置に応じて表示されている画像の一部の色を変更する。また、リリース操作が認識された場合には、指先位置に応じて表示されている画像の一部を拡大する。ただしこれらは一例に過ぎない。
ステップS309では、条件決定部215が、RAM202に保持されている指先の状態を表す情報を参照し、現在は非タッチ状態かを判定する。なおステップS309の判定は、現フレームに対するタッチ操作とリリース操作の認識処理の結果に基づくものであるため、ステップS305の判定と同じ結果になるとは限らない。現在は非タッチ状態であると判定された場合(ステップS309でYes)、ステップS310に進む。現在は非タッチ状態でないと判定された場合(ステップS309でNo)、ステップS311に進む。ステップS310では、次のフレームの処理で利用するタッチ閾値を決定する処理が実行される。ステップS311では、次のフレームの処理で利用するリリース閾値を決定する処理が実行される。ステップS310のタッチ閾値決定処理と、ステップS311のリリース閾値決定処理については後述する。
[リリース閾値の決定処理]
ここで、ステップS311で実行されるリリース閾値決定処理の詳細を説明する。まず、図5に、タッチ操作とリリース操作を連続して入力する指先の、タッチ対象面に対する近接の程度の遷移の一例を表す。図5(a)(b)において、縦軸はz座標を表す。z座標は本実施形態では、操作体とタッチ対象面(z=0の面)の間の近接の程度を表す距離である。また、z座標は、テーブル面(z=0)からの指先の高さと言いかえることもできる。横軸は時間である。図5(a)の軌跡501は、ユーザが手106の人差指の指先500を対象面101に接触させてタッチ操作を行い、その直後にリリース操作を行う(この入力は上述したタップ操作に相当する)場合の指先500の理想的な軌跡である。理想的な軌跡501の場合、時間が進むにつれて、z座標が一様に減少し、ピークを越えた後で一様に増加している。
しかしながら、様々なユーザがそれぞれ自然なタップ操作を行う場合、取得される指先位置の軌跡は理想的とは限らない。実際には、図5(b)に示すように、ユーザの手の動きの個人差や試行差、またセンサの距側精度の影響により様々である。例えば、軌跡502は、タッチ操作後に指先500が十分に離れなかった場合の軌跡である。また、軌跡503は、指先と対象面とが十分に近づかない場合の軌跡である。また、軌跡504は、zがマイナスの値として検出されてしまった場合の軌跡である。軌跡505は、値がぶれた結果、細かい上下移動が検出されてしまった場合の軌跡である。これらの軌跡に対し、例えば破線506で示す固定されたz座標をリリース閾値として用いる。すると、そもそもタッチ操作が検出されなかったり、タッチ操作が認識できてもリリース操作が認識できなかったり、エラーとなってしまったり、複数回タッチ操作が検出されてしまったりし得る。本実施形態では、図5(b)のような理想的ではない軌跡を描くタッチ入力による操作の誤検出を低減するため、リリース操作の認識に用いるリリース閾値の値を固定せず、タッチ入力が開始後の指先と対象面の近接の程度遷移に応じて動的に決定する。
ここで図6(a)のフローチャートを参照して、ステップS311のリリース閾値決定処理の流れを説明する。まず、ステップS601において、条件決定部215は、ステップS304において取得された距離が、RAM202に保持されている第1基準値より小さいかを判定する。本実施形態において第1基準値は、タッチ入力が開始された後の操作体とタッチ対象面の間の距離の遷移において、最小の値が選ばれる。なお、初めてステップS311の処理が行われるため第1基準値の情報がRAM202に保持されていない場合、ステップS601は常にYesと判定するものとする。取得された距離が、保持している第1基準値より小さいと判定された場合(ステップS601でYes)、ステップS602に進む。取得された距離が、保持している第1基準値より小さいと判定されない場合(ステップS601でNo)、現フレームではリリース閾値を変更する必要がないので、図3のフローチャートに戻って一連の処理を終了する。ステップS602では、条件決定部215が、ステップS304において取得された距離を、第1基準値として保持する。ステップS603では、条件決定部215が、RAM202に保持している第1基準値に、所定値α(α>0)を加えた値を、リリース閾値として決定する。決定されるリリース閾値は、現在のタッチ入力の終了を認識するための、操作体と対象面の近接の程度に関する第1条件である。
図7に、本実施形態によって決定されるリリース閾値の一例を表す。図7においても、図5と同様、縦軸にz座標、横軸に時間が表される。破線700は、初期値として与えられるタッチ閾値(一例としてタッチ閾値の大きさをγ>0で表す)である。本実施形態ではまず、非タッチ状態にある指先500と対象面101との間の距離が閾値700を下回った時点で、指先のタッチ状態への状態遷移が検出される。それにより、タッチ入力が開始されたことが認識される。この時点をタッチ検出時点701として図中に示す。この後、フレームレートに従って新しく距離画像が入力される度に、指先500と対象面101の間の距離(指先500のz座標)の最小値が、第1基準値として保持される。図7において、線702は、フレーム毎に保持される第1基準値の軌跡を表す。そして、各フレームにおいて、第1基準値(線702)に、所定値α(z方向の幅703)を加えた値を、リリース閾値として決定する。決定されたリリース閾値は、次のフレームを対象として、ステップS307のリリース操作の認識処理が実行されるときに、ステップS411の判定処理に利用される。図7において、破線704は、フレーム毎に決定されるリリース閾値の軌跡を表す。例えば、図7に示す軌跡502にそった指先500の動きが検出された場合、指先500とタッチ対象面101の間の距離(z座標)がリリース閾値(破線704)を上回った時点705において、リリース操作が認識される。
なお、所定値α(z方向の幅703)はセンサの距側誤差の大きさを許容するように定めることで、リリース操作の誤検出を抑制することが可能となる。センサの距側誤差は指先の形状や表面の特性によっても変化する場合があるため、これらも所定値αを定める上で参考にすることが望ましい。本実施形態では、このようにリリース閾値を動的に設定することで、適切なタイミングでリリース操作を認識することができるようになる。例えば、軌跡503のように操作体が対象面に十分に近づかないような場合にもタッチ操作を認識するためには、タッチ閾値γをある程度大きく設定する必要がある。そのような場合でも、本実施形態によるリリース閾値の決定方法を用いれば、リリース閾値は不必要なまでに大きくなることはない。
[タッチ閾値決定処理]
ここで、ステップS310で実行されるタッチ閾値の決定処理の詳細を説明する。図6(b)は、本実施形態で実行されるタッチ閾値決定処理の流れの一例を表すフローチャートである。まず、ステップS611において、条件決定部215は、この時点がリリース操作の後、所定時間以内かを判定する。ステップS611の処理は、例えばユーザが変わった場合や、実行されるアプリケーションが変わった場合、あるいは装置が起動状態のまま放置された場合に、確実に閾値を初期状態に戻すための処理である。従って、ステップS611で判定される所定時間は、1人のユーザがアプリケーションに対して連続操作を行う平均的な時間の長さに対して、十分に長い時間として定められる。また環境によっては、ステップS611は省略してしまってもよい。本実施形態では、条件決定部215は、ステップS412でRAM202に最後にリリース操作が認識された時刻の情報を使って判定する。現在がリリース操作の後所定時間以内であると判定された場合(ステップS611でYes)、ステップS613に進む。現在がリリース操作の後所定時間以内であると判定されない場合(ステップS611でNo)、ステップS612に進む。本実施形態において条件決定部215は、ステップS611でNoと判定する場合、ステップS412でRAM202に最後にリリース操作が認識された時刻の情報を削除する。なお、情報処理装置100が起動されてからこの時点までに一度もタッチ操作とリリース操作が認識されていない状態(初期状態といえる)でステップS611の処理が実行されている場合、判定結果はNoとなる。ステップS612では、条件決定部215が、タッチ閾値を、タッチ閾値の初期値として与えられている値γ(γ>0)に決定する。そして、図3のフローチャートに戻って一連の処理を終了する。
一方、ステップS613において、条件決定部215は、ステップS304において取得された距離が、RAM202に保持されている第2基準値より大きいかを判定する。本実施形態において第2基準値は、非タッチ状態における操作体とタッチ対象面の間の距離の遷移において、最大の値が選ばれる。なお、初めてステップS613の処理が行われるため、第2基準値の情報がRAM202に保持されていない場合、ステップS613は常にYesと判定するものとする。取得された距離が、保持している第2基準値より大きいと判定された場合(ステップS613でYes)、ステップS614に進む。取得された距離が、保持している第1基準値より大きいと判定されない場合(ステップS613でNo)、ステップS612に進む。ステップS614では、条件決定部215が、ステップS304において取得された距離を、第2基準値として保持する。ステップS615では、条件決定部215が、RAM202に保持している第2基準値から、所定値β(β>0)を減じた値を、タッチ閾値として決定する。
さらに、ステップS616で、条件決定部215が、ステップS613で決定されたタッチ閾値が、タッチ閾値の初期値として与えられている値γ(γ>0)より大きいかを判定する。閾値が初期値γより大きいと判定された場合(ステップS616でYes)、ステップS612に進む。閾値が初期値γより大きいと判定されない場合(ステップS616でNo)、図3のフローチャートに戻って一連の処理を終了する。ステップS616の処理によりタッチ閾値の最大値を初期値γにすることで、タッチ閾値が無尽蔵に大きくなってしまうことを防ぐことができる。タッチ閾値の最大値は必ずしも初期値γに一致する必要はない。ただし、初期値は、情報処理装置100の設置環境に対して最適化された値が設定されているため、γをタッチ閾値の最大値とするのが効率的である。ステップS310で上記のように決定されるタッチ閾値は、次のタッチ入力の開始あるいは再開を認識するための、操作体と対象面の近接の程度に関する第2条件である。
図8に、本実施形態によって決定されるタッチ閾値の一例を表す。なお図8は、図7に示した操作体の動きの続きを表している。従って、図7と共通する要素には同じ番号を付し、詳細な説明は省略する。図8は、直前にタッチ操作とリリース操作が認識された後で、再びタッチ入力が開始される場合の例を表す。このような状況は例えば、「ダブルタップ操作」と呼ばれる、タップ操作を2回連続して入力する操作が入力される場合などで発生する。リリース操作が認識された時点705では、タッチ状態にある指先500と対象面101との間の距離がリリース閾値(破線704)を上回り、非タッチ状態に遷移する。本実施形態では時点705の後、フレームレートに従って新たに距離画像が入力される度に、指先500と対象面101の間の距離(指先500のz座標)の最大値が、第2基準値として保持される。図8において、線800は、フレーム毎に保持される第2基準値の軌跡を表す。そして、各フレームにおいて、第2基準値(線800)から、所定値β(z方向の幅801)を減じた値を、タッチ閾値として決定する。図8において、破線802は、フレーム毎に決定されるタッチ閾値の軌跡を表す。例えば、図8における軌跡502にそった指先500の動きが検出された場合、指先500とタッチ対象面101の間の距離(z座標)がタッチ閾値(破線802)を下回った時点803において、タッチ操作が認識される。ここで指先500の軌跡502は、初期値として与えられたタッチ閾値である閾値700を上回る前に、再びタッチ対象面101に近づいている。ダブルタップ操作を入力する場合のように、ユーザがタッチとリリースを繰り返し入力しようとすると、指先の動きが緩慢になり、図8のようにリリースの後に指の高さが十分に上がりきらない傾向がある。本実施形態によれば、上述したようにタッチ閾値を改めて決定することで、リリース操作の後、初期値として与えられたタッチ閾値γを上回る前に、指先が再びタッチ対象面に近づけられた場合でも、タッチ操作を検出することが可能となる。
なお、所定値βはセンサの距側誤差の大きさを許容するように定めることで、タッチ操作の誤検出を抑制することが可能となる。センサの距側誤差は指先の形状や表面の特性によっても変化する場合があるため、これらも所定値βを定める上で参考にすることが望ましい。
以上により、本実施形態では、操作体と対象面との間の距離取得値に誤差が含まれる場合においても、ユーザの意図に沿ったタイミングでリリース操作を認識することができる。さらに、本実施形態によれば、リリース操作の直後に再び入力されるタッチ操作について、ユーザの指の動きが緩慢なものになった場合でも、その認識を容易とする。
なお、上述した例では、テーブル上の平面を、タッチ対象面としてタッチ入力を受け付ける場合を説明した。ただし、タッチ対象面の向きや形状は上向きの平面に限定されない。例えば、テーブル上の平面に代わり、曲面や点をタッチ対象面としても、本実施形態は適用可能である。さらに、MRシステムにおけるHMD(Head Mount Display)等を通して見る仮想面をタッチ対象面として用いてもよい。特に、仮想面へのタッチ操作とリリース操作時には、ユーザが触覚によって指先が仮想面に触れたか、又は仮想面から離れたかを感知することが困難である。そのため、指先が対象面に十分に近づかない場合や、指先が定義されたタッチ対象面を突き抜ける場合が発生しやすい。このような場合は、本実施形態によってリリース閾値を動的に決定することによってユーザの意図に沿ったリリース操作が認識しやすくなるという効果がある。具体的には、指先が仮想面の内側方向に最も接近した際の距離を第1基準値として保持し、基準値に所定値を加えたリリース閾値を決定する。同様に、タッチ対象面が仮想面である場合も、本実施形態によってタッチ閾値を決定することで、リリース操作後に再び入力されるタッチ操作の誤認識を低減できる。
また、上述した例では、距離画像センサ102によって取得した指先と対象面との間の距離を、近接の程度として取得し、タッチ操作を検出する例を説明した。ただし、距離に代わり、タッチセンサの静電容量や感圧量、又は指先と対象面との接触面積等をタッチ操作の認識のための近接の程度とする場合であっても適用可能である。例えば、指先と対象面の近接の程度を、指先がタッチ対象面に近づくことで生じる静電容量の変化量で取得する場合は、変化量が大きいほど、指先と対象面が近いことを意味する。従って、リリース閾値を決定する場合、タッチ入力の開始後、静電容量が最大となった時点での変化量を基に第1基準値が特定される。また、指先と対象面の近接の程度を、指先によるタッチ対象面の感圧量として取得する場合は、圧力量が大きいほど、指先と対象面が強く近接したことを意味する。従って、リリース閾値を決定する場合、タッチ入力の開始後、圧力が最大となった時点の情報を基に第1基準値は特定される。また、指先と対象面の近接の程度を、指先と対象面との接触面積として取得する場合は、接触面積が大きいほど、指先と対象面が強く近接したことを意味する。従って、リリース閾値を決定する場合、タッチ入力の開始後、接触面積が最大となった時点の情報を基に第1基準値は特定される。タッチ閾値の決定における第2基準値の特定方法もこれに準じる。
<変形例>
次に、第1実施形態の変形例として、タッチ操作の入力からリリース操作の入力までの間に、指先がある程度の距離を移動する場合にも、適切なタッチ閾値及びリリース閾値の決定する変形例を示す。変形例第1以下では、タッチ操作の入力からリリース操作の入力までの間に、操作体をタッチ対象面に平行な方向に移動させる操作を、ムーブ操作と称する。ユーザがムーブ動作を入力する場合に、タッチ対象面と操作体の間の距離に検出誤差が発生すると、ユーザの意図に反してリリース閾値を越える動きが検出されてしまうことで、ムーブ操作の途中でリリースが誤検出される場合がある。そこで、本実施形態では特に、操作体がタッチ状態にある間の動きが、ムーブ操作としての意味を有する可能性を考慮し、リリース操作が認識されるための条件(第1条件)の厳しさを制御する。
以下、変形例でも、第1実施形態と同様に、テーブルトップインタフェースシステムのテーブル面に投影されたアイテムに対し、ユーザが片手の指1本によるタッチ入力を行う場合を例に挙げて説明する。ただし、操作体はユーザの手や指に限られない。変形例に係るインタフェースシステムの外観および装置の構成は、図1及び図2に示した第1実施形態のものに準じる。従って各要素について、詳細な説明を省略する。
図2(c)は、変形例における情報処理装置100の機能構成の一例を示すブロック図である。各機能部は、CPU200が、ROM201に格納されたプログラムをRAM202に展開し、第1の実施形態に準じた各フローチャートに従った処理を実行することで実現される。ただし、代替としてハードウェアを用いることも可能である。なお図2(b)に示した第1の実施形態と同等の機能を有する機能部には同じ番号を付して詳細な説明は省略している。ここでは第1の実施形態と異なる点を説明する。
移動量取得部220は、位置検出部212によって検出された指先の位置について、指先の状態が非タッチ状態からタッチ状態に遷移した時点からの移動距離を取得する。時間取得部221は、認識部216の指先の状態が非タッチ状態からタッチ状態に遷移した時点を基準とした経過時間を、タッチ継続時間として取得する。変形例の条件決定部215は、時間取得部221が取得したタッチ継続時間と、移動量取得部220が取得したタッチ操作を認識した時点からの操作体(指先)の移動距離を利用して、タッチ入力の終了を認識するための第1条件を決定する。変形例においても、第1条件は、操作体のタッチ対象面に対する近接の程度に関するリリース閾値を設定することで定義される。
[操作認識処理]
変形例においても、メイン処理となる操作認識処理の全体の流れは、図3のフローチャートに従って実行される。ただし、変形例では、ステップS306のタッチ操作の認識処理は、図9(a)のフローチャートに沿って実行される。また、ステップS311のリリース閾値の決定処理は、図9(b)のフローチャートに沿って実行される。以下、これらの第1実施形態との差異部分について説明する。
[タッチ操作の認識処理]
図9(a)は変形例のステップS306において実行される、タッチ操作の認識処理のフローチャートである。変形例では、ステップS402において、認識部216が、指先の状態がタッチ状態に遷移したことを表す情報をRAM202に保持すると、ステップS901に処理が進む。ステップS901において、時間取得部221は、タッチ継続時間の取得を開始する。タッチ継続時間とは、指先の状態が非タッチ状態からタッチ状態に遷移した時点から経過時間である。ステップS902では、移動量取得部220が、ステップS303において検出された指先位置の移動距離の取得を開始する。本実施形態では、現フレームにおける指先位置の座標をタッチ開始位置として保持し、以降のフレームで検出される指先位置との間に生じた変移量を算出するための基準とする。
[リリース閾値決定処理]
図9(b)は変形例のステップS311において実行される、リリース閾値決定処理の流れを表すフローチャートである。まず、ステップS911において、時間取得部221が、ステップS901の処理で計測を開始したタッチ継続時間が、所定時間を越えたかを判定する。タッチ継続時間が、所定時間を越えたと判定される場合(ステップS911でYes)、ステップS913に進む。一方、タッチ継続時間が、所定時間を越えたと判定されない場合(ステップS911でNo)、ステップS912に進む。ステップS912では、移動量取得部220は、ステップS902で保持されたタッチ開始位置と、ステップS303で検出された指先位置の間の距離を、タッチ状態での移動距離として取得し、所定距離を越えたかを判定する。移動距離が所定距離を越えたと判定される場合(ステップS912でYes)、ステップS913に進む。一方、移動距離が所定距離を越えたと判定されない場合(ステップS912でNo)、ステップS601に進む。ステップS913では、条件決定部215が、リリース閾値を所定値δに決定し、リリース閾値決定処理を終了する。本実施形態において所定値δは、タッチ閾値の初期値として与えられる値γと同じであるとする。
図10に、変形例によって決定されるリリース閾値の一例を表す。図10においても、図5や図7と同様、縦軸にz座標、横軸に時間が表される。また、図7で示したのと同じ要素については、同じ番号を付している。破線700は、初期値として与えられるタッチ閾値γ(γ>0)である。本変形例では、タッチ状態での操作体の移動中に設定される固定されたリリース閾値δ(δ>0)は、閾値γと一致する。従って変形例において破線700は、タッチ状態での操作体の移動中に設定されるリリース閾値も表している。
まず、非タッチ状態にある指先500と対象面101との間の距離がタッチ閾値γ(破線700)を下回り、指先500がタッチ状態に遷移した時点をタッチ検出時点701とし図中に示す。本変形例では、タッチ検出時点701において、タッチ継続時間と、指先の移動距離の取得が開始される。タッチ検出時点701以降、フレームレートに従って距離画像が入力される度に、指先500と対象面101の間の距離(z座標)が取得され、最小の距離702が第1基準値として特定される。そして、第1基準値702に、所定値αを加えた値が、各フレームのリリース閾値(図中に破線704で示す)として決定される。ここで、タッチ状態のまま指先500を対象面に平行に動かす操作(例えばムーブ操作)においては、対象面に対する指先の距離の軌跡502が不安定だと、動的に決定されたリリース閾値(破線704)に頻繁に近づく、あるいは上回ってしまう場合がある。リリース閾値を越えると、ユーザがムーブ操作の入力を継続しているつもりであっても、リリース操作が認識されてしまう。
そこで、本変形例では、リリース操作の誤認識を低減することを目的として、タッチ継続時間が所定時間を越える、あるいは指先の移動距離が所定距離を越えた時点900において、リリース閾値を所定値δ(破線700)と決定する。この場合、続くフレームに入力画像を対象とするリリース操作の認識処理においては、軌跡502に示す指先500と対象面101の間の距離が、破線700で表すリリース閾値を上回った時点901において、リリース操作が認識される。
以上により、本変形例では、操作体と対象面との間の距離の取得に誤差が含まれる場合であっても、ユーザの意図に沿ったタイミングでリリース操作を認識することができる。特に、操作体がタッチ状態で移動をする間のリリースの誤認識を低減することができる。
なお、上述した変形例では、リリース閾値を動的に決定せず、固定された値を用いることを決定する基準として、タッチ状態の継続時間や、指先の移動距離を用いた。ただし、これらに代わり、指先の移動速度や手の姿勢の変化を基準として用いてもよい。例えば移動速度を基準として用いる場合は、タッチ状態での操作体の移動速度が所定速度に到達した時点で、リリース閾値を固定の値にする。基準となる情報は、ユーザによって行われる操作の種類や、センサの距離取得精度に合わせて選択することで、リリース操作の検出応答速度と誤検出抑制を調整することが可能となる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
210 画像取得部
211 領域抽出部
212 位置検出部
213 距離取得部
214 基準決定部
215 条件決定部
216 認識部
217 表示制御部

Claims (17)

  1. 所定の面に対する操作体の近接の程度を表す情報を取得する取得手段と、
    前記操作体による前記所定の面へのタッチ入力の開始が認識された第1の時点より後の前記近接の程度の遷移に基づいて、前記近接の程度に関する第1基準値を決定する基準決定手段と、
    前記基準決定手段によって特定された前記第1基準値に基づいて、前記第1の時点に開始が認識された前記タッチ入力の終了を認識するための前記近接の程度に関する第1条件を決定する条件決定手段と、
    前記取得手段によって取得される情報が表す前記近接の程度が前記条件決定手段によって決定された前記第1条件を満たしたことに応じて、前記タッチ入力の終了を認識する認識手段と、
    を備え、前記条件決定手段は、前記第1の時点より後で、前記操作体が所定速度で移動するまでの間、前記第1条件を前記タッチ入力の終了を認識するための条件として決定することを特徴とする情報処理装置。
  2. 前記条件決定手段は、タッチ入力の開始が認識される度に、該タッチ入力の終了を認識するための前記近接の程度に関する第1条件を決定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記近接の程度を表す情報とは、
    前記操作体と前記所定の面との間の距離に対応する値であることを特徴とする、
    請求項1又は2に記載の情報処理装置。
  4. 前記近接の程度を表す情報とは、
    前記操作体により前記所定の面に与えられる圧力の大きさに対応する値であることを特徴とする、
    請求項1又は2に記載の情報処理装置。
  5. 前記近接の程度を表す情報とは、
    前記操作体が近接することによって前記所定の面に生じる静電容量の変化量に対応する値であることを特徴とする、
    請求項1又は2に記載の情報処理装置。
  6. 前記近接の程度を表す情報とは、
    前記操作体と前記所定の面とが接触する面積の大きさに対応する値であることを特徴とする、
    請求項1又は2に記載の情報処理装置。
  7. 前記基準決定手段は、
    前記操作体による前記所定の面へのタッチ入力の開始が認識された後の前記近接の程度の遷移のうち、前記操作体が前記所定の面に最も近づいた時点での前記近接の程度に基づいて前記第1基準値を決定することを特徴とする、
    請求項1乃至6のいずれか一項に記載の情報処理装置。
  8. 前記条件決定手段は、前記操作体と前記所定の面との間の距離が、前記第1基準値に所定値を加えたことで得られる閾値より大きいことを前記近接の程度に関する前記第1条件として決定することを特徴とする、
    請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. 前記条件決定手段は、前記操作体による前記所定の面へのタッチ入力の開始が認識された後、前記タッチ入力が継続されている時間が所定時間を越えるまでの間は、前記第1条件を前記タッチ入力の終了を認識するための条件として決定することを特徴とする、
    請求項1乃至8のいずれか一項に記載の情報処理装置。
  10. 前記条件決定手段は、前記第1の時点より後で、前記タッチ入力中の前記操作体の移動距離が所定距離を越えるまでの間、前記第1条件を前記タッチ入力の終了を認識するための条件として決定することを特徴とする、
    請求項1乃至8のいずれか一項に記載の情報処理装置。
  11. さらに、
    前記基準決定手段は、前記操作体による前記所定の面へのタッチ入力の終了が認識された第2の時点の後の前記近接の程度に基づいて、前記近接の程度に関する第2基準値を決定し、
    前記条件決定手段は、前記第2基準値に基づいて、前記第2の時点より後に開始されるタッチ入力の開始を認識するための前記近接の程度に関する第2条件を決定し、前記認識手段は、前記取得手段によって取得される情報が表す前記近接の程度が前記条件決定手段によって決定された前記第2条件を満たしたことに応じて、新たなタッチ入力が開始されたことを認識する
    を備えることを特徴とする請求項1乃至1のいずれか一項に記載の情報処理装置。
  12. 前記基準決定手段は、
    前記第2の時点より後の前記近接の程度の遷移のうち、前記操作体が前記所定の面から最も離れ時点での前記近接の程度に基づいて前記第2基準値を決定することを特徴とする、
    請求項1に記載の情報処理装置。
  13. 前記条件決定手段は、前記操作体と前記所定の面との間の距離が、前記第2基準値から所定値を減じたることで得られる閾値より小さいことを前記近接の程度に関する前記第2条件として決定することを特徴とする、
    請求項11又は12のいずれか一項に記載の情報処理装置。
  14. 前記条件決定手段は、
    前記第2の時点の後で、前記操作体と前記所定の面との間の距離が所定の距離を越えるまでの間、前記第2条件を前記タッチ入力が開始されたことを認識するための条件として決定することを特徴とする、
    請求項11乃至13のいずれか一項に記載の情報処理装置。
  15. 取得手段により、所定の面に対する操作体の近接の程度を表す情報を取得する取得工程と、
    基準決定手段により、前記操作体による前記所定の面へのタッチ入力の開始が認識された第1の時点より後の前記近接の程度の遷移に基づいて、前記近接の程度に関する第1基準値を決定する特定工程と、
    条件決定手段により、前記第1基準値に基づいて、前記第1の時点に開始が認識された前記タッチ入力の終了を認識するための前記近接の程度に関する第1条件を決定する決定工程と、
    認識手段により、前記取得工程で取得される情報が表す前記近接の程度が前記決定工程で決定された前記第1条件を満たしたことに応じて、前記タッチ入力の終了を認識する認識工程と、
    を備え、前記条件決定工程では、前記第1の時点より後で、前記操作体が所定速度で移動するまでの間、前記第1条件を前記タッチ入力の終了を認識するための条件として決定することを特徴とする情報処理装置の制御方法。
  16. コンピュータを、所定の面に対する操作体の近接の程度を表す情報を取得する取得手段と、
    前記操作体による前記所定の面へのタッチ入力の開始が認識された第1の時点より後の前記近接の程度の遷移に基づいて、前記近接の程度に関する第1基準値を決定する基準決定手段と、
    前記基準決定手段によって特定された前記第1基準値に基づいて、前記第1の時点に開始が認識された前記タッチ入力の終了を認識するための前記近接の程度に関する第1条件を決定する条件決定手段と、
    前記取得手段によって取得される情報が表す前記近接の程度が前記条件決定手段によって決定された前記第1条件を満たしたことに応じて、前記タッチ入力の終了を認識する認識手段とを備え、前記条件決定手段は、前記第1の時点より後で、前記操作体が所定速度で移動するまでの間、前記第1条件を前記タッチ入力の終了を認識するための条件として決定する情報処理装置として機能させるプログラム。
  17. 請求項1に記載されたプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
JP2017509073A 2015-08-20 2015-08-20 情報処理装置、その制御方法、プログラム、及び記憶媒体 Expired - Fee Related JP6711817B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/073332 WO2017029749A1 (ja) 2015-08-20 2015-08-20 情報処理装置、その制御方法、プログラム、及び記憶媒体

Publications (2)

Publication Number Publication Date
JPWO2017029749A1 JPWO2017029749A1 (ja) 2018-06-07
JP6711817B2 true JP6711817B2 (ja) 2020-06-17

Family

ID=58050742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017509073A Expired - Fee Related JP6711817B2 (ja) 2015-08-20 2015-08-20 情報処理装置、その制御方法、プログラム、及び記憶媒体

Country Status (3)

Country Link
US (1) US10156938B2 (ja)
JP (1) JP6711817B2 (ja)
WO (1) WO2017029749A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9880267B2 (en) * 2015-09-04 2018-01-30 Microvision, Inc. Hybrid data acquisition in scanned beam display
US9933851B2 (en) * 2016-02-22 2018-04-03 Disney Enterprises, Inc. Systems and methods for interacting with virtual objects using sensory feedback
US10891044B1 (en) * 2016-10-25 2021-01-12 Twitter, Inc. Automatic positioning of content items in a scrolling display for optimal viewing of the items
JP2018106535A (ja) * 2016-12-27 2018-07-05 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP6770718B2 (ja) * 2017-03-21 2020-10-21 株式会社東海理化電機製作所 触覚呈示装置
US10474248B2 (en) * 2018-02-12 2019-11-12 Microvision, Inc. Smart pulsing in regions of interest in scanned beam 3D sensing systems
US10671219B2 (en) 2018-02-12 2020-06-02 Microvision, Inc. Scanning time of flight 3D sensing with smart pulsing
KR102469722B1 (ko) * 2018-09-21 2022-11-22 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US11288733B2 (en) * 2018-11-14 2022-03-29 Mastercard International Incorporated Interactive 3D image projection systems and methods

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4052498B2 (ja) 1999-10-29 2008-02-27 株式会社リコー 座標入力装置および方法
US8164573B2 (en) * 2003-11-26 2012-04-24 Immersion Corporation Systems and methods for adaptive interpretation of input from a touch-sensitive input device
US8381135B2 (en) * 2004-07-30 2013-02-19 Apple Inc. Proximity detector in handheld device
US7619616B2 (en) * 2004-12-21 2009-11-17 Microsoft Corporation Pressure sensitive controls
EP2104024B1 (en) * 2008-03-20 2018-05-02 LG Electronics Inc. Portable terminal capable of sensing proximity touch and method for controlling screen using the same
US8363019B2 (en) * 2008-05-26 2013-01-29 Lg Electronics Inc. Mobile terminal using proximity sensor and method of controlling the mobile terminal
KR20100136649A (ko) * 2009-06-19 2010-12-29 삼성전자주식회사 휴대단말기의 근접 센서를 이용한 사용자 인터페이스 구현 방법 및 장치
JP2011053971A (ja) * 2009-09-02 2011-03-17 Sony Corp 情報処理装置、情報処理方法およびプログラム
US8481873B2 (en) * 2009-09-30 2013-07-09 Freescale Semiconductor, Inc. Capacitive touch sensor device configuration systems and methods
JP5579780B2 (ja) * 2012-06-06 2014-08-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 入力装置、入力支援方法及びプログラム

Also Published As

Publication number Publication date
WO2017029749A1 (ja) 2017-02-23
US10156938B2 (en) 2018-12-18
JPWO2017029749A1 (ja) 2018-06-07
US20170052632A1 (en) 2017-02-23

Similar Documents

Publication Publication Date Title
JP6711817B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US9916043B2 (en) Information processing apparatus for recognizing user operation based on an image
US9529527B2 (en) Information processing apparatus and control method, and recording medium
US9069386B2 (en) Gesture recognition device, method, program, and computer-readable medium upon which program is stored
JP6482196B2 (ja) 画像処理装置、その制御方法、プログラム、及び記憶媒体
JP6039248B2 (ja) 情報処理装置およびその制御方法
JP6723814B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
US20120299852A1 (en) Computer system with touch screen and gesture processing method thereof
JP2016520946A (ja) 人間対コンピュータの自然な3次元ハンドジェスチャベースのナビゲーション方法
US20130069876A1 (en) Three-dimensional human-computer interaction system that supports mouse operations through the motion of a finger and an operation method thereof
EP3176675B1 (en) Information processing device, information processing method and program
JP6452369B2 (ja) 情報処理装置とその制御方法、プログラム、記憶媒体
GB2530150A (en) Information processing apparatus for detecting object from image, method for controlling the apparatus, and storage medium
JP2017084307A (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
JP6555958B2 (ja) 情報処理装置、その制御方法、プログラム、および記憶媒体
JP5558899B2 (ja) 情報処理装置、その処理方法及びプログラム
JP6033061B2 (ja) 入力装置およびプログラム
KR101068281B1 (ko) 후면부 손가락 움직임 및 제스처 인식을 이용한 휴대형 정보 단말기 및 콘텐츠 제어 방법
JP6579866B2 (ja) 情報処理装置とその制御方法、プログラム、記憶媒体
JP6618301B2 (ja) 情報処理装置、その制御方法、プログラム、及び記憶媒体
KR102346294B1 (ko) 2차원 이미지로부터 사용자의 제스처를 추정하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
JP2023139535A (ja) ジェスチャ認識装置、頭部装着型表示装置、ジェスチャ認識方法、プログラム、および記憶媒体
JP6570376B2 (ja) 情報処理装置、その制御方法、プログラム、記憶媒体
CN106575184B (zh) 信息处理装置、信息处理方法及计算机可读介质
JP2017211739A (ja) ユーザインターフェース装置およびユーザインターフェースプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180802

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200313

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200528

R151 Written notification of patent or utility model registration

Ref document number: 6711817

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees