JP2017228216A - Information processing apparatus, control method therefor, program, and storage medium - Google Patents
Information processing apparatus, control method therefor, program, and storage medium Download PDFInfo
- Publication number
- JP2017228216A JP2017228216A JP2016125592A JP2016125592A JP2017228216A JP 2017228216 A JP2017228216 A JP 2017228216A JP 2016125592 A JP2016125592 A JP 2016125592A JP 2016125592 A JP2016125592 A JP 2016125592A JP 2017228216 A JP2017228216 A JP 2017228216A
- Authority
- JP
- Japan
- Prior art keywords
- input
- operation surface
- input position
- distance
- threshold value
- 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.)
- Pending
Links
Images
Landscapes
- Position Input By Displaying (AREA)
Abstract
Description
本発明は、連動する複数の位置によって入力される操作を認識する技術に関する。 The present invention relates to a technique for recognizing operations input by a plurality of linked positions.
タッチ操作を認識するシステムでは、操作面上の複数の複数の位置を指先やペン先等の物体によってタッチして連動させることで所定の指示を入力するマルチタッチ操作が広く利用されている。ユーザがマルチタッチ操作を意図した状況であっても、複数の物体が時間的な誤差なく同時に操作面にタッチできるという理想的な状況は稀である。現実のマルチタッチの入力では、複数の物体がそれぞれ操作面をタッチするタイミングには多少の時間差が生じる。 In a system that recognizes a touch operation, a multi-touch operation that inputs a predetermined instruction by touching and interlocking a plurality of positions on an operation surface with an object such as a fingertip or a pen tip is widely used. Even in a situation where the user intends to perform a multi-touch operation, an ideal situation where a plurality of objects can touch the operation surface at the same time without any time error is rare. In actual multi-touch input, there is a slight time difference between the timings at which a plurality of objects touch the operation surface.
そこで特許文献1では、2つのタッチ位置間の距離又はタッチ開始時間の差分が条件を満たすほど小さい場合に、2つのタッチ位置の入力が、2つの操作入力を意図するものではなく、1のマルチタッチ操作の入力を意図したものであると判定する。 Therefore, in Patent Literature 1, when the distance between the two touch positions or the difference in touch start time is small enough to satisfy the condition, the input of the two touch positions is not intended to be two operation inputs, but one multi It is determined that the input of the touch operation is intended.
任意のテーブル面や壁面に画像やUI(ユーザインタフェース)を映して操作面とし、その画像やUIに指やペン等で接触して操作するシステムでは、各種カメラやセンサを用い、指先やペン先等の操作面への近接状態を検出する方式が使用される。例えば、近接状態として手やペン等の所定の物体の先端と操作面との間の距離を取得し、その距離が所定値より小さい状態をタッチ入力と認識することがある。物体の先端と操作面との間の距離が所定値より小さい状態をタッチ入力とみなすシステムでは、実質的には、物体が操作面に接触するより前であって、物体が空中に存在する間にタッチ入力が認識される。そのため、たとえユーザが各物体を操作面に物理的に接触させるタイミングを揃えたとしても、物体が空中にあった間の位置にずれがあれば、タッチ入力が検出されるタイミングに差が生じる可能性もある。また、このようなシステムでは、センサの精度や各物体の位置関係に影響され、物体の先端と操作面との間の距離計測の結果に誤差が生じ得る。そのため、物体によって、先端と操作面との間の距離が所定値より小さくなったと検出されるタイミングに差が生じる可能性もある。このように生じた時間差の結果として、2つの物体の片方だけがタッチ入力中であると認識される時間が長くなり、その間にシングルタッチ操作が認識されてしまう場合がある。 In a system in which an image or UI (user interface) is projected on an arbitrary table surface or wall surface to be used as an operation surface, and the image or UI is operated by touching the image or UI with a finger, pen, etc., various cameras and sensors are used. A method for detecting the proximity state to the operation surface is used. For example, a distance between a tip of a predetermined object such as a hand or a pen and an operation surface may be acquired as a proximity state, and a state where the distance is smaller than a predetermined value may be recognized as a touch input. In a system in which the distance between the tip of the object and the operation surface is smaller than a predetermined value is regarded as a touch input, it is substantially before the object touches the operation surface and while the object exists in the air. Touch input is recognized. Therefore, even if the user arranges the timing at which each object is physically brought into contact with the operation surface, if the position of the object is in the air, there is a difference in the timing at which the touch input is detected. There is also sex. Further, in such a system, an error may occur in the result of distance measurement between the tip of the object and the operation surface, affected by the accuracy of the sensor and the positional relationship between the objects. Therefore, there is a possibility that a difference occurs in the timing at which it is detected that the distance between the tip and the operation surface is smaller than a predetermined value depending on the object. As a result of the time difference thus generated, it may take a long time to recognize that only one of the two objects is being touch-input, and a single touch operation may be recognized during that time.
特許文献1では、物体と操作面の近接状態が所定条件を満たすことをタッチ入力として検出する場合に、1のマルチタッチ操作の入力を意図した複数の入力位置を特定することまで十分考慮されてはいなかった。 In Patent Document 1, when it is detected as a touch input that the proximity state between the object and the operation surface satisfies a predetermined condition, sufficient consideration is given to specifying a plurality of input positions intended for one multi-touch operation input. I didn't.
本発明は、上記を鑑みてなされたものであり、物体とタッチ対象面の近接状態に基づいて入力を認識するシステムにおける、複数の入力位置を使って入力される操作の操作性を向上させることを目的とする。 The present invention has been made in view of the above, and improves the operability of an operation input using a plurality of input positions in a system that recognizes an input based on a proximity state of an object and a touch target surface. With the goal.
以上の課題を解決するために、本発明における情報処理装置は、所定の操作面上の空間に入力される入力位置について前記所定の操作面からの距離に相当する情報を取得する取得手段と、前記取得手段に取得される情報に基づいて、前記所定の操作面からの距離が第1閾値を下回る1つの入力位置を用いて入力される第1操作と、前記所定の操作面に対する距離が前記第1閾値を下回る複数の入力位置を用いて入力される第2操作を認識する認識手段と、前記認識手段に認識された操作への応答するための出力を制御する出力制御手段を備え、前記出力制御手段は、前記所定の操作面からの距離が、前記第1閾値より大きい第2閾値を下回る入力位置の数が複数で、かつ、前記所定の操作面からの距離が前記第1閾値を下回る入力位置が1つの間、前記第1操作に応答しないことを特徴とする。 In order to solve the above problems, an information processing apparatus according to the present invention includes an acquisition unit that acquires information corresponding to a distance from the predetermined operation surface with respect to an input position input to a space on the predetermined operation surface; Based on the information acquired by the acquisition means, the first operation input using one input position whose distance from the predetermined operation surface is less than the first threshold, and the distance to the predetermined operation surface is Recognizing means for recognizing a second operation input using a plurality of input positions below a first threshold, and output control means for controlling an output for responding to the operation recognized by the recognizing means, The output control means includes a plurality of input positions whose distance from the predetermined operation surface is less than a second threshold value that is greater than the first threshold value, and the distance from the predetermined operation surface satisfies the first threshold value. One input position below During, characterized in that it does not respond to the first operation.
本発明によれば、物体とタッチ対象面の近接状態に基づいて入力を認識するシステムにおける、複数の入力位置を使って入力される操作の操作性が向上する。 According to the present invention, the operability of an operation input using a plurality of input positions in a system that recognizes an input based on the proximity state of the object and the touch target surface is improved.
以下、本発明に係る実施形態を、図面を参照して詳細に説明する。なお、実施形態に記載する構成は例示であり、本発明の範囲は必ずしもそれらの具体的な構成に限定されるとは限らない。 Hereinafter, embodiments according to the present invention will be described in detail with reference to the drawings. Note that the configurations described in the embodiments are examples, and the scope of the present invention is not necessarily limited to these specific configurations.
<第1の実施形態>
まず、第1の実施形態として、テーブルトップインタフェースシステムのテーブル面に投影されたアイテムに対し、ユーザが行うタッチ操作を認識する処理の例を説明する。特に、1つの入力位置によって入力されるシングルタッチ操作と、複数の入力位置によって入力されるマルチタッチ操作の両方を認識可能であることが前提となる。
<First Embodiment>
First, as a first embodiment, an example of processing for recognizing a touch operation performed by a user on an item projected on a table surface of a table top interface system will be described. In particular, it is assumed that both a single touch operation input at one input position and a multi-touch operation input at a plurality of input positions can be recognized.
図1(a)は、本実施形態に係る情報処理装置100を設置したテーブルトップインタフェースシステムの外観の一例である。操作面101は、テーブルトップインタフェースのテーブル部分であり、ユーザは、操作面101をタッチすることでタッチ操作を入力することが可能である。ただし、本実施形態では、操作面101にタッチセンサは搭載されない。そのため、情報処理装置100は、操作面101とユーザが操作する指やペンなどの操作体が実際に接触したかではなく、接触したとみなせる程度に近接した状態をタッチ入力中の状態(以下、タッチ状態)検出することで、タッチ操作の認識を可能とする。
FIG. 1A is an example of the appearance of a tabletop interface system in which the
本実施形態では、操作面101の上方に、操作面を見下ろすようにして距離画像センサ102が設置される。距離画像とは、各画素の値に、当該距離画像を撮像する撮像手段の基準位置(例えばレンズ中心など)から、当該画素に撮像された被写体表面までの距離に対応する情報が反映された画像である。本実施形態において、距離画像センサ102が撮像する距離画像の画素値には、距離画像センサ102から、操作面101あるいはその上方に存在する物体表面までの距離が反映される。撮像された距離画像は、情報処理装置100に距離画像として入力される。情報処理装置100は、距離画像を解析することでユーザの手106の三次元位置を取得し、入力される操作を認識する。従ってユーザは、操作面上の空間(操作面101と距離画像センサ102の間の空間)のうち、距離画像センサ102によって撮像可能な範囲において、手などの所定の物体を動かすことにより空間ジェスチャ操作を入力することが可能である。本実施形態では、赤外光の反射パターン(または反射時間)によって距離情報を取得する方式のセンサを利用する。ただし、例えばステレオカメラシステムや、赤外光発光素子と赤外受光素子を設置することで距離画像を得ることも可能である。また、操作面101を含む空間において、操作体の高さ方向を含む三次元の位置情報が得られる手段であれば、距離画像を撮像する形態に限らず、例えば静電センサや感圧センサや温度センサにより三次元の位置情報を得る方法でも、本実施形態を実施可能である。
In the present embodiment, the
また本実施形態では、可視光カメラ103が上方から操作面101を見下ろすようにして設置される。情報処理装置100は、可視光カメラ103を制御して、操作面101に載置された物体を撮像してその読み取り画像を得る書画カメラとして機能することができる。従って情報処理装置100は、可視光カメラ103によって得られる可視光画像や、距離画像センサ102によって得られる距離画像に基づいて、操作面101上の空間に存在する物体を検出し、さらに識別する。物体には、例えば、ユーザの手、紙媒体や本などのドキュメントやその他の立体物を含む。ただし、図1(a)に例示するシステムの場合は、距離画像センサ102と可視光カメラ103の画角には、テーブル周囲に存在するユーザの頭部は含まれない。そのため得られた距離画像では、画像端部がユーザの腕(肩から先の部分)の何処か一部と交差する。
In the present embodiment, the
プロジェクタ104は、操作面101の上面に画像の投影を行う。本システムでは、ユーザは投影された画像に含まれるアイテム105に対して、タッチや空間ジェスチャによる操作を行う。上述したように、本実施形態では、手106の検出および操作の認識には、距離画像センサ102で取得した距離画像を用いる。距離画像を用いることで、プロジェクタ104の投影光の影響でユーザの手の色が変化しても影響を受けにくいという利点がある。本システムの表示装置は、プロジェクタ104に替えて、操作面101を液晶ディスプレイとするなどで構成することもできる。その場合、可視光画像からの肌色領域を検出するなどして画像から人の手を検出する方式を用いても、投影光の影響は受けずに手の検出が可能である。
The
なお、操作面101を上方から見た画像が得られる構成であれば、必ずしも距離画像センサ102及び可視光カメラ103自体が上方に設置されている必要はない。例えば、上方に設置されたミラーからの反射光を撮像するように距離画像センサ102及び可視光カメラ103を構成しても構わない。プロジェクタ104も同様に、図1(a)の例では、斜め上方から見下ろすように操作面101上への投影を行うが、異なる方向に向けて投影された投影光を、ミラーなどを利用して操作面101に反射させてもよい。操作面101が鉛直方向に沿って設置されたような場合も同様である。
Note that the
本実施形態では、操作面101上の三次元空間に、図1に示すx、y、z軸を定義し、位置情報を扱う。図1(a)の例では、点107を座標軸の原点とする。ここでは一例として、テーブルの上面に平行な二次元がxy平面、テーブル上面に直交し上方に伸びる方向(法線方向)をz軸の正方向としている。本実施形態では、z軸方向は、世界座標系での高さ方向に相当する。しかしながら本実施形態は、ホワイトボードや壁面など、水平ではない面を操作面101とするシステムや、操作面が凹凸を有する場合や、公知のAR(拡張現実)システムを利用して生成された仮想面である場合にも適用可能である。
In the present embodiment, the x, y, and z axes shown in FIG. 1 are defined in the three-dimensional space on the
図1(b)は、距離画像センサ102によって撮像される距離画像とシステムの関係を表す図である。本実施形態において、距離画像センサ102は、画角に含む所定の空間の三次元の位置情報が反映された距離画像を取得する機能を持つ。本実施形態では、距離画像センサ102は、距離画像センサ102から操作面101方向に赤外光を照射し、被写体の表面で反射された反射光を、センサの受光素子で受光する。
FIG. 1B is a diagram illustrating the relationship between the distance image captured by the
本実施形態で利用する距離画像は、受光された反射光の位相遅れを計測することで、画素毎に反射するまでにかかった時間に対応する被写体表面までの距離を、画素値に反映させたものである。本実施形態では、距離画像センサ102は操作面101を見下ろすように距離画像を撮像するため、距離画像の画素値が表す距離情報は、距離画像センサ102から操作面101を見下ろす方向の奥行き方向の距離である。言い換えれば、距離画像の各画素値は、操作面101からの距離方向の位置情報(z座標)を得るための情報を含む。ただし、本実施形態では、距離画像センサ102は、z軸に対して斜めに角度をもつように設置されている。従って、本実施形態では距離画像の画素値をそのままz座標として利用するのではなく、後述するようにセンサや設置環境に応じたパラメータを使った座標変換を施す。そして、後述するように距離画像内に定義された位置情報のuvd座標を、世界座標のxyz座標に変換して利用する。本実施形態では、操作面は地面に平行なテーブル面を想定しているので、入力位置のz座標が表す操作面101からの距離は、操作面101からの高さを表す距離値に相当する。従って、z座標のことを高さと表現する場合がある。
The distance image used in this embodiment reflects the distance to the subject surface corresponding to the time taken to reflect each pixel by measuring the phase delay of the received reflected light in the pixel value. Is. In the present embodiment, since the
図1(b)において、距離画像108は、距離画像センサ102によって撮像される距離画像の内容の一例を表す。ただし、図1(b)では画素値に反映された距離情報は省略し、被写体のエッジのみを明示する。操作面101及び原点107は図1(a)に対応している。画像端111は、距離画像センサ102の画角に相当する。
In FIG. 1B, the
距離画像には、図1(b)に示すようにu軸及びv軸による二次元座標系が設定される。なお図1(b)の例では、距離画像の解像度は640[dot]×480[dot]とする。入力位置110の距離画像内の位置座標が(u,v)であり、距離画像センサ102から入力位置までの距離に相当する画素値がdであるとする。本実施形態では、このように距離画像内で定義される位置情報に対して、距離画像センサ102のレンズ特性および操作面101との相対位置関係等に基づく座標変換を施す。これにより、各画素の座標をテーブルに定義された実世界上の座標系にマッピングし、入力位置110について、実空間の三次元位置(x,y,z)を取得することができる。座標変換に利用する変換行列は、距離画像センサ102が設置された時に、予め調整作業を行い取得する。なお、三次元座標の算出に用いる距離dは、単一の画素値だけでなく、手領域内で入力位置110の近傍の数ピクセル分の画素を対象に、ノイズ除去処理や平均化処理を実施した上で特定してもよい。
As shown in FIG. 1B, a two-dimensional coordinate system based on the u axis and the v axis is set in the distance image. In the example of FIG. 1B, the resolution of the distance image is 640 [dot] × 480 [dot]. Assume that the position coordinates in the distance image of the
斜線で示す領域109は、距離画像108に写っているユーザの手106の像である(以下では単に手領域109という)。本実施形態では、z座標に閾値処理を行うことで、テーブル表面である操作面101より高い位置に存在する被写体が写る領域を、手領域として検出する。本実施形態では、検出される手のそれぞれに対して1箇所の入力位置を検出する。入力位置とは、ユーザが手指を使って指し示していると推定される位置であり、三次元座標で表される。本実施形態では、前提として、ユーザがタッチ操作のために点を指定する場合には、1本だけ指を伸ばした「指さしポーズ」を取ることが規定される。1本指を延ばすポーズが、多くの人にとっては1点を指し示すのに自然な体勢だからである。従って、入力位置としては、手領域109のうち端部だと推定される位置を特定する。指差しポーズであれば、端部は指先に当たる。具体的には、距離画像から、手領域109を検出し、手領域109のうち画像端111から最も遠い位置に存在する画素を示す座標を、指先にあたる1点とみなす。図1(b)に示される手領域109の場合、画像端111から最も遠い点が入力位置110として特定される。なお、入力位置の特定方法はこれに限らず、例えば、手領域から手の五指を検出して、所定の指の端部を特定してもよい。
A hatched
また本実施形態では、フレームレートに従い繰り返し撮像される距離画像の各フレームで、手領域109が画像端111と交差する部分の中央を、手の侵入位置として定義する。図1(b)の手領域109の場合、侵入位置112が特定される。侵入位置112もまた、距離画像内に定義された位置情報を変換することで、実空間内での三次元位置情報として取得される。本実施形態では、距離画像から複数の手領域が検出された場合、そのそれぞれについて、入力位置及び侵入位置が特定される。そして、複数の手領域のそれぞれについてタッチ操作を認識する。
In the present embodiment, the center of the portion where the
以下、本明細書ではユーザがタッチ操作の入力に用いる操作体及びその端部の一例として、ユーザの手106及びその指が利用される場合を説明する。ただし、本実施形態では操作体として、手指だけでなくスタイラスやロボットアームなどの器具を利用する場合にも適用可能である。なお操作体の端部とは、タッチ操作のために入力位置を指し示すのに用いられる部位を示すが、操作体の一部に属し、タッチ操作の入力が可能な部位であれば、突起形状の端部に限定せずともよい。
Hereinafter, in the present specification, a case where the user's
本実施形態では、距離画像センサ102によって撮像される距離画像を使って操作体と操作面101の間の距離を取得し、その距離が第1閾値より小さい場合に、その操作体が操作面101にタッチしたと認識する。さらに、操作体が操作面101にタッチしたと認識するための距離の閾値とは別に、第2閾値を設ける。そして、複数の操作体が検出される場合は、第1閾値による判定の前に第2閾値による閾値判定を行うことで、複数の操作体が連動して1のマルチタッチ操作を入力するのに用いられるかを判定した上で、各操作体によりタッチ入力がなされたかを判定する。図2(a)は、本実施形態に係る情報処理装置100を含むテーブルトップインタフェースのハードウェア構成図である。中央処理ユニット(CPU)200は、RAM202をワークメモリとして、ROM201や記憶装置203に格納されたOSやプログラムを実行して、各種処理の演算や論理判断などを行う。さらにシステムバス204に接続された各構成を制御する。記憶装置203は、ハードディスクドライブや各種インタフェースによって接続された外部記憶装置などであり、実施形態の操作認識処理にかかるプログラムや各種データを記憶する。
In the present embodiment, the distance between the operation body and the
距離画像センサ102は、CPU200の制御に従い、アイテムが表示されるテーブルとアイテムを操作するユーザの手を含む、操作面101上の空間の距離画像を撮像し、撮影した距離画像をシステムバス204に出力する。本実施形態では、距離画像の取得方法として、環境光やテーブル面の表示の影響が小さい反射時間方式(Time−of−Flight方式)を基に説明するが、用途に応じて視差方式や赤外パターン方式などを利用することも可能である。プロジェクタ104は、CPU200の制御に従い、テーブルに操作対象となる画像アイテムを投影表示する。
The
なお上述したシステムでは、可視光カメラ103、距離画像センサ102、プロジェクタ104はそれぞれ情報処理装置100に入出力用のインタフェースを介して接続された外部装置であり、情報処理装置100と協同して情報処理システムを構成する。ただし、これらのデバイスは、情報処理装置100に一体化されていても構わない。なお、距離画像センサ102は、静電センサや感圧センサや温度センサ等でもよく、入力位置の三次元の位置情報や入力位置の接触圧力や接触面積等の接触情報を取得する。
In the above-described system, the visible
図2(b)は、情報処理装置100のソフトウェアの構成を示すブロック図の一例である。これらの各機能部は、CPU200が、ROM201に格納されたプログラムをRAM202に展開し、後述する各フローチャートに従った処理を実行することで実現されている。そして、各処理の実行結果をRAM202に保持する。また例えば、CPU200を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
FIG. 2B is an example of a block diagram illustrating a software configuration of the
三次元情報取得部210は、距離画像センサ102によって撮像された距離画像をフレームレートに従う一定時間毎に取得し、RAM202に随時保持する。なお三次元情報取得部210が取得し、各機能部とやりとりする対象は、実際には画像データに対応する信号であるが、本明細書では単に「距離画像を取得する」として説明する。
The three-dimensional
操作体取得部211は、三次元情報取得部210によって取得された距離画像の各画素について、閾値判定やノイズ低減処理を施し、距離画像中の手領域(腕を含む)を検出する。手領域とは、入力された距離画像のうち、ユーザが操作体として利用する手が被写体として写る画素群である。そして、検出した手領域にIDを付与し、RAM202に保持する。IDを付与する際、異なる距離画像のフレームで検出された手領域が、同一の手領域とみなされた場合には、同じIDを付与する。同一の手領域とみなされる条件とは、時間的に近い距離画像のフレームで検出され、かつ手領域の侵入位置112の距離が近いことである。一方、同一の手領域とみなされない場合には、手領域が検出された順番に数字を付与する(ID=1、2、・・・)。
The operating
入力位置取得部212は、操作体取得部211によって検出された手領域の輪郭情報に基づき、手領域の端部に当たる1点を入力位置として検出する。本実施形態では図1(a)(b)に示したように、手領域の輪郭のうち、画像端111から最も遠くに存在する画素を示す座標を、入力位置として検出する。そして、検出された入力位置の距離画像における位置情報を、世界座標のxyz座標に変換し、手領域と同じIDを付与して、RAM202に保持する。なお、静電センサや感圧センサ等により、操作面101に近接する指先位置の三次元の位置情報(座標値)や接触情報(接触圧力や接触面積等)を取得し、入力位置情報としてRAM202に保持する方法を採用しもよい。
The input
特定部213は、入力位置取得部212により検出された入力位置で、所定の条件を満たす入力位置を、マルチタッチ操作に有効な入力位置を特定する。本実施形態では、入力位置取得部212により検出された複数の入力位置のうち、操作面101からの距離が、所定の第2閾値小さい入力位置が複数存在する場合に、それらの中からマルチタッチ操作の入力として有効な入力位置を特定する。ここで用いられる第2閾値は、入力位置がタッチ状態にあることを判定するために用いられる第1閾値(タッチ閾値と呼ばれることもある)よりも大きい距離が設定される。このように2段階の閾値判定により、本実施形態では、各タッチ位置がタッチ状態にあるか否かを判定するより前に、その入力位置がマルチタッチ操作に用いられる可能性があるか否かを判定した結果を得ることを可能とする。例えば2つの入力位置のうちの片方だけがタッチ状態に遷移した状態にあっても、それらがマルチタッチ操作に用いられる可能性が高い場合は、タッチ状態に遷移した入力位置に基づくシングルタッチ操作の認識を抑制する。そして、他方の入力位置がタッチ状態に遷移するのを待機し、マルチタッチ状態に遷移したことに応じてマルチタッチ操作を認識することが可能となる。
The specifying unit 213 specifies an input position that satisfies a predetermined condition at the input position detected by the input
本実施形態では、操特定部213は、操作面101からの距離が第2閾値よりも小さい複数の入力位置が、予め定義した条件を満たす場合に、それらをマルチタッチ操作の入力として有効な入力位置として特定する。そして、特定された入力位置をIDと関連付けて、特定結果をペアリング情報としてRAM202に保持する。以降、このマルチタッチ操作に有効な複数の入力位置を特定する処理を、複数の入力位置を“ペアリングする”と記載する。
In the present embodiment, the operation specifying unit 213, when a plurality of input positions whose distances from the
認識部214は、入力されるタッチ操作を認識する。まず、入力位置の三次元座標に基づいて、各入力位置の操作面101に対する近接状態が、タッチ入力中とみなされる状態かを判定し、判定結果をRAM202に保持する。本実施形態では、入力位置と操作面101の間の距離(高さに相当するz座標)が所定の閾値より小さい場合は、タッチ入力中とみなされる状態(以下、タッチ状態)だと判定する。そして、タッチ状態にある間の入力位置により指示された操作面101上の位置(入力位置のxy座標に相当)を追跡することで、タッチ、リリース、ムーブ、フリック、ピンチ、ローテート等のタッチイベントを生成する。そして、生成したタッチイベントを表示制御部215に通知する。
The
表示制御部215は、認識部214により通知されるユーザ操作に応じて実行される各処理の結果(タッチイベント等)を反映した描画データを生成し、プロジェクタ104に出力することで、操作面101に表示する内容を制御する。ユーザ操作とは、入力位置や入力位置の動き等によって定義され、情報処理装置100に対して所定の指示を入力することができるものである。また、表示制御部215は、入力位置がペアリングされた結果を描画データに反映することで、ユーザにペアリング結果を通知する。例えば、ペアリングされた入力位置に同じ色を投影したり、同じ形状(円や多角形等)や記号を投影したり、数字や文字の表示等で視覚的に通知する。なお、ペアリング結果の通知は視覚に限定せず、音声や触角等による通知でもよい。例えば、ペアリング完了時に通知音を鳴らしたり、入力位置を振動させたりしてもよい。
The
図3は、本実施形態における情報処理装置のメイン処理の流れを表すフローチャートである。本実施形態では、情報処理装置100の電源がONになると、まず、図3のステップS301において、表示制御部215が、記憶装置203から取得したデータに基づいてUI部品を配置した画面を生成し、プロジェクタ104へ出力する。そして、プロジェクタ104が操作面101に画面を投影する。
FIG. 3 is a flowchart showing the flow of main processing of the information processing apparatus according to this embodiment. In the present embodiment, when the
次に、ステップS302において、三次元情報取得部210が、距離画像センサ102から距離画像を取得する。なお、距離画像センサ102は、情報処理装置の電源がONになっている間、操作面101の操作領域の距離画像を、所定の時間間隔(フレームレート)で撮像し、取得された距離画像を情報処理装置に入力する。従って、本処理は距離画像のフレームレートに伴って繰り返される。
Next, in step S <b> 302, the three-dimensional
ステップS303において、操作体取得部211がユーザの手領域(腕を含む)を検出する。手領域が検出された場合(ステップS303でYES)は、ステップS304に進む。一方、手領域が検出されなかった場合(ステップS303でNO)は、ステップS302に処理が戻り、手領域が検出されるまでステップS302とS303の処理を繰り返す。
In step S303, the operating
ステップS304において、操作体取得部211が、ステップS303で検出した手領域にIDを付与し、RAM202に保持する。例えばIDは、検出した順番に数字を付与する(1、2、・・・)。ステップS305において、入力位置取得部212が、ステップS303で検出された手領域の入力位置を検出し、検出した入力位置に手領域と同じIDを付与して、RAM202に保持する。ステップS306において、特定部213が、ステップS305で検出された入力位置で、マルチタッチ操作に有効な入力位置を特定する。ステップS306の処理の内容は、図4のフローチャートを参照して後述する。ステップS307において、認識部214が、ステップS305で検出された入力位置のタッチ状態の判定処理を実行する。ステップS307の処理の内容は、図5のフローチャートを参照して後述する。
In step S <b> 304, the operating
ステップS308において、認識部214が、ステップS306とステップS307の処理結果に基づいて、ステップS305で検出された入力位置による操作を認識する。ステップS308の処理の内容は、図6のフローチャートを参照して後述する。ステップS309において、表示制御部215が、ステップS308で認識された操作に応じて、プロジェクタ104によって投影されている画面中のオブジェクト(画像、データ、UI等)の表示を更新する。ステップS310において、情報処理装置の電源がOFFにされたか否かを判定する。電源がOFFされた場合(ステップS306でYES)は、情報処理装置100は全ての処理を終了する。一方、電源がOFFにされていない場合(ステップS306でNO)は、ステップS302の処理へ戻る。
In step S308, the
図4は、本実施形態のステップS304において実行される入力位置の特定処理の流れの一例を表すフローチャートである。まず、ステップS401において、検出されている入力位置の中から1つ処理対象とする入力位置を選択する。ステップS402において、特定部213が、処理対象の入力位置が既にペアリングされているか否か、を判定する。入力位置が既にペアリングされている場合(ステップS402でYES)は、ステップS403へ進む。入力位置がペアリングされていない場合(ステップS402でNO)は、ステップS406へ進む。 FIG. 4 is a flowchart showing an example of the flow of the input position specifying process executed in step S304 of the present embodiment. First, in step S401, one input position to be processed is selected from the detected input positions. In step S402, the specifying unit 213 determines whether the input position to be processed has already been paired. If the input position is already paired (YES in step S402), the process proceeds to step S403. If the input position is not paired (NO in step S402), the process proceeds to step S406.
次にステップS403では、特定部213が、入力位置の高さが第3閾値以上か否かを判定する。第3閾値とは、ペアリングを解除するか否かを判定する為に用いられる、操作面からの距離の基準を表す閾値である。第3閾値の大きさは、ペアリングされている複数の入力位置のいずれかの高さが第3閾値以上の状態に遷移した場合、操作体が操作面101から十分離れたため、このあとマルチタッチ操作が継続される可能性は低いとみなすことができる程度に設定する。処理対象となっている入力位置の高さが、第3閾値以上の場合(ステップS403でYES)は、ステップS404へ進む。入力位置の高さが第3閾値より小さい場合(ステップS403でNO)は、ステップS405へ進む。ステップS404では、特定部213が、入力位置のペアリングを解除し、それを表す情報をRAM202に保持する。
In step S403, the specifying unit 213 determines whether the height of the input position is greater than or equal to a third threshold value. The third threshold value is a threshold value that represents a reference for the distance from the operation surface and is used for determining whether or not to cancel pairing. The size of the third threshold is determined by multi-touch since the operating body is sufficiently separated from the
ステップS405では、特定部213が、ステップS305で検出された全ての入力位置で、ペアリングの判定が完了したか否かを判定する。全ての入力位置でペアリングの判定が完了している場合(ステップS405でYES)は、図4の処理を終了し、ステップS307へ進む。全ての入力位置でペアリングの判定が完了していない場合(ステップS405でNO)は、ステップS401へ戻り、処理を繰り返す。 In step S405, the specifying unit 213 determines whether or not the pairing determination has been completed at all the input positions detected in step S305. If the pairing determination has been completed at all input positions (YES in step S405), the process in FIG. 4 is terminated, and the process proceeds to step S307. If pairing determination has not been completed at all input positions (NO in step S405), the process returns to step S401 and the process is repeated.
ステップS402でNOと判定された場合、ステップS406では、特定部213が、処理対象となっている入力位置の高さが第2閾値以下か否かを判定する。第2閾値とは、操作面からの距離の基準を表す閾値である。その大きさは、高さが第2閾値以下の入力位置が複数存在する状態が、複数の操作体が操作面101に十分近づき、このあと連動してマルチタッチ操作を入力する可能性があるとみなすことができる程度に設定する。入力位置の高さが第2閾値以下の場合(ステップS406でYES)は、ステップS407へ進む。入力位置の高さが第2閾値より大きい場合(ステップS406でNO)は、ステップS405へ進む。本実施形態では、第3閾値は、距離の検出誤差等を考慮し、ペアリングされた入力位置が操作面101から十分離れた位置に遷移したことを確実に検出するため、第2閾値より大きい値とする。ただし、第2閾値と第3閾値は同一の値であってもよい。
When it is determined NO in step S402, in step S406, the specifying unit 213 determines whether or not the height of the input position to be processed is equal to or less than the second threshold value. The second threshold value is a threshold value that represents a reference for the distance from the operation surface. When there are a plurality of input positions whose height is equal to or less than the second threshold, there is a possibility that a plurality of operating objects will be sufficiently close to the
ステップS407では、特定部213が、高さが第2閾値以下である入力位置が、2つ存在するか否かを判定する。より具体的には、RAM202に保持された情報の中で、ステップS305で検出された複数の入力位置のうち、処理対象になっていない入力位置のz座標を参照し、高さが第2閾値以下であるものがもう1つ相殺するかを判定する。高さが第2閾値以下である入力位置が2つ存在する場合(ステップS407でYES)は、ステップS408へ進む。高さが第2閾値以下である入力位置が2つ存在しない場合(ステップS407でNO)は、ステップS405へ進む。ステップS408では、特定部213が、検出されている複数の入力位置のうち、高さが第2閾値以下の2つの入力位置の間の距離が、基準となる距離より小さいかを判定する。ここでの基準となる距離とは、2つの入力位置がマルチタッチ操作のために連動する間に動き得る範囲の基準となる距離であり、xy平面内で定義される。基準となる距離の大きさは、情報処理装置100が認識することができるマルチタッチ操作の種類に応じて適切な距離が選ばれればよい。例えば、情報処理装置100が認識することができるマルチタッチ操作に、2つの入力位置の間をある程度広い状態から狭めるように動かす縮小操作が含まれているとする。この場合、少なくとも、縮小操作を認識するために必要な程度に、2つの入力位置が離れている状態も、ステップS408で判定する基準となる距離に関する条件を満たしている必要がある。2つの入力位置の間の距離が基準となる距離より小さい場合(ステップS408でYES)は、ステップS409へ進む。2つの入力位置の間の距離が基準となる距離より小さくない場合(ステップS408でNO)は、ステップS405へ進む。ただし、操作環境によってはステップS408の処理は省略されてもよい。例えば、操作面101が1人の操作者が所定のマルチタッチ操作を行うのに最低限必要な程度に小さい場合、上述したステップS408の判定結果は自明となるため省略可能である。また例えば同時に操作を行う操作者が1人に限定される場合、高さが第2閾値以下である入力位置が複数存在する時点で、マルチタッチ操作が行われる確実性が高いので、ステップS408の処理を省略してもよい。ステップS409では、特定部213が、ステップS408で、距離に関する条件を満たしたと判定された2つの入力位置をペアリングして、ペアリング情報をRAM202に保持する。
In step S407, the specifying unit 213 determines whether there are two input positions whose height is equal to or less than the second threshold value. More specifically, among the information held in the
図5は、本実施形態のステップS307で実行される、入力位置のタッチ状態の判定処理の流れを表すフローチャートである。まず、ステップS501において、検出されている入力位置の中から1つ処理対象とする入力位置を選択する。ステップS502において、認識部214が、処理対象の入力位置が既にタッチ状態になっているか否かを判定する。入力位置が既にタッチ状態になっている場合(ステップS502でYES)は、ステップS503へ進む。入力位置がタッチ状態となっていない場合(ステップS502でNO)は、S506へ進む。次にステップS503では、認識部214が、入力位置の高さが第4閾値以上か否かを判定する。第4閾値は、操作体が操作面101から十分離れたことに応じてタッチ状態が解除されたと判定するための入力位置の高さの閾値であり、リリース閾値と呼ばれることもある。入力位置の高さが第4閾値以上の場合(ステップS503でYES)は、ステップS504へ進む。入力位置の高さが第4閾値より小さい場合(ステップS503でNO)は、S505へ進む。ステップS504では、認識部214が、入力位置のタッチ状態を解除し、入力位置が非タッチ状態であることをRAM202に保持し、ステップS505へ進む。
FIG. 5 is a flowchart showing the flow of the determination process of the touch state of the input position, which is executed in step S307 of the present embodiment. First, in step S501, one input position to be processed is selected from the detected input positions. In step S502, the
ステップS505では、認識部214が、ステップS305で検出された全ての入力位置で、タッチ状態の判定が完了したか否かを判定する。全ての入力位置でタッチ状態の判定が完了している場合(ステップS505でYES)は、図5の処理を終了し、ステップS308へ進む。全ての入力位置でタッチ状態の判定が完了していない場合(ステップS505でNO)は、図5の処理の開始に戻り、ステップS501へ進む。
In step S505, the
一方、ステップS506では、認識部214が、処理対象となっている入力位置の、操作面からの距離(高さに相当する)が第1閾値以下か否かを判定する。第1閾値は、操作体が操作面101に十分近づいたことを検出して、タッチ入力がなされたと判定するための距離の閾値である。操作面からの距離が第1閾値以下の場合(ステップS506でYES)は、ステップS507へ進む。操作面からの距離が第1閾値より大きい場合(ステップS506でNO)は、ステップS505へ進む。ステップS507では、認識部214が、入力位置をタッチ状態とし、入力位置がタッチ状態であることをRAM202に保持し、ステップS505へ進む。なお、本実施形態では、操作体が操作面101から十分離れるまで、誤ってタッチ状態の解除が行われないように、第1閾値より第4閾値が大きいとする。ただし、これらの距離は一致してもよい。
On the other hand, in step S506, the
図6は、本実施形態のステップS308で実行される入力位置のタッチ操作の認識処理の流れを表すフローチャートである。まず、ステップS601において、検出されている入力位置の中から1つ処理対象とする入力位置を選択する。ステップS602において、認識部214が、処理対象の入力位置のタッチ状態の判定結果を参照する。入力位置がタッチ状態の場合(ステップS602でYES)は、ステップS603へ進む。入力位置がタッチ状態でない場合(ステップS602でNO)は、ステップS606へ進む。
FIG. 6 is a flowchart showing the flow of recognition processing for the input position touch operation executed in step S308 of the present embodiment. First, in step S601, one input position to be processed is selected from the detected input positions. In step S602, the
次にステップS603では、認識部214が、処理対象の入力位置のペアリング状態の判定結果を参照する。入力位置がペアリング状態の場合(ステップS603でYES)は、ステップS604へ進む。入力位置がペアリング状態でない場合(ステップS603でNO)は、S607へ進む。ステップS604では、認識部214が、処理対象の入力位置とペアリングされている、もう一方の入力位置のタッチ状態の判定結果を参照する。ペアリングされているもう一方の入力位置がタッチ状態の場合(ステップS604でYES)は、ステップS605へ進む。ペアリングされているもう一方の入力位置がタッチ状態でない場合(ステップS604でNO)は、ステップS606へ進む。
Next, in step S603, the
ステップS605では、認識部214が、入力位置によるマルチタッチ操作を認識する。そして、認識結果を表す情報(タッチイベント等)を表示制御部215に通知し、S606へ進む。ステップS606では、認識部214が、ステップS305で検出された全ての入力位置で、タッチ操作の認識が完了したか否かを判定する。このとき、ステップS604でペアリング相手として読み出され、ステップS606のマルチタッチ操作認識に利用された入力位置は、タッチ操作認識済みの入力位置として扱われる。全ての入力位置でタッチ操作の認識が完了している場合(ステップS606でYES)は、図6の処理を終了し、ステップS309へ進む。全ての入力位置でタッチ操作の認識が完了していない場合(ステップS606でNO)は、ステップS601へ進む。一方、ステップS603でNOとなった場合は、ステップS607に進む。ステップS607では、認識部214が、入力位置によるシングルタッチ操作を認識する。そして、認識結果を表す情報(タッチイベント等)を表示制御部215に通知し、ステップS606へ進む。
In step S605, the
以上説明したように、本実施形態では、ステップS604で、処理対象の入力位置がタッチ状態にあっても、その入力位置にペアリングされている入力位置がタッチ状態でない場合、タッチ状態にある入力位置に基づくシングルタッチ操作認識を行わない。よって、マルチタッチ操作が行われる前後に、ユーザが意図しないシングルタッチイベントが発声してしまう動作を低減できる。なお、図4〜図6のフローチャートでは、ペアリングする入力位置の数が2つに設定された場合の条件を説明したが、本実施形態は2つに限定せず3つ以上の入力位置を連動させるマルチタッチ操作を認識する場合にも適用できる。N個(N:3以上の整数)の入力位置を用いるマルチタッチ操作が入力される場合、ステップS407では、操作面からの距離が第2閾値以下の入力位置がN個であるかを判定する。またステップS408では、例えば、N個の入力位置から定まる重心位置と各入力位置の距離が基準となる距離より小さいかを判定すればよい。このとき基準となる距離は、想定される操作者の人数などによって定められれば良い。また、図6のフローチャートでは、ペアリングされている全ての入力位置がタッチ状態に至るまで、1〜「N−1」個の入力位置による操作は認識せずに待機する。 As described above, in this embodiment, in step S604, even if the input position to be processed is in the touched state, if the input position paired with the input position is not in the touched state, the input in the touched state Does not perform single-touch operation recognition based on position. Therefore, before and after the multi-touch operation is performed, an operation in which a single touch event unintended by the user is uttered can be reduced. In the flowcharts of FIGS. 4 to 6, the condition when the number of input positions to be paired is set to two has been described. However, the present embodiment is not limited to two, and three or more input positions are set. It can also be applied when recognizing linked multi-touch operations. When a multi-touch operation using N (N: integer greater than or equal to 3) input positions is input, it is determined in step S407 whether there are N input positions whose distance from the operation surface is equal to or less than the second threshold value. . In step S408, for example, it may be determined whether the distance between the gravity center position determined from the N input positions and each input position is smaller than the reference distance. At this time, the reference distance may be determined by the number of assumed operators. Further, in the flowchart of FIG. 6, an operation with 1 to “N−1” input positions is waited for without being recognized until all paired input positions reach the touch state.
次に、図7と図8を参照して、ユーザの手の状態の具体例に対応付けて、本実施形態の情報処理装置100による動作を説明する。図7(a)〜(e)は、ユーザが操作面101の上空に手700及び手701を差し伸べてから、指先を操作面101に接触(もしくは近接)させてマルチタッチ操作(2つの手での操作)を入力する様子を段階的に表す。ただし、入力位置の動きを解り易く示すため、図7(b)〜(e)では手700及び手701の図示を省略する。予め第1閾値703と第2閾値702が設定されている。それぞれ操作面を基準とした高さ(操作面からの距離)で設定されている。一例として、第1閾値703=10mm、第2閾値702=20mmとする。各段階の特徴的な処理と、上述したフローチャート各ステップの対応関係を、ステップの番号を括弧書きすることで示す。
Next, operations performed by the
まず、ユーザの指が操作面101から離れた位置にある状態を、図7(a)を用いて説明する。図7(a)は、時刻t1の操作面101上の空間を側面から見た図である。距離画像センサ102から取得された時刻t1の距離画像から、操作している手700と操作している手701の2つの手領域が検出される(ステップS303)。検出された手領域に、手領域を識別するための手IDを付与する。具体的には、手700の手領域にID=1を付与し、手701の手領域にID=2を付与する(ステップS304)。検出された手領域から入力位置を検出する。具体的には、操作している手700の手領域の入力位置としてP1が検出され、操作している手701の手領域の入力位置としてP2が検出される。入力位置P1にID=1を、入力位置P2にID=2を付与する。そして、入力位置P1とP2の距離画像における位置情報のuvd座標を、世界座標のxyz座標に変換する(ステップS305)。具体的には、入力位置P1の座標を(u1,v1,d1)から(x1,y1,z1)に変換し、入力位置P2の座標を(u2,v2,d2)から(x2,y2,z2)に変換する(ステップS305)。
First, a state where the user's finger is at a position away from the
次にマルチタッチ操作に有効な入力位置を特定し、互いをペアリングする処理(ステップS306)に進む。まず入力位置P1を処理対象とする(ステップS401)。入力位置P1がペアリングされておらず(ステップS402でNO)、入力位置P1の高さz1が第2閾値702より大きい(ステップS406でNO)。今回取得した距離画像で検出された全ての入力位置で、ペアリング判定が完了していないので(ステップS405でNO)、次に未処理である入力位置P2を処理対象とする(ステップS401)。入力位置P2はペアリングされておらず(ステップS402でNO)、入力位置P2の高さz2が第2閾値702より大きい(ステップS406でNO)。今回取得した距離画像で検出された全ての入力位置で、ペアリング判定が完了している(ステップS405でYES)、ペアリング判定処理を終了する。 Next, an input position effective for the multi-touch operation is specified, and the process proceeds to a process of pairing each other (step S306). First, the input position P1 is set as a processing target (step S401). The input position P1 is not paired (NO in step S402), and the height z1 of the input position P1 is greater than the second threshold 702 (NO in step S406). Since the pairing determination is not completed at all the input positions detected in the distance image acquired this time (NO in step S405), the unprocessed input position P2 is set as a processing target (step S401). The input position P2 is not paired (NO in step S402), and the height z2 of the input position P2 is larger than the second threshold 702 (NO in step S406). If the pairing determination has been completed at all input positions detected in the distance image acquired this time (YES in step S405), the pairing determination process ends.
こうして、入力位置のタッチ状態を判定する処理(ステップS307)に進む。ただし、図7(a)の状態では、操作している手700と操作している手701は、いずれも操作面101よりも十分高い位置で維持されており、入力位置P1とP2はタッチ状態ではない。従って、タッチ操作の認識も行われない(ステップS308)ため、詳細な説明は省略する。
Thus, the process proceeds to the process for determining the touch state of the input position (step S307). However, in the state of FIG. 7A, the operating
次に、操作している手700の指示位置P3の高さz3が、第2閾値702以下の状態を、図7(b)を用いて説明する。図7(b)は時刻t2の操作面101上の空間を側面から見た図である。距離画像センサ102から、時刻t2の距離画像が取得され(ステップS302)、取得した距離画像から、操作している手700と操作している手701の2つの手領域が検出される(ステップS303)。操作している手700の手領域にID=1を付与し、操作している手701の手領域にID=2を付与する(ステップS304)。操作している手700の手領域の入力位置としてP3が検出され、操作している手701の手領域の入力位置としてP4が検出される。そして、入力位置P3の座標を(u3,v3,d3)から(x3,y3,z3)に変換し、入力位置P4の座標を(u4,v4,d4)から(x4,y4,z4)に変換する(ステップS305)。
Next, a state where the height z3 of the designated position P3 of the operating
特定処理(ステップS306)において、まず入力位置P3を処理対象とする(ステップS401)。入力位置P3はペアリングされておらず(ステップS402でNO)、入力位置P3の高さz3が第2閾値702以下で(ステップS406でYES)、高さが第2閾値702以下の入力位置が複数存在しない(ステップS407でNO)。全ての入力位置で、ペアリング判定が完了していないので(ステップS405でNO)、未処理である入力位置P4を処理対象として選択する(ステップS401)。入力位置P4はペアリングされておらず(ステップS402でNO)、入力位置P4の高さz4が第2閾値702より大きい(ステップS406でNO)。今回取得した距離画像で検出された全ての入力位置で、ペアリング判定が完了したので(ステップS405でYES)、ペアリング判定処理を終了する。そして、入力位置のタッチ状態の判定処理(ステップS307)に進む。図7(b)でも操作している手700と操作している手701は、いずれも操作面101よりも十分高い位置で維持されており、入力位置P1とP2はタッチ状態ではない。従って、タッチ操作の認識も行われない(ステップS308)ため、詳細な説明は省略する。
In the specifying process (step S306), first, the input position P3 is set as a processing target (step S401). The input position P3 is not paired (NO in step S402), the height z3 of the input position P3 is equal to or less than the second threshold value 702 (YES in step S406), and the input position whose height is equal to or less than the
次に、操作している手700の指示位置P5の高さz5と操作している手701の指示位置P6の高さz6が、第2閾値702以下の状態を、図7(c)を用いて説明する。図7(c)は時刻t3の操作面101上の空間を側面から見た図である。距離画像センサ102から、時刻t3の距離画像が取得され(ステップS302)、取得した距離画像から、操作している手700と操作している手701の2つの手領域が検出される(ステップS303)。操作している手700の手領域にID=1を付与し、操作している手701の手領域にID=2を付与する(ステップS304)。操作している手700の手領域の入力位置としてP5が検出され、操作している手701の手領域の入力位置としてP6が検出される。そして、入力位置P5の座標を(u5,v5,d5)から(x5,y5,z5)に変換し、入力位置P6の座標を(u6,v6,d6)から(x6,y6,z6)に変換する(ステップS305)。
Next, a state where the height z5 of the designated position P5 of the operated
特定処理(ステップS306)では、まず入力位置P6を処理対象とする(ステップS401)。入力位置P6はペアリングされておらず(ステップS402でNO)、入力位置P5の高さz5が第2閾値702以下で(ステップS406でYES)ある。図7(c)では、高さが第2閾値702以下の入力位置が2つ存在する(ステップS407でYES)。ここで、入力位置P5とP6の間隔が、基準となる距離よりも小さいとする(ステップS408でYES)。入力位置P5とP6はペアリングされ、入力位置P5のID1と入力位置のP6のID2をペアリング情報として関連付けて、保持する(ステップS409)。今回取得した距離画像で検出された全ての入力位置で、ペアリング判定が完了していないので(ステップS404でNO)、未処理である操作位置P6を処理対象とする(ステップS401)。操作位置P6は操作位置P5と既にペアリングされており(ステップS402でYES)、操作位置P6の高さz6が第3閾値802より小さい(ステップS403でNO)。今回取得した距離画像で検出された全ての操作位置で、ペアリング判定が完了している(ステップS405でYES)、ペアリング判定処理を終了する。 In the specifying process (step S306), first, the input position P6 is set as a processing target (step S401). The input position P6 is not paired (NO in step S402), and the height z5 of the input position P5 is equal to or less than the second threshold 702 (YES in step S406). In FIG. 7C, there are two input positions whose height is equal to or less than the second threshold value 702 (YES in step S407). Here, it is assumed that the interval between the input positions P5 and P6 is smaller than the reference distance (YES in step S408). The input positions P5 and P6 are paired, and ID1 of the input position P5 and ID2 of P6 of the input position are associated and held as pairing information (step S409). Since the pairing determination has not been completed at all the input positions detected in the distance image acquired this time (NO in step S404), the unprocessed operation position P6 is set as the processing target (step S401). The operation position P6 is already paired with the operation position P5 (YES in step S402), and the height z6 of the operation position P6 is smaller than the third threshold 802 (NO in step S403). When the pairing determination has been completed at all the operation positions detected in the distance image acquired this time (YES in step S405), the pairing determination process ends.
入力位置のタッチ状態を判定は(ステップS307)、図7(a)(b)と同様に入力位置P5とP6共にタッチ状態ではない。よって、図7(c)の状態では、操作している手700と操作している手701は、操作面101よりも十分高い位置で維持されており、入力位置P5とP6はタッチ状態ではないため、タッチ操作も認識されない。
次に、操作している手700の指示位置P7の高さz7が、第1閾値703以下の状態を、図7(d)を用いて説明する。図7(d)は時刻t4の操作面101上の空間を側面から見た図である。距離画像センサ102から、時刻t4の距離画像が取得され(ステップS302)、取得した距離画像から、操作している手700と操作している手701の2つの手領域が検出される(ステップS303)。操作している手700の手領域にID=1を付与し、操作している手701の手領域にID=2を付与する(ステップS304)。操作している手700の手領域の入力位置としてP7が検出され、操作している手701の手領域の入力位置としてP8が検出される。そして、入力位置P7の座標を(u7,v7,d7)から(x7,y7,z7)に変換し、入力位置P8の座標を(u8,v8,d8)から(x8,y8,z8)に変換する(ステップS305)。
The touch state of the input position is determined (step S307), and both the input positions P5 and P6 are not in the touch state as in FIGS. 7A and 7B. Therefore, in the state of FIG. 7C, the operating
Next, a state where the height z7 of the designated position P7 of the operating
特定処理(ステップS306)では、まず入力位置P7を処理対象とする(ステップS401)。入力位置P7はペアリング済みであり(ステップS402でYES)、入力位置P7の高さz7がペアリング解消閾値802より小さい(ステップS403でNO)。また、今回取得した距離画像で検出された全ての入力位置で、ペアリング判定が完了していないので(ステップS405でNO)、次に未処理である入力位置P8が処理対象となる(ステップS401)。入力位置P8は既にペアリング済みであり(ステップS402でYES)、入力位置P8の高さz8がペアリング解消閾値802より小さい(ステップS403でNO)。今回取得した距離画像で検出された全ての入力位置で、ペアリング判定が完了している(ステップS405でYES)。従って、ペアリング情報は維持されたまま、ペアリング判定処理を終了する。 In the specifying process (step S306), first, the input position P7 is set as a processing target (step S401). The input position P7 has been paired (YES in step S402), and the height z7 of the input position P7 is smaller than the pairing elimination threshold 802 (NO in step S403). Further, since the pairing determination has not been completed at all the input positions detected in the distance image acquired this time (NO in step S405), the unprocessed input position P8 is next processed (step S401). ). The input position P8 has already been paired (YES in step S402), and the height z8 of the input position P8 is smaller than the pairing elimination threshold 802 (NO in step S403). Pairing determination is completed at all input positions detected in the distance image acquired this time (YES in step S405). Accordingly, the pairing determination process is terminated while the pairing information is maintained.
入力位置のタッチ状態を判定する処理(ステップS307)でも、まず入力位置P7を処理対象とする(ステップS501)。入力位置P7はここまでタッチ状態と判定されてはいない(ステップS502でNO)。ただし、時刻t4において入力位置P7の高さz7が第1閾値703以下であり(ステップS506でYES)、入力位置P7をタッチ状態としRAM202に保持する。全ての入力位置で、タッチ状態判定が完了していないので(ステップS505でNO)、未処理である入力位置P8を処理対象とする(ステップS501)。入力位置P8はここまでタッチ状態ではなく(ステップS502でNO)、時刻t4においても入力位置P8の高さz8が第1閾値703より大きい(ステップS506でNO)。今回取得した距離画像で検出された全ての入力位置で、タッチ状態判定が完了しているので(ステップS505でYES)、タッチ状態判定処理を終了する。
Also in the process of determining the touch position of the input position (step S307), first, the input position P7 is set as a processing target (step S501). The input position P7 has not been determined to be touched so far (NO in step S502). However, the height z7 of the input position P7 is equal to or less than the
次に、入力位置P7とP8によるタッチ操作を認識する処理(ステップS308)において、入力位置P7を処理対象とする(ステップS601)。入力位置P7はタッチ状態であり(ステップS602でYES)、入力位置P7はペアリング済みであり(ステップS603でYES)、入力位置P7のペアリング相手である入力位置P8はタッチ状態ではない(ステップS604でNO)。全ての入力位置で、タッチ操作認識が完了していないので(ステップS606でNO)、次に未処理である入力位置P8が処理対象となる(ステップS601)。入力位置P8はタッチ状態ではなく(ステップS602でNO)、全ての入力位置で、タッチ操作認識処理が完了したので(ステップS606でYES)、タッチ操作認識処理を終了する。このように、図7(d)の状態では、操作している手700の入力位置P7はタッチ状態であるが、入力位置P8とペアリングされており、マルチタッチ操作が入力される可能性が高いとみなされるため、シングルタッチ操作の認識は実行されない。タッチ操作は認識されないので、投影内容は変更されない(ステップS309)。
Next, in the process of recognizing the touch operation at the input positions P7 and P8 (step S308), the input position P7 is set as a processing target (step S601). The input position P7 is in the touched state (YES in step S602), the input position P7 has been paired (YES in step S603), and the input position P8 that is the pairing partner of the input position P7 is not in the touched state (step NO in S604). Since the touch operation recognition is not completed at all the input positions (NO in step S606), the unprocessed input position P8 is the next processing target (step S601). The input position P8 is not in the touch state (NO in step S602), and the touch operation recognition process is completed at all input positions (YES in step S606), so the touch operation recognition process is terminated. In this way, in the state of FIG. 7D, the input position P7 of the operating
次に、操作している手700の指示位置P9と操作している手701の指示位置P10がペアリングされ、共にタッチ状態である状態を、図7(e)を用いて説明する。図7(e)は時刻t5の操作面101上の空間を側面から見た図である。距離画像センサ102から、時刻t5の距離画像が取得され(ステップS302)、取得した距離画像から、操作している手700と操作している手701の2つの手領域が検出される(ステップS303)。操作している手700の手領域にID=1を付与し、操作している手701の手領域にID=2を付与する(ステップS304)。操作している手700の手領域の入力位置としてP9が検出され、操作している手701の手領域の入力位置としてP10が検出される。入力位置P7の座標(x7,y7,z7)と、入力位置P8の座標(x8,y8,z8)が取得される(ステップS305)。この時点で入力位置P9と入力位置P10がペアリングされており、また、それぞれタッチ状態であるため、ステップS306及びステップS307の詳細説明は省略する。
Next, a state where the pointing position P9 of the operating
入力位置P9とP10によるタッチ操作を認識する処理(ステップS308)では、まず入力位置P9が処理対象となる(ステップS601)。入力位置P9はタッチ状態にあり(ステップS602でYES)、入力位置P10とペアリング済みであるので(ステップS603でYES)、入力位置P10もタッチ状態にある(ステップS604でYES)。よって、入力位置P9とP10はマルチタッチ操作として認識される(ステップS605)。例えば、2点間の距離の変化に基づく表示画像の拡大・縮小、あるいは2点の相対的な回転に基づく表示画像の回転操作などとして認識される。入力位置P9とP10のマルチタッチ操作の認識結果により、表示が更新される(ステップS309)。 In the process of recognizing the touch operation at the input positions P9 and P10 (step S308), the input position P9 is first processed (step S601). Since the input position P9 is in a touch state (YES in step S602) and has been paired with the input position P10 (YES in step S603), the input position P10 is also in a touch state (YES in step S604). Therefore, the input positions P9 and P10 are recognized as a multi-touch operation (step S605). For example, it is recognized as an enlargement / reduction of a display image based on a change in the distance between two points, or a display image rotation operation based on a relative rotation of two points. The display is updated based on the recognition result of the multi-touch operation at the input positions P9 and P10 (step S309).
以上、図7を用いて説明したように、本実施形態では、第1閾値より高い位置に第2閾値を設けることで、入力位置がタッチ状態に遷移する前に、他の入力位置とのペアリングの要否の判定を行う。このため、マルチタッチ操作が意図されている可能性が高い状況で、ユーザが意図しないシングルタッチイベントが発生することを低減できる。 As described above with reference to FIG. 7, in the present embodiment, by providing the second threshold at a position higher than the first threshold, the input position is paired with another input position before the input position transitions to the touch state. Determine whether a ring is necessary. For this reason, it is possible to reduce the occurrence of a single touch event unintended by the user in a situation where there is a high possibility that a multi-touch operation is intended.
次に、図8(a)〜(d)はユーザが指先を操作面101に接触(もしくは近接)させてマルチタッチ操作(2つの手での操作)を入力している状態から、マルチタッチ操作している指先を操作面101から離す様子を段階的に表す。ただし、入力位置の動きを解り易く示すため、図8(b)〜(d)では手800及び手801の図示を省略する。予め第3閾値802と第4閾値803が設定されている。それぞれ操作面を基準とした高さで設定されている。一例として、第3閾値802=25mm、第4閾値=15mmとする。各段階の特徴的な処理と、上述したフローチャート各ステップの対応関係を、ステップの番号を括弧書きすることで示す。
Next, FIGS. 8A to 8D show a multi-touch operation from a state where the user inputs a multi-touch operation (operation with two hands) by bringing the fingertip into contact with (or close to) the
まず、図8(a)の状態は、操作面101に近接する、ユーザの操作している手800の指先(入力位置P11)と、操作している手801の指先(入力位置P12)により、マルチタッチ操作が行われている。図8(a)は時刻t6の操作面101上の空間を側面から見た図である。まず、距離画像センサ102から、時刻t6の距離画像が取得され(ステップS302)、取得した距離画像から、操作している手800と操作している手801の2つの手領域が検出される(ステップS303)。操作している手800の手領域にID=3を付与し、操作している手801の手領域にID=4を付与する(ステップS304)。操作している手800の手領域の入力位置P11と、操作している手801の手領域の入力位置P12が検出される。検出された入力位置に手領域と同じIDが付与され、P11はID=3、P12はID=4となる。入力位置P11の座標(x11,y11,z11)と、入力位置P12の座標(x12,y12,z12)が取得される(ステップS305)。
First, the state of FIG. 8A is based on the fingertip of the
そして入力位置P11と入力位置P12がペアリングされて、ペアリング情報として入力位置IDの3と4が関連付けて保持される(ステップS306)。入力位置P11と入力位置P12はタッチ状態であり(ステップS307)、マルチタッチ操作として認識され(ステップS308)、マルチタッチ操作の認識結果により、表示が更新される(ステップS309)。 Then, the input position P11 and the input position P12 are paired, and the input position IDs 3 and 4 are associated and held as pairing information (step S306). The input position P11 and the input position P12 are in a touch state (step S307), recognized as a multi-touch operation (step S308), and the display is updated based on the recognition result of the multi-touch operation (step S309).
次に、図8(b)の状態は、ユーザの操作している手800の指先(入力位置P13)がタッチ状態であり、操作している手801の指先(入力位置P14)がタッチ状態ではなくなった状態である。図8(b)は時刻t7の操作面101上の空間を側面から見た図である。ず、距離画像センサ102から、時刻t7の距離画像が取得される(ステップS302)。図8(a)と同様に、取得した距離画像から手領域が検出され、検出された手領域から入力位置を取得される。操作している手800の入力位置はP13(x13,y13,z13)となり、操作している手801の入力位置はP14(x14,y14,z14)となる。入力位置はいずれも第3閾値802より低い位置にあるので、ペアリング状態は維持される(ステップS306)。
Next, in the state of FIG. 8B, the fingertip (input position P13) of the
タッチ状態判定処理(ステップS307)では、入力位置P14の高さz14が第4閾値803以上のため(ステップS503でYES)、入力位置P14のタッチ状態が解除される(ステップS504)。入力位置P13は、ペアリング相手の入力位置P14がタッチ状態でないため(ステップS604でNO)、マルチタッチ操作ともシングルタッチ操作とも認識されず(ステップS308)、表示が更新されない(ステップS309)。このように、本実施形態では、ペアリング状態が維持されている限り、1つの入力位置がタッチ状態であってもシングルタッチ操作が認識されることはない。 In the touch state determination process (step S307), since the height z14 of the input position P14 is not less than the fourth threshold value 803 (YES in step S503), the touch state of the input position P14 is canceled (step S504). Since the input position P14 of the pairing partner is not in the touch state (NO in step S604), neither the multi-touch operation nor the single touch operation is recognized (step S308), and the display is not updated (step S309). As described above, in this embodiment, as long as the pairing state is maintained, the single touch operation is not recognized even if one input position is in the touch state.
次に、図8(c)の状態は、ユーザの操作している手800の指先(入力位置P15)と、操作している手801の指先(入力位置P16)が共にタッチ状態ではなくなった状態である。図8(c)は時刻t8の操作面101上の空間を側面から見た図である。距離画像センサ102から、時刻t8の距離画像が取得される(ステップS302)。図8(a)と同様に、取得した距離画像から手領域が検出され、検出された手領域から入力位置を取得される。操作している手800の入力位置はP15(x15,y15,z15)となり、操作している手801の入力位置はP16(x16,y16,z16)となる。入力位置P15の高さz15と入力位置P16の高さz16は、共に第3閾値802より小さいため(ステップS403でNO)、ペアリング状態は継続される。入力位置P15の高さz15が第4閾値803以上のため(ステップS503でYES)、入力位置P15のタッチ状態は解除される(ステップS504)。
Next, the state of FIG. 8C is a state in which the fingertip (input position P15) of the
次に、図8(d)の状態は、ユーザの操作している手800の指先(入力位置P17)と、操作している手801の指先(入力位置P18)のペアリングが解除された状態である。図8(d)は時刻t9の操作面101上の空間を側面から見た図である。まず、距離画像センサ102から、時刻t9の距離画像が取得される(ステップS302)。図8(a)と同様に、取得した距離画像から手領域が検出され、検出された手領域から入力位置を取得される。操作している手800の入力位置はP17(x17,y17,z17)となり、操作している手801の入力位置はP18(x18,y18,z18)となる。特定処理(ステップS306)において、入力位置P18の高さz18が第3閾値802以上のため(ステップS403でYES)、入力位置P17と入力位置P18のペアリングが解除される(ステップS404)。
Next, FIG. 8D shows a state in which the pairing of the fingertip (input position P17) of the
以上、図8を用いて説明したように、本実施形態では、第4閾値より高い位置に第3閾値を設けることで、入力位置がタッチ操作の有効領域から出た後もペアリング継続の判定が行える。よって、シングルタッチ操作とマルチタッチ操作を両方認識可能な環境で、マルチタッチ操作後にユーザが意図しないシングルタッチイベントが発生することを低減できる。 As described above with reference to FIG. 8, in this embodiment, by providing the third threshold value at a position higher than the fourth threshold value, it is determined whether to continue pairing even after the input position leaves the effective area of the touch operation. Can be done. Therefore, it is possible to reduce the occurrence of a single touch event that is not intended by the user after the multi-touch operation in an environment where both the single-touch operation and the multi-touch operation can be recognized.
<変形例1>
図6のフローチャートで示した通り、第1の実施形態のタッチ操作の認識処理では、処理対象の入力位置がタッチ状態であり、かつ、ペアリングされている場合、ペアリングされた他の入力位置もタッチ状態にあるか否かを判定した(ステップS604)。変形例1では、第1の実施形態の一連の処理のうちステップS604の処理を省略する。すなわち、2つの入力位置がペアリング状態にあるならば、片方がタッチ状態になった時点で(ステップS603deYES)、マルチタッチ操作の認識を開始する(ステップS605)。2つの入力位置がペアリング状態にある場合、その後マルチタッチ操作が行われる可能性が高いため、程なく他方の入力位置のz座標がタッチ状態と判定される範囲に到達することが推定される。そこで変形例1は、他方の入力位置のz座標がタッチ状態と判定されるのを待たずに、2つの入力位置のxy座標の動きに基づいてマルチタッチ操作の認識を開始する。変形例1では、ユーザが意図していないシングルタッチイベントが発生を抑制しつつ、ユーザにとってマルチタッチ操作に対する応答の感度が向上する効果を得られる。
<Modification 1>
As shown in the flowchart of FIG. 6, in the touch operation recognition process according to the first embodiment, when the input position to be processed is in a touch state and is paired, another paired input position It is determined whether or not the touch state is also present (step S604). In Modification 1, the process of step S604 is omitted from the series of processes of the first embodiment. That is, if the two input positions are in the pairing state, the recognition of the multi-touch operation is started (step S605) when one of the two input positions is in the touch state (step S603 deYES). When the two input positions are in the pairing state, there is a high possibility that a multi-touch operation will be performed after that, so it is estimated that the z coordinate of the other input position will soon reach the range where the touch state is determined. Therefore, in the first modification, the multi-touch operation recognition is started based on the movement of the xy coordinates of the two input positions without waiting for the z-coordinate of the other input position to be determined as the touch state. In the first modification, it is possible to obtain an effect of improving the sensitivity of the response to the multi-touch operation for the user while suppressing the occurrence of a single touch event that is not intended by the user.
ここで、図7(d)と図8(b)を用いて、第1の実施形態と、その変形例1との処理の違いを説明する。図7(d)は、操作している手700の指先(入力位置P7)と操作している手701の指先(入力位置P8)がペアリングされており、入力位置P7だけがタッチ状態にある時刻t4の状態である。上述した通り、第1の実施形態では、図7(d)の状態は、入力位置P7とP8はペアリングされており(ステップS306)、入力位置P7だけがタッチ状態である(ステップS604でNO)ため、マルチタッチ操作は認識されない。それに対し、変形例1の場合、入力位置P7はタッチ状態であり(ステップS602でYES)、ペアリング済みであることに応じ(ステップS603でYES)、ステップS605でマルチタッチ操作が認識される。 Here, with reference to FIG. 7D and FIG. 8B, a difference in processing between the first embodiment and the modification example 1 will be described. In FIG. 7D, the fingertip of the operating hand 700 (input position P7) and the fingertip of the operating hand 701 (input position P8) are paired, and only the input position P7 is in a touch state. This is the state at time t4. As described above, in the first embodiment, in the state of FIG. 7D, the input positions P7 and P8 are paired (step S306), and only the input position P7 is in the touch state (NO in step S604). Therefore, multi-touch operation is not recognized. On the other hand, in the case of the modified example 1, the input position P7 is in the touch state (YES in step S602), and the multi-touch operation is recognized in step S605 in response to having been paired (YES in step S603).
一方、図8(b)の状態は、ユーザの操作している手800の指先(入力位置P13)がタッチ状態であり、操作している手801の指先(入力位置P14)がタッチ状態ではなくなった時刻t7の状態である。入力位置P13とP14はペアリング済みである。上述した通り、第1の実施形態では、入力位置P14がタッチ状態ではなくなったため(ステップS604でNO)、マルチタッチ操作及びシングルタッチ操作のいずれも認識されない。それに対し、変形例1では、入力位置P13が依然としてタッチ状態にあり(ステップS602でYES)、入力位置P14とペアリングされていることに応じ(ステップS603でYES)、ステップS605のマルチタッチ操作の認識が実行される。
On the other hand, in the state of FIG. 8B, the fingertip (input position P13) of the
第2閾値702と第1閾値703は、異なる値ではあるが、図8の例では20mmと10mmであるように、有る程度近い値が設定される。従って、2つの入力位置が第2閾値702を下回り、かつ、片方は第1閾値703を下回った場合、他方の入力位置も第1閾値703に極近い位置に存在することが推定可能である。変形例1では、このような状況では、2つの入力位置が両方マルチタッチ操作に用いられる可能性が高いとみなし、その時点(そのフレーム)からマルチタッチ操作の認識を開始する。そのためユーザにとってはマルチタッチ操作開始時の応答が早くなる、多少指が操作面101から浮いてもマルチタッチ操作の継続が可能となるなど、認識感度が高くなったように感じられる場合がある。第1の実施形態と、その変形例1は、応答の速さを求めるか否かといったユーザの操作性の好みに応じて特定されてもよい。
Although the
<変形例2>
第1の実施形態では、距離画像からユーザの指先の三次元位置を取得し、操作面と指先の間の距離が所定値を下回ったことをタッチによる入力とみなすシステムを前提とした。それに対し、変形例2では、距離画像センサではなく、操作面に、物体の接触と近接を区別して検出可能な近接センサを設置することで入力位置を検出するシステムへの適用例を説明する。
<Modification 2>
The first embodiment is based on a system that acquires the three-dimensional position of the user's fingertip from the distance image and regards that the distance between the operation surface and the fingertip is below a predetermined value as input by touch. On the other hand, in the second modification, an application example to a system that detects an input position by installing a proximity sensor that can be detected by distinguishing between contact and proximity of an object on an operation surface instead of a distance image sensor will be described.
図9は、変形例2における情報処理装置のメイン処理の流れを表すフローチャートである。図3との違いは、ステップS302〜ステップS305の距離画像に対する処理の代わりに、ステップS901が実行されることである。なお、他のステップで実行される処理は第1の実施形態と同じため、説明を省略する。 FIG. 9 is a flowchart showing a flow of main processing of the information processing apparatus in the second modification. The difference from FIG. 3 is that step S901 is executed instead of the processing for the distance image in steps S302 to S305. Note that the processing executed in other steps is the same as that in the first embodiment, and a description thereof will be omitted.
ステップS901では、近接センサにより入力位置を検出する。入力位置が検出された場合(ステップS901でYES)入力位置の位置情報を保持し、ステップS306へ進む。取得される入力位置の位置情報は(x,y)座標と高さ情報とする。高さ情報は、操作面に接触している状態と、接触していないが近接している状態の2つの状態とする。例えば近接センサが静電容量方式のセンサである場合、厳密には指先の高さを検出しているわけではない。例えば、入力位置で生じる静電容量の変化の大きさに閾値を設け、閾値以上の変化がある場合には操作体が接触している、閾値より小さい変化は操作体が接触するに至っていないが近接しているとみなすことで、接触と近接を区別する。例えば、操作面に接触している状態を“1”とし、操作面に近接している状態を“0”とする2値を高さに相当する情報として保持する。高さに相当する情報は、多値や数値で保持してもよい。ただし、第1実施形態と同様、高さ情報は操作面からの距離に相当する情報であればよく、鉛直方向に限定される訳ではない。例えば、操作面として任意の壁面が設定される場合、操作面からの距離は水平方向の座標軸での座標値に相当する場合もある。 In step S901, an input position is detected by a proximity sensor. When the input position is detected (YES in step S901), the position information of the input position is held, and the process proceeds to step S306. The position information of the acquired input position is (x, y) coordinates and height information. The height information includes two states: a state in which the operation surface is in contact and a state in which the operation surface is not in contact but is in proximity. For example, when the proximity sensor is a capacitive sensor, the fingertip height is not strictly detected. For example, a threshold is provided for the magnitude of the change in capacitance that occurs at the input position, and when there is a change greater than or equal to the threshold, the operating tool is in contact. Distinguish between contact and proximity by considering them close. For example, a binary value in which the state in contact with the operation surface is “1” and the state in proximity to the operation surface is “0” is stored as information corresponding to the height. Information corresponding to the height may be held in multiple values or numerical values. However, as in the first embodiment, the height information may be information corresponding to the distance from the operation surface, and is not limited to the vertical direction. For example, when an arbitrary wall surface is set as the operation surface, the distance from the operation surface may correspond to a coordinate value on a horizontal coordinate axis.
図11(a)は、変形例2第1閾値で扱われる3つの閾値を概念的に表す図である。上記のように静電容量方式で近接検知を行うセンサでは、操作体によって近接が検知できる高さが異なっている場合もある。ただし図11(a)では、変形例2の概念を視覚的に示すため、便宜的に一定の距離の閾値1100より操作面に近い範囲が、近接センサが操作体の位置を検出可能な範囲であるとする。また、操作体が操作面に物理的に接触した、つまり操作体と操作面の間の距離を閾値1101とする。閾値1100は、第1の実施形態における第2閾値に対応する役割をもつものであり、閾値1101は、第1の実施形態における第1閾値に対応する役割をもつものである。第2閾値第1閾値
図11(a)のように設定することで、変形例2では、近接している状態にある入力位置が複数検出されている時点でペアリングを行い、ペアリングされた入力位置のうちいずれか1つだけがタッチ状態に移行した時点では、シングルタッチ操作を行わない。そして、全ての入力位置がタッチ状態に移行したことに応じてマルチタッチ操作の認識を行う。このように、第1の実施形態は、距離画像センサを利用するテーブルトップインタフェースだけでなく、近接センサを利用するシステムにも適用可能である。近接センサを使用することで、装置の設置条件や使用条件等により、装置のコストダウンや入力位置の位置検出精度の向上が可能になる場合がある。
FIG. 11A is a diagram conceptually illustrating three threshold values handled by the first threshold value of the second modification. As described above, in the sensor that performs proximity detection by the electrostatic capacitance method, the height at which proximity can be detected may differ depending on the operation body. However, in FIG. 11A, in order to visually show the concept of the modified example 2, for convenience, a range closer to the operation surface than the
<変形例3>
変形例3では、上述した距離画像センサや近接センサではなく、操作面に、物体による押圧を検出可能な感圧センサを設置することで入力位置を検出するシステムへの適用例を示す。ここでは1つの入力位置に圧力がかけられた状態で入力される操作と、複数の入力位置に圧力がかけられた状態で入力される操作を区別して認識可能であることが前提となる。
<Modification 3>
Modification 3 shows an application example to a system in which an input position is detected by installing a pressure-sensitive sensor capable of detecting pressing by an object on the operation surface instead of the above-described distance image sensor and proximity sensor. Here, it is premised that an operation input in a state where pressure is applied to one input position and an operation input in a state where pressure is applied to a plurality of input positions can be distinguished and recognized.
図10は、本変形例における情報処理装置のメイン処理の流れを表すフローチャートである。図3との違いは、ステップS302〜ステップS305の距離画像に対する処理の代わりに、ステップS901が実行されることである。なお、他のステップで実行される処理は第1の実施形態と同じため、説明を省略する。 FIG. 10 is a flowchart showing the flow of the main process of the information processing apparatus in this modification. The difference from FIG. 3 is that step S901 is executed instead of the processing for the distance image in steps S302 to S305. Note that the processing executed in other steps is the same as that in the first embodiment, and a description thereof will be omitted.
ステップS1001では、感圧センサにより操作面上の入力位置を検出する。入力位置が検出された場合(ステップS1001でYES)入力位置の位置情報を保持し、ステップS306へ進む。入力位置の位置情報は、(x,y)座標と接触圧力情報とする。接触圧力情報は、操作面に接触している状態と、操作面に接触し、更に押しこんでいる(基準を超える押圧力を加えている)状態の2つの状態とする。例えば、操作面に接触している状態を“0”とし、操作面に近接し押しこんでいる状態を“1”とする2値で保持する。なお、接触圧力情報に関しては、多値や数値で保持してもよい。 In step S1001, the input position on the operation surface is detected by the pressure sensor. When the input position is detected (YES in step S1001), the position information of the input position is held, and the process proceeds to step S306. The position information of the input position is (x, y) coordinates and contact pressure information. The contact pressure information includes two states: a state in which the operation surface is in contact and a state in which the operation surface is in contact with and further pushed in (a pressing force exceeding the reference is applied). For example, the state of being in contact with the operation surface is set to “0”, and the state of being pushed in close proximity to the operation surface is held as “1”. Note that the contact pressure information may be held in multiple values or numerical values.
図11(b)は、変形例3で利用される2つの閾値第1閾値第2閾値を概念的に表す図である。上記のように感圧センサでは、操作体によって入力位置に加えられた圧力を検出するものであり、操作面が押しこまれた距離を検出するものではない。ただし図11(b)では、変形例3の概念を視覚的に示すため、便宜的に操作面に圧力が加えられることで概念的に操作面が押しこまれる距離に閾値を設ける。ここでは操作体が操作面に物理的に接触した段階を表す距離0を第2閾値1102とし、さらに基準以上の押圧力が加えられたときに押し込まれる距離を第1閾値1103として設定する。閾値1102は、第1の実施形態における第2閾値に対応する役割をもつものであり、閾値1103は、第1の実施形態における第1閾値に対応する役割をもつものである。ただし、変形例3の場合、閾値1102から閾値1103に至るまでの間でも、タッチ入力は認識されている。押し込まれる距離が第1閾値1103以上となるのは、入力位置で加えられた押圧力が基準となる圧力以上となるときである。なお、ユーザの操作感を考慮し、閾値1102第2閾値は操作面近傍の範囲で、閾値1103第1閾値は入力位置の接触圧力が検出できる範囲で、それぞれ調整されることが好ましい。ただし、閾値の調整において、閾値1103第1閾値は閾値1100第2閾値よりも大きな接触圧力に対応する値が設定される。このように、第1の実施形態は、距離画像センサを利用するテーブルトップインタフェースだけでなく、感圧センサを利用するシステムにも適用可能である。特に、感圧センサで各入力位置における操作面に対する押圧力の大きさを検出し、1つの入力位置でのみ基準を超える押圧力が検出される場合と複数の入力位置で基準を超える押圧力が検出される場合とで、認識する操作を異ならせる場合に効果的である。変形例3によれば、複数の入力位置に押圧力を加えるタイミングがずれ、一時的に一部の入力位置でしか基準を超える押圧力が検出されない場合でも、ユーザに意図に沿わない操作を誤って認識してしまう問題を低減できる。
FIG. 11B is a diagram conceptually showing two threshold values, the first threshold value and the second threshold value used in the third modification. As described above, the pressure sensor detects the pressure applied to the input position by the operating body, and does not detect the distance by which the operation surface is pushed. However, in FIG. 11B, in order to visually show the concept of the third modification, a threshold is provided for the distance that the operation surface is conceptually pushed in by applying pressure to the operation surface for convenience. Here, the distance 0 representing the stage at which the operating body physically touches the operation surface is set as the
なお、上述した第1実施形態およびその変形例の説明の中で、閾値を用いる判定処理において「以上」又は「以下」という表現を用いたが、判定対象の距離が各閾値と一致する場合をいずれの判定結果に含めるかは、閾値の大きさとともに適宜設定されればよい。例えば、ステップS506でタッチ状態を判定する第1閾値の処理については、操作面から入力位置までの距離が少なくとも第1閾値を下回る態をタッチ状態と認識すればよい。ステップS406での第2閾値の場合も同様である。また例えば、ステップS503でタッチ状態の解除を判定する第4閾値の処理については、操作面から入力位置までの距離が少なくとも第4閾値を上回ることをタッチ状態の解除と認識すればよい。ステップS403での第3閾値の場合も同様である。 In the description of the first embodiment and the modifications thereof described above, the expression “above” or “below” is used in the determination process using the threshold value, but the determination target distance matches each threshold value. Which determination result is included may be set as appropriate together with the threshold value. For example, with regard to the first threshold value processing for determining the touch state in step S506, a state where the distance from the operation surface to the input position is at least below the first threshold value may be recognized as the touch state. The same applies to the second threshold value in step S406. Further, for example, with regard to the fourth threshold value processing for determining the release of the touch state in step S503, it may be recognized that the touch state is released when the distance from the operation surface to the input position exceeds at least the fourth threshold value. The same applies to the third threshold value in step S403.
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
<Other embodiments>
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
210 三次元情報取得部
211 操作体取得部
212 入力位置取得部
213 特定部
214 認識部
215 表示制御部
210 Three-dimensional
Claims (18)
前記取得手段に取得される情報に基づいて、前記所定の操作面からの距離が第1閾値を下回る1つの入力位置を用いて入力される第1操作と、前記所定の操作面に対する距離が前記第1閾値を下回る複数の入力位置を用いて入力される第2操作を認識する認識手段と、
前記認識手段に認識された操作への応答するための出力を制御する出力制御手段を備え、
前記出力制御手段は、前記所定の操作面からの距離が、前記第1閾値より大きい第2閾値を下回る入力位置の数が複数で、かつ、前記所定の操作面からの距離が前記第1閾値を下回る入力位置が1つの間、前記第1操作に応答しないことを特徴とする情報処理装置。 Obtaining means for obtaining information corresponding to a distance from the predetermined operation surface with respect to an input position input to a space on the predetermined operation surface;
Based on the information acquired by the acquisition means, the first operation input using one input position whose distance from the predetermined operation surface is less than the first threshold, and the distance to the predetermined operation surface is Recognition means for recognizing a second operation input using a plurality of input positions below a first threshold;
An output control means for controlling an output for responding to the operation recognized by the recognition means;
The output control means includes a plurality of input positions whose distance from the predetermined operation surface is less than a second threshold value that is greater than the first threshold value, and the distance from the predetermined operation surface is the first threshold value. An information processing apparatus characterized by not responding to the first operation while there is one input position below.
前記認識手段は、前記特定手段によって前記第2操作を入力するために有効な入力位置として特定された全ての入力位置の前記操作面からの距離が前記第1閾値を下回ったことに基づいて前記第2操作を認識し、前記出力制御手段は認識された前記第1操作に応答するための出力を行うことを特徴とする請求項1又は2に記載の情報処理装置。 A specifying unit that specifies a plurality of input positions whose distance from the predetermined operation surface is lower than a second threshold value that is greater than the first threshold value as effective input positions for inputting the second operation;
The recognizing means is based on the fact that the distance from the operation surface of all the input positions specified as effective input positions for inputting the second operation by the specifying means is less than the first threshold value. The information processing apparatus according to claim 1, wherein the information processing apparatus recognizes a second operation, and the output control unit performs output for responding to the recognized first operation.
前記認識手段は、前記特定手段によって前記第2操作を入力するために有効な入力位置として特定された全ての入力位置の前記操作面からの距離が前記第1閾値を下回ったことに基づいて前記第2操作を認識し、前記出力制御手段は認識された前記第2操作に応答するための出力を行うことを特徴とする請求項1又は2に記載の情報処理装置。 Among a plurality of input positions whose distance from the predetermined operation surface is less than a second threshold value that is greater than the first threshold value, an input position whose distance between the plurality of input positions is smaller than a reference is selected as the second operation. Is further provided with a specifying means for specifying as an effective input position for inputting
The recognizing means is based on the fact that the distance from the operation surface of all the input positions specified as effective input positions for inputting the second operation by the specifying means is less than the first threshold value. The information processing apparatus according to claim 1, wherein the information processing apparatus recognizes a second operation, and the output control unit performs output for responding to the recognized second operation.
認識手段により、取得される前記情報に基づいて、前記所定の操作面からの距離が第1閾値を下回る1つの入力位置を用いて入力される第1操作と、前記所定の操作面に対する距離が前記第1閾値を下回る複数の入力位置を用いて入力される第2操作を認識する認識工程とを有し、
前記認識工程では、前記所定の操作面からの距離が、前記第1閾値より大きい第2閾値を下回る入力位置の数が複数で、かつ、前記所定の操作面からの距離が前記第1閾値を下回る入力位置が1つの場合、前記第1操作の認識は行わないことを特徴とする情報処理装置の制御方法。 An acquisition step of acquiring information corresponding to a distance from the predetermined operation surface with respect to an input position input to a space on the predetermined operation surface by an acquisition unit;
Based on the information acquired by the recognition means, a first operation input using one input position whose distance from the predetermined operation surface is lower than a first threshold, and a distance to the predetermined operation surface is Recognizing a second operation that is input using a plurality of input positions below the first threshold,
In the recognition step, there are a plurality of input positions whose distance from the predetermined operation surface is less than a second threshold value that is greater than the first threshold value, and the distance from the predetermined operation surface is equal to the first threshold value. The information processing apparatus control method according to claim 1, wherein the first operation is not recognized when there is one input position below.
前記取得手段に取得される情報を用いて、前記所定の操作面にかかる圧力の大きさが第1閾値を上回る1つの入力位置によって入力される第1操作と、前記所定の操作面に対する距離が前記第1閾値を上回る複数の入力位置によって入力される第2操作を認識する認識手段と、
前記認識手段に認識された操作への応答するための出力を制御する出力制御手段を備え、
前記認識手段は、前記所定の操作面からの距離が、前記第1閾値より小さい第2閾値を下回る入力位置の数が複数で、かつ、前記所定の操作面からの距離が前記第1閾値を上回る入力位置が1つの間、前記第1操作に応答しないことを特徴とする情報処理装置。 Obtaining means for obtaining information corresponding to the magnitude of pressure applied to the predetermined operation surface with respect to an input position input by contacting on the predetermined operation surface;
Using the information acquired by the acquisition means, the first operation input by one input position where the magnitude of the pressure applied to the predetermined operation surface exceeds a first threshold, and the distance to the predetermined operation surface is Recognition means for recognizing a second operation input by a plurality of input positions exceeding the first threshold;
An output control means for controlling an output for responding to the operation recognized by the recognition means;
The recognition means includes a plurality of input positions whose distance from the predetermined operation surface is less than a second threshold value that is smaller than the first threshold value, and the distance from the predetermined operation surface satisfies the first threshold value. An information processing apparatus characterized by not responding to the first operation while there is one more input position.
認識手段により、取得される前記情報を用いて、前記所定の操作面にかかる圧力の大きさが第1閾値を上回る1つの入力位置によって入力される第1操作と、前記所定の操作面に対する距離が前記第1閾値を上回る複数の入力位置によって入力される第2操作を認識する認識工程と、
前記認識工程で認識された操作への応答するための出力を制御する出力制御工程を有し、
前記出力制御工程では、前記所定の操作面からの距離が、前記第1閾値より小さい第2閾値を下回る入力位置の数が複数で、かつ、前記所定の操作面からの距離が前記第1閾値を上回る入力位置が1つの場合、前記第1操作に応答しないことを特徴とする情報処理装置の制御方法。 An acquisition step of acquiring information corresponding to the magnitude of pressure applied to the predetermined operation surface with respect to an input position input by contacting the predetermined operation surface by an acquisition unit;
Using the information acquired by the recognition means, the first operation input by one input position where the magnitude of the pressure applied to the predetermined operation surface exceeds the first threshold, and the distance to the predetermined operation surface Recognizing a second operation input by a plurality of input positions exceeding the first threshold;
An output control step of controlling an output for responding to the operation recognized in the recognition step;
In the output control step, there are a plurality of input positions whose distance from the predetermined operation surface is less than a second threshold value that is smaller than the first threshold value, and the distance from the predetermined operation surface is the first threshold value. If the number of input positions exceeds 1, the information processing apparatus control method does not respond to the first operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016125592A JP2017228216A (en) | 2016-06-24 | 2016-06-24 | Information processing apparatus, control method therefor, program, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016125592A JP2017228216A (en) | 2016-06-24 | 2016-06-24 | Information processing apparatus, control method therefor, program, and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017228216A true JP2017228216A (en) | 2017-12-28 |
Family
ID=60889266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016125592A Pending JP2017228216A (en) | 2016-06-24 | 2016-06-24 | Information processing apparatus, control method therefor, program, and storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017228216A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020170311A (en) * | 2019-04-02 | 2020-10-15 | 船井電機株式会社 | Input device |
-
2016
- 2016-06-24 JP JP2016125592A patent/JP2017228216A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020170311A (en) * | 2019-04-02 | 2020-10-15 | 船井電機株式会社 | Input device |
JP7400205B2 (en) | 2019-04-02 | 2023-12-19 | 船井電機株式会社 | input device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6539816B2 (en) | Multi-modal gesture based interactive system and method using one single sensing system | |
US10444908B2 (en) | Virtual touchpads for wearable and portable devices | |
US9069386B2 (en) | Gesture recognition device, method, program, and computer-readable medium upon which program is stored | |
KR101844390B1 (en) | Systems and techniques for user interface control | |
JP6371475B2 (en) | Eye-gaze input device, eye-gaze input method, and eye-gaze input program | |
JP6618276B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP6004716B2 (en) | Information processing apparatus, control method therefor, and computer program | |
WO2017029749A1 (en) | Information processing device, control method therefor, program, and storage medium | |
JP6452369B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
CN109964202B (en) | Display control apparatus, display control method, and computer-readable storage medium | |
JP5342806B2 (en) | Display method and display device | |
CN104978018B (en) | Touch system and touch method | |
US20180373392A1 (en) | Information processing device and information processing method | |
JP2017084307A (en) | Information processing device, control method therefor, program, and recording medium | |
JP5882270B2 (en) | Information processing apparatus and program | |
JP6555958B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
WO2016208099A1 (en) | Information processing device, input control method for controlling input upon information processing device, and program for causing information processing device to execute input control method | |
JP2017228216A (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP6618301B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
US20160018924A1 (en) | Touch device and corresponding touch method | |
JP2010086367A (en) | Positional information inputting device, positional information inputting method, program, information processing system, and electronic equipment | |
JP2018063555A (en) | Information processing device, information processing method, and program | |
JP5456817B2 (en) | Display control apparatus, display control method, information display system, and program | |
JP6570376B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP2017022590A (en) | Image processing apparatus, control method for image processing apparatus, and program |