WO2011030581A1 - ジェスチャー判定装置およびその方法 - Google Patents
ジェスチャー判定装置およびその方法 Download PDFInfo
- Publication number
- WO2011030581A1 WO2011030581A1 PCT/JP2010/056981 JP2010056981W WO2011030581A1 WO 2011030581 A1 WO2011030581 A1 WO 2011030581A1 JP 2010056981 W JP2010056981 W JP 2010056981W WO 2011030581 A1 WO2011030581 A1 WO 2011030581A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- angle classification
- angle
- gesture
- classification
- coordinate data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
Definitions
- the present invention relates to a gesture determination apparatus and method for determining a gesture based on input coordinates.
- a gesture is determined based on the locus of coordinates input to the touch panel or touch pad using a fingertip or a pen tip, and various operation commands corresponding to the determined gesture are transmitted to the electronic device.
- the function to give to etc. is known.
- the determination of the gesture can be performed using angle classification (also referred to as “direction code”).
- Patent Document 1 a system that classifies each line segment based on an angle and performs character recognition by structural analysis is known (for example, Patent Document 1).
- Patent Document 2 a method of extracting feature of a character pattern using a direction code is known (for example, Patent Document 2).
- the gesture determination as described above if the time interval for determining which direction the finger is moved is made fine (for example, every 10 ms), an operation according to the user's intention may not be possible in some cases. It was. Specifically, even if the user intends to move his / her finger to the right side, the movement is judged to be diagonally right upward or diagonally downward due to the shaking of the hand, or the movement when releasing the finger is reversed. In some cases, the operation was judged.
- FIG. 10A is a diagram showing an example of finger movement intended by the user in this case.
- FIG. 10B is a diagram illustrating an example of the finger movement that is determined to move in the upper right direction or the lower right direction in gesture determination in this case.
- FIG. 10C is a diagram illustrating an example of finger movement that is determined to be an operation in which the movement when the finger is released in gesture determination is reversed. That is, the user may make a gesture determination that the movement is as shown in FIG. 10B or FIG. 10C even though he / she moves his / her finger with the intention of the movement as shown in FIG. 10A.
- gesture determination is performed in real time every predetermined time in order to process stroke data for one character. I can't.
- the present invention has been made in view of the above problems, and an object of the present invention is to provide a gesture determination apparatus and method for accurately recognizing a gesture intended by a user in real time.
- a gesture determination device that determines a gesture performed by a user, and a coordinate data acquisition unit that acquires coordinate data every predetermined time generated by a user operation
- a first angle classification generation unit that generates a first angle classification for each first time interval based on the coordinate data; and a first angle classification longer than the first time interval based on the coordinate data.
- a second angle classification generation unit that generates a second angle classification every two time intervals, and a gesture determination unit that determines a gesture based on the first angle classification and / or the second angle classification. And there is an overlapping period between the target period in which the second angle classification is generated and the target period in which the first angle classification is generated, the first angle classification Also characterized in that determining the gesture give priority to the second angle classification.
- the gesture determination device has an effect that a gesture intended by a user can be accurately recognized in real time.
- a gesture determination device is a gesture determination device that determines a gesture performed by a user, a coordinate data acquisition unit that acquires coordinate data every predetermined time generated by a user operation, A first angle classification generation unit that generates a first angle classification for each first time interval based on the coordinate data, and a second longer than the first time interval based on the coordinate data.
- a second angle classification generation unit that generates a second angle classification for each time interval; and a gesture determination unit that determines a gesture based on the first angle classification and / or the second angle classification. And when there is an overlapping period between the target period in which the second angle classification is generated and the target period in which the first angle classification is generated, the second angle classification is more than the first angle classification.
- Determining said gesture degrees sorted by priority As a result, it is possible to perform gesture determination by combining the local angle classification with a short generation target period and the global angle classification with a long generation target period, and accurately recognize the gesture intended by the user in real time. .
- the gesture determination device when there is an overlapping period between the target period in which the second angle classification is generated and the target period in which the first angle classification is generated, the generation is performed in the overlapping period.
- the gesture may be determined without considering the first angle classification. As a result, it is possible to easily perform gesture determination in preference to a global angle classification having a long generation target period.
- the gesture determination device when there is an overlapping period between the target period in which the second angle classification is generated and the target period in which the first angle classification is generated, the generation is performed in the overlapping period.
- a gesture may be determined by applying a predetermined weight to the second angle classification. Thereby, it is possible to perform gesture determination with high accuracy by giving priority to a global angle classification having a long generation target period.
- a gesture may be determined based on the first angle classification and / or the second angle classification each time a predetermined number of the coordinate data is acquired. Thereby, gesture determination can be performed efficiently for every predetermined period.
- the gesture determination apparatus may further include a third angle classification generation unit that generates a third angle classification for each third time interval longer than the second time interval based on the coordinate data.
- the gesture determination unit is configured to determine a gesture based on the first angle classification, the second angle classification, and / or the third angle classification, and an object that generates the third angle classification When there is an overlapping period between a period and a target period for generating the first angle classification or a target period for generating the second angle classification, the first angle classification or the second angle
- the gesture may be determined by giving priority to the third angle classification over the classification. As a result, it is possible to accurately perform gesture determination at stepwise timing.
- a touch panel system is a touch panel system including at least a touch panel and a gesture determination device that determines a gesture performed by a user, wherein the gesture determination device is a user operation on the touch panel.
- a coordinate data acquisition unit that acquires coordinate data for each predetermined time generated by the first angle classification generation unit that generates a first angle classification for each first time interval based on the coordinate data; and
- a second angle classification generation unit configured to generate a second angle classification for each second time interval longer than the first time interval based on the coordinate data; the first angle classification and / or the first
- a gesture determination unit that determines a gesture based on the second angle classification, and the target period in which the second angle classification is generated
- the case of overlap with the first angle classification resulting period of is to the first and than the angle classification to prioritize the second angle classification determining the gesture.
- the present invention is applied to an in-vehicle instrument panel composed of a touch panel type liquid crystal monitor
- the present invention can also be applied to other display devices having a touch panel on the pixel surface, such as organic EL and PDP.
- the present invention can also be applied to a touch input device independent of a display device, such as a touch pad of a notebook personal computer.
- FIG. 1 is a diagram illustrating an example of a functional block diagram of a gesture determination apparatus 1 according to the present invention.
- the gesture determination apparatus 1 includes a coordinate data acquisition unit 10, a first angle classification generation unit 11, a second angle classification generation unit 12, and a gesture determination unit 13.
- the coordinate data acquisition unit 10 is for acquiring coordinate data every predetermined time generated by a user operation.
- generation part 11 is for producing
- the second angle classification generation unit 12 is for generating a second angle classification for each second time interval longer than the first time interval based on the coordinate data.
- the gesture determination unit 13 is for determining a gesture based on the angle classification generated in the first angle classification generation unit or the second angle classification generation unit.
- the gesture determination part 13 when the period by the said 2nd time interval which produced
- the first angle classification generation unit 11 and the second angle classification generation unit 12 generate an angle classification with reference to the angle classification table 14 as described later.
- the gesture determination unit 13 outputs the determined gesture to, for example, an external device.
- FIG. 2A is a diagram showing an example of angle classification.
- FIG. 2B is a diagram illustrating an example of calculating an angle classification.
- FIG. 2C is a diagram illustrating an example of an angle classification table.
- numbers 1 to 8 are predetermined for each angle obtained by dividing 360 degrees into eight.
- the slope (y2-y1 / x2-x1) of the line segment indicating the locus of the input coordinates (x1, y1) to (x2, y2) is calculated. As shown in FIG.
- any angle based on the angle value (tan ⁇ (y2-y1 / x2-x1) ⁇ ) where the slope of the line segment (y2-y1 / x2-x1) is tangent, etc.
- the classification is performed based on the angle classification table shown in FIG. 2C.
- segmentation angle or number which comprises an angle classification is not restricted above.
- the angle classification is calculated every 10ms, and a plurality of angles calculated every fixed time (for example, 50ms) Based on the classification (hereinafter referred to as an angle sequence), it is possible to accurately determine a gesture.
- FIG. 2D is a diagram illustrating an example of an angle sequence.
- FIG. 2E is a diagram illustrating an example of each gesture determined from the angle sequence.
- the angle sequence is composed of a plurality of angle categories.
- the “angle sequence 1” illustrated in FIG. 2D includes five angle categories “angle 3”, “angle 2”, “angle 3”, “angle 3”, “ Consists of angle 3 ".
- the angle classification “angle 3” which is a representative value by majority vote, is selected.
- the gesture of gesture number 3 (upward arrow) corresponding to the determined angle classification “angle 3” is a gesture corresponding to “angle column 1”.
- FIG. 3 is a diagram showing an example of a system configuration using the gesture determination apparatus 1 according to the present invention.
- the gesture determination device 1 corresponds to the microcomputer board 8.
- the instrument panel ECU 2 and the main ECU 3 constitute an in-vehicle instrument panel system.
- the instrument panel ECU 2 and the main ECU 3 are connected via an in-vehicle network such as CAN, for example.
- ECU Electronic Control Unit
- Each ECU can perform various information processing and control based on state information obtained from other ECUs.
- the instrument panel ECU 2 includes an LCD (liquid crystal display) 4, a touch panel 5, a touch panel controller 6, an image processing board 7, and a microcomputer board 8.
- the microcomputer board 8 includes at least a CPU 8a and a memory 8b, and a gesture determination program 8c is held in the memory 8b.
- the instrument panel ECU 2 receives a command from the main ECU 3 and displays a predetermined screen on the LCD 4. In addition, the instrument panel ECU 2 notifies the main ECU 3 of the gesture determined based on the user operation on the touch panel 5.
- the touch panel controller 6 for controlling the touch panel 5 and the microcomputer board 8 are connected by, for example, RS232C.
- the image processing board 7 and the LDC 4 are connected so as to be operable by, for example, LVDS (Low voltage differential signaling).
- the microcomputer board 8 and the image processing board 7 are connected by, for example, a predetermined HOST I / F.
- FIG. 4A is a diagram schematically illustrating an example of communication between the microcomputer board 8 and the touch panel controller 6.
- the microcomputer board 8 outputs a predetermined signal to the touch panel controller 6 to initialize the touch panel controller 6. Thereafter, the touch panel controller 6 sends coordinate data indicating the coordinate position corresponding to the position touched by the user on the touch panel 5 to the microcomputer board 8 every predetermined time (for example, every 10 ms).
- FIG. 4B is a diagram showing an example of coordinate data sent from the touch panel controller 6 in this case.
- the coordinate data shown in FIG. 4B is composed of, for example, 5 bytes.
- the attribute “DOWN” indicating pen down (contact) to the touch panel 5 and the attribute “MOVE” indicating move (movement) are used.
- ”And an attribute“ UP ”representing pen-up (non-contact) respectively.
- the “xa” field 32 and the “xb” field 33 are used to hold a numerical value corresponding to the X coordinate of the touch position of the touch panel
- the “ya” field 34 and the “yb” field 35 are used to touch the touch panel. Holds the numerical value corresponding to the Y coordinate of the position.
- FIG. 5 is a diagram illustrating an example of a flowchart of the gesture determination process.
- the CPU 8a of the microcomputer board 8 starts to receive the coordinate data serially, the CPU 8a executes the gesture determination program 8c held in the memory 8b. That is, the CPU 8a executes the following processing steps by executing the gesture determination program 8c.
- the CPU 8a clears the coordinate readout number counter to zero (step S401). A detailed method of using the coordinate readout number counter will be described later. If there is serial input data with reference to a predetermined buffer area of the memory 8b (step S402, YES), the CPU 8a reads this data as attribute-added coordinate data (step S403). If the CPU 8a refers to the predetermined buffer area of the memory 8b and there is no serial input data (NO in step S402), the CPU 8a ends the process. When the reading is completed, the above-described coordinate reading number counter is incremented by one (step S404).
- FIG. 6 is a diagram illustrating an example of a flowchart of pseudo attribute insertion processing.
- FIG. 7 is a diagram illustrating an example of a schematic diagram in which a pseudo attribute is inserted into the coordinate data transmitted from the touch panel controller 6.
- coordinate data 61 with attributes is serially transmitted from the touch panel controller 6. As shown in the coordinate data with attribute 61, first, coordinate data of the attribute “DOWN” is sent out, then the coordinate data of the attribute “MOVE” is sent out continuously, and finally the coordinate data of the attribute “UP” is sent. Sent out. For example, each coordinate data is sent from the touch panel controller 6 every 10 ms.
- a gesture generation process to be described later is executed with the attribute “UP” as a trigger. For this reason, it is necessary to insert the attribute “UP” in a pseudo manner at predetermined intervals and every predetermined number in advance by the pseudo attribute insertion process.
- the coordinate readout number counter is “a multiple of 5” (YES in step S501)
- the attribute of the read coordinate data is changed to “UP” (step S502). ).
- the coordinate readout number counter is “multiple of 5 + 1” (YES in step S503)
- the attribute of the read coordinate data is changed to “DOWN” (step S504).
- the coordinate data 61 with the attribute is changed to coordinate data 62 with the attribute after the pseudo attribute insertion processing.
- the coordinate data since the attribute “UP” is inserted every 50 ms, an angle sequence can be generated every 50 ms.
- step S406 the CPU 8a initializes the angle sequence buffer on the memory 8b (step S407). As a result, the angle sequence held during the previous gesture determination process is cleared.
- step S406 when the attribute of the read coordinate data is not “DOWN” (step S406, NO), the CPU 8a determines the number of times the coordinate data is read if the attribute of the read coordinate data is “MOVE” (step S408, YES). It is determined whether the (coordinate readout number counter) is a multiple of 100 (step S409) or a multiple of 10 (step S411).
- step S409, NO When the number of coordinate data readout (coordinate readout number counter) is not a multiple of 100 (step S409, NO), and is not a multiple of 10 (step S411, NO), the CPU 8a determines whether the coordinate data is read immediately before. In step S413, the angle classification is created and added to the angle row in the same manner as described above. It is assumed that the coordinate data read in one gesture determination process is held in the memory 8b.
- the CPU 8a calculates the slope of the line segment from the two input coordinates as shown in FIG. 2B, and the slope of the line segment is determined based on the angle classification table as shown in FIG. 2C. Are classified into the angle sequence, as shown in FIG.
- the CPU 8a adds the angle classification as “angle 0” to the angle column. This is because if the distance between the coordinate data is small, there is a low possibility that the fingertip or the pen tip is moving. For example, if the distance between coordinate data is within “100 dots”, it is determined that there is no movement and “angle 0” is set.
- step S409, YES if the number of coordinate data readout (coordinate readout number counter) is a multiple of 100 (step S409, YES), the CPU 8a clears the angle sequence and then sets the angle between the coordinate data read 100 times before. A process of creating a classification and adding it to the angle sequence is performed (step S410). If the number of coordinate data readout (coordinate readout number counter) is a multiple of 10 (step S411, YES), the CPU 8a clears the angle sequence and then determines the angle with the coordinate data read 10 times before. The process of creating a classification and adding it to the angle sequence is performed in the same manner as above (step S412).
- step S410 and step S412 the reason for clearing the angle sequence will be described later by giving priority to the angle classification of “when the number of coordinate readout is a multiple of 100” or “when the number of coordinate readout is a multiple of 10”. This is for performing gesture determination. This is because the creation period of the angle classification created in “when the number of coordinate readout is a multiple of 100” or “when the number of coordinate readout is a multiple of 10” is created with the coordinate data read immediately before.
- the angle classification of “when the coordinate readout count is a multiple of 100” or “when the coordinate readout count is a multiple of 10” is partly overlapped with the period of creation of the angle classification to be performed. This is because it is considered that the intention of the user is reflected more accurately than the angle classification created with the read coordinate data.
- FIG. 8 is a diagram showing an example of a schematic diagram for explaining the case of clearing the angle row.
- FIG. 9 is a diagram illustrating an example of a flowchart of the gesture generation process.
- the CPU 8a determines that the code ““ 0 ”is equal to or greater than the predetermined number (N) (step S802, YES).
- the gesture (long press, FIG. 2E) identified by “G13” is output (step S813).
- the CPU 8a outputs a gesture (short press, FIG. 2E) identified by the code “G12” ( Step S812).
- a code for identifying the gesture is output from the microcomputer board 8 to the main ECU 3.
- step S801, NO when more than half of the angle sequence is not “angle 0” (step S801, NO), the CPU 8a sets each angle classification included in the angle sequence as “angle 5”, “angle 4”, “angle 3”, “ If it is the order of “angle 2” and “angle 1” (step S803, YES), the gesture identified by the code “G10” (right rotation, FIG. 2E) is output (step S810).
- the CPU 8a determines that each angle classification included in the angle row is in the order of “angle 1”, “angle 2”, “angle 3”, “angle 4”, and “angle 5” (step S804, YES).
- the gesture identified by the code “G11” (left rotation, FIG. 2E) is output (step S811).
- step S805 If each angle classification included in the angle sequence is in the order of “angle 8” and “angle 2” (step S805, YES), the CPU 8a recognizes the gesture identified by the code “G9” (a point, FIG. 2E). ) Is output (step S809).
- the CPU 8a determines a representative angle category by majority decision from each angle category included in the angle sequence, and identifies a gesture (G1) that identifies the gesture corresponding to this angle category. Any one of G8 to G8) is output (step S808).
- the CPU 8a When determining the representative angle classification by majority vote from each angle classification included in the angle sequence, the CPU 8a is “when the number of coordinate readout is a multiple of 100” or “the number of the coordinate readout is a multiple of 10.
- a code for identifying a gesture is output from the microcomputer board 8 to the main ECU 3 every predetermined time (for example, every 50 ms), and the main ECU 3 executes various processes based on the gesture.
- the “coordinate data acquisition unit” shown in the functional block diagram of FIG. 1 includes the processing function of step S403 of FIG. 5 as an example.
- the “first angle classification generation unit” includes the processing function of step S413 in FIG. 5 as an example.
- the “second angle classification generation unit” includes the processing function of step S410 or S412 of FIG.
- the “gesture determination unit” includes, for example, the processing function of step S414 in FIG. 5 or steps S801 to 806 in FIG.
- both the process of clearing the angle sequence (steps S410 and S412) and the process of preferentially selecting the angle classification with a predetermined weight (step S808) are performed. Although configured, only one of them may be performed. In this case, a difference may be provided in the weighting of the angle classification generated in each of “when the number of times of coordinate reading is a multiple of 100” and “when the number of times of coordinate reading is a multiple of 10”. For example, weighting may be performed so as to give priority to the angle classification “when the number of times of coordinate reading is a multiple of 100”.
- gesture determination may be performed based on coordinate data input from a touch pad, mouse, trackball, or the like.
- each functional block shown in FIG. 1 is realized by processing of a CPU that executes a program. However, some or all of them may be realized by hardware such as a logic circuit.
- the present invention is useful for an apparatus that determines a gesture based on input coordinates.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
ジェスチャー判定装置(1)は、ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部(10)と、前記座標データに基づいて、第1の時間間隔毎に第1の角度分類を生成する第1の角度分類生成部(11)と、前記座標データに基づいて、前記第1の時間間隔よりも長い第2の時間間隔毎に第2の角度分類を生成する第2の角度分類生成部(12)と、前記第1の角度分類および/または前記第2の角度分類に基づいてジェスチャーを判定するジェスチャー判定部(13)とを備えており、前記第2の角度分類を生成した対象期間と、前記第1の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第1の角度分類よりも前記第2の角度分類を優先させて前記ジェスチャーを判定する。
Description
本発明は、入力された座標に基づいてジェスチャーを判定するジェスチャー判定装置およびその方法に関する。
電子機器等の分野においては、指先またはペン先等を用いてタッチパネルやタッチパッドに入力された座標の軌跡に基づいてジェスチャーを判定し、判定されたジェスチャーに対応する各種の操作コマンドを当該電子機器等に与える機能が知られている。このジェスチャーの判定は、角度分類(「方向コード」とも呼ばれる。)を用いて行うことができる。
例えば、タッチパネルやタッチパッドから所定時間ごとの座標を取得して角度分類を算出することにより、指先またはペン先の移動方向を認識することができる。
一方、オンラインの手書き文字認識において、各線分を角度に基づいて分類し、構造解析により文字認識を行うシステムが知られている(例えば、特許文献1)。また、方向コードを用いて文字パターンの特徴抽出を行う方法が知られている(例えば、特許文献2)。
しかしながら、上記のようなジェスチャー判定においては、どちらの方向に指を動かしたかを判定する時間間隔を細かくすると(例えば、10ms毎。)、場合によってはユーザの意図に応じた操作ができないことがあった。具体的には、ユーザが指を右横に動かしたつもりでも、手の震えなどの影響により、右斜め上や右斜め下方向の移動と判定されたり、指を離すときの動きが逆向きの操作に判定されたりすることがあった。
図10Aは、この場合に、ユーザが意図する指の動きの例を示す図である。図10Bは、この場合に、ジェスチャー判定において右斜め上や右斜め下方向の移動と判定される指の動きの例を示す図である。図10Cは、この場合に、ジェスチャー判定において指を離すときの動きが逆向きの操作に判定される指の動きの例を示す図である。つまり、ユーザは、図10Aのような動きを意図して、指を動かしているにもかかわらず、図10Bまたは図10Cのような動きであるとジェスチャー判定されることがあった。
このため、タッチパネルまたはタッチパッド等において、ユーザが指でタッチして各種操作を行う場合に、ユーザの意図した操作を行うことができないという問題が生じる。
なお、構造解析に基づいて手書き認識を行う場合や、方向コードを用いて文字パターンの特徴抽出を行う場合には、一文字分のストロークデータを処理するため、所定時間毎にリアルタイムでジェスチャー判定を行うことができない。
本発明は、上記のような問題点に鑑みてなされたものであり、その目的は、ユーザの意図するジェスチャーをリアルタイムで正確に認識することのできるジェスチャー判定装置およびその方法の提供にある。
上記の目的を達成するために、以下に開示するジェスチャー判定装置は、ユーザが行うジェスチャーを判定するジェスチャー判定装置であって、ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、前記座標データに基づいて、第1の時間間隔毎に第1の角度分類を生成する第1の角度分類生成部と、前記座標データに基づいて、前記第1の時間間隔よりも長い第2の時間間隔毎に第2の角度分類を生成する第2の角度分類生成部と、前記第1の角度分類および/または前記第2の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、前記第2の角度分類を生成した対象期間と、前記第1の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第1の角度分類よりも前記第2の角度分類を優先させて前記ジェスチャーを判定することを特徴とする。
本発明のジェスチャー判定装置は、ユーザの意図するジェスチャーをリアルタイムで正確に認識することができるという効果を奏する。
(1)本発明の一実施形態にかかるジェスチャー判定装置は、ユーザが行うジェスチャーを判定するジェスチャー判定装置であって、ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、前記座標データに基づいて、第1の時間間隔毎に第1の角度分類を生成する第1の角度分類生成部と、前記座標データに基づいて、前記第1の時間間隔よりも長い第2の時間間隔毎に第2の角度分類を生成する第2の角度分類生成部と、前記第1の角度分類および/または前記第2の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、前記第2の角度分類を生成した対象期間と、前記第1の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第1の角度分類よりも前記第2の角度分類を優先させて前記ジェスチャーを判定する。これにより、生成対象期間の短い局所的な角度分類と、生成対象期間の長い大局的な角度分類とを総合してジェスチャー判定を行い、ユーザの意図するジェスチャーをリアルタイムで正確に認識することができる。
(2)上記ジェスチャー判定装置において、前記第2の角度分類を生成した対象期間と、前記第1の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記重複期間において生成された第1の角度分類を考慮せずにジェスチャーを判定するようにしてもよい。これにより、生成対象期間の長い大局的な角度分類を優先して簡単にジェスチャー判定を行うことができる。
(3)上記ジェスチャー判定装置において、前記第2の角度分類を生成した対象期間と、前記第1の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記重複期間において生成された第2の角度分類に所定の重み付けを行ってジェスチャーを判定するようにしてもよい。これにより、生成対象期間の長い大局的な角度分類を優先して精度よくジェスチャー判定を行うことができる。
(4)上記ジェスチャー判定装置において、前記座標データを所定個数取得する毎に、前記第1の角度分類および/または前記第2の角度分類に基づいてジェスチャーを判定するようにしてもよい。これにより、所定期間毎に効率的にジェスチャー判定を行うことができる。
(5)上記ジェスチャー判定装置において、前記座標データに基づいて、前記第2の時間間隔よりも長い第3の時間間隔毎に第3の角度分類を生成する第3の角度分類生成部をさらに備え、前記ジェスチャー判定部は、前記第1の角度分類、前記第2の角度分類および/または前記第3の角度分類に基づいてジェスチャーを判定するものであり、前記第3の角度分類を生成した対象期間と、前記第1の角度分類を生成した対象期間または前記第2の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第1の角度分類または前記第2の角度分類よりも前記第3の角度分類を優先させてジェスチャーを判定するようにしてもよい。これにより、段階的なタイミングで精度よくジェスチャー判定を行うことができる。
(8)本発明の一実施形態にかかるタッチパネルシステムは、タッチパネルと、ユーザが行うジェスチャーを判定するジェスチャー判定装置とを少なくとも備えたタッチパネルシステムであって、上記ジェスチャー判定装置は、前記タッチパネルに対するユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、前記座標データに基づいて、第1の時間間隔毎に第1の角度分類を生成する第1の角度分類生成部と、前記座標データに基づいて、前記第1の時間間隔よりも長い第2の時間間隔毎に第2の角度分類を生成する第2の角度分類生成部と、前記第1の角度分類および/または前記第2の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、前記第2の角度分類を生成した対象期間が、前記第1の角度分類を生成した対象期間と重複する場合は、前記第1の角度分類よりも前記第2の角度分類を優先させて前記ジェスチャーを判定するものである。これにより、生成対象期間の短い局所的な角度分類と、生成対象期間の長い大局的な角度分類とを総合してジェスチャー判定を行い、ユーザの意図するジェスチャーをリアルタイムで正確に認識するタッチパネルシステムを提供することができる。
以下、本発明の表示装置の好ましい実施形態について、図面を参照しながら説明する。以下の説明では、本発明を、タッチパネル式液晶モニタで構成される車載インパネに適用した場合を例示して説明する。なお、本発明は、有機EL、PDP等のように画素面上にタッチパネルを備える他の表示装置にも適用可能である。また、ノート型パーソナルコンピュータのタッチパッドのように、表示装置と独立したタッチ式入力装置にも適用可能である。
[1.第1の実施形態]
[1-1.機能ブロック図]
図1は、本発明にかかるジェスチャー判定装置1の機能ブロック図の一例を示す図である。図1において、ジェスチャー判定装置1は、座標データ取得部10、第1の角度分類生成部11、第2の角度分類生成部12および、ジェスチャー判定部13を備える。
[1-1.機能ブロック図]
図1は、本発明にかかるジェスチャー判定装置1の機能ブロック図の一例を示す図である。図1において、ジェスチャー判定装置1は、座標データ取得部10、第1の角度分類生成部11、第2の角度分類生成部12および、ジェスチャー判定部13を備える。
座標データ取得部10は、ユーザ操作により発生する所定時間毎の座標データを取得するためのものである。第1の角度分類生成部11は、前記座標データに基づいて、第1の時間間隔毎に第1の角度分類を生成するためのものである。第2の角度分類生成部12は、前記座標データに基づいて、前記第1の時間間隔よりも長い第2の時間間隔毎に第2の角度分類を生成するためのものである。ジェスチャー判定部13は、前記第1の角度分類生成部または前記第2の角度分類生成部において生成された角度分類に基づいてジェスチャーを判定するためのものである。
そして、ジェスチャー判定部13は、前記第2の角度分類を生成した前記第2の時間間隔による期間が、前記第1の角度分類を生成した前記第1の時間間隔による期間と重複する場合は、前記第2の角度分類を優先してジェスチャーを判定する。この場合、例えば、第1の角度分類生成部11および第2の角度分類生成部12は、後述するように、角度分類テーブル14を参照して角度分類を生成する。なお、ジェスチャー判定部13は、判定したジェスチャーを、例えば外部装置等に出力する。
図2Aは、角度分類の一例を示す図である。図2Bは、角度分類を算出する場合の一例を示す図である。図2Cは、角度分類テーブルの一例を示す図である。角度分類を使用する場合においては、例えば、図2Aに示すように、360度を8つに分割した各角度に対して1~8の数字を予め定めておく。図2Bに示すように、入力座標(x1,y1)~(x2,y2)の軌跡を示す線分の傾き(y2-y1/x2-x1)を算出する。図2Cに示すように、線分の傾き(y2-y1/x2-x1)を正接とする角度値(tanθ=(y2-y1/x2-x1)をみたすθ)等に基づいて、いずれの角度分類に該当するかを図2Cに示す角度分類テーブルに基づいて分類する。なお、角度分類を構成する分割角度または個数は、上記に限られない。
例えば、入力機器であるタッチパネルまたはタッチパッドから、10msごとの入力座標を取得してジェスチャー判定を行う場合、10msごとに角度分類を算出し、一定時間毎(例えば50ms)に算出された複数の角度分類(以下、角度列とする。)に基づいて、精度よくジェスチャーを判定することができる。
図2Dは、角度列の一例を示す図である。図2Eは、角度列から判定される各ジェスチャーの一例を示す図である。角度列は、複数の角度分類から構成され、例えば、図2Dに示す「角度列1」は、5つの角度分類「角度3」、「角度2」、「角度3」、「角度3」、「角度3」から構成される。そして、50ms期間における「角度列1」の角度分類を決定する場合には、多数決による代表値である角度分類「角度3」を選択する。さらに、決定した角度分類「角度3」に対応するジェスチャー番号3(上向き矢印)のジェスチャーを、「角度列1」に対応するジェスチャーであると決定することができる。
[1-2.システム構成]
図3は、本発明にかかるジェスチャー判定装置1を用いたシステム構成の一例を示す図である。図3においては、上記ジェスチャー判定装置1は、マイコンボード8に該当する。
図3は、本発明にかかるジェスチャー判定装置1を用いたシステム構成の一例を示す図である。図3においては、上記ジェスチャー判定装置1は、マイコンボード8に該当する。
インパネECU2は、メインECU3とともに車載インパネシステムを構成する。インパネECU2およびメインECU3は、例えば、CAN等などの車内ネットワークを介して接続される。ここで、ECU(Electronic Control Unit)とは、自動車の各部に複数設けられた装置である。そして、それぞれのECUは、他のECUから得られる状態情報等に基づいて、様々な情報処理や制御を行うことが可能である。
インパネECU2は、LCD(液晶ディスプレイ)4、タッチパネル5、タッチパネルコントローラ6、画像処理ボード7および、マイコンボード8を備える。マイコンボード8は、少なくともCPU8aおよびメモリ8bを含み、メモリ8bには、ジェスチャー判定プログラム8cが保持されている。
インパネECU2は、メインECU3からの指示を受けてLCD4に所定の画面を表示する。また、インパネECU2は、タッチパネル5に対するユーザ操作に基づいて判定したジェスチャーをメインECU3に通知する。
インパネECU2において、タッチパネル5を制御するタッチパネルコントローラ6と、マイコンボード8は、例えばRS232C等により接続される。画像処理ボード7とLDC4は、例えばLVDS(Low voltage differential signaling)により動作可能に接続される。マイコンボード8と画像処理ボード7は、例えば所定のHOST I/Fにより接続される。
[1-3.座標データ]
図4Aは、マイコンボード8とタッチパネルコントローラ6との間における通信の一例を模式的に示す図である。図4Aに示すように、マイコンボード8は、タッチパネルコントローラ6に対して所定信号を出力して、タッチパネルコントローラ6を初期化する。その後、タッチパネルコントローラ6は、タッチパネル5においてユーザがタッチした位置に対応する座標位置を示す座標データを、所定時間毎(例えば10ms毎。)にマイコンボード8に対して送出する。
図4Aは、マイコンボード8とタッチパネルコントローラ6との間における通信の一例を模式的に示す図である。図4Aに示すように、マイコンボード8は、タッチパネルコントローラ6に対して所定信号を出力して、タッチパネルコントローラ6を初期化する。その後、タッチパネルコントローラ6は、タッチパネル5においてユーザがタッチした位置に対応する座標位置を示す座標データを、所定時間毎(例えば10ms毎。)にマイコンボード8に対して送出する。
図4Bは、この場合にタッチパネルコントローラ6から送出される座標データの一例を示す図である。図4Bに示す座標データは、例えば5バイトで構成されており、「id」欄31を用いて、タッチパネル5へのペンダウン(接触)を表す属性「DOWN」、ムーブ(移動)を表す属性「MOVE」および、ペンアップ(非接触)を表す属性「UP」にそれぞれ対応する1バイトのコードを保持する。また、「xa」欄32および「xb」欄33を用いて、タッチパネルのタッチ位置のX座標に対応する数値を保持し、「ya」欄34および「yb」欄35を用いて、タッチパネルのタッチ位置のY座標に対応する数値を保持する。
[1-4.ジェスチャー判定処理]
インパネECU2のマイコンボード8は、タッチパネルコントローラ6から送出されてきた座標データに基づいてジェスチャー判定処理を実行し、判定処理の結果をメインECU3に通知する。図5は、ジェスチャー判定処理のフローチャートの一例を示す図である。この場合、マイコンボード8のCPU8aは、座標データをシリアル受信し始めると、メモリ8bに保持されているジェスチャー判定プログラム8cを実行する。つまり、CPU8aは、ジェスチャー判定プログラム8cの実行により、下記に示す各処理ステップを実行する。
インパネECU2のマイコンボード8は、タッチパネルコントローラ6から送出されてきた座標データに基づいてジェスチャー判定処理を実行し、判定処理の結果をメインECU3に通知する。図5は、ジェスチャー判定処理のフローチャートの一例を示す図である。この場合、マイコンボード8のCPU8aは、座標データをシリアル受信し始めると、メモリ8bに保持されているジェスチャー判定プログラム8cを実行する。つまり、CPU8aは、ジェスチャー判定プログラム8cの実行により、下記に示す各処理ステップを実行する。
CPU8aは、座標読出し回数カウンタをゼロクリアする(ステップS401)。座標読出し回数カウンタの詳細な利用方法については後述する。CPU8aは、メモリ8bの所定バッファ領域を参照してシリアル入力データが存在すれば(ステップS402、YES)、このデータを属性付き座標データとして読出す(ステップS403)。なお、CPU8aは、メモリ8bの所定バッファ領域を参照してシリアル入力データが存在しなければ(ステップS402、NO)、処理を終了する。読み出しが完了すると、上述の座標読出し回数カウンタを1つカウントアップする(ステップS404)。
続いて、CPU8aは、疑似属性挿入処理をサブルーチンで実行する(ステップS405)。図6は、疑似属性挿入処理のフローチャートの一例を示す図である。図7は、タッチパネルコントローラ6から送出されてきた座標データに疑似属性を挿入する模式図の一例を示す図である。
一回のジェスチャー入力ごとに、タッチパネルコントローラ6からは、属性付き座標データ61がシリアルで送出される。属性付き座標データ61に示すように、最初に属性「DOWN」の座標データが送出され、その後属性「MOVE」の座標データが所定個数連続して送出され、最後に属性「UP」の座標データが送出される。例えば、各座標データは、10ms毎にタッチパネルコントローラ6から送出される。
本実施形態においては、属性「UP」をトリガーとして、後述するジェスチャー生成処理を実行する。このため、予め疑似属性挿入処理によって所定間隔・所定個数ごとに擬似的に属性「UP」を挿入する必要がある。図6に示すように、疑似属性挿入処理においては、座標読出し回数カウンタが「5の倍数」であれば(ステップS501、YES)、読み出した座標データの属性を「UP」に変更する(ステップS502)。また、座標読出し回数カウンタが「5の倍数+1」であれば(ステップS503、YES)、読み出した座標データの属性を「DOWN」に変更する(ステップS504)。これにより、例えば、図7に示すように、属性付き座標データ61は、疑似属性挿入処理後の属性付き座標データ62のように変更される。この場合、例えば、座標データは、50ms毎に属性「UP」が挿入されるため、50ms毎に角度列を生成することができる。
続いて、CPU8aは、読み出した座標データの属性が「DOWN」であれば(ステップS406、YES)、メモリ8b上の角度列バッファを初期化する(ステップS407)。これにより、前回のジェスチャー判定処理時に保持されていた角度列がクリアされる。
一方、読み出した座標データの属性が「DOWN」でない場合において(ステップS406、NO)、CPU8aは、読み出した座標データの属性が「MOVE」であれば(ステップS408、YES)、座標データの読出し回数(座標読出し回数カウンタ)が100の倍数であるか(ステップS409)または、10の倍数であるかを判定する(ステップS411)。
座標データの読出し回数(座標読出し回数カウンタ)が、100の倍数でなく(ステップS409、NO)、10の倍数でもない場合(ステップS411、NO)、CPU8aは、直前に読み込んだ座標データとの間で角度分類を作成して角度列へ追加する処理を上記と同様に行う(ステップS413)。なお、メモリ8bには、1回のジェスチャー判定処理において読み込んだ座標データが保持されているものとする。
具体的には、上述した通り、CPU8aは、図2Bに示すように2つの入力座標から線分の傾きを算出し、図2Cに示すように角度分類テーブルに基づいて、線分の傾きがいずれの角度分類に該当するかを判断し、図7に示すように、角度列に角度分類する。なお、角度分類の生成において、移動軌跡の線分を構成する2つの座標データ間の距離が所定値以下であれば、CPU8aは、角度分類を「角度0」として角度列へ追加する。座標データ間の距離が小さければ、指先やペン先が移動している可能性が低いためである。例えば、座標データ間の距離が「100ドット」以内であれば、移動がないとして「角度0」とする。
ステップS413を繰り返すことにより、図7に示すように、例えば、「角度列1=(角度3,角度2,角度3,角度3,角度3)」または、「角度列2=(角度0,角度0,角度1,角度0,角度0)」等の角度列が生成される。
一方、座標データの読出し回数(座標読出し回数カウンタ)が100の倍数であれば(ステップS409、YES)、CPU8aは、角度列をクリアした後、100回前に読み込んだ座標データとの間で角度分類を作成し角度列に追加する処理を行う(ステップS410)。また、座標データの読出し回数(座標読出し回数カウンタ)が10の倍数であれば(ステップS411、YES)、CPU8aは、角度列をクリアした後、10回前に読み込んだ座標データとの間で角度分類を作成して角度列に追加する処理を上記と同様に行う(ステップS412)。
上記ステップS410およびステップS412において、角度列をクリアする理由は、「座標読出し回数が100の倍数である場合」または「座標読出し回数が10の倍数である場合」の角度分類を優先させて後述するジェスチャー判定を行うためである。なぜなら、「座標読出し回数が100の倍数である場合」または「座標読出し回数が10の倍数である場合」において作成される角度分類の作成対象期間は、直前に読み込んだ座標データとの間で作成される角度分類の作成対象期間と一部重複しており、「座標読出し回数が100の倍数である場合」または「座標読出し回数が10の倍数である場合」の角度分類の方が、直前に読み込んだ座標データとの間で作成される角度分類よりも、ユーザの意図を正確に反映していると考えられるからである。
図8は、角度列をクリアする場合を説明するための模式図の一例を示す図である。CPU8aは、角度列に新たに角度分類「角度2」71を追加する場合、通常であればステップS413と同様に、「角度列1=角度3、角度3、角度3」70に対して、「角度列1=角度3、角度3、角度3、角度2、…」を追加することができる。しかし、上記ステップS410またはステップS412において、角度列に新たな角度分類「角度2」が追加される場合、CPU8aは、直前に角度列1に保持されている「角度3、角度3、角度3」70をクリアした後、角度列1’に示すように、角度分類「角度2」73を新たに追加する。これにより、後述するジェスチャー生成処理において、角度分類「角度2」を優先してジェスチャー判定を行うことができる。
一方、上記ステップS408において、読み出した座標データの属性が「MOVE」でない場合(ステップS408、NO)、CPU8aは、ジェスチャー生成処理をサブルーチンで実行する(ステップS414)。図9は、ジェスチャー生成処理のフローチャートの一例を示す図である。
CPU8aは、角度列の半分以上が「角度0」であるとき(ステップS801、YES)、「角度0」の個数が所定の個数(N個)以上であれば(ステップS802、YES)、コード「G13」で識別されるジェスチャー(長押し、図2E)を出力する(ステップS813)。一方、CPU8aは、「角度0」の個数が所定の個数(N個)未満であれば(ステップS802、NO)、コード「G12」で識別されるジェスチャー(短押し、図2E)を出力する(ステップS812)。なお、ジェスチャーを識別するコードは、マイコンボード8からメインECU3に出力される。
一方、CPU8aは、角度列の半分以上が「角度0」でないとき(ステップS801、NO)、角度列に含まれる各角度分類が、「角度5」、「角度4」、「角度3」、「角度2」、「角度1」の順であれば(ステップS803、YES)、コード「G10」で識別されるジェスチャー(右回転、図2E)を出力する(ステップS810)。
また、CPU8aは、角度列に含まれる各角度分類が、「角度1」、「角度2」、「角度3」、「角度4」、「角度5」の順であれば(ステップS804、YES)、コード「G11」で識別されるジェスチャー(左回転、図2E)を出力する(ステップS811)。
また、CPU8aは、角度列に含まれる各角度分類が、「角度8」、「角度2」の順であれば(ステップS805、YES)、コード「G9」で識別されるジェスチャー(レ点、図2E)を出力する(ステップS809)。
また、上記ステップS801~S805のいずれにも該当しない場合、CPU8aは、角度列に含まれる各角度分類から多数決で代表の角度分類を決定し、この角度分類に対応するジェスチャーを識別するコード(G1~G8のいずれか1つ。)を出力する(ステップS808)。
なお、CPU8aは、角度列に含まれる各角度分類から多数決で代表の角度分類を決定する場合においては、「座標読出し回数が100の倍数である場合」または「座標読出し回数が10の倍数である場合」に生成された角度分類を優先して代表の角度分類を決定する。例えば、図8において「角度列1’=角度2、角度3」である場合に代表の角度分類を決定する場合、「角度2」が「座標読出し回数が100の倍数である場合」または「座標読出し回数が10の倍数である場合」に生成された角度分類であれば、「角度2」に所定の重みを付けて優先的に選択する。
以上により、マイコンボード8からメインECU3に、所定時間毎(例えば50ms毎)にジェスチャーを識別するコードが出力され、メインECU3は、ジェスチャーに基づく各種の処理を実行する。
図1の機能ブロック図に示した「座標データ取得部」は、一例として、図5のステップS403の処理機能を含む。「第1の角度分類生成部」は、一例として、図5のステップS413の処理機能を含む。「第2の角度分類生成部」は、一例として、図5のステップS410またはS412の処理機能を含む。「ジェスチャー判定部」は、一例として、図5のステップS414または図9のステップS801~806の処理機能を含む。
[2.その他の実施形態]
[2-1.変形例]
(1)上記第1の実施形態においては、角度列をクリアする処理をステップS410およびステップS412において行う構成としたが、ステップS410およびステップS412に代えて、角度列をクリアする処理をジェスチャー生成処理(図9)において行うようにしてもよい。
[2-1.変形例]
(1)上記第1の実施形態においては、角度列をクリアする処理をステップS410およびステップS412において行う構成としたが、ステップS410およびステップS412に代えて、角度列をクリアする処理をジェスチャー生成処理(図9)において行うようにしてもよい。
(2)上記第1の実施形態においては、角度列をクリアする処理(ステップS410およびステップS412)および、角度分類に所定の重みを付けて優先的に選択する処理(ステップS808)の双方を行う構成としたが、いずれかのみを行うようにしてもよい。この場合、「座標読出し回数が100の倍数である場合」および「座標読出し回数が10の倍数である場合」のそれぞれの場合に生成された角度分類の重み付けに差を設けてもよい。例えば、「座標読出し回数が100の倍数である場合」の角度分類を優先するように重み付けしてもよい。
[2-2.適用範囲]
上記第1の実施形態においては、タッチパネルにユーザが指先等でジェスチャー入力する例を説明したが、座標入力できる装置であればタッチパネル以外の装置を用いてもよい。例えば、タッチパッド、マウス、トラックボール等から入力された座標データに基づいてジェスチャー判定を行ってもよい。
上記第1の実施形態においては、タッチパネルにユーザが指先等でジェスチャー入力する例を説明したが、座標入力できる装置であればタッチパネル以外の装置を用いてもよい。例えば、タッチパッド、マウス、トラックボール等から入力された座標データに基づいてジェスチャー判定を行ってもよい。
[2-3.各機能ブロックの実現方法]
上記第1の実施形態においては、図1に示す各機能ブロックを、プログラムを実行するCPUの処理によって実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。
上記第1の実施形態においては、図1に示す各機能ブロックを、プログラムを実行するCPUの処理によって実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。
本発明は、入力座標に基づいてジェスチャーの判定を行う装置に対して有用である。
Claims (8)
- ユーザが行うジェスチャーを判定するジェスチャー判定装置であって、
ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、
前記座標データに基づいて、第1の時間間隔毎に第1の角度分類を生成する第1の角度分類生成部と、
前記座標データに基づいて、前記第1の時間間隔よりも長い第2の時間間隔毎に第2の角度分類を生成する第2の角度分類生成部と、
前記第1の角度分類および/または前記第2の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、
前記第2の角度分類を生成した対象期間と、前記第1の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第1の角度分類よりも前記第2の角度分類を優先させて前記ジェスチャーを判定することを特徴とするジェスチャー判定装置。 - 前記第2の角度分類を生成した対象期間と、前記第1の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記重複期間において生成された第1の角度分類を考慮せずにジェスチャーを判定する、請求項1に記載のジェスチャー判定装置。
- 前記第2の角度分類を生成した対象期間と、前記第1の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記重複期間において生成された第2の角度分類に所定の重み付けを行ってジェスチャーを判定する、請求項1または2に記載のジェスチャー判定装置。
- 前記座標データを所定個数取得する毎に、前記第1の角度分類および/または前記第2の角度分類に基づいてジェスチャーを判定する、請求項1~3のいずれか一項に記載のジェスチャー判定装置。
- 前記座標データに基づいて、前記第2の時間間隔よりも長い第3の時間間隔毎に第3の角度分類を生成する第3の角度分類生成部をさらに備え、
前記ジェスチャー判定部は、前記第1の角度分類、前記第2の角度分類および/または前記第3の角度分類に基づいてジェスチャーを判定するものであり、
前記第3の角度分類を生成した対象期間と、前記第1の角度分類を生成した対象期間または前記第2の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第1の角度分類または前記第2の角度分類よりも前記第3の角度分類を優先させてジェスチャーを判定することを特徴とするジェスチャー判定装置。 - ユーザが行うジェスチャーを判定するジェスチャー判定装置を、コンピュータを用いて実現するためのプログラムであって、
ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得処理と、
前記座標データに基づいて、第1の時間間隔毎に第1の角度分類を生成する第1の角度分類生成処理と、
前記座標データに基づいて、前記第1の時間間隔よりも長い第2の時間間隔毎に第2の角度分類を生成する第2の角度分類生成処理と、
前記第1の角度分類および/または前記第2の角度分類に基づいてジェスチャーを判定するジェスチャー判定処理とを前記コンピュータに実行させ、
前記第2の角度分類を生成した対象期間が、前記第1の角度分類を生成した対象期間と重複する場合は、前記第1の角度分類よりも前記第2の角度分類を優先させて前記ジェスチャーを判定する処理を前記コンピュータに実行させることを特徴とするプログラム。 - ユーザが行うジェスチャーを判定するジェスチャー判定方法であって、
ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得ステップと、
前記座標データに基づいて、第1の時間間隔毎に第1の角度分類を生成する第1の角度分類生成ステップと、
前記座標データに基づいて、前記第1の時間間隔よりも長い第2の時間間隔毎に第2の角度分類を生成する第2の角度分類生成ステップと、
前記第1の角度分類および/または前記第2の角度分類に基づいてジェスチャーを判定するジェスチャー判定ステップとを含み、
前記第2の角度分類を生成した対象期間が、前記第1の角度分類を生成した対象期間と重複する場合は、前記第1の角度分類よりも前記第2の角度分類を優先させて前記ジェスチャーを判定することを特徴とするジェスチャー判定方法。 - タッチパネルと、ユーザが行うジェスチャーを判定するジェスチャー判定装置とを少なくとも備えたタッチパネルシステムであって、
ジェスチャー判定装置は、
前記タッチパネルに対するユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、
前記座標データに基づいて、第1の時間間隔毎に第1の角度分類を生成する第1の角度分類生成部と、
前記座標データに基づいて、前記第1の時間間隔よりも長い第2の時間間隔毎に第2の角度分類を生成する第2の角度分類生成部と、
前記第1の角度分類および/または前記第2の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、
前記第2の角度分類を生成した対象期間が、前記第1の角度分類を生成した対象期間と重複する場合は、前記第1の角度分類よりも前記第2の角度分類を優先させて前記ジェスチャーを判定するものであることを特徴とするタッチパネルシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10815179A EP2477096A1 (en) | 2009-09-09 | 2010-04-20 | Gesture determination device and method of same |
JP2011530763A JP5209795B2 (ja) | 2009-09-09 | 2010-04-20 | ジェスチャー判定装置およびその方法 |
US13/394,818 US20120169643A1 (en) | 2009-09-09 | 2010-04-20 | Gesture determination device and method of same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-208062 | 2009-09-09 | ||
JP2009208062 | 2009-09-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011030581A1 true WO2011030581A1 (ja) | 2011-03-17 |
Family
ID=43732258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/056981 WO2011030581A1 (ja) | 2009-09-09 | 2010-04-20 | ジェスチャー判定装置およびその方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120169643A1 (ja) |
EP (1) | EP2477096A1 (ja) |
JP (1) | JP5209795B2 (ja) |
WO (1) | WO2011030581A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013040644A1 (en) | 2011-09-22 | 2013-03-28 | Cytomatrix Pty Ltd | Method for the ex vivo expansion of hematopoietic stem and progenitor cells |
JP2013105305A (ja) * | 2011-11-14 | 2013-05-30 | Toshiba Corp | ジェスチャ認識装置、その方法、及び、そのプログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI476702B (zh) * | 2012-03-16 | 2015-03-11 | Pixart Imaging Inc | 使用者辨識系統及辨識使用者的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60110087A (ja) | 1983-11-18 | 1985-06-15 | Ricoh Co Ltd | 特徴抽出方法 |
JPH02288542A (ja) * | 1989-04-28 | 1990-11-28 | Hitachi Ltd | 描画打合せ装置 |
JPH0612493A (ja) * | 1992-06-25 | 1994-01-21 | Hitachi Ltd | ジェスチャ認識方法およびユーザインタフェース方法 |
JPH09230993A (ja) * | 1996-02-20 | 1997-09-05 | Sharp Corp | ジョグダイアルの模擬入力装置 |
JPH09282080A (ja) * | 1996-04-16 | 1997-10-31 | Canon Inc | 情報入力方法とその装置 |
JP2002196878A (ja) * | 2000-12-27 | 2002-07-12 | Celsys:Kk | 記録媒体、画像処理装置および方法 |
WO2003038590A1 (fr) * | 2001-10-30 | 2003-05-08 | International Business Machines Corporation | Appareil et programme de traitement de l'information |
JP4092371B2 (ja) | 2005-02-15 | 2008-05-28 | 有限会社Kiteイメージ・テクノロジーズ | 手書き文字認識方法、手書き文字認識システム、手書き文字認識プログラム及び記録媒体 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05225396A (ja) * | 1992-02-07 | 1993-09-03 | Seiko Epson Corp | 手書き文字認識装置 |
US5598187A (en) * | 1993-05-13 | 1997-01-28 | Kabushiki Kaisha Toshiba | Spatial motion pattern input system and input method |
GB9701793D0 (en) * | 1997-01-29 | 1997-03-19 | Gay Geoffrey N W | Means for inputting characters or commands into a computer |
JP4176230B2 (ja) * | 1999-03-19 | 2008-11-05 | 株式会社ルネサステクノロジ | 座標位置制御システム、座標位置制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6346933B1 (en) * | 1999-09-21 | 2002-02-12 | Seiko Epson Corporation | Interactive display presentation system |
JP4717489B2 (ja) * | 2005-04-07 | 2011-07-06 | 任天堂株式会社 | ゲームプログラム |
KR100720335B1 (ko) * | 2006-12-20 | 2007-05-23 | 최경순 | 접촉 위치 이동에 따라 생성되는 상대좌표값에 대응하는텍스트를 입력하는 텍스트 입력 장치 및 그 방법 |
JP2009093291A (ja) * | 2007-10-04 | 2009-04-30 | Toshiba Corp | ジェスチャー判定装置及び方法 |
-
2010
- 2010-04-20 US US13/394,818 patent/US20120169643A1/en not_active Abandoned
- 2010-04-20 WO PCT/JP2010/056981 patent/WO2011030581A1/ja active Application Filing
- 2010-04-20 JP JP2011530763A patent/JP5209795B2/ja not_active Expired - Fee Related
- 2010-04-20 EP EP10815179A patent/EP2477096A1/en not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60110087A (ja) | 1983-11-18 | 1985-06-15 | Ricoh Co Ltd | 特徴抽出方法 |
JPH02288542A (ja) * | 1989-04-28 | 1990-11-28 | Hitachi Ltd | 描画打合せ装置 |
JPH0612493A (ja) * | 1992-06-25 | 1994-01-21 | Hitachi Ltd | ジェスチャ認識方法およびユーザインタフェース方法 |
JPH09230993A (ja) * | 1996-02-20 | 1997-09-05 | Sharp Corp | ジョグダイアルの模擬入力装置 |
JPH09282080A (ja) * | 1996-04-16 | 1997-10-31 | Canon Inc | 情報入力方法とその装置 |
JP2002196878A (ja) * | 2000-12-27 | 2002-07-12 | Celsys:Kk | 記録媒体、画像処理装置および方法 |
WO2003038590A1 (fr) * | 2001-10-30 | 2003-05-08 | International Business Machines Corporation | Appareil et programme de traitement de l'information |
JP4092371B2 (ja) | 2005-02-15 | 2008-05-28 | 有限会社Kiteイメージ・テクノロジーズ | 手書き文字認識方法、手書き文字認識システム、手書き文字認識プログラム及び記録媒体 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013040644A1 (en) | 2011-09-22 | 2013-03-28 | Cytomatrix Pty Ltd | Method for the ex vivo expansion of hematopoietic stem and progenitor cells |
JP2013105305A (ja) * | 2011-11-14 | 2013-05-30 | Toshiba Corp | ジェスチャ認識装置、その方法、及び、そのプログラム |
US9207757B2 (en) | 2011-11-14 | 2015-12-08 | Kabushiki Kaisha Toshiba | Gesture recognition apparatus, method thereof and program therefor |
Also Published As
Publication number | Publication date |
---|---|
JP5209795B2 (ja) | 2013-06-12 |
JPWO2011030581A1 (ja) | 2013-02-04 |
US20120169643A1 (en) | 2012-07-05 |
EP2477096A1 (en) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yi et al. | Atk: Enabling ten-finger freehand typing in air based on 3d hand tracking data | |
EP2891961A2 (en) | Input apparatus | |
US20220343689A1 (en) | Detection of hand gestures using gesture language discrete values | |
CN104137038A (zh) | 具有手指鉴别的智能触摸屏键盘 | |
CN102629164B (zh) | 一种多点触摸设备及信息显示方法及应用处理装置 | |
CN109074224A (zh) | 用于在字符串中插入字符的方法以及相应的数字设备 | |
KR20060051265A (ko) | 플릭 제스쳐 | |
US20150248166A1 (en) | System for spontaneous recognition of continuous gesture input | |
US20210089801A1 (en) | System and method for selecting graphical objects | |
JP2019512765A (ja) | 複数の入力管理のためのシステムおよび方法 | |
KR20130113622A (ko) | 입력 장치 및 문자 입력 방법 | |
WO2022267760A1 (zh) | 按键功能执行方法、装置、设备及存储介质 | |
JP5209795B2 (ja) | ジェスチャー判定装置およびその方法 | |
EP3722935A1 (en) | Handwriting input apparatus, handwriting input method, program, and input system | |
CN112805664B (zh) | 输入装置、输入方法、程序和输入系统 | |
JP6821751B2 (ja) | 仮想キーボードの誤タイピングを補正するための方法、システム、およびコンピュータプログラム | |
KR20220038477A (ko) | 텍스트 라인 추출 | |
CN101872266B (zh) | 输入处理装置 | |
JP5062898B2 (ja) | ユーザインタフェイス装置 | |
US10162420B2 (en) | Recognition device, method, and storage medium | |
KR100349887B1 (ko) | 정보기기용 필기체 인식장치 및 그 방법 | |
US20100245266A1 (en) | Handwriting processing apparatus, computer program product, and method | |
WO2015013662A1 (en) | Method for controlling a virtual keyboard from a touchpad of a computerized device | |
US20150268734A1 (en) | Gesture recognition method for motion sensing detector | |
WO2020080300A1 (en) | Input apparatus, input method, program, and input system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10815179 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011530763 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13394818 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010815179 Country of ref document: EP |