JP2017049661A - Information processing apparatus, control method therefor, program and storage medium - Google Patents

Information processing apparatus, control method therefor, program and storage medium Download PDF

Info

Publication number
JP2017049661A
JP2017049661A JP2015170599A JP2015170599A JP2017049661A JP 2017049661 A JP2017049661 A JP 2017049661A JP 2015170599 A JP2015170599 A JP 2015170599A JP 2015170599 A JP2015170599 A JP 2015170599A JP 2017049661 A JP2017049661 A JP 2017049661A
Authority
JP
Japan
Prior art keywords
fingertip
input
processing apparatus
information processing
predetermined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015170599A
Other languages
Japanese (ja)
Other versions
JP6579866B2 (en
Inventor
佐藤 浩之
Hiroyuki Sato
浩之 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015170599A priority Critical patent/JP6579866B2/en
Publication of JP2017049661A publication Critical patent/JP2017049661A/en
Application granted granted Critical
Publication of JP6579866B2 publication Critical patent/JP6579866B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Position Input By Displaying (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problem that when recognizing a touch operation based on a proximity state of an object and a target surface in the prior arts, an operation to determine an operation class after a state shift from a touched state to a non-touched state may be recognized erroneously.SOLUTION: In order to solve the problem, the information processing apparatus comprises: an image acquisition part 120 for acquiring an input image obtained by imaging a space in which a person inserts an arm and performs an operation; an instruction point detection part 122 for detecting an instruction point corresponding to a fingertip from a region where the arm of the person is photographed, in the input image; a reference determination part 123 for determining a position different from the fingertip in the region of the input image as a position of a reference point; and an operation recognition part 124 by which, when a touched state with respect to a predetermined surface included in the space is shifted to a non-touched state for the fingertip, it is determined whether a predetermined touch operation is inputted by using movements of positions corresponding to the fingertip detected from a plurality of the input images acquired within the same period and a movement of the position of the reference point.SELECTED DRAWING: Figure 1

Description

本発明は、認識対象とタッチ対象面の近接状態に基づいてタッチ操作を認識する技術に関する。   The present invention relates to a technique for recognizing a touch operation based on a proximity state between a recognition target and a touch target surface.

近年、プロジェクタ表示を行うユーザーインターフェース(以下、UI)が開発されている。上述のUIでは、テーブルや壁、あるいは文書や物体にボタン等のタッチ操作可能なユーザーインターフェース部品(以下、UI部品)を投影し、UI部品をユーザがタッチ操作する。上述のUIは持ち運びが可能であり、かつ物理媒体と電子媒体を組み合わせたリッチなインタラクションが可能になるといった利点がある。このような場面においては、ステレオカメラや距離画像センサ等で撮像する距離画像を用い、対象面と、操作に用いられる所定の物体の一部(例えばユーザの手のうち指先)との間の距離を取得し、その大きさに基づいて両者の接触を検出することが多い。具体的には、対象面と、ユーザの指先との間の距離に所定の閾値を設ける。そして、当該距離が閾値より小さければ、対象面がタッチされている状態を示す「タッチ状態」、閾値より大きければ対象面がタッチされていない状態を示す「非タッチ状態」であるという判定を行う。なお、上記2種類の判定には異なる閾値が利用されてもよい。物体を動かしてタッチ状態から非タッチ状態に遷移させる動作のことを、リリースといい、非タッチ状態はリリース状態と言われることもある。   In recent years, user interfaces (hereinafter referred to as UI) for performing projector display have been developed. In the above-described UI, a user interface component (hereinafter referred to as UI component) such as a button is projected onto a table, a wall, a document, or an object, and the user touches the UI component. The above-described UI is advantageous in that it can be carried and rich interaction combining a physical medium and an electronic medium becomes possible. In such a scene, a distance image captured by a stereo camera, a distance image sensor, or the like is used, and the distance between the target surface and a part of a predetermined object used for the operation (for example, the fingertip of the user's hand) In many cases, the contact between the two is detected based on the size of the contact. Specifically, a predetermined threshold is provided for the distance between the target surface and the user's fingertip. If the distance is smaller than the threshold, it is determined that the “touch state” indicates that the target surface is touched, and if the distance is greater than the threshold, the “non-touch state” indicates that the target surface is not touched. . Different threshold values may be used for the two types of determination. The action of moving an object to make a transition from a touched state to a non-touched state is called a release, and the non-touched state is sometimes called a released state.

ステレオカメラや距離画像センサ等を用いるタッチ操作の認識においても、タッチパネルを用いる認識と同様に、タッチからリリースに至るまでの時間やその間の指示点の軌跡に基づき、タップやフリックといったタッチ操作の指示内容を認識することが多い。なおタップとは、1点をタッチして、移動させることなくすぐにリリースする操作である。またフリックは、対象面上を払う(あるいは弾く)ように高速に移動させながらリリースする操作である。またピンチとは、2点を指示した状態で指示点間の距離を拡大あるいは縮小させる操作である。多種のタッチ操作を認識可能とするためには、それらを精度よく区別して認識することが必要となる。   In recognition of touch operations using a stereo camera, a distance image sensor, etc., in the same way as recognition using a touch panel, instructions for touch operations such as taps and flicks are based on the time from touch to release and the trajectory of the pointing points during that time. Often recognizes the content. A tap is an operation of touching one point and releasing it without moving it. The flick is an operation of releasing while moving at high speed so as to pay (or play) on the target surface. The pinch is an operation for enlarging or reducing the distance between the designated points in a state where two points are designated. In order to be able to recognize various touch operations, it is necessary to accurately distinguish and recognize them.

特許文献1は、タッチパネルから指等の物体がリリースされるときのスピードが設定された閾値より速い場合に、フリックを認識することが開示される。特許文献2では、2本指によるフリックとピンチ操作を区別するために、タッチパネルに接触している間の2点の間隔の変化だけでなく、2点の移動方向を成分に分けて比較することが開示される。   Patent document 1 discloses recognizing a flick when the speed at which an object such as a finger is released from a touch panel is faster than a set threshold value. In Patent Document 2, in order to distinguish flicking with two fingers from a pinch operation, not only changes in the distance between two points while touching the touch panel, but also the comparison is made by dividing the moving direction of the two points into components. Is disclosed.

特開2012−128830号公報JP 2012-128830 A 特開2014−130385号公報JP 2014-130385 A

距離画像を使ってタッチ対象面に対する距離の大きさでタッチ/非タッチの認識を行うシステムの場合、閾値によっては、実際には物体がタッチ対象面に接触していなくても、ある程度近接している間はタッチ状態が検出される。従って、ユーザが触覚や視覚を使って認知した情報に従い「指を、タッチ対象面から離してから動かした」つもりであっても、システムは「タッチ状態の間に、指が動かされた」と認識する場合がある。また、距離画像から距離や位置情報を取得する処理においては、誤差が発生することもある。誤差の大きさや発生するタイミングによっては、ユーザの意図に反して、タッチ状態と非タッチ状態間の遷移が検出される。これらの要因によれば、ユーザはタップを入力しただけのつもりであっても、装置にはフリックとして認識されるなど、ユーザから見れば装置の誤動作と捉えられ兼ねない状況が発生し得る。特に、タップやフリックのように非タッチ状態に遷移した後で操作種別が確定する操作は、非タッチ状態に遷移した後の移動とタッチ中の移動と認識されてしまうことで、混同されやすい。特許文献1及び2では、直接的にタッチ対象面と物体の接触を検知するセンサ機能を有さないシステムで生じやすい、このような課題について、何ら考慮されていない。   In the case of a system that recognizes touch / non-touch using the distance image for the size of the distance to the touch target surface, depending on the threshold, even if the object is not actually touching the touch target surface, While touching, a touch state is detected. Therefore, even if the user intends to move the finger after moving it away from the touch target surface according to the information recognized by the user using tactile sensation or vision, the system says that the finger was moved during the touch state. It may be recognized. Further, an error may occur in the process of acquiring distance and position information from the distance image. Depending on the magnitude of the error and the timing at which it occurs, a transition between the touch state and the non-touch state is detected against the user's intention. According to these factors, even if the user only intends to input a tap, the device may be recognized as a flick, and a situation that may be regarded as a malfunction of the device from the user's point of view may occur. In particular, operations such as tapping and flicking that determine the operation type after transitioning to the non-touch state are easily confused by being recognized as movement after transition to the non-touch state and movement during touch. In Patent Documents 1 and 2, no consideration is given to such a problem that is likely to occur in a system that does not have a sensor function that directly detects contact between a touch target surface and an object.

本発明は上記課題を鑑みたものであり、物体と対象面の近接状態に基づいてタッチ操作を認識する場合でも、タッチ状態から非タッチ状態への状態遷移後に操作種別が確定する操作の認識精度を向上させることを目的とする。   The present invention has been made in view of the above problems, and even when the touch operation is recognized based on the proximity state between the object and the target surface, the operation recognition accuracy in which the operation type is determined after the state transition from the touch state to the non-touch state is achieved. It aims at improving.

本発明は、上記課題を解決するため、人が腕を挿入して操作を行う空間を撮像した入力画像を取得する画像取得手段と、前記入力画像のうち前記人の腕が被写体として写る領域から、前記人の手の指先に相当する指示点を検出する検出手段と、前記入力画像のうち前記人の手が被写体として写る領域の、前記指先とは異なる位置に、前記人の腕の位置の基準となる基準点の位置を決定する基準決定手段と、前記指先が、前記空間に含まれる所定の面に対してのタッチ状態が非タッチ状態に遷移した場合、同一期間に前記画像取得手段によって取得された複数の前記入力画像から、前記検出手段によって検出される前記指先に相当する位置の移動と、前記基準決定手段によって決定される前記基準点の位置の移動とを使って、所定のタッチ操作が入力されたかを判定する操作認識手段と、を備える。   In order to solve the above-described problem, the present invention provides an image acquisition unit that acquires an input image obtained by imaging a space in which a person inserts an arm and performs an operation, and an area in which the human arm is captured as a subject in the input image. Detecting means corresponding to a fingertip of the person's hand, and a position of the person's arm at a position different from the fingertip in a region of the input image where the person's hand is captured as a subject. Reference determining means for determining the position of a reference point serving as a reference, and when the touch state of the fingertip with respect to a predetermined surface included in the space is changed to a non-touch state, the image acquisition means during the same period A predetermined touch using a movement of a position corresponding to the fingertip detected by the detection means and a movement of the position of the reference point determined by the reference determination means from the plurality of acquired input images. operation And an operation recognition means for determining whether the inputted.

本発明によれば、物体と対象面の近接状態に基づいてタッチ操作を認識する場合でも、タッチ状態から非タッチ状態への状態遷移後に操作種別が確定する操作の認識精度を向上させることができる。   According to the present invention, even when a touch operation is recognized based on the proximity state between the object and the target surface, it is possible to improve the recognition accuracy of the operation in which the operation type is determined after the state transition from the touch state to the non-touch state. .

情報処理装置を利用したテーブルトップシステムの外観と構成の一例を示す図The figure which shows an example of the external appearance and structure of a table top system using information processing apparatus タッチ認識処理の流れの一例を示すフローチャートThe flowchart which shows an example of the flow of touch recognition processing リリース後に確定する操作の認識処理の流れの一例を示すフローチャートThe flowchart which shows an example of the flow of recognition processing of the operation decided after release タップ仮認識処理及びフリック仮認識処理の一例を示すフローチャートFlowchart showing an example of the temporary tap recognition process and the temporary flick recognition process 第1の実施形態におけるタップorフリック選択処理の一例を示すフローチャートFlowchart showing an example of tap or flick selection processing in the first embodiment フリックあるいはタップが入力されるときのユーザの腕と指の状態の具体例を示す図The figure which shows the specific example of a user's arm and finger | toe state when a flick or a tap is input タップとフリックが入力される場合の指先の軌跡と第1ベクトルの大きさを示す図The figure which shows the magnitude | size of the locus | trajectory of a fingertip in case a tap and a flick are input, and a 1st vector タップとフリックが入力される場合に観測される離散的な指先軌跡と軌跡がなす角度を示す図Diagram showing the angle between the trajectory and the discrete fingertip trajectory observed when a tap and flick are input 変形例におけるタップorフリック選択処理の一例を示すフローチャートThe flowchart which shows an example of the tap or flick selection process in a modification 入力に対するタッチ認識処理の各ステップでの判定結果と最終的な認識結果を示した図The figure which showed the judgment result and the final recognition result in each step of the touch recognition processing with respect to the input 第1の実施形態及び変形例におけるアプリケーションの一例を示す図The figure which shows an example of the application in 1st Embodiment and a modification.

以下に、図面を参照して本発明の実施形態を詳細に説明する。なお、以下で説明する実施形態は、本発明を具体的に実施した場合の一例を示すものであり、これに限るものではない。   Embodiments of the present invention will be described below in detail with reference to the drawings. In addition, embodiment described below shows an example at the time of implementing this invention concretely, and is not restricted to this.

<第1の実施形態>
タッチ状態から非タッチ状態への状態遷移後に操作種別が確定する操作のうち、タップとは、一般的にはタッチ入力の対象面となる所定の面上の1点を指定するために入力されることが多い操作種別である。多くの場合、タップを認識するために満たされるべき条件(以下、タップ条件)は、物体が対象面に対してタッチ状態になってから、対象面に沿う方向の移動をしないまま、リリースされることである。さらにタップ条件には、タッチからリリースまでが、極短い時間の間に検出されることが加わることもある。この場合、時間に関する条件を満たすために、タップを行うための指先の動きのスピードは比較的速いものになることが想定される。一方、タッチ状態から非タッチ状態への状態遷移後に操作種別が確定する操作のうち、フリックとは、一般的には、対象面に沿ったある方向を指定するために入力されることが多い操作種別である。さらにフリックでは、リリース直前の指先の移動スピードに基づくフリックスピードが指定される場合がある。多くの場合、フリックを認識するために満たされるべき条件(以下、フリック条件)は、物体と対象面がタッチ状態から非タッチ状態に遷移する直前に、物体が、所定のスピードを越えるスピードで、物体が対象面に沿う方向に移動することである。なおフリック条件には、物体と対象面がタッチ状態である間の指先の移動に関する条件は含まれないことも多い。つまり、フリックは、タップのように対象面に沿う方向の移動をしない状態で入力されることもあれば、指先がタッチ状態において対象面に沿う方向にある程度移動した後で入力されることもある。
<First Embodiment>
Of the operations in which the operation type is determined after the state transition from the touch state to the non-touch state, a tap is generally input to designate one point on a predetermined surface that is a target surface for touch input. It is often an operation type. In many cases, a condition that must be satisfied in order to recognize a tap (hereinafter referred to as a tap condition) is released without moving in a direction along the target surface after the object is in a touched state with respect to the target surface. That is. Further, the tap condition may be detected from a touch to release in a very short time. In this case, in order to satisfy the condition regarding time, it is assumed that the speed of movement of the fingertip for tapping is relatively fast. On the other hand, among the operations in which the operation type is determined after the state transition from the touch state to the non-touch state, the flick is generally an operation that is often input to specify a certain direction along the target surface. It is a type. Further, for flicking, a flicking speed based on the moving speed of the fingertip immediately before release may be specified. In many cases, a condition to be satisfied in order to recognize a flick (hereinafter referred to as a flick condition) is that the object exceeds a predetermined speed immediately before the object and the target surface transition from the touch state to the non-touch state. The object moves in a direction along the target surface. In many cases, the flick condition does not include a condition related to the movement of the fingertip while the object and the target surface are in the touch state. In other words, the flick may be input without moving in the direction along the target surface like a tap, or may be input after the fingertip has moved to some extent along the target surface in the touch state. .

図11は、フリックとタップを利用するアプリケーションの一例を表す。図11(A)は、フリックでサムネイルをスライドする様子を示している。このアプリケーションでは、複数のサムネイルが表示されている表示面がタッチ対象面となり、1つサムネイルが表示されている範囲内をタップで指定することで、そのサムネイルを選択することができる。また、サムネタッチ状態を維持したまま指先を対象面に沿って動かすムーブという種類のタッチ操作によって、また、1つサムネイル列状でフリックをすることで、所定位置に表示させるサムネイルを1つずつ進めることができる。なお図11(A)において、実線で輪郭が描かれた腕は、ユーザの腕の最新の位置を、点線で輪郭が描かれた腕は、移動前に遡った過去(1フレーム前)におけるユーザの腕の位置を表す。   FIG. 11 shows an example of an application that uses flicks and taps. FIG. 11A shows a state in which thumbnails are slid by flicking. In this application, a display surface on which a plurality of thumbnails are displayed becomes a touch target surface, and the thumbnail can be selected by specifying within a range where one thumbnail is displayed with a tap. Also, by moving the fingertip along the target surface while maintaining the thumbnail touch state, the thumbnails to be displayed at a predetermined position are advanced one by one by flicking one thumbnail row. Can do. In FIG. 11A, the arm outlined by the solid line indicates the latest position of the user's arm, and the arm outlined by the dotted line indicates the user in the past (one frame before) before moving. Represents the position of the arm.

図11(A)の場合、初期状態では、対象面にサムネイル1、2、3が表示されている。そして、ムーブによりサムネイルが途中までスライドし、続いてフリックが入力されたことによって、初期状態から1つずつサムネイルの表示位置が進んだことで、フリック後にはサムネイル2、3、4の2つが表示されている。図11(A)では、フリックが行われるとき、腕自体はほとんど動かず、人差指だけが素早く動かされている。このように、タッチ操作で移動させる対象(サムネイル)が小さかったり、対象を移動させたい距離が短かったりするような場合にフリックが入力される場合の傾向として、このように、腕よりも指を多く動かすような動きがなされること多い。   In the case of FIG. 11A, thumbnails 1, 2, and 3 are displayed on the target surface in the initial state. Then, the thumbnail slides halfway through the move, and then the flick is input, so that the thumbnail display position has advanced one by one from the initial state. After flicking, two thumbnails 2, 3, and 4 are displayed. Has been. In FIG. 11A, when the flick is performed, the arm itself hardly moves, and only the index finger is moved quickly. In this way, as a tendency when a flick is input when the target (thumbnail) to be moved by the touch operation is small or the distance to which the target is to be moved is short, the finger is used rather than the arm as described above. There are many movements to move.

ユーザがタップやフリックを行う状況は、多岐に渡る。例えば、タップの場合、指定したい点の真上からほぼ垂直にタッチ対象面上に下ろし、そのまま垂直に上げる方法もあるが、一方で、手を連続的に動かしている途中でタップを行うことも考えられる。後者のような状況では、リリースの直後の指先の移動が、タッチ対象面に平行な方向の成分を有する。ここで、タッチ状態から非タッチ状態への遷移が検出されるのが、ユーザが認識しているタイミングより遅れていれば、システムは、非タッチ状態に遷移する前に指先がタッチ対象面に沿う方向に移動をしたと認識することになる。その移動スピードがフリック条件を満たす場合、ユーザがタップを意図していたにも関わらず、フリックの入力が認識されてしまうことになる。図11(A)に示したように、フリックが入力される場合は、指先タッチ対象面に沿う方向へ移動する移動距離に比較すると、腕自体の同じ方向への移動は鈍いあるいは移動しない場合もある。一方、タップが入力される場合、タップ条件でタッチからリリースまでの間に対象面に沿う方向への移動がないことが求められる。従って、ユーザが意識的に指をスライドさせないようにするため、タップ前後に腕自体の動きがあったとしても、指先は腕に対してあまり動かないという傾向がある。そこで本実施形態では、タッチ状態から非タッチ状態への状態遷移後に操作種別が確定する操作として、タップとフリックを例に挙げ、これらの認識精度を向上させるため、リリース前後の指先の移動に加えて、腕の移動に関して検知する情報を利用する。具体的には、腕自体の移動距離を取得するために、ユーザの手のうち指以外の部分に基準点を定め、フリックあるいはタップが入力されたか判定する際に、リリースが検出される前の同一期間での指先に移動と基準点の移動の関係を利用する。ただし、タップとフリックは一例である。本実施形態は、非タッチ状態に遷移した後で操作種別が確定する操作を区別する認識する場合に適用可能である。   There are various situations in which the user taps and flicks. For example, in the case of tapping, there is a method of lowering on the touch target surface almost vertically from the point you want to specify and raising it vertically as it is, but on the other hand, you can also tap while moving your hand continuously Conceivable. In the latter situation, the movement of the fingertip immediately after release has a component in a direction parallel to the touch target surface. If the transition from the touch state to the non-touch state is detected later than the timing recognized by the user, the system moves the fingertip along the touch target surface before transitioning to the non-touch state. You will recognize that you moved in the direction. When the moving speed satisfies the flick condition, the flick input is recognized even though the user intends to tap. As shown in FIG. 11A, when a flick is input, the movement of the arm itself in the same direction may be dull or may not move compared to the movement distance of moving in the direction along the fingertip touch target surface. is there. On the other hand, when a tap is input, it is required that there is no movement in the direction along the target surface between the touch and release under the tap condition. Therefore, in order to prevent the user from consciously sliding the finger, even if there is a movement of the arm itself before and after the tap, there is a tendency that the fingertip does not move much with respect to the arm. Therefore, in this embodiment, tap and flick are examples of operations for determining the operation type after the state transition from the touch state to the non-touch state, and in order to improve the recognition accuracy, in addition to the movement of the fingertip before and after the release. Then, the information detected regarding the movement of the arm is used. Specifically, in order to obtain the movement distance of the arm itself, a reference point is set in a part other than the finger of the user's hand, and when determining whether a flick or a tap is input, before the release is detected The relationship between the movement of the fingertip and the movement of the reference point is used in the same period. However, taps and flicks are examples. This embodiment is applicable to the case of recognizing and distinguishing an operation whose operation type is determined after transitioning to a non-touch state.

図1(A)は、本実施形態で説明する情報処理装置100を設置したテーブルトップインタフェースシステムの外観の一例を示している。情報処理装置100は、プロジェクタの投影光照射部105から投影光を照射することにより、テーブル上や壁面など、任意の平面を対象面として設定できる。図1に示すテーブルトップインタフェースシステムの場合は、情報処理装置100をタッチ対象面101となるテーブル上に設置し、テーブル面上に表示画像を投影する。ここで円形画像2は、プロジェクタによってテーブル面上に投影されたUI部品である。以下では、プロジェクタによってテーブル面上に投影されるUI部品や写真のサムネイルなどの各種画像を総称して表示アイテムという。   FIG. 1A shows an example of the appearance of a tabletop interface system in which the information processing apparatus 100 described in this embodiment is installed. The information processing apparatus 100 can set an arbitrary plane such as a table or a wall surface as a target surface by irradiating the projection light from the projection light irradiation unit 105 of the projector. In the case of the table top interface system shown in FIG. 1, the information processing apparatus 100 is installed on a table serving as the touch target surface 101 and a display image is projected onto the table surface. Here, the circular image 2 is a UI component projected on the table surface by the projector. Hereinafter, various images such as UI parts and photo thumbnails projected on the table surface by the projector are collectively referred to as display items.

また、受光部106は、赤外パターン投影方式の距離画像センサが得る距離画像の視点を示す。本実施形態では、受光部106は、対象面に対して上方から見下ろす画角で撮像する位置に設置される。従って、距離画像センサ115によって得られた距離画像の各画素には、受光部106から被写体までの距離が反映される。なお、距離画像の取得方法は、一例として環境光やテーブル面の表示の影響が小さい赤外パターン投影方式を基に説明するが、用途に応じて視差方式や赤外光反射時間方式(Time−of−Flight方式)などを利用することも可能である。ここで操作領域104のうち、プロジェクタによる投影が可能な範囲と、距離画像センサ115の視野範囲は一致しているものとし、以下では、当該範囲を操作領域104という。   The light receiving unit 106 indicates a viewpoint of a distance image obtained by a distance image sensor using an infrared pattern projection method. In the present embodiment, the light receiving unit 106 is installed at a position for imaging at an angle of view looking down from above on the target surface. Accordingly, each pixel of the distance image obtained by the distance image sensor 115 reflects the distance from the light receiving unit 106 to the subject. The distance image acquisition method will be described based on an infrared pattern projection method that is less affected by ambient light or display on the table surface as an example. However, a parallax method or an infrared light reflection time method (Time- of-Flight method) can also be used. Here, in the operation area 104, the range that can be projected by the projector and the field-of-view range of the distance image sensor 115 are the same, and the range is hereinafter referred to as the operation area 104.

本実施形態では、ユーザが腕103を使って、テーブルトップシステムに対して、タッチ操作や空間ジェスチャ操作を入力する。タッチ操作が入力されるタッチ対象面101は、操作領域104が定義されたテーブル面上となる。距離画像センサ115は、テーブル面を含む空間を画角に収めるように設置され、ユーザは腕103をこの空間に挿入した状態で操作を行う。ただし、本実施形態は、タッチ対象面101がテーブル面(鉛直上に向けられた面)である場合だけでなく、例えば壁面や平面でない物体の表面であったり、仮想的な面であったりする場合にも適用可能である。タッチ操作や空間ジェスチャ操作では、例えば、タッチ対象面101に投影された表示アイテムを操作対象として動かすことなどが可能となる。なお、本実施形態では、図1に示されるように操作領域104に対して平行な二次元平面にx軸とy軸、操作領域104に直交する高さ方向にz軸を設定し三次元位置情報を座標値として扱う。従って、本実施形態において、タッチ対象面に沿う方向、あるいはタッチ対象面に平行な方向というとき、それはxy平面上で定義される方向を言う。ただし、対象面が平面でない場合やユーザと対象面との位置関係によっては、座標軸は必ずしも対象面に平行あるいは直交の関係でなくてもよい。その場合も、z軸は認識対象と対象面との近接関係(両者の間の距離の大きさの程度)を検出する方向に設定され、z軸と交わる方向にx軸とy軸とが設定される。   In this embodiment, the user uses the arm 103 to input a touch operation or a space gesture operation to the table top system. The touch target surface 101 to which the touch operation is input is on the table surface on which the operation area 104 is defined. The distance image sensor 115 is installed so that a space including the table surface is included in the angle of view, and the user operates with the arm 103 inserted into the space. However, in the present embodiment, not only when the touch target surface 101 is a table surface (a surface directed vertically), for example, a surface of an object that is not a wall surface or a plane, or a virtual surface. It is also applicable to cases. In the touch operation and the space gesture operation, for example, a display item projected on the touch target surface 101 can be moved as an operation target. In this embodiment, as shown in FIG. 1, the three-dimensional position is set by setting the x-axis and y-axis on a two-dimensional plane parallel to the operation region 104 and the z-axis in the height direction orthogonal to the operation region 104. Treat information as coordinate values. Therefore, in the present embodiment, the direction along the touch target surface or the direction parallel to the touch target surface refers to a direction defined on the xy plane. However, when the target surface is not a plane or depending on the positional relationship between the user and the target surface, the coordinate axes do not necessarily have to be parallel or orthogonal to the target surface. In this case as well, the z axis is set in a direction for detecting the proximity relationship between the recognition target and the target surface (the degree of the distance between the two), and the x axis and the y axis are set in the direction intersecting with the z axis. Is done.

なお以下では、ユーザがタッチ操作の入力に用いる操作体として、ユーザ自身の腕103を使う場合を例に挙げて説明する。ただし、本実施形態は、指の代わりに手で握ったスタイラスでタッチ操作が入力される場合や、人体ではなくロボットアームを使う場合など、操作体のうちタッチ入力に使用される部分(突起部)が、操作体自体とは独立して可動するような場合に適用可能である。   In the following description, a case where the user's own arm 103 is used as an operation body used by the user to input a touch operation will be described as an example. However, in this embodiment, a part (protrusion part) used for touch input in the operation body, such as when a touch operation is input with a stylus held by a hand instead of a finger or when a robot arm is used instead of a human body. However, it can be applied to the case where it is movable independently of the operating body itself.

図1(B)は、本実施形態における情報処理装置100のハードウェア構成の一例を示すブロック図である。同図において、CPU110は、バス113を介して接続する各デバイスを統括的に制御する。オペレーティングシステム(OS)をはじめ、後述するフローチャートに示されるような本発明に係る各処理プログラム、デバイスドライバ等はROM112に記憶されており、RAM111に一時記憶され、CPU110によって適宜実行される。RAM111は、高速にアクセス可能なCPU110の主メモリ、ワークエリア等の一時記憶領域として用いられる。ここでOSおよび各処理プログラム等は外部の記憶装置116に記憶されていてもよく、その場合は電源投入時に必要な情報がRAM111に適宜読み込まれる。また、ディスプレイI/F114は、情報処理装置100内部で生成される表示アイテム(表示画像)をプロジェクタ118が処理可能な信号に変換する。入出力I/F114は、距離画像センサ115から距離情報を取得し、情報処理装置100が処理可能な情報に変換するとともに、記憶装置116と情報処理装置100間で相互にデータの変換を行う。   FIG. 1B is a block diagram illustrating an example of a hardware configuration of the information processing apparatus 100 according to the present embodiment. In the figure, a CPU 110 comprehensively controls each device connected via a bus 113. In addition to the operating system (OS), each processing program, device driver, and the like according to the present invention as shown in the flowcharts described later are stored in the ROM 112, temporarily stored in the RAM 111, and appropriately executed by the CPU 110. The RAM 111 is used as a temporary storage area such as a main memory or work area of the CPU 110 that can be accessed at high speed. Here, the OS, each processing program, and the like may be stored in the external storage device 116, and in this case, information necessary when the power is turned on is appropriately read into the RAM 111. The display I / F 114 converts a display item (display image) generated inside the information processing apparatus 100 into a signal that can be processed by the projector 118. The input / output I / F 114 acquires distance information from the distance image sensor 115, converts it into information that can be processed by the information processing apparatus 100, and converts data between the storage device 116 and the information processing apparatus 100.

本実施形態では、情報処理装置100で投影するデジタルデータは記憶装置116に格納されているものとする。記憶装置116としては、ディスクデバイスやフラッシュメモリ、ネットワークやUSBなどの各種の入出力I/F114を介して接続される記憶装置116を使用する。本実施形態において、距離画像センサ115は、操作領域104上の情報を取得するために用いられる撮像部である。距離画像センサ115によって取得された画像は入力画像としてRAM111で一時保存され、CPU110によって適宜処理され、破棄されるが、適宜必要なデータは記憶装置116に蓄積しても構わない。   In the present embodiment, it is assumed that the digital data projected by the information processing apparatus 100 is stored in the storage device 116. As the storage device 116, a storage device 116 connected via various input / output I / Fs 114 such as a disk device, a flash memory, a network, and a USB is used. In the present embodiment, the distance image sensor 115 is an imaging unit used to acquire information on the operation area 104. The image acquired by the distance image sensor 115 is temporarily stored in the RAM 111 as an input image, and is appropriately processed and discarded by the CPU 110. However, necessary data may be stored in the storage device 116.

図1(C)は、本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。情報処理装置100は、画像取得部120、操作体取得部121、指示点検出部122、基準決定部123、操作認識部124、出力制御部125を含んで構成される。これらの各機能部は、CPU110が、ROM112に格納されたプログラムをRAM111に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、CPU110を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。画像取得部120は、情報処理装置100のユーザが、自らの腕を挿入して操作を行うタッチ対象面101上の空間を、距離画像センサ115が撮像したことで得られた画像を、入力画像として取得する。本実施形態における入力画像は、各ピクセルの画素値に距離画像センサ115から被写体までの距離が反映された距離画像である。操作体取得部121は、画像取得部120が取得した入力画像のうち、操作体であるユーザの腕が被写体として写る腕領域を抽出する。本実施形態では、抽出された腕領域を、操作体として追跡していく。指示点検出部122は、操作体取得部121が抽出した腕領域から、ユーザの手のうち指先に相当する位置を、指示点として検出する。なお、指の代わりにスタイラスなどが用いられている場合、その先端が指先に相当するものとして指示点として検出される。本実施形態では、入力画像の多数のピクセルのうち、1点の座標が指示点の位置として検出されるとする。基準決定部123は、腕領域の中で、指示点検出部122が検出する指先とは異なる位置に、操作体である腕の位置の基準として扱われる基準点を決定する。例えば、手の甲の中心や手首の中心に相当する1点の座標を求める。操作認識部124は、指示点検出部122が検出する指示点の位置やその移動に関する方向やスピードなどが辞書に所定の条件を満たすかに基づいて、情報処理装置100に入力される所定のタッチ操作を認識する。その際、指先が、タッチ対象面に対してタッチ状態から非タッチ状態に遷移した場合、それまでの所定の期間における指示点の移動と、同じ期間での基準点の移動とを使って、リリース後に入力の有無が確定する所定のタッチ操作が入力されたかを判定する。出力制御部125は、操作認識部124によって認識された操作に対応する各種出力を制御する。例えば、タッチ対象面101に投影させるための画像を生成してプロジェクタ118に対して出力する。各機能部は、RAM111、ROM112あるいは、記憶装置116を処理中のデータや情報を保持する保持部として利用する。   FIG. 1C is a block diagram illustrating an example of a functional configuration of the information processing apparatus 100 according to the present embodiment. The information processing apparatus 100 includes an image acquisition unit 120, an operation tool acquisition unit 121, an indication point detection unit 122, a reference determination unit 123, an operation recognition unit 124, and an output control unit 125. Each of these functional units is realized by the CPU 110 developing a program stored in the ROM 112 in the RAM 111 and executing processing according to each flowchart described later. Further, for example, when hardware is configured as an alternative to software processing using the CPU 110, arithmetic units and circuits corresponding to the processing of each functional unit described here may be configured. The image acquisition unit 120 inputs an image obtained by the distance image sensor 115 capturing an image of the space on the touch target surface 101 where the user of the information processing apparatus 100 inserts his / her arm and operates. Get as. The input image in the present embodiment is a distance image in which the distance from the distance image sensor 115 to the subject is reflected in the pixel value of each pixel. The operation tool acquisition unit 121 extracts an arm region in which the user's arm as the operation tool is captured as a subject from the input image acquired by the image acquisition unit 120. In the present embodiment, the extracted arm region is tracked as an operating body. The indication point detection unit 122 detects a position corresponding to the fingertip in the user's hand from the arm region extracted by the operating tool acquisition unit 121 as an indication point. When a stylus or the like is used instead of the finger, the tip is detected as an indication point as corresponding to the fingertip. In the present embodiment, it is assumed that the coordinates of one point among a number of pixels of the input image are detected as the position of the designated point. The reference determination unit 123 determines a reference point to be treated as a reference for the position of the arm as the operating body at a position different from the fingertip detected by the indication point detection unit 122 in the arm region. For example, the coordinates of one point corresponding to the center of the back of the hand or the center of the wrist are obtained. The operation recognition unit 124 receives a predetermined touch input to the information processing apparatus 100 based on whether the position of the indication point detected by the indication point detection unit 122, the direction and speed related to the movement of the indication point, satisfy the predetermined condition in the dictionary. Recognize operations. At that time, when the fingertip transitions from the touched state to the non-touched state with respect to the touch target surface, the release is performed using the movement of the indication point in the predetermined period and the movement of the reference point in the same period. It is determined whether or not a predetermined touch operation that determines the presence or absence of input is input later. The output control unit 125 controls various outputs corresponding to the operations recognized by the operation recognition unit 124. For example, an image to be projected onto the touch target surface 101 is generated and output to the projector 118. Each functional unit uses the RAM 111, the ROM 112, or the storage device 116 as a holding unit that holds data and information being processed.

この他、手ぶり等の空間ジェスチャ動作を認識するジェスチャ認識部など、情報処理装置100の使用目的やアプリケーションに応じた機能部を構成することができる。   In addition, it is possible to configure a function unit according to the purpose of use and application of the information processing apparatus 100, such as a gesture recognition unit that recognizes a spatial gesture operation such as a hand gesture.

次に、図2に示すタッチ認識処理のフローチャートを用いて、情報処理装置100が行うタッチ認識処理を詳細に説明する。本実施形態では、距離画像センサ115によって撮影された距離画像が情報処理装置100に入力されたことに応じて図2のフローチャートの処理が開始される。また本実施形態では、図2のフローチャートの処理が、距離画像センサ115から距離画像が入力される毎に繰り返される。従って処理が繰り返される周期は、距離画像センサ115の撮像映像のフレームレートに一致する。   Next, the touch recognition process performed by the information processing apparatus 100 will be described in detail using the flowchart of the touch recognition process shown in FIG. In the present embodiment, the process of the flowchart of FIG. 2 is started in response to the distance image captured by the distance image sensor 115 being input to the information processing apparatus 100. In the present embodiment, the process of the flowchart of FIG. 2 is repeated each time a distance image is input from the distance image sensor 115. Therefore, the cycle in which the process is repeated matches the frame rate of the captured image of the distance image sensor 115.

ステップS100において、画像取得部120は距離画像センサ115によって撮像された距離画像を、入力画像として一定時間毎に取得し、RAM111に随時保持する。距離画像センサ115によって撮像された距離画像の画素値は距離画像センサ115までの距離を表している。   In step S <b> 100, the image acquisition unit 120 acquires the distance image captured by the distance image sensor 115 as an input image at regular intervals, and stores it in the RAM 111 as needed. The pixel value of the distance image captured by the distance image sensor 115 represents the distance to the distance image sensor 115.

ステップS101において、操作体取得部121は、画像取得部120によって取得された距離画像から操作体である人の腕が写る領域(腕領域)を抽出する。そして、抽出した腕領域の輪郭を示す位置情報を取得し、RAM111にその情報を保持する。ここで人の腕とは、人の肩から指先にかけての部位の全てを指し、撮像画像のうち、人の腕に該当する部分が一部写る領域が、腕領域である。また本実施形態において手とは、腕のうち、手首から先の全てを差す。手には、5指、掌、甲といった部位が含まれる。操作体取得部121の実際の処理としては、取得した距離画像の各画素が示すz方向の座標値に対して閾値処理を行うことで、テーブルよりも高さが高い座標値を持ち、かつ画像端と接触する領域を、腕領域として抽出する。ただし、腕領域の抽出方法はこれに限られず、例えば別途撮像された操作領域104のRGB画像における肌色領域に対応する部分を抽出する等してもよい。また、本実施形態の操作体取得部121は、腕領域が抽出された入力画像に微分フィルタを適用することに基づいて、輪郭線の座標を取得する。さらに、操作体取得部121は腕領域と画像端が接触するピクセルの平均位置(以下、侵入位置)を取得し、これをRAM111に保持する。   In step S <b> 101, the operation tool acquisition unit 121 extracts a region (arm region) where the arm of the person who is the operation tool is captured from the distance image acquired by the image acquisition unit 120. Then, position information indicating the contour of the extracted arm region is acquired, and the information is stored in the RAM 111. Here, the person's arm refers to all parts from the person's shoulder to the fingertip, and an area where a portion corresponding to the person's arm is captured in the captured image is an arm area. Moreover, in this embodiment, a hand refers to all of the arms from the wrist. The hand includes parts such as five fingers, a palm, and an instep. As an actual process of the operation tool acquisition unit 121, a threshold value process is performed on the coordinate value in the z direction indicated by each pixel of the acquired distance image, so that the coordinate value is higher than the table and the image A region in contact with the end is extracted as an arm region. However, the extraction method of the arm region is not limited to this, and for example, a portion corresponding to the skin color region in the RGB image of the operation region 104 separately captured may be extracted. In addition, the operating tool obtaining unit 121 according to the present embodiment obtains the coordinates of the contour line based on applying a differential filter to the input image from which the arm region is extracted. Further, the operating tool acquisition unit 121 acquires an average position (hereinafter referred to as an intrusion position) of pixels in which the arm region and the image edge are in contact with each other, and stores this in the RAM 111.

ステップS102において、基準決定部123は、操作体取得部121によって取得された腕領域のうち、指先ではない位置に、基準点を決定する。基準点は、腕自体の位置を表す座標を得るために決定するものである。本実施形態では、腕領域のうち、手の甲部分の中心に相当する点を特定し、その位置を基準点と決定する。手の甲の中心を特定する方法としては、例えば、腕領域内の各ピクセルについて、侵入位置として取得したピクセルからの距離と腕領域の輪郭線までの最短距離の積を求め、それが最大となるピクセルの位置を算出する。ただしこの方法は一例であり、別の方法を用いてもよい。基準決定部123は基準点の三次元位置を取得し、RAM111にその情報を保持する。距離画像における基準点のピクセルは、距離画像センサ115から見た、手の甲の中心の表面部分までの距離を表している。なお、図1(A)のテーブルトップインタフェースシステムでは、上方から入力画像を撮像するため、基準点は「手の甲部分の中心」と表現しているが、撮像系の設定の仕方によっては、同じ位置を「掌の中心」と表現する方が自然な場合もある。例えば、透明度を有するタッチ対象面を、下方から撮像した入力画像を得る構成の場合は、距離画像に撮像されるのは腕の掌側の表面になる。このように手の部位の呼称は適宜選択されればよい。   In step S <b> 102, the reference determination unit 123 determines a reference point at a position that is not a fingertip in the arm region acquired by the operating tool acquisition unit 121. The reference point is determined in order to obtain coordinates representing the position of the arm itself. In the present embodiment, a point corresponding to the center of the back of the hand in the arm region is specified, and the position is determined as a reference point. As a method of specifying the center of the back of the hand, for example, for each pixel in the arm region, the product of the distance from the pixel acquired as the intrusion position and the shortest distance to the contour line of the arm region is obtained, and the pixel having the maximum The position of is calculated. However, this method is an example, and another method may be used. The reference determination unit 123 acquires the three-dimensional position of the reference point and holds the information in the RAM 111. The reference point pixel in the distance image represents the distance to the surface portion of the center of the back of the hand as viewed from the distance image sensor 115. In the table top interface system of FIG. 1A, since the input image is captured from above, the reference point is expressed as “the center of the back of the hand”. However, depending on the setting method of the imaging system, the same position is used. In some cases, it is more natural to express the “center of palm”. For example, in the case of a configuration in which an input image obtained by capturing a touch target surface having transparency from below is obtained, the distance image is captured on the surface on the palm side of the arm. In this way, the name of the hand part may be appropriately selected.

本実施形態では、距離画像中での、基準点として決定されたピクセルの位置及び画素値に、キャリブレーションパラメータを反映させた計算処理により、図1(A)に示されている(x、y、z)座標に変換する。そして変換結果を、腕全体としての位置を表す基準点の3次元位置情報として取得する。なお、本実施形態では腕領域の基準点として手の甲の中心を求める例を説明したが、基準点は、腕全体の位置を得るための基準として扱える位置情報であれば、甲の中心に限られない。例えば手首の中心を求めてもよい。   In the present embodiment, the calculation process in which the calibration parameter is reflected on the position and the pixel value of the pixel determined as the reference point in the distance image is shown in FIG. 1A (x, y). , Z) to coordinates. Then, the conversion result is acquired as three-dimensional position information of a reference point representing the position of the entire arm. In the present embodiment, the example of obtaining the center of the back of the hand as the reference point of the arm region has been described. Absent. For example, the center of the wrist may be obtained.

ステップS103において、指示点検出部122は、操作体取得部121によって取得された腕領域から、操作体が示す位置を表す指示点として、指先に相当するピクセルを特定する。例えば、腕領域の中で侵入位置からのユークリッド距離が最大となる点を指先として検出する。ただしこの検出方法は一例であり、別の方法を用いてもよい。さらに指示点検出部122は、ステップS102と同様の方法で、指先に相当するピクセルの、画像上の位置と画素値とから、指先の三次元位置情報を取得し、RAM111にその座標情報を保持する。ここで、指先のz座標は、対象面と指先との間の距離を表している。言い換えれば、指先に相当するピクセルのz座標は、対象面101からの、指先の高さを表す。以後、ステップS103で取得される指示点のz座標を、指先高さと呼ぶ。本実施形態では指先高さの尺度として三次元空間上のユークリッド距離(mm)を用いるが、別の距離尺度を用いてもよい。   In step S <b> 103, the indication point detection unit 122 identifies a pixel corresponding to the fingertip as an indication point indicating the position indicated by the operation tool from the arm region acquired by the operation tool acquisition unit 121. For example, the point where the Euclidean distance from the intrusion position is maximum in the arm region is detected as a fingertip. However, this detection method is an example, and another method may be used. Further, the pointing point detection unit 122 acquires the three-dimensional position information of the fingertip from the position on the image and the pixel value of the pixel corresponding to the fingertip in the same manner as in step S102, and stores the coordinate information in the RAM 111. To do. Here, the z-coordinate of the fingertip represents the distance between the target surface and the fingertip. In other words, the z coordinate of the pixel corresponding to the fingertip represents the height of the fingertip from the target surface 101. Hereinafter, the z coordinate of the indication point acquired in step S103 is referred to as fingertip height. In this embodiment, the Euclidean distance (mm) in the three-dimensional space is used as a measure of the fingertip height, but another distance measure may be used.

ステップS104からステップS106において、操作認識部124は指先がタッチ状態か非タッチ状態かを判定する。なお、情報処理装置100の初期状態は非タッチ状態である。まず、ステップS104において、操作認識部124は、取得されている指先高さが、所定のタッチ閾値以下か判定する。タッチ閾値は、ユーザの指先がタッチ対象面にタッチしているとみなすことができるタッチ状態を検出するための所定の高さの値である。本実施形態では、距離画像センサ115の検出誤差や、画素値に基づいてz座標を算出する計算に生じる誤差を考慮した上で、適切な値が事前に設定されている。例えば、情報処理装置100の設計時、あるいは設置時など、アプリケーションに対する操作が開始されるより前に設定されるとする。指先高さが所定のタッチ閾値以下の場合(ステップS104でYES)、ステップS107に進む。指先高さが所定のタッチ閾値以下ではない場合(ステップS104でNO)、ステップS105に進む。   In steps S104 to S106, the operation recognition unit 124 determines whether the fingertip is in a touch state or a non-touch state. Note that the initial state of the information processing apparatus 100 is a non-touch state. First, in step S104, the operation recognition unit 124 determines whether the acquired fingertip height is equal to or less than a predetermined touch threshold value. The touch threshold is a value of a predetermined height for detecting a touch state that can be considered that the user's fingertip is touching the touch target surface. In the present embodiment, an appropriate value is set in advance in consideration of the detection error of the distance image sensor 115 and the error that occurs in the calculation for calculating the z coordinate based on the pixel value. For example, it is assumed that the setting is made before the operation for the application is started, such as when the information processing apparatus 100 is designed or installed. If the fingertip height is less than or equal to the predetermined touch threshold (YES in step S104), the process proceeds to step S107. If the fingertip height is not less than or equal to the predetermined touch threshold (NO in step S104), the process proceeds to step S105.

ステップS105において、操作認識部124は、取得されている指先高さが、所定のリリース閾値以下か判定する。リリース閾値は、ユーザの指先がタッチ入力を終えたとみなすことができる非タッチ状態を検出するための所定の高さの値である。本実施形態では、リリース閾値もタッチ閾値と同様に、距離画像センサ115の検出誤差や、画素値に基づいてz座標を算出する計算に生じる誤差を考慮した上で、適切な値が事前に設定されている。指先高さが所定のリリース閾値以下の場合(ステップS105でYES)、ステップS106に進む。指先高さが所定のリリース閾値以下ではない場合(ステップS105でNO)、ステップS113に進む。なお、ステップS104及びステップS105の閾値処理において、指先高さが各閾値と一致する場合をいずれの判定結果にするかは閾値の定め方と同様、システムの構成や環境に合わせて適宜選択されればよい。本実施形態では、少なくとも、指先高さがタッチ閾値より小さい場合をタッチ状態、指先高さがリリース閾値より大きい場合を非タッチ状態として定義し、指先高さがリリース閾値を上回ったことに応じて、タッチ状態から非タッチ状態への遷移を検出する。   In step S105, the operation recognition unit 124 determines whether the obtained fingertip height is equal to or less than a predetermined release threshold. The release threshold is a value of a predetermined height for detecting a non-touch state that can be considered that the user's fingertip has finished touch input. In the present embodiment, similarly to the touch threshold, an appropriate value is set in advance in consideration of the detection error of the distance image sensor 115 and the error that occurs in the calculation for calculating the z coordinate based on the pixel value. Has been. If the fingertip height is less than or equal to the predetermined release threshold (YES in step S105), the process proceeds to step S106. If the fingertip height is not less than the predetermined release threshold (NO in step S105), the process proceeds to step S113. In the threshold processing of step S104 and step S105, which determination result is used when the fingertip height matches each threshold is selected as appropriate according to the system configuration and environment, as in the method of determining the threshold. That's fine. In this embodiment, at least the case where the fingertip height is smaller than the touch threshold is defined as the touch state, and the case where the fingertip height is greater than the release threshold is defined as the non-touch state, and the fingertip height exceeds the release threshold. The transition from the touch state to the non-touch state is detected.

ステップS106において、操作認識部124は、指先が前フレームまでの処理の結果として、既にタッチ状態に遷移しているかを判定する。本実施形態では、後述するステップS107あるいはステップS113で、最後に遷移した状態を示す情報がRAM111に保持される。操作認識部124は、RAM111を参照することで、ステップS106の判定を行う。既にタッチ状態である場合(ステップS106でYES)、ステップS108へ進む。タッチ状態ではない場合(ステップS106でNO)、現フレームの入力画像を対象とした図2のフローチャートの処理を終了する。本実施形態では、タッチ状態ではない場合とは、非タッチ状態である場合に相当する。情報処理装置100が起動された直後など、タッチ状態への遷移が検出されておらず、RAM111に状態遷移の結果が保持されていない場合、ステップS106の判定結果は常にNOとなる。従って、ステップS106でNOの判定がなされる場合とは、非タッチ状態への遷移がなされている後であるか、あるいは、未だタッチ入力が行われていない初期状態である場合であるため、この時点ではタッチ操作の認識を行う必要が生じていないと言える。   In step S106, the operation recognition unit 124 determines whether the fingertip has already transitioned to the touch state as a result of the processing up to the previous frame. In the present embodiment, information indicating the last transition state is held in the RAM 111 in step S107 or step S113 described later. The operation recognition unit 124 performs the determination in step S <b> 106 by referring to the RAM 111. If already touched (YES in step S106), the process proceeds to step S108. If not in the touch state (NO in step S106), the process of the flowchart of FIG. 2 for the input image of the current frame is terminated. In the present embodiment, the case of not being in a touch state corresponds to the case of being in a non-touch state. If the transition to the touch state is not detected, such as immediately after the information processing apparatus 100 is activated, and the result of the state transition is not held in the RAM 111, the determination result in step S106 is always NO. Accordingly, the case where the determination of NO is made in step S106 is after the transition to the non-touch state or the initial state where the touch input has not yet been performed. It can be said that it is not necessary to recognize the touch operation at the time.

ステップS107からステップS112までの処理は、指先がタッチ対象面に対するタッチ状態にある場合に行われる処理である。ステップS107で、操作認識部124は、指先の状態を、タッチ状態に遷移させ、RAM111にそれを示す情報を保持する。ステップS108で、操作認識部124は現在時刻をタッチ時刻としてRAM111に保持する。本実施形態では、タッチ開始時刻は、次に非タッチ状態への遷移が検出されるまでの各フレームで取得され、RAM111に蓄積される。ステップS109で、操作認識部124は、現フレームで決定された基準点の位置を表す座標情報を、最新の基準点の位置としてRAM111に保持する。そして、現フレームから検出された指先(指示点)の位置を表す座標情報を、最新の指示点としてRAM111に保持する。タッチ位置は、次に非タッチ状態への遷移が検出されるまでの各フレームで取得され、RAM111に蓄積される
ステップS110からステップS112において、操作認識部124はムーブを認識する。ムーブは、タッチ状態のまま指先をタッチ対象面に沿って移動させるのに従い、表示アイテムを移動させる指示の入力等に用いられる。ムーブは、ドラッグと呼ばれることもある。ステップS110では、操作認識部124は、タッチ状態での指示点の移動距離を取得する。ここで取得する移動距離とは、タッチ対象面に平行な方向、すなわちxy平面上での移動距離である。本実施形態では、操作認識部124は、RAM111に保持されている指示点の位置情報を参照して、前フレームと現フレームでの指示点の位置のx座標及びy座標から、2点間の距離を取得する。取得された距離が、フレーム間での指示点の移動距離である。
The processing from step S107 to step S112 is processing performed when the fingertip is in a touched state with respect to the touch target surface. In step S <b> 107, the operation recognition unit 124 changes the fingertip state to the touch state, and stores information indicating the change in the RAM 111. In step S108, the operation recognition unit 124 stores the current time in the RAM 111 as the touch time. In this embodiment, the touch start time is acquired in each frame until the next transition to the non-touch state is detected, and stored in the RAM 111. In step S109, the operation recognizing unit 124 stores the coordinate information indicating the position of the reference point determined in the current frame in the RAM 111 as the position of the latest reference point. Then, the coordinate information indicating the position of the fingertip (designated point) detected from the current frame is held in the RAM 111 as the latest designated point. The touch position is acquired in each frame until the next transition to the non-touch state is detected, and stored in the RAM 111. In steps S110 to S112, the operation recognition unit 124 recognizes the move. The move is used to input an instruction to move the display item as the fingertip is moved along the touch target surface while being in the touched state. A move is sometimes called a drag. In step S110, the operation recognizing unit 124 acquires the movement distance of the designated point in the touch state. The movement distance acquired here is a movement distance in a direction parallel to the touch target surface, that is, on the xy plane. In the present embodiment, the operation recognizing unit 124 refers to the position information of the pointing point held in the RAM 111, and determines between the two points from the x coordinate and the y coordinate of the position of the pointing point in the previous frame and the current frame. Get the distance. The acquired distance is the movement distance of the designated point between frames.

ステップS111では、操作認識部124が、取得した移動距離が所定のムーブ閾値以上かを判定する。取得した移動距離が所定のムーブ閾値以上であれば(ステップS111でYES)、ステップS112に進む。取得した移動距離が所定のムーブ閾値以上でなければ(ステップS111でNO)、現フレームを対象とする図2のフローチャートの処理を終了する。ムーブ閾値は、指示点の位置の検出誤差を考慮した上で、ユーザが意図的に指先を移動したとみなせるだけの距離が予め設定される。ムーブ閾値は、タップ条件に含まれる距離の閾値と同一であってもよく、タップ閾値より大きい距離としてもよいが、少なくとも、ムーブが一度でも認識された場合は、タップ条件は満たされないように設定される必要がある。ムーブとタップは排他的な関係にある操作種別だからである。なお、本実施形態において、ステップS110で取得する距離を、xy平面上での距離とするのは、ムーブ自体がタッチ状態のままタッチ対象面上に指を沿わせる操作であり、z方向の移動量が操作としての意味を持たないからである。タッチ閾値が十分小さく設定できる環境では、ムーブが行われたときにフレーム間でz座標に生じる差分は、微小となるため、移動距離の計算にz座標を考慮しても判定結果に影響することは少ない。しかしながら、通常、タッチ閾値は高さの検出誤差を吸収するだけの大きさをもつように設定される。従って、本実施形態では、ムーブの有無の判定に、z軸方向の移動の影響が反映されないように、移動距離を算出する方向を限定する。   In step S111, the operation recognition unit 124 determines whether the acquired movement distance is equal to or greater than a predetermined move threshold. If the acquired movement distance is equal to or greater than the predetermined move threshold (YES in step S111), the process proceeds to step S112. If the acquired movement distance is not greater than or equal to the predetermined move threshold (NO in step S111), the process of the flowchart of FIG. 2 for the current frame is terminated. The move threshold is set in advance to a distance that allows the user to consider that the fingertip has been intentionally moved in consideration of the detection error of the position of the indication point. The move threshold may be the same as the distance threshold included in the tap condition or may be a distance greater than the tap threshold, but at least if the move is recognized even once, the tap condition is set not to be satisfied. Need to be done. This is because “move” and “tap” are exclusive operation types. In the present embodiment, the distance acquired in step S110 is the distance on the xy plane, which is an operation of placing the finger on the touch target surface while the move itself is in the touch state, and moving in the z direction. This is because the quantity has no meaning as an operation. In an environment where the touch threshold can be set sufficiently small, the difference that occurs in the z-coordinate between frames when a move is performed is very small, and therefore the determination result is affected even if the z-coordinate is taken into account when calculating the movement distance. There are few. However, normally, the touch threshold is set to have a size sufficient to absorb the height detection error. Therefore, in this embodiment, the direction in which the movement distance is calculated is limited so that the influence of movement in the z-axis direction is not reflected in the determination of the presence or absence of the move.

ステップS112において、操作認識部124は、ムーブが入力されたことを認識し、出力制御部125など、入力操作に対する応答に関わる各機能部に通知する。例えば、ムーブイベントを発行する。出力制御部125は、アプリケーションの規定に従い、ムーブイベントに応じて出力すべき情報をROM112や記憶装置116から取得し、プロジェクタ118などの出力デバイスに出力させる。ステップS112の処理が完了したら、現フレームを対象とする図2のフローチャートの処理を終了する。   In step S112, the operation recognizing unit 124 recognizes that the move has been input, and notifies each functional unit related to the response to the input operation, such as the output control unit 125. For example, a move event is issued. The output control unit 125 acquires information to be output in response to the move event from the ROM 112 or the storage device 116 according to the application regulations, and causes the output device such as the projector 118 to output the information. When the process of step S112 is completed, the process of the flowchart of FIG. 2 for the current frame is terminated.

一方、ステップS113からステップS117は、指先が非タッチ状態であると判定された場合に実行される処理である。ステップS113において、操作認識部124は指先の状態を、非タッチ状態に遷移させ、RAM111にそれを示す情報を保持する。本実施形態では、タッチ状態から非タッチ状態への遷移が検出されたことで、リリースの動作を認識する。ステップS114において、操作認識部124は現在時刻をリリース時刻としてRAM111に保持する。リリース時刻は、常に最新の情報のみがRAM111で保持される。ステップS115において、操作認識部124は、現フレームから検出された基準点の位置を表す座標情報を、リリース時の基準点の位置としてRAM111に保持する。そして現フレームから検出された指先(指示点)の位置を表す座標情報を、リリース時の基準点の位置情報としてRAM111に保持する。リリース時の基準点及び指示点の位置情報常に最新の情報のみが保持される。   On the other hand, step S113 to step S117 are processes executed when it is determined that the fingertip is in a non-touch state. In step S <b> 113, the operation recognition unit 124 changes the state of the fingertip to the non-touch state, and holds information indicating the change in the RAM 111. In this embodiment, the release operation is recognized when a transition from the touch state to the non-touch state is detected. In step S114, the operation recognition unit 124 stores the current time in the RAM 111 as the release time. As for the release time, only the latest information is always held in the RAM 111. In step S115, the operation recognizing unit 124 holds coordinate information representing the position of the reference point detected from the current frame in the RAM 111 as the position of the reference point at the time of release. Then, coordinate information representing the position of the fingertip (indicated point) detected from the current frame is held in the RAM 111 as position information of the reference point at the time of release. Position information of reference points and pointing points at the time of release Only the latest information is always held.

ステップS116において、操作認識部124は、リリース後に確定する操作の認識処理を行う。本実施形態では、リリース後に確定する操作の認識処理において、タップとフリックの有無を判定する。ステップS116の処理が完了すると、タップとフリックのいずれかが認識される、あるいは、いずれでもないことが確定する。なお、本実施形態の場合、タップとフリックのいずれも認識されない場合とは、タッチ状態の間にムーブが入力された後で、フリックすることなくリリースが行われた場合である。ステップS116の処理の詳細な内容は後述する。ステップS117で、操作認識部124は、RAM111に保持されている、タッチ開始時刻、タッチ状態で検出された指示点と基準点の位置情報、及びムーブの有無を表す情報をクリアする。以上が、図2のフローチャートの処理である。   In step S116, the operation recognizing unit 124 performs an operation recognizing operation to be confirmed after release. In the present embodiment, the presence or absence of a tap and flick is determined in the recognition process for the operation to be confirmed after release. When the process of step S116 is completed, it is determined that either a tap or a flick is recognized or neither. In the present embodiment, the case where neither a tap nor a flick is recognized is a case where a release is performed without flicking after a move is input during the touch state. Details of the processing in step S116 will be described later. In step S117, the operation recognizing unit 124 clears the touch start time, the position information of the indication point and the reference point detected in the touch state, and the information indicating the presence / absence of the move, which are stored in the RAM 111. The above is the processing of the flowchart of FIG.

次に、図4のフローチャートを用いて、本実施形態のステップS116で実行される、リリース後に確定する操作の認識処理について説明する。本実施形態において、リリース後、すなわち非タッチ状態への遷移後に確定するタッチ操作はタップとフリックの二種類である。上述した通り、タップは、タッチ開始後、所定の時間(通常は数フレーム分などの短い時間)の間に、指先がリリースされたことと、タッチからリリースまでの間に、所定のタッチ対象面に沿う方向に移動が生じていないことを条件に認識される操作である。また、フリックは、リリース直前に対象面に沿う方向に高速な移動がなされたことを条件に認識される操作である。このように、タップとフリックはどちらもリリースがどのような条件下で行われたかが、認識条件に含まれる。さらに、これらの2つは排他的な関係にあり、同時に入力されることはない。つまり、タップが入力されたことが確定した時点で、フリックが入力された可能性はないとみなすことができ、一方で、フリックが入力されたことが確定した時点で、タップが入力された可能性はないとみなすことができる。   Next, the operation recognition process to be confirmed after release executed in step S116 of the present embodiment will be described using the flowchart of FIG. In the present embodiment, there are two types of touch operations, tap and flick, which are determined after release, that is, after transition to the non-touch state. As described above, the tap is a predetermined touch target surface between the start of the touch and the release of the fingertip during a predetermined time (usually a short time such as several frames) and between the touch and release. This operation is recognized on the condition that there is no movement in the direction along the line. A flick is an operation recognized on the condition that a high-speed movement is made in a direction along the target surface immediately before release. As described above, the recognition conditions include the conditions under which both the tap and the flick are released. Furthermore, these two are in an exclusive relationship and are not input simultaneously. In other words, when it is determined that a tap has been input, it can be considered that there is no possibility that a flick has been input. On the other hand, when it has been determined that a flick has been input, it is possible that a tap has been input. It can be considered that there is no sex.

ステップS200において、操作認識部124は、非タッチ状態への遷移が検出するまでの特定期間における指示点の移動を表す第1ベクトルを取得し、RAM111に保持する。本実施形態では、第1ベクトルの取得方法として、まずタッチ状態にある間に検出した指先の位置情報のうち、最もz座標が小さいときの位置を表す座標情報を、指示点の最下点位置として取得する。そして、ステップS115で保持されたリリース時の指示点の三次元座標と、指示点の最下点位置の三次元座標との差をとることで、3次元空間での第1ベクトルを取得することができる。ただしこの方法は一例であり、別の方法を用いてもよい。例えば、第1ベクトルはxy座標で定義された2次元のベクトルとして求めても構わない。   In step S <b> 200, the operation recognition unit 124 acquires a first vector representing the movement of the designated point in a specific period until the transition to the non-touch state is detected, and stores the first vector in the RAM 111. In the present embodiment, as a method for acquiring the first vector, the coordinate information indicating the position when the z coordinate is the smallest among the position information of the fingertip first detected during the touch state is used as the lowest point position of the indication point. Get as. Then, the first vector in the three-dimensional space is acquired by taking the difference between the three-dimensional coordinates of the indication point at the time of release held in step S115 and the three-dimensional coordinates of the lowest point position of the indication point. Can do. However, this method is an example, and another method may be used. For example, the first vector may be obtained as a two-dimensional vector defined by xy coordinates.

ステップS201において、操作認識部124は、非タッチ状態への遷移が検出するまでの特定期間における、基準点の移動を表す第2ベクトルを取得し、RAM111に保持する。なお、第1ベクトルと第2ベクトルは、同一期間での指示点と基準点の移動を表すベクトルである。本実施形態では、第2ベクトルの取得方法として、まず指示点の最下点位置が検出されたのと同じフレームにおいて取得された、基準点の位置を表す座標情報を、基準点の最下点位置として取得する。そして、ステップS115で保持されたリリース時の指示点の三次元座標と、と基準点の最下点位置の三次元座標との差をとることで3次元空間での第2ベクトルを取得することができる。ただしこれは一例であり、別の方法を用いてもよい。例えば、第2ベクトルはxy座標で定義された2次元のベクトルとして求めても構わない。   In step S <b> 201, the operation recognition unit 124 acquires a second vector representing the movement of the reference point in a specific period until the transition to the non-touch state is detected, and stores the second vector in the RAM 111. The first vector and the second vector are vectors representing the movement of the indication point and the reference point in the same period. In this embodiment, as the second vector acquisition method, first, coordinate information representing the position of the reference point acquired in the same frame where the lowest point position of the indication point is detected is used as the lowest point of the reference point. Get as position. Then, the second vector in the three-dimensional space is acquired by taking the difference between the three-dimensional coordinate of the indication point at the time of release held in step S115 and the three-dimensional coordinate of the lowest point position of the reference point. Can do. However, this is an example, and another method may be used. For example, the second vector may be obtained as a two-dimensional vector defined by xy coordinates.

ステップS202において、操作認識部124はタップ仮認識処理を行う。ここで、図4(A)のフローチャートを用いて、タップ仮認識処理の内容を説明する。まず、ステップS300において、操作認識部124は、リリース中の対象面に沿う方向の移動距離を取得する。本実施形態ではまず、操作認識部124は、ステップS200の処理でRAM111に保持された指示点の最下点位置の座標情報と、最下点位置が検出されたときのフレームに対応するタッチ時刻もRAM111から取得する。そして、操作認識部124は、取得した指示点の最下点位置の情報と、ステップS115でRAM111に保持されたリリース時の指示点の位置情報に基づいて、この間の指示点のタッチ対象面に沿う方向への移動距離を取得する。具体的には、それぞれの3次元座秒情報のうち、xy成分のみを用いて移動距離を算出する。なお、ここで求める移動距離が、第1ベクトルの大きさと一致するとみなせる環境であれば、ステップS301で操作認識部124は、RAM111から第1ベクトルの大きさ情報を取得するとしてもよい。また、第1ベクトルをxy平面に投影し、その大きさを取得してもよい。   In step S202, the operation recognition unit 124 performs a temporary tap recognition process. Here, the content of the temporary tap recognition process will be described with reference to the flowchart of FIG. First, in step S300, the operation recognition unit 124 acquires a movement distance in a direction along the target surface being released. In the present embodiment, first, the operation recognition unit 124 includes the coordinate information of the lowest point position of the indication point held in the RAM 111 in the process of step S200 and the touch time corresponding to the frame when the lowest point position is detected. Is also acquired from the RAM 111. The operation recognizing unit 124 then touches the touch target surface of the instruction point during this time based on the acquired information on the lowest point position of the instruction point and the position information of the instruction point at the time of release held in the RAM 111 in step S115. Get the distance traveled along the direction. Specifically, the movement distance is calculated using only the xy component of each three-dimensional subsecond information. Note that if the movement distance obtained here is an environment in which it can be considered that the magnitude of the first vector matches the magnitude of the first vector, the operation recognition unit 124 may acquire the magnitude information of the first vector from the RAM 111 in step S301. Further, the first vector may be projected on the xy plane to obtain the magnitude thereof.

ステップS301では、操作認識部124が、取得した移動距離がタップ距離閾値より小さいかを判定する。タップ距離閾値は、タップ条件のうち、物体が対象面に対してタッチ状態になってから非タッチ状態までにタッチ対象面に沿う方向の移動がなされていないことを判定するための設けられる距離の閾値である。従って、タップ距離閾値としては、位置情報の検出誤差を吸収した上で、ユーザが意図的に指を物体が対象面に沿う方向に移動させてはいないとみなすために適切な距離の値が設定される必要がある。ただし本実施形態では、ユーザが指先をタッチ対象面に垂直な方向に下ろして直上に上げるという理想的な入力を行う場合だけでなく、腕自体を動かしている途中でタップを入力するような場合にもタップを認識するためタップ距離閾値に余裕を持たせる。従来であれば、タップ距離閾値に余裕を持たせて大きく設定した場合、フリック入力との混同が発生し易くなるが、本実施形態では、後述するタップorフリック選択処理により、そのような場合にも認識精度を低下させないように処理する。取得した移動距離が、タップ距離閾値より小さいと判定される場合(ステップS301でYES)、処理はステップS302に移行する。取得した移動距離がタップ距離閾値より小さいと判定されない場合(ステップS301でNO)、処理はステップS304へ移行する。   In step S301, the operation recognition unit 124 determines whether the acquired movement distance is smaller than the tap distance threshold. The tap distance threshold is a distance provided in order to determine that the movement in the direction along the touch target surface is not performed from the touch condition to the target surface until the non-touch state among the tap conditions. It is a threshold value. Therefore, as the tap distance threshold, an appropriate distance value is set so that the user does not intentionally move the finger in the direction along the target surface after absorbing the detection error of the position information. Need to be done. However, in the present embodiment, not only when the user performs an ideal input of lowering the fingertip in a direction perpendicular to the touch target surface and raising it directly up, but also when the tap is input while moving the arm itself In addition, in order to recognize the tap, a margin is given to the tap distance threshold. Conventionally, when the tap distance threshold is set large with a margin, confusion with flick input is likely to occur, but in this embodiment, tap or flick selection processing (to be described later) causes such a case. Is also processed so as not to reduce the recognition accuracy. If it is determined that the acquired movement distance is smaller than the tap distance threshold (YES in step S301), the process proceeds to step S302. If it is not determined that the acquired movement distance is smaller than the tap distance threshold (NO in step S301), the process proceeds to step S304.

ステップS302において、操作認識部124は、タッチ状態であった時間がタップ時間閾値より短いかを判定する。本実施形態では、タッチ状態であった時間として、ステップS300で取得した指示点の最下点位置が検出されたときのタッチ時刻と、ステップS114で保持されたリリース時刻の差を取得した上で、タップ時間閾値より短いかを判定する。ただし、非タッチ状態からタッチ状態への遷移が検出された時刻を基準に、タッチ状態であった時間を計算することもできる。ここでタップ時間閾値とは、タップ条件のうち、タッチからリリースまでの時間に関する閾値である。例えば、1秒といった時間が設定される。ただし、タップ条件に時間に関する条件が含まれない場合、ステップS302は省略されてもよい。ただし、タップ時間閾値として短い時間が設定されている場合に、タップとフリックの混同がより発生しやすい傾向がある。本実施形態では、後述するそのような場合にも認識精度を低下させないように処理することができる。タッチ状態であった時間がタップ時間閾値より短いと判定される場合(ステップS302でYES)、ステップS303に進む。タッチ状態であった時間がタップ時間閾値より短いと判定されない場合(ステップS302でNO)、ステップS304に進む。   In step S302, the operation recognizing unit 124 determines whether the time in the touch state is shorter than the tap time threshold. In the present embodiment, after obtaining the difference between the touch time when the lowest point position of the indication point acquired in step S300 is detected and the release time held in step S114 as the time in the touch state. It is determined whether it is shorter than the tap time threshold. However, the time in the touch state can be calculated based on the time at which the transition from the non-touch state to the touch state is detected. Here, the tap time threshold is a threshold related to the time from touch to release among the tap conditions. For example, a time such as 1 second is set. However, when the time condition is not included in the tap condition, step S302 may be omitted. However, when a short time is set as the tap time threshold, confusion between taps and flicks tends to occur more easily. In this embodiment, it is possible to perform processing so as not to lower the recognition accuracy even in such a case to be described later. If it is determined that the time in the touch state is shorter than the tap time threshold (YES in step S302), the process proceeds to step S303. If it is not determined that the time in the touch state is shorter than the tap time threshold (NO in step S302), the process proceeds to step S304.

ステップS303において、操作認識部124は、タップフラグを「ON」に設定し、RAM111に保持し、タップ仮認識処理を終了する。タップフラグの初期値は「OFF」であるとする。本実施形態では、タップフラグが「OFF」である場合は、タップは入力されていないと一意にみなすことができる場合である。ステップS304において、操作認識部124は、タップフラグを「OFF」に設定してRAM111に保持し、タップ仮認識処理を終了する。   In step S303, the operation recognition unit 124 sets the tap flag to “ON”, holds the tap flag in the RAM 111, and ends the temporary tap recognition process. It is assumed that the initial value of the tap flag is “OFF”. In this embodiment, when the tap flag is “OFF”, it is a case where the tap can be uniquely regarded as not being input. In step S304, the operation recognition unit 124 sets the tap flag to “OFF” and holds it in the RAM 111, and ends the temporary tap recognition process.

図3のフローチャートの処理に戻り、ステップS203においては、操作認識部124が、フリック仮認識処理を行う。ここで、図4(B)のフローチャートを用いて、フリック仮認識処理の内容を説明する。ステップS400において、操作認識部124は、指示点のリリーススピードを取得する。ここで取得されるリリーススピードとは、タッチ状態から非タッチ状態への遷移が検出するまでの所定の時間の間における、指示点のタッチ対象面に沿う方向の移動スピードである。本実施形態では、非タッチ状態への遷移が検出される前のフレームで検出されていた指示点のxy座標と、ステップS115で保持したリリース時の指示点のxy座標との差分と、フレームレートとから、指示点のリリーススピードを取得する。ただし、別の方法を用いてもよい。例えば、非タッチ状態への遷移が検出される前のフレームで検出されていた指示点のxy座標と、ステップS115で保持したリリース時の指示点のxy座標との差分とを用いて、指示点の1フレームあたりの移動距離をリリーススピードとして取得してもよい。   Returning to the processing of the flowchart of FIG. 3, in step S <b> 203, the operation recognition unit 124 performs flick provisional recognition processing. Here, the contents of the flick provisional recognition process will be described with reference to the flowchart of FIG. In step S400, the operation recognition unit 124 acquires the release speed of the designated point. The release speed acquired here is the moving speed of the indication point in the direction along the touch target surface during a predetermined time until the transition from the touch state to the non-touch state is detected. In the present embodiment, the difference between the xy coordinates of the pointing point detected in the frame before the transition to the non-touch state is detected and the xy coordinates of the pointing point at the release held in step S115, and the frame rate And get the release speed of the indicator. However, another method may be used. For example, using the difference between the xy coordinates of the indication point detected in the frame before the transition to the non-touch state is detected and the xy coordinates of the indication point at the time of release held in step S115, the indication point The movement distance per frame may be acquired as the release speed.

ステップS401において、操作認識部124は、取得した指示点のフリックスピードが、フリック条件となる所定のスピードを表すフリック閾値以上かを判定する。取得したフリックスピードが、フリック閾値以上であると判定された場合(ステップS401でYES)、ステップS402に進む。取得したフリックスピードが、フリック閾値以上であると判定されない場合(ステップS401でNO)、ステップS403に移行する。なお、フリック条件は、x方向のリリーススピードとy方向のリリーススピードのそれぞれに対して設けられてもよい。   In step S <b> 401, the operation recognition unit 124 determines whether the flick speed of the acquired indication point is equal to or higher than a flick threshold that represents a predetermined speed that is a flick condition. If it is determined that the acquired flick speed is equal to or higher than the flick threshold (YES in step S401), the process proceeds to step S402. If it is not determined that the acquired flick speed is equal to or higher than the flick threshold (NO in step S401), the process proceeds to step S403. The flick condition may be provided for each of the release speed in the x direction and the release speed in the y direction.

ステップS402において、操作認識部124はフリックフラグを「ON」に設定し、RAM111に保持し、フリック仮認識処理を終了する。フリックフラグの初期値は「OFF」であるとする。本実施形態では、フリックフラグが「OFF」である場合は、フリックは入力されていないと一意にみなすことができる場合である。ステップS403において、操作認識部124はフリックフラグを「OFF」に設定し、RAM111に保持し、フリック仮認識処理を終了する。   In step S402, the operation recognition unit 124 sets the flick flag to “ON”, holds the flick flag in the RAM 111, and ends the flick provisional recognition process. It is assumed that the initial value of the flick flag is “OFF”. In the present embodiment, when the flick flag is “OFF”, it is a case where the flick flag can be uniquely regarded as not being input. In step S403, the operation recognition unit 124 sets the flick flag to “OFF”, holds the flick flag in the RAM 111, and ends the flick provisional recognition process.

図3のフローチャートに戻り、ステップS204において、操作認識部124はタップフラグが「ON」かつフリックフラグが「OFF」かを判定する。判定結果がYESである場合はステップS205に進む。判定結果がNOの場合、ステップS206へ移行する。ステップS205において、操作認識部124は、タップが入力されたと判定する。従って、タップを認識したことを、出力制御部125など、入力操作に対する応答に関わる各機能部に通知する。例えば、タップイベントを発行する。出力制御部125は、アプリケーションの規定に従い、ムーブイベントに応じて出力すべき情報をROM112や記憶装置116から取得し、プロジェクタ118などの出力デバイスに出力させる。ステップS205の処理が完了したら、図3のフローチャートの処理を終了し、上述したステップS117に進む。   Returning to the flowchart of FIG. 3, in step S204, the operation recognition unit 124 determines whether the tap flag is “ON” and the flick flag is “OFF”. If the determination result is YES, the process proceeds to step S205. If the determination result is NO, the process proceeds to step S206. In step S205, the operation recognition unit 124 determines that a tap has been input. Therefore, the fact that the tap has been recognized is notified to each function unit related to the response to the input operation, such as the output control unit 125. For example, a tap event is issued. The output control unit 125 acquires information to be output in response to the move event from the ROM 112 or the storage device 116 according to the application regulations, and causes the output device such as the projector 118 to output the information. When the process of step S205 is completed, the process of the flowchart of FIG. 3 is terminated, and the process proceeds to step S117 described above.

ステップS206では、操作認識部124は、フリックフラグが「ON」かつタップフラグが「OFF」かを判定する。判定結果がYESである場合はステップS207へ、判定結果がNOである場合はステップS208へ移行する。ステップS207において、操作認識部124は、フリックが入力されたと判定する。従って、フリックを認識したことを、出力制御部125など、入力操作に対する応答に関わる各機能部に通知する。例えば、フリックイベントを発行する。出力制御部125は、アプリケーションの規定に従い、ムーブイベントに応じて出力すべき情報をROM112や記憶装置116から取得し、プロジェクタ118などの出力デバイスに出力させる。ステップS205の処理が完了したら、図3のフローチャートの処理を終了し、上述したステップS117に進む。   In step S206, the operation recognition unit 124 determines whether the flick flag is “ON” and the tap flag is “OFF”. If the determination result is YES, the process proceeds to step S207, and if the determination result is NO, the process proceeds to step S208. In step S207, the operation recognition unit 124 determines that a flick has been input. Accordingly, the fact that the flick has been recognized is notified to each function unit related to the response to the input operation, such as the output control unit 125. For example, a flick event is issued. The output control unit 125 acquires information to be output in response to the move event from the ROM 112 or the storage device 116 according to the application regulations, and causes the output device such as the projector 118 to output the information. When the process of step S205 is completed, the process of the flowchart of FIG. 3 is terminated, and the process proceeds to step S117 described above.

ステップS208では、操作認識部124は、タップフラグとフリックフラグの両方が「ON」かを判定する。判定結果がYESである場合、ステップS209に進む。判定結果がNOである場合、図3のフローチャートの処理を終了し、上述したステップS117に進む。なお、ステップS208でNOと判定される場合は、すなわち、タップとフリックの両方が入力されていない場合である。本実施形態においては、タッチ状態の間にムーブが入力された後で、フリックすることなくリリースが行われた場合がこれに相当する。   In step S208, the operation recognition unit 124 determines whether both the tap flag and the flick flag are “ON”. If the determination result is YES, the process proceeds to step S209. If the determination result is NO, the process of the flowchart in FIG. 3 is terminated, and the process proceeds to step S117 described above. In addition, when it determines with NO by step S208, it is a case where both a tap and a flick are not input. In the present embodiment, this corresponds to the case where the release is performed without flicking after the move is input during the touch state.

ステップS209で、操作認識部124はタップorフリック選択処理を行い、図3のフローチャートの処理を終了する。タップorフリック選択処理とは、タップとフリックの両方について、入力された可能性があると仮認識されている状態で、より尤もらしい方の操作を選択する処理である。   In step S209, the operation recognition unit 124 performs tap or flick selection processing, and ends the processing of the flowchart of FIG. The tap or flick selection process is a process of selecting a more likely operation in a state in which both taps and flicks are temporarily recognized as having been input.

次に図5のフローチャートを参照して、タップorフリック選択処理の内容を説明する。まず、ステップS500において、操作認識部124は、ステップS200で取得した第1ベクトルとステップS201で取得した第2ベクトルについて、タッチ対象面に平行な方向の成分(xy成分)が類似するとみなされるかを判定する。本実施形態では、第1ベクトルと第2ベクトルのxy成分の類似度を取得し、ベクトルの類似度に関する第1閾値との比較処理によって判定を行う。本実施形態では、ベクトルの類似度として、ベクトルの内積を用いる。従って、類似度は0に近いほどベクトルが垂直に近いことになる。従って、第1閾値は、内積の値の値が設定される。操作認識部124は、類似度がベクトルの類似度に関する第1閾値以上である場合に、2つのベクトルが類似するとみなされると判定する。2つのベクトルが類似するとみなされる場合(ステップS500でYES)、ステップS501に進む。2つのベクトルが類似するとみなされない場合(ステップS500でNO)、ステップS502に進む。   Next, the contents of the tap or flick selection process will be described with reference to the flowchart of FIG. First, in step S500, the operation recognition unit 124 regards the first vector acquired in step S200 and the second vector acquired in step S201 to be regarded as having similar components in the direction parallel to the touch target surface (xy component). Determine. In the present embodiment, the similarity between the xy components of the first vector and the second vector is acquired, and the determination is performed by a comparison process with a first threshold related to the vector similarity. In this embodiment, a vector inner product is used as the vector similarity. Therefore, the closer the similarity is to 0, the closer the vector is to the vertical. Therefore, the value of the inner product is set as the first threshold. The operation recognizing unit 124 determines that two vectors are regarded as similar when the similarity is equal to or greater than a first threshold related to the similarity of the vectors. If the two vectors are considered to be similar (YES in step S500), the process proceeds to step S501. If the two vectors are not considered similar (NO in step S500), the process proceeds to step S502.

ステップS501において、操作認識部124は、ステップS207と同じように、フリックを認識し、タップorフリック選択処理を終了する。   In step S501, the operation recognition unit 124 recognizes a flick as in step S207, and ends the tap or flick selection process.

ステップS502において、操作認識部124は、ステップS205と同じように、タップを認識し、タップorフリック認識処理を終了する。以上が、本実施形態で実行される、一連のタッチ認識処理である。なお、本実施形態では、指示点として検出した指先の移動、及び基準点の移動を表す情報として、ベクトルを用いる例を説明した。しかしながら、移動を表す情報は、ベクトル形式に限定されない。例えば、ベクトルの大きさと方向に相当する、移動距離や移動方向のそれぞれを用いてもよい。   In step S502, the operation recognizing unit 124 recognizes the tap as in step S205, and ends the tap or flick recognition process. The above is a series of touch recognition processes executed in the present embodiment. In the present embodiment, an example has been described in which a vector is used as information representing the movement of the fingertip detected as the indication point and the movement of the reference point. However, the information indicating movement is not limited to the vector format. For example, each of the movement distance and the movement direction corresponding to the magnitude and direction of the vector may be used.

次に、図6(A)〜(D)を用いて、フリックあるいはタップが入力されるときのユーザの腕と指の状態の具体例を説明する。図6(A)〜(D)はタッチ操作中のユーザの腕を、距離画像センサ115の位置から見た様子を図示している。破線の腕輪郭202はタッチ最下点時の腕領域、実線の腕輪郭200はリリース時の腕領域を示している。また、破線の円203はタッチ最下点時の基準点、実線の円201はリリース時の基準点を示している。実線の矢印は第1ベクトル、二重線の矢印は第2ベクトルを示している。ただし、タッチ最下点時とリリース時で移動がない場合には、タッチ最下点時の腕輪郭202、基準点203、第1ベクトル、第2ベクトルは図示していない。また、図6(A)〜(D)の全てにおいて、タッチ最下点のタッチ時刻とリリース時刻の差はタップ時間閾値未満より小さい。   Next, a specific example of the state of the user's arm and finger when a flick or tap is input will be described with reference to FIGS. FIGS. 6A to 6D illustrate a state where the user's arm during the touch operation is viewed from the position of the distance image sensor 115. A broken arm outline 202 indicates an arm area at the lowest point of touch, and a solid arm outline 200 indicates an arm area at the time of release. A dashed circle 203 indicates a reference point at the lowest point of touch, and a solid circle 201 indicates a reference point at the time of release. The solid line arrow indicates the first vector, and the double line arrow indicates the second vector. However, when there is no movement at the lowest point of touch and at the time of release, the arm contour 202, the reference point 203, the first vector, and the second vector at the lowest point of touch are not shown. Further, in all of FIGS. 6A to 6D, the difference between the touch time at the lowest touch point and the release time is smaller than the tap time threshold.

図6(A)は、ユーザがタップを入力している様子を表す。この場合、腕自体には、xy平面方向の移動がほとんど生じないことが多い。第1ベクトルと第2ベクトルは大きさがほぼ0であるため図示していない。タッチからリリースまで指先のxy座標はほぼ動かないため、タップ認識処理でタップフラグが「ON」、フリック認識処理でフリックフラグが「OFF」にセットされ、最終的にはタップが認識される。   FIG. 6A shows a state where the user is inputting a tap. In this case, the arm itself often hardly moves in the xy plane direction. Since the magnitudes of the first vector and the second vector are almost zero, they are not shown. Since the xy coordinates of the fingertip hardly move from touch to release, the tap flag is set to “ON” in the tap recognition process, the flick flag is set to “OFF” in the flick recognition process, and the tap is finally recognized.

図6(B)は、ユーザが、腕自体はあまり動かさずに、指先を高速に移動させることでフリックを行った様子を表す。ただし、指がタッチ状態であったの短時間には、xy平面方向の移動はなされていないとする。これにより、第1ベクトルは図示しているが、第2ベクトルの大きさはほぼ0であるため図示していない。タップ認識処理ではタップフラグが「ON」にセットされる。そしてリリースの瞬間に指先がxy方向に素早く移動しリリース時指先xy移動速度が大きいため、フリック認識処理ではフリックフラグが「ON」にセットされる。最終的にタップorフリック選択処理では第1ベクトルと第2ベクトルの類似度が小さいため、フリックが認識される。   FIG. 6B shows a state where the user flicks by moving the fingertip at high speed without moving the arm itself. However, it is assumed that the movement in the xy plane direction is not performed in a short time when the finger is in the touched state. Thus, although the first vector is illustrated, the magnitude of the second vector is approximately zero, and thus is not illustrated. In the tap recognition process, the tap flag is set to “ON”. Since the fingertip quickly moves in the xy direction at the moment of release and the fingertip xy moving speed at release is large, the flick flag is set to “ON” in the flick recognition process. Finally, in the tap or flick selection process, since the similarity between the first vector and the second vector is small, the flick is recognized.

図6(C)は、ユーザが腕を静止させることなくxy平面方向に移動させている途中で、タップ操作が入力される様子を表す。タップ認識処理ではタップフラグが「ON」にセットされる。フリック認識処理では、リリース時の指先xy移動速度が大きいためフリックフラグが「ON」にセットされる。図示しているように第1ベクトルと第2ベクトルはほぼ平行であるため類似度は高くなる。そのため、最終的にタップorフリック選択処理では、タップが認識される。テーブルトップ型のデバイスにおいては、ユーザはタッチしてから体の方向へ腕を操作平面から引き抜きながらタップすることが多いが、本実施形態ではそのようなタップもロバストに認識できる。ただし、本実施形態ではタッチ後に腕を移動させる方向に制限はなく、タッチ後にどの方向に腕を動かしてもタップをロバストに認識することができる。   FIG. 6C illustrates a state in which a tap operation is input while the user is moving the arm in the xy plane direction without stopping the arm. In the tap recognition process, the tap flag is set to “ON”. In the flick recognition process, the flick flag is set to “ON” because the moving speed of the fingertip xy at the time of release is large. As shown in the figure, the first vector and the second vector are almost parallel, so the degree of similarity is high. Therefore, the tap is finally recognized in the tap or flick selection process. In a table top type device, the user often taps while pulling the arm from the operation plane in the direction of the body after touching, but in the present embodiment, such a tap can also be recognized robustly. However, in this embodiment, there is no restriction on the direction in which the arm is moved after the touch, and the tap can be recognized robustly regardless of the direction in which the arm is moved after the touch.

図6(D)は、ユーザが、腕全体を移動させている途中で、指先だけを高速に移動させることでフリックを入力する様子を表す。ただし、指がタッチ状態であったの短時間には、xy平面方向の移動はなされていないとする。これにより、タップ認識処理ではタップフラグが「ON」にセットされる。フリック認識処理では、リリース時指先xy移動速度が大きいためフリックフラグが「ON」にセットされる。図示しているようにフリック時に指先が動くため、第1ベクトルと第2ベクトルの類似度は低くなるため、類似するとみなされない。従って、最終的にタップorフリック選択処理では、フリックが認識される。以上が、本実施形態において、情報処理装置100に対して入力されたユーザ操作に応じて、タッチ操作を認識する処理である。このように本実施形態では、操作体として腕が利用される場合に、タッチ入力に利用される指先の移動と、腕自体の位置を表す基準点の移動の類似度に応じて、フリックとタップの認識精度を向上させる。例えば、距離画像センサの画像取得間隔が長く、かつ取得した画像にノイズが含まれる場合には、指先の情報のみを用いても指先の軌跡が似ている操作を区別することは難しい。図6の例ではあ、指先のタッチ対象面に平行な方向の移動軌跡のみを用いただけでは、図6(B)に示す腕を動かさないフリック操作と図6(C)に示す腕を動かすタップ操作を区別することは難しい。そこで本実施形態では指先に加え基準点の移動情報を考慮することで、タッチ操作の認識精度を向上させることができる。なお、本実施形態ではタッチ操作の認識をルールベースで行っているが、機械学習により学習した識別器を使う等してもよい。   FIG. 6D shows a state in which the user inputs a flick by moving only the fingertip at high speed while moving the entire arm. However, it is assumed that the movement in the xy plane direction is not performed in a short time when the finger is in the touched state. Thereby, the tap flag is set to “ON” in the tap recognition process. In the flick recognition process, the flick flag is set to “ON” because the fingertip xy moving speed at the time of release is large. As shown in the figure, since the fingertip moves at the time of flicking, the similarity between the first vector and the second vector is low, so that they are not regarded as similar. Therefore, in the final tap or flick selection process, the flick is recognized. In the present embodiment, the process for recognizing the touch operation according to the user operation input to the information processing apparatus 100 has been described above. As described above, in the present embodiment, when an arm is used as the operating body, a flick and a tap are performed according to the similarity between the movement of the fingertip used for touch input and the movement of the reference point representing the position of the arm itself. Improve recognition accuracy. For example, when the image acquisition interval of the distance image sensor is long and noise is included in the acquired image, it is difficult to distinguish operations with similar fingertip trajectories even using only fingertip information. In the example of FIG. 6, a flick operation that does not move the arm shown in FIG. 6B and a tap that moves the arm shown in FIG. 6C only by using the movement trajectory in the direction parallel to the touch target surface of the fingertip. It is difficult to distinguish operations. Therefore, in this embodiment, the recognition accuracy of the touch operation can be improved by considering the movement information of the reference point in addition to the fingertip. In the present embodiment, the touch operation is recognized on a rule basis, but a discriminator learned by machine learning may be used.

<変形例>
ここで、第1の実施形態の変形例として、上述したタップorフリック選択処理に、さらに別の指標に関する判定処理を加える例を示す。第1の実施形態では、指示点の移動を表す第1ベクトルと、基準点の移動を表す第2ベクトルのうち、タッチ対象面に平行な方向の成分のみを使って判定を行った。それに対し、変形例では、操作体の移動について三次元(xyz)の情報を利用する。
<Modification>
Here, as a modified example of the first embodiment, an example in which a determination process related to another index is added to the tap or flick selection process described above will be described. In the first embodiment, the determination is performed using only the component in the direction parallel to the touch target surface out of the first vector representing the movement of the designated point and the second vector representing the movement of the reference point. On the other hand, in the modification, three-dimensional (xyz) information is used for the movement of the operating tool.

第1の実施形態において参照した図11(A)のように、タッチ操作で移動させる対象が小さかったり、対象を移動させたい距離が短かったりするような場合には、フリックは、腕よりも指を多く動かす、つまり指関節を曲げることで入力されることも多い。しかしながら、比較的大きな表示オブジェクトに対しフリックを行う場合には、指関節を動かすことなく、腕全体を動かしてフリックを行う方が自然な場合がある。例えば、図11(B)のように対象面に大きく表示される文書をフリックでページ送りする場合等がある。図11(B)でも図11(A)と同様、実線で輪郭が描かれた腕は、ユーザの腕の最新の位置を、点線で輪郭が描かれた腕は、移動前に遡った過去(1フレーム前)におけるユーザの腕の位置を表す。図11(B)では初期状態で1ページ目が表示されている。そしてムーブにより文書が途中までページがスライド移動された後、フリックが入力されることで、次ページへの以降が完了した状態が速やかに表示される。図11(B)では、指関節を動かすことなく腕全体を大きく動かすことで、フリックが入力されている。変形例によれば、このような腕の動きによってフリックの入力された場合でも、指示点と基準点のz軸方向の移動について考慮することで、タップとフリックの認識精度を向上させることができる。   As shown in FIG. 11A referred to in the first embodiment, when the object to be moved by the touch operation is small or the distance to move the object is short, the flick is a finger rather than an arm. It is often input by moving a lot, that is, bending a finger joint. However, when flicking a relatively large display object, it may be more natural to flick by moving the entire arm without moving the finger joint. For example, as shown in FIG. 11B, a document that is largely displayed on the target surface may be paged by flicking. In FIG. 11B, as in FIG. 11A, the arm outlined by the solid line indicates the latest position of the user's arm, and the arm outlined by the dotted line traces the past ( This represents the position of the user's arm in the previous frame). In FIG. 11B, the first page is displayed in the initial state. Then, after the page is slid and moved halfway by the move, a flick is input to promptly display a state where the subsequent page is completed. In FIG. 11B, the flick is input by moving the entire arm largely without moving the finger joint. According to the modification, even when the flick is input by such an arm movement, the recognition accuracy of the tap and the flick can be improved by considering the movement of the indication point and the reference point in the z-axis direction. .

以下では、指関節を曲げる動きが伴うフリックを「指フリック」、指関節の動きが伴わない腕を動かして行うフリックを「腕フリック」と定義して説明する。なお、腕フリックを距離画像センサから見た概略図は、図6(C)の腕を動かすタップとほぼ同一になり、第1の実施形態と同じ方法で取得した第1ベクトル、と第2ベクトルのうち、xy方向の成分は類似度が高くなってしまう。しかし、指先の微細な軌跡は腕を動かすタップとは異なる。   In the following description, a flick accompanied by a movement that bends a finger joint is defined as “finger flick”, and a flick performed by moving an arm without a finger joint movement is defined as an “arm flick”. The schematic view of the arm flick as viewed from the distance image sensor is substantially the same as the tap for moving the arm in FIG. 6C, and the first vector and the second vector acquired by the same method as in the first embodiment. Among them, the component in the xy direction has a high similarity. However, the fine trajectory of the fingertip is different from the tap that moves the arm.

変形例における、システムの外観、ハードウェア構成、及び機能構成は、第1の実施形態の図1に示したものに準じる。ただし、変形例の操作認識部124は、第1の実施形態とはタップorフリック選択処理において、さらに後述する複数の処理を実行する。   The external appearance, hardware configuration, and functional configuration of the system in the modified example conform to those shown in FIG. 1 of the first embodiment. However, the operation recognizing unit 124 of the modified example executes a plurality of processes to be described later in the tap or flick selection process in the first embodiment.

変形例の情報処理装置100も、第1の実施形態と同様、図2のフローチャートに従ってタッチ認識処理を実行する。ただし、ステップS209では、図9のフローチャートに示されるタップorフリック認識処理を実行する。図9のフローチャートの処理が、第1の実施形態におけるタップorフリック選択処理(図5のフローチャート)と異なるのは、リリースに至るまでの指先の移動について、z成分を用いている点である。以下、図9のフローチャートを参照して、変形例におけるタップorフリック認識処理の内容を説明するが、図5のフローチャートと内容が共通する処理には同じステップ番号を付与し、詳細な説明は省略するとする。変形例の場合、第1ベクトルと第2ベクトルの操作面方向成分が類似しているとみなされた場合(ステップS500でYES)、処理はステップS600に進む。また、第1ベクトルと第2ベクトルの操作面方向成分が類似するとみなされない場合(ステップS500でNO)は、第1の実施形態と同様、ステップ501に進み、フリックが認識される。   Similarly to the first embodiment, the information processing apparatus 100 according to the modification also executes the touch recognition process according to the flowchart of FIG. However, in step S209, the tap or flick recognition process shown in the flowchart of FIG. 9 is executed. The processing of the flowchart of FIG. 9 is different from the tap or flick selection processing (flowchart of FIG. 5) in the first embodiment in that the z component is used for movement of the fingertip until release. Hereinafter, the contents of the tap or flick recognition process in the modified example will be described with reference to the flowchart of FIG. 9, but the same step numbers are assigned to processes having the same contents as the flowchart of FIG. 5, and detailed description thereof is omitted. Then. In the case of the modification, when it is considered that the operation surface direction components of the first vector and the second vector are similar (YES in step S500), the process proceeds to step S600. If the operation surface direction components of the first vector and the second vector are not considered to be similar (NO in step S500), the process proceeds to step 501 and a flick is recognized, as in the first embodiment.

ステップS600において、操作認識部124は、第1ベクトルのxy成分の大きさとz成分の大きさの差の絶対値を、ベクトルの成分の大きさに関する第2閾値を比較する。第1ベクトルのxy成分の大きさとz成分の大きさの差の絶対値が第2閾値より小さいと判定される場合(ステップS600でYES)、ステップS602へ移行する。第1ベクトルのxy成分の大きさとz成分の大きさの差が第2閾値より小さいと判定されない場合(ステップS600でNO)、ステップS601へ移行する。   In step S <b> 600, the operation recognition unit 124 compares the absolute value of the difference between the magnitude of the xy component and the magnitude of the z component of the first vector with a second threshold relating to the magnitude of the vector component. When it is determined that the absolute value of the difference between the magnitude of the xy component and the magnitude of the z component of the first vector is smaller than the second threshold (YES in step S600), the process proceeds to step S602. If it is not determined that the difference between the magnitudes of the xy component and the z component of the first vector is smaller than the second threshold value (NO in step S600), the process proceeds to step S601.

ステップS600の処理は、第1ベクトルのxy成分(対象面に平行な成分)とz成分(対象面に垂直な成分)の大小関係を使うことで、第1ベクトルのみによるフリックとタップの区別が可能かを判定するための処理である。第1ベクトルによるフリックとタップの区別の考え方は、図7(A)を参照して後述する。ステップS600で、判定可能であればステップS601で、指先移動ベクトルのz成分とxy成分の大きさを用いたタップとフリックの判定に移行する。第1ベクトルのみによるフリックとタップの区別ができない(ステップS600でNO)と判定される場合には、ステップS602において、タッチ状態での指示点の軌跡の形状を使ったタップとフリックの区別を行う。タッチ状態での指示点の軌跡の形状を利用する場合の考え方は、図7(B)を参照して後述する。   The process of step S600 uses the magnitude relationship between the xy component (component parallel to the target surface) and the z component (component perpendicular to the target surface) of the first vector, so that the flick and tap can be distinguished only by the first vector. This is a process for determining whether it is possible. The concept of distinction between flicks and taps based on the first vector will be described later with reference to FIG. If it is possible to determine in step S600, the process proceeds to determination of tap and flick using the z component and xy component magnitudes of the fingertip movement vector in step S601. If it is determined that the flick and tap cannot be distinguished only by the first vector (NO in step S600), in step S602, the tap and flick are distinguished using the shape of the locus of the pointing point in the touch state. . The concept for using the shape of the locus of the pointing point in the touch state will be described later with reference to FIG.

ステップS601で、操作認識部124は第1ベクトルのz成分の絶対値とxy成分の絶対値の大きさを比較する。詳細は後述する。xy成分のほうが大きい場合にはフリックの認識が確定し、ステップS501へ移行する。z成分のほうが大きい場合にはタップの認識が確定しステップS502へ移行する。   In step S601, the operation recognition unit 124 compares the absolute value of the z component and the absolute value of the xy component of the first vector. Details will be described later. If the xy component is larger, the flick recognition is confirmed, and the process proceeds to step S501. If the z component is larger, tap recognition is confirmed and the process proceeds to step S502.

ステップS602で、操作認識部124は指先のタッチ後移動軌跡の形状が、タッチ対象面に近づく側(本実施形態のテーブルトップシステムの場合は下側)に凸を描く形状かを判定する。タッチ後移動軌跡が、タッチ対象面に近づく側に凸を描く形状であればフリックの認識を確定し、ステップS501に移行する。タッチ後移動軌跡が上に凸であればタップに認識を確定し、ステップS502に移行する。   In step S <b> 602, the operation recognition unit 124 determines whether the shape of the post-touch movement trajectory of the fingertip is a shape that is convex on the side closer to the touch target surface (lower side in the case of the table top system of the present embodiment). If the post-touch movement trajectory is a shape that is convex toward the touch target surface, flick recognition is confirmed, and the process proceeds to step S501. If the movement locus after the touch is convex upward, the tap is recognized and the process proceeds to step S502.

図7を用いて、ステップS600及びステップS601で行う第1ベクトルのz成分の絶対値とxy成分の絶対値の大きさを比較するという処理の詳細を説明する。図7は様々なタッチ操作を操作平面に水平な方向から示した図である。点線はタッチ閾値、破線はリリース閾値を示している。実線の細い矢印はリリースまでの指先の軌跡を示している。指先の軌跡は実際には図7のように連続的に観測されるわけではなく、距離画像の取得間隔に応じて離散的に取得される。黒い矢印は第1ベクトルのz成分、白抜きの矢印はxy成分を示している。図7(A)は腕が動かないタップ、図7(B)は腕が動かない指フリック、図7(C)はタッチ後に腕が動くタップ、図7(D)はタッチ後に腕が動くフリック、図7(E)は腕フリックの様子を示している。図7において、ユーザがタップを意図して入力している場合(A、C)では、タッチ状態での最下点からリリースに至るまでの移動を表すベクトルのうち、xy成分とz成分の大きさに差異が生じ、かつ、z成分の方がxy成分よりも大きい場合が多い。これには、タップ条件に、指示点がxy方向にはほぼ移動しないことが含まれるため、ユーザが速いタイミングで指先を上昇させようとする傾向が反映されている。これに対し、ユーザがフリックを意図して入力している場合(B、D、E)では、タッチ状態での最下点からリリースに至るまでの移動を表すベクトルのうち、xy成分とz成分の大きさに差異が生じ、かつ、xy成分の方がz成分よりも大きい場合が多い。フリック条件には、リリースの直前に指示点がxy方向に高速移動することが含まれるためである。そこで変形例では、上述したように、第1ベクトルのxy成分とz成分の大きさを比較し、いずれかの方が大きいと判定できるだけの差がある場合には、z成分の方が大きければタップ、xy成分の方が大きければフリックと判定する。このように処理することで、図7の場合では、図7(A)では第1ベクトルのz成分とxy成分の大きさに十分に差があり、かつ、z成分がxy成分より大きいと判定され、タップが認識される。そして、図7(D)(E)では、のz成分とxy成分の大きさに十分に差があり、xy成分がz成分より大きいと判定され、フリックが認識される。図7(B)(C)では、第1ベクトルのz成分とxy成分の大きさに十分な差がないため、第1ベクトルの情報のみでは、タップとフリックを区別しきれないとみなされることになる。   The details of the process of comparing the magnitude of the absolute value of the z component and the absolute value of the xy component of the first vector performed in step S600 and step S601 will be described using FIG. FIG. 7 is a diagram showing various touch operations from a direction horizontal to the operation plane. A dotted line indicates a touch threshold, and a broken line indicates a release threshold. The thin solid arrow indicates the trajectory of the fingertip until release. The trajectory of the fingertip is not actually observed continuously as shown in FIG. 7, but is acquired discretely according to the distance image acquisition interval. The black arrow indicates the z component of the first vector, and the white arrow indicates the xy component. 7A is a tap where the arm does not move, FIG. 7B is a finger flick where the arm does not move, FIG. 7C is a tap where the arm moves after touching, and FIG. 7D is a flick where the arm moves after touching. FIG. 7E shows an arm flick. In FIG. 7, when the user intentionally inputs a tap (A, C), the magnitudes of the xy component and the z component in the vector representing the movement from the lowest point in the touch state to the release. In many cases, the z component is larger than the xy component. This includes a tendency that the pointing point does not substantially move in the xy direction in the tap condition, so that the tendency of the user to raise the fingertip at a fast timing is reflected. On the other hand, when the user inputs a flicking intention (B, D, E), the xy component and the z component of the vector representing the movement from the lowest point in the touch state to the release. In many cases, there is a difference in the size of the xy component, and the xy component is larger than the z component. This is because the flick condition includes that the pointing point moves at high speed in the xy direction immediately before the release. Therefore, in the modification, as described above, the magnitudes of the xy component and the z component of the first vector are compared, and if there is a difference that can be determined that either one is greater, the z component is greater. If the tap and xy components are larger, it is determined as a flick. By processing in this way, in the case of FIG. 7, it is determined in FIG. 7A that there is a sufficient difference between the z component and the xy component of the first vector and that the z component is larger than the xy component. And the tap is recognized. In FIGS. 7D and 7E, there is a sufficient difference between the z component and the xy component, and it is determined that the xy component is larger than the z component, and the flick is recognized. In FIGS. 7B and 7C, since there is not a sufficient difference between the z component and the xy component of the first vector, it is considered that the tap and the flick cannot be distinguished from only the information of the first vector. become.

次に、図8を用いて、ステップS602で行われるタッチ後軌跡の凹凸判定について詳細に説明する。図8(A)〜(E)は、図7(A)〜(E)と同様に、タッチ操作を操作平面に水平な方向から示した図である。点線はタッチ閾値、破線はリリース閾値を示している。図8にも図7と同様の符号「OFF」っており、図8(A)は腕が動かないタップ、図8(B)は腕が動かない指フリック、図8(C)はタッチ後に腕が動くタップ、図8(D)はタッチ後に腕が動く指フリック、図8(E)は腕フリックの様子を示している。   Next, the unevenness determination of the post-touch locus performed in step S602 will be described in detail with reference to FIG. FIGS. 8A to 8E are diagrams showing the touch operation from a direction horizontal to the operation plane, as in FIGS. 7A to 7E. A dotted line indicates a touch threshold, and a broken line indicates a release threshold. FIG. 8 also shows “OFF” as in FIG. 7, FIG. 8A is a tap where the arm does not move, FIG. 8B is a finger flick where the arm does not move, and FIG. 8C is after touching. FIG. 8D shows a finger flick in which the arm moves after touching, and FIG. 8E shows a state of the arm flick.

白抜きの円は、離散的に取得された指先の観測点を表している。対象面に近いほうからそれぞれ、最下点、最下点とリリース位置の中点、リリース位置を表している。中点を中心とした扇形は三点がなす角度を示している。   Open circles represent the observation points of the fingertips obtained discretely. The lowest point, the lowest point, the midpoint of the release position, and the release position are shown from the side closer to the target surface. The fan shape centered at the midpoint shows the angle formed by the three points.

図8において、ユーザがフリックを意図して入力している場合(B、D、E)では、タッチ状態での最下点からリリースに至るとき、指先がまずタッチ対象面に平行な方向への移動をしてから上昇している。その結果、タッチ状態での最下点からリリースに至るまでの移動軌跡の形状は、タッチ対象面に近づく方向である下方向に膨らんでいる。変形例では、この状態を、移動形状がタッチ対象面に近づく側に凸を描くという。一方で、ユーザがタップを意図して入力している場合(A、C)では、タッチ状態での最下点からリリースに至るときに、タッチ対象面に平行な方向には動かないまま上昇する動きが優先される。その結果、移動軌跡の形状は、フリックの場合とは逆に、タッチ対象面に離れる方向である上方向に膨らんでいる。この現象は、第1ベクトルのxy成分とz成分の大きさが略同じである場合にも生じやすい。ステップS602では、上述した三点がなす角度が180°以上である場合を、下に凸を描く場合、180°より小さい場合を、下に凸を描かない(上に凸)を描く場合と判定すると定義する。これに従い、図8で示す具体例で、上に凸と判定されるのは、図8(A)、(C)であり、下に凸と判定されるのは、図8(B)、(D)、(E)である。   In FIG. 8, when the user inputs a flick intentionally (B, D, E), when the user reaches the release from the lowest point in the touch state, the fingertip first goes in a direction parallel to the touch target surface. It has risen after moving. As a result, the shape of the movement trajectory from the lowest point in the touch state to the release swells downward, which is the direction approaching the touch target surface. In the modified example, this state is called a convex on the side where the moving shape approaches the touch target surface. On the other hand, in the case where the user intends to input a tap (A, C), when the user reaches the release from the lowest point in the touch state, the user moves upward without moving in the direction parallel to the touch target surface. Priority is given to movement. As a result, the shape of the movement locus swells upward, which is the direction away from the touch target surface, contrary to the case of flicking. This phenomenon is likely to occur even when the xy component and the z component of the first vector have substantially the same size. In step S602, the case where the angle formed by the above three points is 180 ° or more is determined as a case where a convex is drawn downward, a case where the angle is smaller than 180 ° is a case where a convex is not drawn downward (convex upward). Then define. Accordingly, in the specific example shown in FIG. 8, it is determined that the projection is upward in FIGS. 8A and 8C, and the projection is determined to be downward in FIGS. D) and (E).

図10の表は、図7及び図8の(A)〜(E)のタッチ操作が、図3及び図9のフローチャートの各ステップでどのように認識・判定されるかをまとめたものである。認識・判定できた場合は○、判定できない場合は×、判定が行われない場合は−を示している。   The table of FIG. 10 summarizes how the touch operations of FIGS. 7 and 8 (A) to (E) are recognized and determined at each step of the flowcharts of FIGS. 3 and 9. . When the recognition / judgment can be made, ◯, when the judgment cannot be made, ×, when the judgment is not made,-is shown.

腕が動かないタップ(A)では、ステップS202でタップフラグが「ON」、ステップS203でフリックフラグが「OFF」にセットされる。タップフラグのみが「ON」なのでタップorフリック選択処理が行われることなく、タップが認識される。   In the tap (A) where the arm does not move, the tap flag is set to “ON” in step S202, and the flick flag is set to “OFF” in step S203. Since only the tap flag is “ON”, the tap is recognized without performing the tap or flick selection process.

腕が動かない指フリック(B)では、ステップS202及びステップS203で、タップフラグ及びフリックフラグが「ON」にセットされ、ステップS209のタップorフリック選択処理が行われる。ステップS600の指先と基準点の移動ベクトルによる判定では、図6(B)に示すように第1ベクトルと第2ベクトルの類似度が低いため、フリックの認識が確定する。   In the finger flick (B) where the arm does not move, the tap flag and the flick flag are set to “ON” in step S202 and step S203, and the tap or flick selection process in step S209 is performed. In the determination based on the movement vector of the fingertip and the reference point in Step S600, since the similarity between the first vector and the second vector is low as shown in FIG.

タッチ後に腕が動くタップ(C)では、ステップS202及びステップS203で、タップフラグ及びフリックフラグが「ON」にセットされ、ステップS209のタップorフリック選択処理が行われる。まず、ステップS600の指先と基準点の移動ベクトルによる判定では、図6(C)に示すように第1ベクトルと第2ベクトルの類似度が高いため、認識は確定せず、ステップS600へ移行する。ステップS600では図7(C)に示すように、z成分とxy成分がほぼ等しいため、ステップS602へ移行する。ステップS602では図8(C)に示すように、三点がなす角度が180度より小さいであり、上に凸であるため、タップの認識が確定する。   In the tap (C) in which the arm moves after the touch, the tap flag and the flick flag are set to “ON” in steps S202 and S203, and the tap or flick selection process in step S209 is performed. First, in the determination based on the movement vector of the fingertip and the reference point in step S600, since the similarity between the first vector and the second vector is high as shown in FIG. 6C, the recognition is not confirmed and the process proceeds to step S600. . In step S600, as shown in FIG. 7C, since the z component and the xy component are substantially equal, the process proceeds to step S602. In step S602, as shown in FIG. 8C, since the angle formed by the three points is smaller than 180 degrees and is convex upward, tap recognition is confirmed.

タッチ後に腕が動く指フリック(D)では、ステップS202及びステップS203で、タップフラグ及びフリックフラグが「ON」にセットされ、ステップS207のタップorフリック選択処理が行われる。ステップS600の指先と基準点の移動ベクトルによる判定では、図6(D)に示すように第1ベクトルと第2ベクトルの類似度が低いため、フリックの認識が確定する。   In the finger flick (D) in which the arm moves after the touch, the tap flag and the flick flag are set to “ON” in steps S202 and S203, and the tap or flick selection process in step S207 is performed. In the determination based on the movement vector of the fingertip and the reference point in Step S600, since the similarity between the first vector and the second vector is low as shown in FIG.

腕フリック(E)では、ステップS202及びステップS203で、タップフラグ及びフリックフラグが「ON」にセットされ、ステップS209のタップorフリック選択処理が行われる。まず、ステップS600の指先と基準点の移動ベクトルによる判定では、図6(C)に示すように第1ベクトルと第2ベクトルの類似度が高いため、認識は確定せず、ステップS600へ移行する。ステップS600及びステップS601では図7(E)に示すように、z成分よりxy成分のほうが大きいため、フリックの認識が確定する。   In the arm flick (E), the tap flag and the flick flag are set to “ON” in step S202 and step S203, and the tap or flick selection process in step S209 is performed. First, in the determination based on the movement vector of the fingertip and the reference point in step S600, since the similarity between the first vector and the second vector is high as shown in FIG. 6C, the recognition is not confirmed and the process proceeds to step S600. . In step S600 and step S601, as shown in FIG. 7E, since the xy component is larger than the z component, the recognition of the flick is determined.

以上が、変形例において、情報処理装置100に対して入力されたユーザ操作に応じて、タッチ操作を認識する処理である。   The above is the process of recognizing the touch operation in accordance with the user operation input to the information processing apparatus 100 in the modification.

変形例によれば、フリックに指関節の動きが伴わない場合のように、第1の実施形態で、指示点の移動と基準点の移動が類似してしまう場合でも、フリックとタップの認識精度を向上させることができる。なお、変形例でも、タッチ操作の認識をルールベースで行っているが、機械学習により学習した識別器を使う等してもよい。   According to the modification, even when the movement of the pointing point and the movement of the reference point are similar in the first embodiment, as in the case where the movement of the finger joint does not accompany the flick, the recognition accuracy of the flick and the tap is similar. Can be improved. In the modification, the touch operation is recognized on a rule basis, but a classifier learned by machine learning may be used.

(その他の実施形態)
本発明は、上述の実施形態の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.

120 画像取得部
121 操作体取得部
122 指示点検出部
123 操作認識部
124 保持部
DESCRIPTION OF SYMBOLS 120 Image acquisition part 121 Operation body acquisition part 122 Instruction point detection part 123 Operation recognition part 124 Holding part

Claims (20)

人が腕を挿入して操作を行う空間を撮像した入力画像を取得する画像取得手段と、
前記入力画像のうち前記人の腕が被写体として写る領域から、前記人の手の指先に相当する指示点を検出する検出手段と、
前記入力画像のうち前記人の手が被写体として写る領域の、前記指先とは異なる位置に、前記人の腕の位置の基準となる基準点の位置を決定する基準決定手段と、
前記指先が、前記空間に含まれる所定の面に対してのタッチ状態が非タッチ状態に遷移した場合、同一期間に前記画像取得手段によって取得された複数の前記入力画像から、前記検出手段によって検出される前記指先に相当する位置の移動と、前記基準決定手段によって決定される前記基準点の位置の移動とを使って、所定のタッチ操作が入力されたかを判定する操作認識手段と、
を備えることを特徴とする情報処理装置。
Image acquisition means for acquiring an input image obtained by imaging a space in which a person inserts an arm and performs an operation;
Detecting means for detecting an indication point corresponding to a fingertip of the person's hand from an area in which the person's arm is captured as a subject in the input image;
Reference determining means for determining a position of a reference point serving as a reference for the position of the person's arm at a position different from the fingertip in an area of the input image in which the person's hand is captured as a subject;
When the touch state with respect to the predetermined surface included in the space is changed to the non-touch state, the fingertip is detected by the detection unit from a plurality of the input images acquired by the image acquisition unit during the same period. An operation recognition unit that determines whether a predetermined touch operation is input using the movement of the position corresponding to the fingertip and the movement of the position of the reference point determined by the reference determination unit;
An information processing apparatus comprising:
前記所定の操作とは、フリックであって、
前記操作認識手段は、前記遷移の前の前記指先の移動スピードが所定のスピードより速く、かつ、
前記同一期間における前記検出手段が検出する前記指先に相当する位置の移動と、前記基準決定手段によって決定される前記基準点の位置の移動が類似しないとみなされる場合に、フリックが入力されたと判定する
ことを特徴とする請求項1に記載の情報処理装置。
The predetermined operation is a flick,
The operation recognizing means has a moving speed of the fingertip before the transition higher than a predetermined speed, and
When the movement of the position corresponding to the fingertip detected by the detection means in the same period and the movement of the position of the reference point determined by the reference determination means are regarded as not similar, it is determined that a flick has been input The information processing apparatus according to claim 1, wherein:
前記所定の操作とは、タップであって、
前記操作認識手段は、前記遷移の前に前記指先が前記所定の面に対してタッチ状態にあった時間の長さと前記タッチ状態にある間の前記指先の移動距離が所定のタップ条件を満たし、かつ、
前記同一期間における前記検出手段が検出する前記指先に相当する位置の移動と、前記基準決定手段によって決定される前記基準点の位置の移動が類似しないとみなされる場合に、タップが入力されたと判定する
ことを特徴とする請求項1又は2に記載の情報処理装置。
The predetermined operation is a tap,
The operation recognition means, the length of time that the fingertip is in a touched state with respect to the predetermined surface before the transition and the movement distance of the fingertip while in the touched state satisfy a predetermined tap condition, And,
When the movement of the position corresponding to the fingertip detected by the detection means in the same period and the movement of the position of the reference point determined by the reference determination means are regarded as not similar, it is determined that a tap is input The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus.
前記操作認識手段は、前記遷移の前に前記指先が前記所定の面に対してタッチ状態にあった時間の長さと前記タッチ状態にある間の前記指先の移動距離によって所定のタップ条件が満たされた場合に、
前記同一期間に取得された前記複数の前記入力画像から、前記検出手段によって検出される前記指先に相当する位置の移動と、前記基準決定手段によって決定される前記基準点の位置の移動とを使って、前記所定の操作として、タップが入力されたか、あるいはフリックが入力されたかを判定する
ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
The operation recognition means satisfies a predetermined tap condition based on a length of time that the fingertip is in a touched state with respect to the predetermined surface before the transition and a moving distance of the fingertip while in the touched state. If
Using the movement of the position corresponding to the fingertip detected by the detection means and the movement of the position of the reference point determined by the reference determination means from the plurality of input images acquired in the same period The information processing apparatus according to claim 1, wherein the information processing apparatus determines whether a tap is input or a flick is input as the predetermined operation.
前記所定のタップ条件とは、少なくとも、前記遷移の前に前記指先が前記所定の面に対してタッチ状態にあった間の前記指先の移動距離が所定の距離の閾値より小さいという条件である
ことを特徴とする請求項3又は4に記載の情報処理装置。
The predetermined tap condition is at least a condition that a moving distance of the fingertip is smaller than a predetermined distance threshold while the fingertip is in a touch state with respect to the predetermined surface before the transition. The information processing apparatus according to claim 3 or 4, characterized in that:
前記所定のタップ条件とは、前記遷移の前に前記指先が前記所定の面に対してタッチ状態にあった時間の長さが所定の時間の閾値より短く、かつ、
前記遷移の前に前記指先が前記所定の面に対してタッチ状態にあった間の前記指先の移動距離が所定の距離の閾値より小さいという条件である
ことを特徴とする請求項3又は4に記載の情報処理装置。
The predetermined tap condition is that a length of time that the fingertip is in a touched state with respect to the predetermined surface before the transition is shorter than a predetermined time threshold, and
5. The condition according to claim 3, wherein the moving distance of the fingertip while the fingertip is in a touch state with respect to the predetermined surface before the transition is a condition that the moving distance of the fingertip is smaller than a predetermined distance threshold. The information processing apparatus described.
前記操作認識手段は、
前記同一期間における前記検出手段が検出する前記指先に相当する位置の移動と、前記基準決定手段によって決定される前記基準点の位置の移動が類似しないとみなされる場合、タップが入力されたと判定し、
前記同一期間における前記検出手段が検出する前記指先に相当する位置の移動と、前記基準決定手段によって決定される前記基準点の位置の移動が類似しないとみなされる場合、フリックが入力されたと判定する
ことを特徴とする請求項4に記載の情報処理装置。
The operation recognition means includes
When the movement of the position corresponding to the fingertip detected by the detection means in the same period and the movement of the position of the reference point determined by the reference determination means are regarded as not similar, it is determined that a tap has been input. ,
If it is considered that the movement of the position corresponding to the fingertip detected by the detection means in the same period and the movement of the position of the reference point determined by the reference determination means are not similar, it is determined that a flick has been input. The information processing apparatus according to claim 4.
前記操作認識手段は、前記同一期間における前記検出手段が検出する前記指先に相当する位置の移動を表す第1ベクトルと、前記基準決定手段によって決定される前記基準点の位置の移動を表す第2ベクトルの類似度を使って、前記所定のタッチ操作が入力されたかを判定する
ことを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
The operation recognizing means includes a first vector representing movement of the position corresponding to the fingertip detected by the detecting means in the same period, and a second vector representing movement of the position of the reference point determined by the reference determining means. The information processing apparatus according to claim 1, wherein the information processing apparatus determines whether the predetermined touch operation has been input using a vector similarity.
前記第1ベクトル及び前記第2ベクトルは、少なくとも前記所定の面に平行な方向の成分を含むことを特徴とする請求項8に記載の情報処理装置。   The information processing apparatus according to claim 8, wherein the first vector and the second vector include at least a component in a direction parallel to the predetermined plane. 前記第1ベクトル及び前記第2ベクトルは、前記所定の面に平行な方向の成分と、前記所定の面に垂直な方向の成分とを含むことを特徴とする請求項8に記載の情報処理装置。   The information processing apparatus according to claim 8, wherein the first vector and the second vector include a component in a direction parallel to the predetermined plane and a component in a direction perpendicular to the predetermined plane. . 前記操作認識手段は、さらに、前記第1ベクトルの、前記所定の面に平行な方向の成分と、前記所定の面に垂直な方向の成分の大小関係に基づいて、前記所定の操作として、タップが入力されたか、あるいはフリックが入力されたかを判定する
ことを特徴とする請求項8に記載の情報処理装置。
The operation recognizing means further taps as the predetermined operation based on a magnitude relationship between a component of the first vector in a direction parallel to the predetermined plane and a component in a direction perpendicular to the predetermined plane. The information processing apparatus according to claim 8, wherein it is determined whether or not a flick is input.
前記操作認識手段は、前記第1ベクトルの、前記所定の面に平行な方向の成分が、前記所定の面に垂直な方向の成分よりも大きい場合、フリックが入力されたと判定する
ことを特徴とする請求項11に記載の情報処理装置。
The operation recognizing means determines that a flick is input when a component of the first vector in a direction parallel to the predetermined plane is larger than a component in a direction perpendicular to the predetermined plane. The information processing apparatus according to claim 11.
前記操作認識手段は、さらに、前記指先が前記所定の面に最も近づいてから前記非タッチ状態に遷移するまでの、前記指先の移動軌跡の形状に基づいて、前記所定の操作として、タップが入力されたか、あるいはフリックが入力されたかを判定する
ことを特徴とする請求項8に記載の情報処理装置。
The operation recognizing unit may further input a tap as the predetermined operation based on a shape of a movement locus of the fingertip from when the fingertip is closest to the predetermined surface until transition to the non-touch state. The information processing apparatus according to claim 8, wherein it is determined whether or not a flick has been input.
前記操作認識手段は、前記指先が前記所定の面に最も近づいてから前記非タッチ状態に遷移するまでの、前記指先の移動軌跡の形状が、前記所定の面に近づく方向に凸を描く場合、フリックが入力されたと判定する
ことを特徴とする請求項13に記載の情報処理装置。
The operation recognizing means, when the shape of the movement locus of the fingertip from when the fingertip is closest to the predetermined surface until transition to the non-touch state draws a convex in the direction approaching the predetermined surface, The information processing apparatus according to claim 13, wherein the information processing apparatus determines that a flick has been input.
前記基準決定手段は、前記入力画像のうち前記人の腕が被写体として写る領域の輪郭の情報を使って、前記人の甲の中心を前記基準点として決定する
ことを特徴とする請求項1乃至14のいずれか1項に記載の情報処理装置。
The reference determining means determines the center of the person's instep as the reference point by using information on an outline of a region of the input image where the person's arm appears as a subject. The information processing apparatus according to any one of 14.
前記操作認識手段は、前記所定の面と前記検出手段によって検出される指先の位置との間の距離が、所定の距離を上回ったことを、前記タッチ状態から前記非タッチ状態への遷移として検出する
ことを特徴とする請求項1乃至15のいずれか1項に記載の情報処理装置。
The operation recognition unit detects that the distance between the predetermined surface and the position of the fingertip detected by the detection unit exceeds a predetermined distance as a transition from the touch state to the non-touch state. The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus.
前記入力画像は、上方から前記所定の面を見下ろす画角で設置された距離画像センサが撮像した距離画像である
ことを特徴とする請求項1乃至16のいずれか1項に記載の情報処理装置。
The information processing apparatus according to any one of claims 1 to 16, wherein the input image is a distance image captured by a distance image sensor installed at an angle of view overlooking the predetermined surface from above. .
画像取得手段により、人が腕を挿入して操作を行う空間を撮像した入力画像を取得する画像取得工程と、
検出手段により、前記取得された入力画像のうち前記人の腕が被写体として写る領域から、前記人の手の指先に相当する指示点を検出する検出工程と、
基準決定手段により、前記取得された入力画像のうち前記人の手が被写体として写る領域の、前記指先とは異なる位置に、前記人の手の位置を表す基準点の位置を決定する基準決定工程と、
前記指先が、前記空間に含まれる所定の面に対してのタッチ状態が非タッチ状態に遷移した場合、操作認識手段により、同一期間に取得された複数の前記入力画像から検出される前記指先に相当する位置の移動と前記基準点の位置の移動とを使って、所定のタッチ操作が入力されたかを判定する操作認識工程と、
有することを特徴とする情報処理装置の制御方法。
An image acquisition step of acquiring an input image obtained by imaging a space in which a person inserts an arm and performs an operation;
A detection step of detecting an indication point corresponding to a fingertip of the person's hand from a region in which the person's arm is captured as a subject in the acquired input image by a detection unit;
A reference determination step of determining a position of a reference point representing the position of the person's hand at a position different from the fingertip in a region where the person's hand is captured as a subject in the acquired input image by the reference determination means. When,
When the fingertip makes a transition to a non-touch state on a predetermined surface included in the space, the fingertip detected from the plurality of input images acquired in the same period by the operation recognition unit An operation recognition step of determining whether a predetermined touch operation is input using the movement of the corresponding position and the movement of the position of the reference point;
A method for controlling an information processing apparatus, comprising:
コンピュータを、
人が腕を挿入して操作を行う空間を撮像した入力画像を取得する画像取得手段と、
前記入力画像のうち前記人の腕が被写体として写る領域から、前記人の手の指先に相当する指示点を検出する検出手段と、
前記入力画像のうち前記人の手が被写体として写る領域の、前記指先とは異なる位置に、前記人の手の位置を表す基準点の位置を決定する基準決定手段と、
前記指先が、前記空間に含まれる所定の面に対してのタッチ状態が非タッチ状態に遷移した場合、同一期間に前記画像取得手段によって取得された複数の前記入力画像から、前記検出手段によって検出される前記指先に相当する位置の移動と、前記基準決定手段によって決定される前記基準点の位置の移動とを使って、所定のタッチ操作が入力されたかを判定する操作認識手段とを備える情報処理装置として機能させるプログラム。
Computer
Image acquisition means for acquiring an input image obtained by imaging a space in which a person inserts an arm and performs an operation;
Detecting means for detecting an indication point corresponding to a fingertip of the person's hand from an area in which the person's arm is captured as a subject in the input image;
Reference determining means for determining a position of a reference point representing the position of the person's hand at a position different from the fingertip in a region of the input image in which the person's hand appears as a subject;
When the touch state with respect to the predetermined surface included in the space is changed to the non-touch state, the fingertip is detected by the detection unit from a plurality of the input images acquired by the image acquisition unit during the same period. Operation recognition means for determining whether or not a predetermined touch operation has been input using the movement of the position corresponding to the fingertip and the movement of the position of the reference point determined by the reference determination means. A program that functions as a processing device.
請求項19に記載されたプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。   A computer-readable storage medium storing the program according to claim 19.
JP2015170599A 2015-08-31 2015-08-31 Information processing apparatus, control method therefor, program, and storage medium Active JP6579866B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015170599A JP6579866B2 (en) 2015-08-31 2015-08-31 Information processing apparatus, control method therefor, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015170599A JP6579866B2 (en) 2015-08-31 2015-08-31 Information processing apparatus, control method therefor, program, and storage medium

Publications (2)

Publication Number Publication Date
JP2017049661A true JP2017049661A (en) 2017-03-09
JP6579866B2 JP6579866B2 (en) 2019-09-25

Family

ID=58278659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015170599A Active JP6579866B2 (en) 2015-08-31 2015-08-31 Information processing apparatus, control method therefor, program, and storage medium

Country Status (1)

Country Link
JP (1) JP6579866B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111194434A (en) * 2017-10-11 2020-05-22 三菱电机株式会社 Operation input device, information processing system, and operation determination method
CN114415852A (en) * 2021-11-30 2022-04-29 深圳市鸿合创新信息技术有限责任公司 Touch coordinate determination method and related equipment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042796A (en) * 2005-11-25 2009-02-26 Panasonic Corp Gesture input device and method
JP2009064109A (en) * 2007-09-04 2009-03-26 Canon Inc Image projector and its control method
WO2011142317A1 (en) * 2010-05-11 2011-11-17 日本システムウエア株式会社 Gesture recognition device, method, program, and computer-readable medium upon which program is stored
JP2013069273A (en) * 2011-09-07 2013-04-18 Nitto Denko Corp Motion detection method of input body and input device using the same
JP2014006594A (en) * 2012-06-21 2014-01-16 Fujitsu Ltd Character input program, information processor, and character input method
JP2014038527A (en) * 2012-08-17 2014-02-27 Nec System Technologies Ltd Input device, input method and program
WO2014033109A1 (en) * 2012-08-27 2014-03-06 Ulstein Power & Control As Interactive bridge console system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042796A (en) * 2005-11-25 2009-02-26 Panasonic Corp Gesture input device and method
JP2009064109A (en) * 2007-09-04 2009-03-26 Canon Inc Image projector and its control method
WO2011142317A1 (en) * 2010-05-11 2011-11-17 日本システムウエア株式会社 Gesture recognition device, method, program, and computer-readable medium upon which program is stored
JP2013069273A (en) * 2011-09-07 2013-04-18 Nitto Denko Corp Motion detection method of input body and input device using the same
JP2014006594A (en) * 2012-06-21 2014-01-16 Fujitsu Ltd Character input program, information processor, and character input method
JP2014038527A (en) * 2012-08-17 2014-02-27 Nec System Technologies Ltd Input device, input method and program
WO2014033109A1 (en) * 2012-08-27 2014-03-06 Ulstein Power & Control As Interactive bridge console system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111194434A (en) * 2017-10-11 2020-05-22 三菱电机株式会社 Operation input device, information processing system, and operation determination method
CN111194434B (en) * 2017-10-11 2024-01-30 三菱电机株式会社 Operation input device, information processing system, and operation determination method
CN114415852A (en) * 2021-11-30 2022-04-29 深圳市鸿合创新信息技术有限责任公司 Touch coordinate determination method and related equipment

Also Published As

Publication number Publication date
JP6579866B2 (en) 2019-09-25

Similar Documents

Publication Publication Date Title
US9529527B2 (en) Information processing apparatus and control method, and recording medium
US9329691B2 (en) Operation input apparatus and method using distinct determination and control areas
US9069386B2 (en) Gesture recognition device, method, program, and computer-readable medium upon which program is stored
US9756265B2 (en) Information processing apparatus recognizing certain object in captured image, and method for controlling the same
US9916043B2 (en) Information processing apparatus for recognizing user operation based on an image
JP6711817B2 (en) Information processing apparatus, control method thereof, program, and storage medium
JP6207240B2 (en) Information processing apparatus and control method thereof
JP5306105B2 (en) Display control device, display control device control method, program, and storage medium
JP6410537B2 (en) Information processing apparatus, control method therefor, program, and storage medium
JP6452456B2 (en) Information processing apparatus, control method therefor, program, and storage medium
CN102270037A (en) Freehand man-machine interface operating system and method thereof
JP6452369B2 (en) Information processing apparatus, control method therefor, program, and storage medium
JP6579866B2 (en) Information processing apparatus, control method therefor, program, and storage medium
CN106598422B (en) hybrid control method, control system and electronic equipment
JP6033061B2 (en) Input device and program
JP6245938B2 (en) Information processing apparatus and control method thereof, computer program, and storage medium
JP6555958B2 (en) Information processing apparatus, control method therefor, program, and storage medium
JP6618301B2 (en) Information processing apparatus, control method therefor, program, and storage medium
JP6570376B2 (en) Information processing apparatus, control method therefor, program, and storage medium
TWI444875B (en) Multi-touch input apparatus and its interface method using data fusion of a single touch sensor pad and imaging sensor
JP6428382B2 (en) Input system, input device, and program
US10175825B2 (en) Information processing apparatus, information processing method, and program for determining contact on the basis of a change in color of an image
JP2018181169A (en) Information processor, and information processor control method, computer program, and storage medium
JP2016110517A (en) Information processing apparatus and control method of the same, program, and storage medium
JP2017228216A (en) Information processing apparatus, control method therefor, program, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190614

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190827

R151 Written notification of patent or utility model registration

Ref document number: 6579866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151