US20140325459A1 - Gesture control system - Google Patents

Gesture control system Download PDF

Info

Publication number
US20140325459A1
US20140325459A1 US14/324,476 US201414324476A US2014325459A1 US 20140325459 A1 US20140325459 A1 US 20140325459A1 US 201414324476 A US201414324476 A US 201414324476A US 2014325459 A1 US2014325459 A1 US 2014325459A1
Authority
US
United States
Prior art keywords
gesture
user
hand gesture
program code
application
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.)
Abandoned
Application number
US14/324,476
Inventor
Juha Kela
Panu Korpipaa
Jani Mantyjarvi
Heikki Keranen
Tapani Rantakokko
Esko-Juhani Malm
Sanna Kallio
Jussi Holopainen
Jari Kangas
Samuli Silanto
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.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Priority to US14/324,476 priority Critical patent/US20140325459A1/en
Publication of US20140325459A1 publication Critical patent/US20140325459A1/en
Assigned to NOKIA CORPORATION reassignment NOKIA CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KALLIO, SANNA, MANTY JARVI, JANI, KERANEN, HEIKKI, KORPIPAA, PANU, MALM, ESKO-JUHANI, RANTAKOKKO, TAPANI, HOLOPAINEN, JUSSI, KANGAS, JARI, SILANTO, SAMULI, KELA, JUHA
Assigned to NOKIA CORPORATION reassignment NOKIA CORPORATION CORRECTIVE ASSIGNMENT TO CORRECT THE THIRD INVENTOR'S NAME PREVIOUSLY RECORDED ON REEL 034093 FRAME 0739. ASSIGNOR(S) HEREBY CONFIRMS THE THIRD INVENTOR'S NAME TO BE JANI MANTYJARVI. Assignors: KALLIO, SANNA, MANTYJARVI, JANI, KERANEN, HEIKKI, KORPIPAA, PANU, MALM, ESKO-JUHANI, RANTAKOKKO, TAPANI, HOLOPAINEN, JUSSI, KANGAS, JARI, SILANTO, SAMULI, KELA, JUHA
Assigned to NOKIA TECHNOLOGIES OY reassignment NOKIA TECHNOLOGIES OY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NOKIA CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer

Definitions

  • the invention relates to a control system basing on the use of gestures and functioning especially in mobile terminals.
  • the invention also relates to a mobile terminal comprising the software of a gesture control system.
  • the gesture control system means a system, by means of which the managing of an application, observable with senses, takes place at least partly by hand motions.
  • the control system comprises motion sensors, which move along with the hand of a person using the application, and the converters and processing programs for the signals generated by the motion sensors.
  • the hand motions, or gestures then are recognized on grounds of e.g., accelerations occurring in the motions.
  • the application controlled by gestures can be 20 for example a game loaded into a mobile terminal or the controlling program of an external electromechanical device.
  • Recognizing a motion by equipment is known from before.
  • Recognition systems applying acceleration sensors are disclosed among other documents in the articles “Recognizing Human Motion with Multiple Acceleration Sensors” (Mäntyjärvi & kumpp., IEEE International Conference on Systems, Man and Cybernetics, 2001) and “Recognizing Movements of a Portable Handheld Device Using Symbolic Representation and Coding of Sensor Signals” (Flanagan et al., International Conference on Mobile and Ubiquitous Multimedia, 2002) and in the publication WO 03/001340.
  • the system in accordance with the last-mentioned publication includes also a gesture library and a program analyzing acceleration data and defining, if that data corresponds to a certain three-dimensional gesture.
  • WO 00/63874 discloses a system, in which an application changes the shape of a pattern seen in the computer display and moves the pattern, depending on how a control device, to be held in the hand, is handled.
  • the control device comprises acceleration sensors for three dimensions and a button with a pressure sensor.
  • FIG. 1 presents a simplified diagram showing the interfacing an application to its control system, according to the prior art.
  • the whole system comprises a hardware portion HW and a software portion SW.
  • a sensor unit SU an interface IF of the sensor unit, a memory MEM and a computer bus.
  • the software portion comprises a driver 140 for the interface IF, a processing software 130 for the signals which correspond to the hand motions, an application 110 controllable by the hand motions and an operation system OS of the computer at issue.
  • the driver 140 stores the gesture signals, converted to digital form by the interface IF, to the memory MEM.
  • the signal processing software analyzes the gesture signals and provides a control to the application. Naturally, the signal processing software has to be matched to the application for the data transfer between them.
  • a flaw in the control systems like the above-mentioned systems is the limited scope of their use: Changing an application to another application presumes amending work in the software of the control system. Likewise transferring the system to another computer of other type requires matching work in the programs.
  • a system according to the invention is a gesture control system comprising a sensor unit with motion sensors to be held in a user's hand, a processing software of sensor data and an interface program between said processing software and a controllable application, the processing software comprising a trainer to make gesture models and a recognizer to recognize gestures during use of the application, said interface program forming a general purpose interface to get specified commands from the application and to provide specified responses to the application.
  • a mobile terminal comprising a control system to manage an application operating in the mobile terminal by gestures, the control system having a processing software of data gotten from motion sensors and an interface program between said processing software and said application is characterized in that which is specified in the independent claim.
  • the gesture control system is provided with a general purpose interface with its commands for applications to be controlled.
  • the processing software of the gesture signals includes a training program, and the trained free form gestures made by the user are stored in the gesture library.
  • the processing software of the gesture signals also includes a recognizing program, which matches a gesture made by the user to the stored gestures and chooses the most similar gesture thereof. Gestures can hence be used as commands for controlling any application configured or programmed to receive the command.
  • the system is preferably implemented in a mobile terminal.
  • An advantage of the invention is that one and the same application functions in different models of mobile terminals without matching relating to the models. This is due to the above-mentioned general purpose interface. Likewise in a certain mobile terminal can be run all applications, which use specified interface commands. Another advantage of the invention is that in a system according to it new and different gestures can easily be formed and put into use. A further advantage of the invention is that it makes possible the controlling by gestures of all possible activities being included in the basic implementation of a mobile terminal. A further advantage of the invention is that it remarkably expands possibilities to interact with game applications in the mobile terminals.
  • FIG. 1 presents as a layer diagram the interfacing an application to its control system, according to the prior art
  • FIG. 2 presents as a layer diagram the interfacing an application to its control system, according to the invention
  • FIG. 3 presents the general principle of the function of a system according to the invention
  • FIG. 4 presents as a flow diagram an example of a gesture training procedure in a system according to the invention
  • FIG. 5 presents as a flow diagram an example of a gesture recognizing procedure in a system according to the invention
  • FIG. 6 presents as a sequence diagram an example of a gesture training procedure in a system according to the invention
  • FIG. 7 presents as a sequence diagram an example of a gesture recognizing procedure utilizing a button, in a system according to the invention
  • FIG. 8 presents as a sequence diagram an example of a gesture recognizing procedure without a button, in a system according to the invention.
  • FIGS. 9 a, b present examples of a mobile terminal according to the invention.
  • FIG. 1 was already discussed in connection with the description of the prior art.
  • FIG. 2 shows a diagram, corresponding to FIG. 1 , about the interfacing an application to its control system, according to the invention.
  • the whole system comprises a hardware portion HW and a software portion SW.
  • a hardware portion HW and a software portion SW.
  • a sensor unit SU reacting to the motion
  • a circuit-based interface IF of the sensor unit
  • a memory MEM and a computer bus.
  • an audio part for possible use of voice messages to the user and/or from the user.
  • the software portion comprises a driver 250 for the interface IF, a sensor interface 240 , a processing software 230 for the signals which correspond to the hand motions, an interface 220 between said processing software and an application 210 to be controlled by the hand motions, the actual application 210 and an operation system OS of the device at issue.
  • An optional part in the software SW is audio interface 270 for above-mentioned voice messages.
  • the operation system can be Symbian or Linux, for instance.
  • the processing software for the signals which correspond to the hand motions is more briefly named “Gesture Engine” and different interfaces, or matching programs are named by an abbreviation API (Application Programming Interface).
  • the driver for the circuit-based interface IF is IF-API
  • the sensor interface is S-API
  • the interface between the application and said Gesture Engine is G-API.
  • IF-API together with S-API stores the motion signals, converted to digital form, to the memory MEM.
  • S-API then informs by messages to the Gesture Engine the data at issue, or the sensor data.
  • the sensor unit SU can be included in a host device or it can be external. In the latter case the transfer system between the sensor unit and interface IF can be based e.g., on Bluetooth or infrared technology, or can be wired.
  • the motion sensors proper can be acceleration sensors or gyroscopes reacting to angular velocity or angular acceleration. They can also be magnetometers, or electronic compasses. In one and the same sensor unit there can occur more than one sensor type. When using acceleration sensors, the number of these is at least two, but preferably three to measure acceleration in each of three dimensions.
  • the sensor unit further can include a button to inform the gesture engine the start and completion of a gesture.
  • the interface G-API between the application and the Gesture Engine is, as mentioned, general purpose, or standard-like.
  • the application has an inter-5 face directly to the sensor interface S-API, too. That interface can be used for application control directly, when an actual signal processing is not needed.
  • the interface G-API, the Gesture Engine and the sensor interface S-API constitute a general purpose platform, on which different applications can be connected. Similarly a certain application can without difficulty be installed to dif10 ferent devices, which have the platform in question.
  • FIG. 3 shows the general principle of the function of a system according to the invention.
  • an application 310 the interface thereof 320 , Gesture Engine 330 and a sensor interface, or S-API 340.
  • Gesture Engine there are seen its main parts Gesture trainer and Gesture recognizer. Both these parts utilize processing modules Preprocessor and Gesture capturer.
  • Certain operation phase starts from a command given by the application to the Gesture Engine.
  • the Gesture Engine gives to the application a response required by the command. Giving a response often presumes information about motions of the motion sensors. For this reason the Gesture Engine gives to S-API a request for sensor data, and S-API answers by informing the data when it can be read in the memory.
  • FIG. 3 also is seen the sensor unit SU in the hand of a user and an example GES of a hand motion, which causes said data.
  • the set of the specified commands and responses is as follows, for example.
  • the response corresponding a certain command is to the right from that command.
  • FIG. 4 presents as a flow diagram an example of a gesture training procedure in a system according to the invention.
  • the procedure as such is known from before. It is based on HMM-algorithm (Hidden Markov Model), which is applied on recognizing e.g., speech and graphological text.
  • HMM-algorithm Hidden Markov Model
  • a person carrying out the training has done a free form hand motion, and the sensor interface S-API provides the sensor data generated by the motion to the Gesture Engine.
  • the data consists of samples of the analog sensor signals, the samples converted to a digital form. There are three sample sequences, each of which corresponds to a motion in one dimension.
  • the data is normalized.
  • step 403 the data is quantized. This happens by means of a codebook CB containing fixed three-dimensional points, which characterize the space of the gestures. Using such a codebook alleviates the computing load. The result is a one-dimensional token sequence, suitable for the HMM.
  • step 404 it is checked, whether the gesture being under training has been performed so many times as enough. If not, the above-described steps 401 - 403 are repeated. If yes, initial parameters are defined for the gesture model on grounds of accumulated, quantized data (step 405 ).
  • a model of the gesture at issue is formed by means of an expedient method such as the Baum-Welch algorithm, in accordance with the HMM.
  • the Baum-Welch algorithm calculates, using probability theory, values for three parameters, which represent the gesture. Each parameter is a matrix containing then plurality of numbers.
  • the obtained parameter values 407 are the result of the training, and they are stored to the gesture library LIB.
  • the Baum-Welch algorithm is iterative by nature. The iteration converges the better the smaller the variation in the source data. However that variation has certain optimum value. If it is clearly lower than the optimum value, the recognition program discards too readily gestures made by the user, and if the variation is clearly higher than the optimum value, the result of the later recognitions is unreliable.
  • the result of the training can naturally be tested by trying the gesture recognition directly after the training, according to a procedure described below.
  • An estimate for the reliability is obtained by doing several times gestures, which are similar as in the training phase and “something like that”.
  • a speech synthesizer if being included in the device, can be connected to that kind of testing so that the device tells by clear speech the name of the gesture, which it has recognized.
  • the codebook CB has been created in a blanket way, by means of a separate specific algorithm, which uses among other things gesture data collected from a number of people.
  • the resulting codebook is serviceable to use for various persons without changes.
  • “Generic code book” means here and in patent claims such a codebook.
  • a generic codebook contributes to that also the trained gestures are user-independent.
  • Such gestures can be arranged to be loaded through the Internet, and they can be subjects to a charge.
  • FIG. 5 presents as a flow diagram an example of a gesture recognizing procedure in a system according to the invention. Also this procedure is based on HMM-algorithm and is known from before as such.
  • step 501 a person using the system has done a hand motion, and the sensor interface S-API provides the sensor data generated by the motion to the Gesture Engine. Also now the data consists for example of three sample sequences, each of which corresponds to a motion in one dimension.
  • steps 502 and 503 happen the data normalization and quantization as in steps 402 and 403 of FIG. 4 .
  • step 504 the number I of gestures stored in the gesture library is loaded in a counter.
  • step 505 a reference figure is calculated, which represents likelihood of the gesture being under recognition with the stored gesture pointed by the counter value.
  • the calculation employs the parameter values defined for the stored gesture at issue, and it is run by means of an expedient method such as the Viterbi algorithm, in accordance with the HMM.
  • the counter content is decremented by one (step 506 ).
  • step 507 it is checked, whether the counter value is zero. If not yet, the calculation according to step 505 is repeated, regarding now a new stored gesture. If yes, or all stored gestures are gone through, obtained reference figures are evaluated, step 508 . In the evaluation the reference figures are compared with each other and with a certain threshold value. In step 509 a decision is made.
  • the gesture is considered to be recognized.
  • the chosen gesture is the stored gesture corresponding to the reference figure in question. If no one of the reference figures is distinctly highest, or all of them are lower than said threshold value, the gesture is not considered to be recognized.
  • FIG. 6 presents as a sequence diagram an example of a gesture training procedure in a system according to the invention.
  • the vertical dashed lines refer to functional parts of the software. These are, in the order from left to right, an application, “G” which means here the G-API and the upper level of the Gesture Engine together, the Preprocessor, the Gesture Capturer and the S-API.
  • G an application
  • a vertical beam on a dashed line means a period, when the part of the software at issue is active.
  • the example relates to a system, in which the motion sensor unit is equipped with a button. The state information of the button is brought through the S-API to the Gesture Engine and further to the application.
  • the diagram starts by command CollectTrainingGesture provided by the application to the interface G-API. That command has been preceded by the starting of the training procedure in the application and the pressing the button B.
  • the command contains as parameters the name chosen for the gesture to be trained, the button being used and the gesture timeout, which means the maximum time allowed for the collecting of training data.
  • Said command causes command StartGestureCapture to the Gesture Capturer inside the Gesture Engine, and this command in turn command SetSensorListener to the interface S-API.
  • the last-mentioned command contains among other things information at which rate the Gesture Engine will get data packets.
  • the S-API provides to the Gesture Capturer the samples of the sensor signals in data packets, in the header of which the size of the packet at a given time is mentioned. That transfer continues, until the button is released.
  • the application provides to the G-API command EndGesture, which results in command StopGestureCapture to the Gesture Capturer inside the Gesture Engine and command SetSensorListener to the S-API.
  • the parameters included in the latter command cause the sampling to stop.
  • the Gesture Capturer gives to its internal module command FindActualGesture, which module cleans the captured raw data deleting, according to certain criteria, from it the parts, which probably do not belong to the actual gesture.
  • the Gesture Capturer provides to the upper level of the Gesture Engine response GestureCaptured, by which the actual gesture data is informed.
  • the Gesture Engine then provides to the Preprocessor command Normalize (actual gesture data), which starts the processing of the actual gesture data.
  • the Preprocessor carries out the data normalization and quantization. The latter is started by command ExtractFeatures given to an internal module of the Preprocessor.
  • the Preprocessor then provides to the upper level of the Gesture Engine notice FeaturesExtracted.
  • feature data in distinction from said raw data.
  • the Gesture Engine provides, by the G-API, to the application response TrainingGestureCollected. As a parameter of this response it is mentioned, which repetition turn of the gesture to be trained is in question.
  • the above-disclosed operation sequence is repeated, when the gesture to be trained is repeated.
  • the number of repetition turns is for instance 2-5.
  • the application provides to the interface G-API command StartGestureTraining. Parameter of this command is the name of the gesture.
  • the training procedure continues by command Train, given to an internal module of the Gesture Engine. That module carries out the training algorithm, depicted in context of FIG. 4 .
  • the Gesture Engine provides, by the G-API, to the application response Gesture Trained. Parameters of this response are the name of the gesture and calculated values of the gesture parameters.
  • FIG. 7 presents as a sequence diagram an example of a gesture recognizing procedure in a system according to the invention.
  • This example too, relates to a system, in which the motion sensor unit is equipped with a button, the state information of which is brought through the S-API to the Gesture Engine and further to the application.
  • the diagram starts with command StartGestureRecognition provided by the application to the interface G-API. That command has been preceded by the starting of the recognizing procedure in the application and the pressing of the button B.
  • the command contains as parameters the button being used and the gesture timeout, which means the maximum time allowed for the recognition.
  • Said command causes inside the Gesture Engine command StartGestureCapture to the Gesture Capturer, and this command in turn command SetSensorListener to the interface S-API, as in the training procedure of FIG. 6 . Also from that point onwards the operation is equal to FIG. 6 until the Preprocessor provides to the upper level of the Gesture Engine notice FeaturesExtracted. The recognizing procedure then continues so that the Gesture Engine gives to its internal module command Recognize. That module carries out the calculation and evaluation of reference figures, which represent likelihood of the gesture being under recognition with the stored gestures, and makes a decision, as depicted in context of FIG. 5 . Subsequently the Gesture Engine provides, by the G-API, to the application response GestureRecognized provided that a gesture indeed has been chosen. As a parameter of that response is the name of the recognized gesture.
  • FIG. 8 presents as a sequence diagram another example of a gesture recognizing procedure in a system according to the invention.
  • This example relates to a system, in which the motion sensor unit is not equipped with a button or it is at least not used.
  • the diagram starts by command DetectStill, provided by the application to the interface G-API. It is in question a still state of the sensor unit. Because the button is absent, said state has to be separately detected, before storing of meaningful gesture signal can be started. Parameters of that command are the still state duration required and the timeout, which means the maximum time allowed for the still state detection.
  • Said command causes inside the Gesture Engine command DetectStill to the Gesture Capturer, and this command in turn command SetSensorListener to the interface S-API. Afterwards the S-API provides to the Gesture Capturer the samples of the sensor signals in data packets. This transfer continues, until an internal module of the Gesture Capturer observes that the sensor unit has been for a certain period in the still state and gives a notice DeviceStillDetected. The Gesture Capturer provides to the Gesture Engine response DeviceStill and to the S-API command SetSensorListener with a parameter causing the sampling to stop. The Gesture Engine in turn provides by the G-API response DeviceStill to the application.
  • Command parameters are the matter that no button is used and the gesture timeout, which means the maximum time allowed for the gesture performing. That command causes inside the Gesture Engine command StartGestureCapture to the Gesture Capturer. Based on this command the Gesture Capturer in this case starts the still state detection function and provides to the S-API command SetSensorListener. After that the S-API again provides to the Gesture Capturer the samples of the sensor signals in data packets, which transfer continues, until an internal module of the Gesture Capturer observes that the sensor unit has been a certain period in the still state.
  • the Gesture Capturer then provides to the S-API command SetSensorListener with a parameter causing the sampling to stop and gives to its internal module command FindActualGesture, which module cleans the captured raw data deleting, according to certain criteria, from it the parts, which probably do not belong to the actual gesture.
  • the Gesture Capturer provides to the upper level of the Gesture Engine response GestureCaptured, by which the actual gesture data is informed.
  • the Gesture Engine then provides to the Preprocessor command Normalize (actual gesture data), which starts the processing of the actual gesture data.
  • the Preprocessor carries out the data normalization and quantization, and provides to the upper level of the Gesture Engine notice FeaturesExtracted, as in the procedures of FIGS.
  • the recognizing procedure continues from that point as in FIG. 7 , when the Gesture Engine carries out the calculation and evaluation of reference figures, which represent likelihood of the gesture being under recognition with the stored gestures, and makes a gesture decision. Finally the Gesture Engine also in this case provides, by the G-API, to the application response GestureRecognized provided that a gesture indeed has been chosen. As a parameter of that response is the name of the recognized gesture.
  • the training procedure can be implemented without a button.
  • the difference with the sequence of FIG. 6 corresponds to the difference between sequences of FIGS. 8 and 7 :
  • the recognizing procedure can also be extended to concern a series of successive gestures.
  • the recognition of the first gesture happens as in FIG. 8 .
  • the recognition of the next gesture starts either immediately without any command from the application or on grounds of a command and after a still state again has been detected.
  • FIG. 9 a presents an example of a mobile terminal according to the invention.
  • the mobile terminal MSA has one application or more, controllable by means of gestures.
  • An application can be e.g., an activity being included in the basic implementation of the mobile terminal, such as changing to a certain menu, sending a text message or some camera application.
  • An application also can be a game being originally located in the mobile terminal or loaded later to it.
  • the mobile terminal is provided with processing software of the gesture signals, which software comprises a trainer for modeling gestures and a recognizer for recognizing gestures.
  • the interface program between the processing software and an application controllable by gestures forms a general purpose interface to get specified commands from the application and to provide specified responses to the application.
  • the sensor unit SUA is placed inside the cover of the mobile terminal. That matter limits the usable applications to be of the type, that do not require watching the display during the gesture control.
  • FIG. 9 b presents another example of a mobile terminal according to the invention.
  • the mobile terminal MSB is from the view point of invention similar to the mobile terminal MSA in FIG. 9 a .
  • the difference is that the sensor unit SUB belonging to the system now is an external device.
  • the data transfer between the sensor unit and the mobile terminal can be based for example on Blue-tooth or infrared technology, or can be wired.
  • a commercial game application can contain the parameter values of the gestures to be used in the game, which values are stored in the gesture library of the Gesture Engine when the game is started.
  • the game may be a spell game by nature, whereupon the hand motions have apparent magical effect on the game events.
  • the gestures can be different by skill level.
  • the grading may regard also an individual gesture.
  • the Gesture Engine calculates a reference figure and provides it to the application, on condition that the gesture is distinguished from other gestures. The effect on the game is naturally the smaller, the smaller the reference figure is.
  • the game can be played by one or more people.
  • the implementation can be a network game such that e.g., two players have the terminals of their own, and the gesture information is transferred to the opponents terminal for instance by using the GPRS (General Packet Radio Service).
  • GPRS General Packet Radio Service
  • a player makes e.g., an attack by means of a certain gesture, the opponent sees the attack on his own terminal and defends by trying to make a sufficiently effective counter gesture or a sequence of weaker gestures in a defined time.
  • a game application can also be executed as a background program so that a player makes something else at the same time.
  • the player e.g., has joined a network game of numbers of players.
  • the game application in the terminal of the player in question displaces other applications and shows what is happening.
  • Two persons can also play with a single device.
  • a game may also be programmed so that it allows to train and bring new gestures into use.
  • the device is trained in a relatively complicated motion sequence, and the game would simply be such that the players try to repeat the motion sequence, each in turn, and the application gives points.
  • user-independent trained gesture models can be transferred from a device to another device through the Internet.
  • a network operator can offer a game service such that people having a terminal according to the invention can load trained gesture models therefrom.
  • a system according to the invention is described above.
  • the implementation of the invention in its different points can naturally deviate from what is presented.
  • the commands and responses of the interface G-API according to the invention can be specified in a different way.
  • Working up the sensor data to a form suitable for the HMM can be implemented also by some other process than by data normalization and quantization subsequent thereto, occurring in FIGS. 4 and 5 .
  • some other solution such as neural network or Bayesian network technology.
  • the starting and completing of a gesture can be informed, instead of a button, e.g., by voice control in the case of devices, which have speech recognition activity.
  • Voice messages can also be used in contrary direction so that an application informs via Gesture Engine the user of certain situations by means of the device's audio part and speaker. For that purpose there is also a command of its own.

Abstract

A control system is provided based on the use of gestures and functioning especially in mobile terminals. The gesture control system is provided with a general purpose interface with its commands for applications to be controlled. The processing software of the gesture signals includes a training program trained free-form gestures made by the user being stored in the gesture library, and a recognizing program, which matches a gesture made by the user to the stored gestures and chooses the most similar gesture thereof. Gestures can hence be used as commands for controlling any application configured or programmed to receive the command. One and the same application functions in different models of mobile terminals without matching, and in a certain mobile terminal all applications can be run, which applications use specified interface commands. The application can be e.g. a game or activity being included in basic implementation of a mobile terminal.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application is a divisional application of and claims priority to U.S. application Ser. No. 11/049,638, filed Feb. 1, 2005, which claims priority to Finnish Patent Application Number FI 20040184 filed on Feb. 6, 2004, the entire contents of which are hereby incorporated by reference.
  • TECHNICAL FIELD
  • The invention relates to a control system basing on the use of gestures and functioning especially in mobile terminals. The invention also relates to a mobile terminal comprising the software of a gesture control system.
  • BACKGROUND
  • The gesture control system means a system, by means of which the managing of an application, observable with senses, takes place at least partly by hand motions. The control system comprises motion sensors, which move along with the hand of a person using the application, and the converters and processing programs for the signals generated by the motion sensors. The hand motions, or gestures, then are recognized on grounds of e.g., accelerations occurring in the motions. The application controlled by gestures can be 20 for example a game loaded into a mobile terminal or the controlling program of an external electromechanical device.
  • The “application” means in this description and the claims both an observable process and a program, which directly realizes said process.
  • Recognizing a motion by equipment, as such, is known from before. Recognition systems applying acceleration sensors are disclosed among other documents in the articles “Recognizing Human Motion with Multiple Acceleration Sensors” (Mäntyjärvi & kumpp., IEEE International Conference on Systems, Man and Cybernetics, 2001) and “Recognizing Movements of a Portable Handheld Device Using Symbolic Representation and Coding of Sensor Signals” (Flanagan et al., International Conference on Mobile and Ubiquitous Multimedia, 2002) and in the publication WO 03/001340. The system in accordance with the last-mentioned publication includes also a gesture library and a program analyzing acceleration data and defining, if that data corresponds to a certain three-dimensional gesture.
  • Also the controlling of an application by hand motions is known from before. For example the publication WO 00/63874 discloses a system, in which an application changes the shape of a pattern seen in the computer display and moves the pattern, depending on how a control device, to be held in the hand, is handled. The control device comprises acceleration sensors for three dimensions and a button with a pressure sensor.
  • FIG. 1 presents a simplified diagram showing the interfacing an application to its control system, according to the prior art. The whole system comprises a hardware portion HW and a software portion SW. Regarding the hardware portion there is drawn in FIG. 1 a sensor unit SU, an interface IF of the sensor unit, a memory MEM and a computer bus. The software portion comprises a driver 140 for the interface IF, a processing software 130 for the signals which correspond to the hand motions, an application 110 controllable by the hand motions and an operation system OS of the computer at issue. The driver 140 stores the gesture signals, converted to digital form by the interface IF, to the memory MEM. The signal processing software then analyzes the gesture signals and provides a control to the application. Naturally, the signal processing software has to be matched to the application for the data transfer between them.
  • A flaw in the control systems like the above-mentioned systems is the limited scope of their use: Changing an application to another application presumes amending work in the software of the control system. Likewise transferring the system to another computer of other type requires matching work in the programs.
  • SUMMARY
  • Objects of the invention are to reduce said disadvantages related to the prior 30 art and to extend implementing environment of the gesture control systems to the mobile terminals. A system according to the invention is a gesture control system comprising a sensor unit with motion sensors to be held in a user's hand, a processing software of sensor data and an interface program between said processing software and a controllable application, the processing software comprising a trainer to make gesture models and a recognizer to recognize gestures during use of the application, said interface program forming a general purpose interface to get specified commands from the application and to provide specified responses to the application. A mobile terminal according to the invention comprising a control system to manage an application operating in the mobile terminal by gestures, the control system having a processing software of data gotten from motion sensors and an interface program between said processing software and said application is characterized in that which is specified in the independent claim. Some preferred embodiments of the invention are specified in the other claims.
  • The basic idea of the invention is as follows: The gesture control system is provided with a general purpose interface with its commands for applications to be controlled. The processing software of the gesture signals includes a training program, and the trained free form gestures made by the user are stored in the gesture library. The processing software of the gesture signals also includes a recognizing program, which matches a gesture made by the user to the stored gestures and chooses the most similar gesture thereof. Gestures can hence be used as commands for controlling any application configured or programmed to receive the command. The system is preferably implemented in a mobile terminal.
  • An advantage of the invention is that one and the same application functions in different models of mobile terminals without matching relating to the models. This is due to the above-mentioned general purpose interface. Likewise in a certain mobile terminal can be run all applications, which use specified interface commands. Another advantage of the invention is that in a system according to it new and different gestures can easily be formed and put into use. A further advantage of the invention is that it makes possible the controlling by gestures of all possible activities being included in the basic implementation of a mobile terminal. A further advantage of the invention is that it remarkably expands possibilities to interact with game applications in the mobile terminals.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention will now be described in detail. Reference will be made to the accompanying drawings wherein
  • FIG. 1 presents as a layer diagram the interfacing an application to its control system, according to the prior art,
  • FIG. 2 presents as a layer diagram the interfacing an application to its control system, according to the invention,
  • FIG. 3 presents the general principle of the function of a system according to the invention,
  • FIG. 4 presents as a flow diagram an example of a gesture training procedure in a system according to the invention,
  • FIG. 5 presents as a flow diagram an example of a gesture recognizing procedure in a system according to the invention,
  • FIG. 6 presents as a sequence diagram an example of a gesture training procedure in a system according to the invention,
  • FIG. 7 presents as a sequence diagram an example of a gesture recognizing procedure utilizing a button, in a system according to the invention,
  • FIG. 8 presents as a sequence diagram an example of a gesture recognizing procedure without a button, in a system according to the invention, and
  • FIGS. 9 a, b present examples of a mobile terminal according to the invention.
  • DETAILED DESCRIPTION
  • FIG. 1 was already discussed in connection with the description of the prior art.
  • FIG. 2 shows a diagram, corresponding to FIG. 1, about the interfacing an application to its control system, according to the invention. The whole system comprises a hardware portion HW and a software portion SW. Regarding the hardware portion there is drawn in the figure, also in this case, a sensor unit SU reacting to the motion, a circuit-based interface IF of the sensor unit, a memory MEM and a computer bus. In addition, there is seen an audio part for possible use of voice messages to the user and/or from the user. The software portion comprises a driver 250 for the interface IF, a sensor interface 240, a processing software 230 for the signals which correspond to the hand motions, an interface 220 between said processing software and an application 210 to be controlled by the hand motions, the actual application 210 and an operation system OS of the device at issue. An optional part in the software SW is audio interface 270 for above-mentioned voice messages. The operation system can be Symbian or Linux, for instance. The processing software for the signals which correspond to the hand motions is more briefly named “Gesture Engine” and different interfaces, or matching programs are named by an abbreviation API (Application Programming Interface). So the driver for the circuit-based interface IF is IF-API, the sensor interface is S-API and the interface between the application and said Gesture Engine is G-API. IF-API together with S-API stores the motion signals, converted to digital form, to the memory MEM. S-API then informs by messages to the Gesture Engine the data at issue, or the sensor data.
  • The sensor unit SU can be included in a host device or it can be external. In the latter case the transfer system between the sensor unit and interface IF can be based e.g., on Bluetooth or infrared technology, or can be wired. The motion sensors proper can be acceleration sensors or gyroscopes reacting to angular velocity or angular acceleration. They can also be magnetometers, or electronic compasses. In one and the same sensor unit there can occur more than one sensor type. When using acceleration sensors, the number of these is at least two, but preferably three to measure acceleration in each of three dimensions. The sensor unit further can include a button to inform the gesture engine the start and completion of a gesture.
  • The interface G-API between the application and the Gesture Engine is, as mentioned, general purpose, or standard-like. The application has an inter-5 face directly to the sensor interface S-API, too. That interface can be used for application control directly, when an actual signal processing is not needed. The interface G-API, the Gesture Engine and the sensor interface S-API constitute a general purpose platform, on which different applications can be connected. Similarly a certain application can without difficulty be installed to dif10 ferent devices, which have the platform in question.
  • FIG. 3 shows the general principle of the function of a system according to the invention. As functional parts there are presented an application 310, the interface thereof 320, Gesture Engine 330 and a sensor interface, or S-API 340. In the Gesture Engine there are seen its main parts Gesture trainer and Gesture recognizer. Both these parts utilize processing modules Preprocessor and Gesture capturer. Certain operation phase starts from a command given by the application to the Gesture Engine. The Gesture Engine gives to the application a response required by the command. Giving a response often presumes information about motions of the motion sensors. For this reason the Gesture Engine gives to S-API a request for sensor data, and S-API answers by informing the data when it can be read in the memory. In FIG. 3 also is seen the sensor unit SU in the hand of a user and an example GES of a hand motion, which causes said data.
  • The set of the specified commands and responses is as follows, for example. In the table the response corresponding a certain command is to the right from that command.
  • CollectTrainingGesture TrainingGestureCollected
    StartGestureTraining GestureTrained
    GestureNotTrained
    StartGestureRecognition GestureRecognized
    GestureNotRecognized
    DetectStill DeviceStill
    EndGesture GestureRecognized
    GetGestureNames GestureNameList
    AbortGesture
    SubscribeGesture
    UnsubscribeGesture
    DeleteGesture
    RenameGesture
  • The meaning of most important commands and responses appears more detailed in the descriptions of FIGS. 6-8.
  • FIG. 4 presents as a flow diagram an example of a gesture training procedure in a system according to the invention. The procedure as such is known from before. It is based on HMM-algorithm (Hidden Markov Model), which is applied on recognizing e.g., speech and graphological text. In step 401 a person carrying out the training has done a free form hand motion, and the sensor interface S-API provides the sensor data generated by the motion to the Gesture Engine. The data consists of samples of the analog sensor signals, the samples converted to a digital form. There are three sample sequences, each of which corresponds to a motion in one dimension. In step 402 the data is normalized. That means increasing the number of samples by interpolation or decreasing the number of samples by decimation, to achieve the sample sequences of a certain length. In step 403 the data is quantized. This happens by means of a codebook CB containing fixed three-dimensional points, which characterize the space of the gestures. Using such a codebook alleviates the computing load. The result is a one-dimensional token sequence, suitable for the HMM. In step 404 it is checked, whether the gesture being under training has been performed so many times as enough. If not, the above-described steps 401-403 are repeated. If yes, initial parameters are defined for the gesture model on grounds of accumulated, quantized data (step 405). In step 406 a model of the gesture at issue is formed by means of an expedient method such as the Baum-Welch algorithm, in accordance with the HMM. The Baum-Welch algorithm calculates, using probability theory, values for three parameters, which represent the gesture. Each parameter is a matrix containing then plurality of numbers. The obtained parameter values 407 are the result of the training, and they are stored to the gesture library LIB. The Baum-Welch algorithm is iterative by nature. The iteration converges the better the smaller the variation in the source data. However that variation has certain optimum value. If it is clearly lower than the optimum value, the recognition program discards too readily gestures made by the user, and if the variation is clearly higher than the optimum value, the result of the later recognitions is unreliable.
  • The result of the training can naturally be tested by trying the gesture recognition directly after the training, according to a procedure described below. An estimate for the reliability is obtained by doing several times gestures, which are similar as in the training phase and “something like that”. A speech synthesizer, if being included in the device, can be connected to that kind of testing so that the device tells by clear speech the name of the gesture, which it has recognized.
  • The codebook CB has been created in a blanket way, by means of a separate specific algorithm, which uses among other things gesture data collected from a number of people. The resulting codebook is serviceable to use for various persons without changes. “Generic code book” means here and in patent claims such a codebook. A generic codebook contributes to that also the trained gestures are user-independent. In addition, if a single trained gesture is transferred from a device to another device, it is immediately serviceable in the new environment. Such gestures can be arranged to be loaded through the Internet, and they can be subjects to a charge.
  • FIG. 5 presents as a flow diagram an example of a gesture recognizing procedure in a system according to the invention. Also this procedure is based on HMM-algorithm and is known from before as such. In step 501 a person using the system has done a hand motion, and the sensor interface S-API provides the sensor data generated by the motion to the Gesture Engine. Also now the data consists for example of three sample sequences, each of which corresponds to a motion in one dimension. In steps 502 and 503 happen the data normalization and quantization as in steps 402 and 403 of FIG. 4. In step 504 the number I of gestures stored in the gesture library is loaded in a counter. In step 505 a reference figure is calculated, which represents likelihood of the gesture being under recognition with the stored gesture pointed by the counter value. The calculation employs the parameter values defined for the stored gesture at issue, and it is run by means of an expedient method such as the Viterbi algorithm, in accordance with the HMM. Afterwards the counter content is decremented by one (step 506). In following step 507 it is checked, whether the counter value is zero. If not yet, the calculation according to step 505 is repeated, regarding now a new stored gesture. If yes, or all stored gestures are gone through, obtained reference figures are evaluated, step 508. In the evaluation the reference figures are compared with each other and with a certain threshold value. In step 509 a decision is made. If some reference figure is found to be distinctly highest, and it further is higher than said threshold value, the gesture is considered to be recognized. The chosen gesture is the stored gesture corresponding to the reference figure in question. If no one of the reference figures is distinctly highest, or all of them are lower than said threshold value, the gesture is not considered to be recognized.
  • FIG. 6 presents as a sequence diagram an example of a gesture training procedure in a system according to the invention. In the diagram the vertical dashed lines refer to functional parts of the software. These are, in the order from left to right, an application, “G” which means here the G-API and the upper level of the Gesture Engine together, the Preprocessor, the Gesture Capturer and the S-API. In the diagram the time proceeds downwards. A vertical beam on a dashed line means a period, when the part of the software at issue is active. The example relates to a system, in which the motion sensor unit is equipped with a button. The state information of the button is brought through the S-API to the Gesture Engine and further to the application. The diagram starts by command CollectTrainingGesture provided by the application to the interface G-API. That command has been preceded by the starting of the training procedure in the application and the pressing the button B. The command contains as parameters the name chosen for the gesture to be trained, the button being used and the gesture timeout, which means the maximum time allowed for the collecting of training data. Said command causes command StartGestureCapture to the Gesture Capturer inside the Gesture Engine, and this command in turn command SetSensorListener to the interface S-API. The last-mentioned command contains among other things information at which rate the Gesture Engine will get data packets. Afterwards the S-API provides to the Gesture Capturer the samples of the sensor signals in data packets, in the header of which the size of the packet at a given time is mentioned. That transfer continues, until the button is released. In this case the application provides to the G-API command EndGesture, which results in command StopGestureCapture to the Gesture Capturer inside the Gesture Engine and command SetSensorListener to the S-API. The parameters included in the latter command cause the sampling to stop. The Gesture Capturer gives to its internal module command FindActualGesture, which module cleans the captured raw data deleting, according to certain criteria, from it the parts, which probably do not belong to the actual gesture. That kind of irrelevant data parts come from the small and unintended hand motions before and after the actual gesture. When the irrelevant data is deleted, the Gesture Capturer provides to the upper level of the Gesture Engine response GestureCaptured, by which the actual gesture data is informed. The Gesture Engine then provides to the Preprocessor command Normalize (actual gesture data), which starts the processing of the actual gesture data. The Preprocessor carries out the data normalization and quantization. The latter is started by command ExtractFeatures given to an internal module of the Preprocessor. The Preprocessor then provides to the upper level of the Gesture Engine notice FeaturesExtracted. The data yielded by deleting irrelevant data, normalizing and quantizing is here and in claims called “feature data” in distinction from said raw data. Subsequently the Gesture Engine provides, by the G-API, to the application response TrainingGestureCollected. As a parameter of this response it is mentioned, which repetition turn of the gesture to be trained is in question.
  • The above-disclosed operation sequence is repeated, when the gesture to be trained is repeated. The number of repetition turns is for instance 2-5. When the repetition is stopped, the application provides to the interface G-API command StartGestureTraining. Parameter of this command is the name of the gesture. The training procedure continues by command Train, given to an internal module of the Gesture Engine. That module carries out the training algorithm, depicted in context of FIG. 4. Finally, the Gesture Engine provides, by the G-API, to the application response Gesture Trained. Parameters of this response are the name of the gesture and calculated values of the gesture parameters.
  • FIG. 7 presents as a sequence diagram an example of a gesture recognizing procedure in a system according to the invention. This example, too, relates to a system, in which the motion sensor unit is equipped with a button, the state information of which is brought through the S-API to the Gesture Engine and further to the application. The diagram starts with command StartGestureRecognition provided by the application to the interface G-API. That command has been preceded by the starting of the recognizing procedure in the application and the pressing of the button B. The command contains as parameters the button being used and the gesture timeout, which means the maximum time allowed for the recognition. Said command causes inside the Gesture Engine command StartGestureCapture to the Gesture Capturer, and this command in turn command SetSensorListener to the interface S-API, as in the training procedure of FIG. 6. Also from that point onwards the operation is equal to FIG. 6 until the Preprocessor provides to the upper level of the Gesture Engine notice FeaturesExtracted. The recognizing procedure then continues so that the Gesture Engine gives to its internal module command Recognize. That module carries out the calculation and evaluation of reference figures, which represent likelihood of the gesture being under recognition with the stored gestures, and makes a decision, as depicted in context of FIG. 5. Subsequently the Gesture Engine provides, by the G-API, to the application response GestureRecognized provided that a gesture indeed has been chosen. As a parameter of that response is the name of the recognized gesture.
  • FIG. 8 presents as a sequence diagram another example of a gesture recognizing procedure in a system according to the invention. This example relates to a system, in which the motion sensor unit is not equipped with a button or it is at least not used. The diagram starts by command DetectStill, provided by the application to the interface G-API. It is in question a still state of the sensor unit. Because the button is absent, said state has to be separately detected, before storing of meaningful gesture signal can be started. Parameters of that command are the still state duration required and the timeout, which means the maximum time allowed for the still state detection. Said command causes inside the Gesture Engine command DetectStill to the Gesture Capturer, and this command in turn command SetSensorListener to the interface S-API. Afterwards the S-API provides to the Gesture Capturer the samples of the sensor signals in data packets. This transfer continues, until an internal module of the Gesture Capturer observes that the sensor unit has been for a certain period in the still state and gives a notice DeviceStillDetected. The Gesture Capturer provides to the Gesture Engine response DeviceStill and to the S-API command SetSensorListener with a parameter causing the sampling to stop. The Gesture Engine in turn provides by the G-API response DeviceStill to the application.
  • The procedure continues by command StartGestureRecognition provided by the application to the interface G-API. Command parameters are the matter that no button is used and the gesture timeout, which means the maximum time allowed for the gesture performing. That command causes inside the Gesture Engine command StartGestureCapture to the Gesture Capturer. Based on this command the Gesture Capturer in this case starts the still state detection function and provides to the S-API command SetSensorListener. After that the S-API again provides to the Gesture Capturer the samples of the sensor signals in data packets, which transfer continues, until an internal module of the Gesture Capturer observes that the sensor unit has been a certain period in the still state. The Gesture Capturer then provides to the S-API command SetSensorListener with a parameter causing the sampling to stop and gives to its internal module command FindActualGesture, which module cleans the captured raw data deleting, according to certain criteria, from it the parts, which probably do not belong to the actual gesture. When the irrelevant data is deleted, the Gesture Capturer provides to the upper level of the Gesture Engine response GestureCaptured, by which the actual gesture data is informed. The Gesture Engine then provides to the Preprocessor command Normalize (actual gesture data), which starts the processing of the actual gesture data. The Preprocessor carries out the data normalization and quantization, and provides to the upper level of the Gesture Engine notice FeaturesExtracted, as in the procedures of FIGS. 6 and 7. The recognizing procedure continues from that point as in FIG. 7, when the Gesture Engine carries out the calculation and evaluation of reference figures, which represent likelihood of the gesture being under recognition with the stored gestures, and makes a gesture decision. Finally the Gesture Engine also in this case provides, by the G-API, to the application response GestureRecognized provided that a gesture indeed has been chosen. As a parameter of that response is the name of the recognized gesture.
  • Also the training procedure can be implemented without a button. In that case the difference with the sequence of FIG. 6 corresponds to the difference between sequences of FIGS. 8 and 7: When the situation presumes, it is waited until the sensor unit is in the still state. The recognizing procedure can also be extended to concern a series of successive gestures. In that case the recognition of the first gesture happens as in FIG. 8. The recognition of the next gesture starts either immediately without any command from the application or on grounds of a command and after a still state again has been detected.
  • FIG. 9 a presents an example of a mobile terminal according to the invention. The mobile terminal MSA has one application or more, controllable by means of gestures. An application can be e.g., an activity being included in the basic implementation of the mobile terminal, such as changing to a certain menu, sending a text message or some camera application. An application also can be a game being originally located in the mobile terminal or loaded later to it. For that kind of applications the mobile terminal is provided with processing software of the gesture signals, which software comprises a trainer for modeling gestures and a recognizer for recognizing gestures. The interface program between the processing software and an application controllable by gestures forms a general purpose interface to get specified commands from the application and to provide specified responses to the application. The sensor unit SUA is placed inside the cover of the mobile terminal. That matter limits the usable applications to be of the type, that do not require watching the display during the gesture control.
  • FIG. 9 b presents another example of a mobile terminal according to the invention. The mobile terminal MSB is from the view point of invention similar to the mobile terminal MSA in FIG. 9 a. The difference is that the sensor unit SUB belonging to the system now is an external device. The data transfer between the sensor unit and the mobile terminal can be based for example on Blue-tooth or infrared technology, or can be wired.
  • As mentioned above, the games form their own group among the applications to be controlled by gestures. A commercial game application can contain the parameter values of the gestures to be used in the game, which values are stored in the gesture library of the Gesture Engine when the game is started. The game may be a spell game by nature, whereupon the hand motions have apparent magical effect on the game events. The gestures can be different by skill level. The tougher gesture a player succeeds to make in a certain situation, the more powerful effect that gesture has. The grading may regard also an individual gesture. Although a player does not succeed to make it well, the Gesture Engine calculates a reference figure and provides it to the application, on condition that the gesture is distinguished from other gestures. The effect on the game is naturally the smaller, the smaller the reference figure is. If a score is calculated for the player, points are granted the more, the tougher gestures he has performed, and the more accurately he has performed those gestures. The game can be played by one or more people. In the latter case the implementation can be a network game such that e.g., two players have the terminals of their own, and the gesture information is transferred to the opponents terminal for instance by using the GPRS (General Packet Radio Service). A player makes e.g., an attack by means of a certain gesture, the opponent sees the attack on his own terminal and defends by trying to make a sufficiently effective counter gesture or a sequence of weaker gestures in a defined time.
  • A game application can also be executed as a background program so that a player makes something else at the same time. The player e.g., has joined a network game of numbers of players. When an action has been directed at his figure, the game application in the terminal of the player in question displaces other applications and shows what is happening.
  • Two persons can also play with a single device. In that case there has to be also two sensor units, and each sensor data packet contains information, a data of which player is in question.
  • A game may also be programmed so that it allows to train and bring new gestures into use. For instance the device is trained in a relatively complicated motion sequence, and the game would simply be such that the players try to repeat the motion sequence, each in turn, and the application gives points. In the description of FIG. 4 it was already explained that user-independent trained gesture models can be transferred from a device to another device through the Internet. For example a network operator can offer a game service such that people having a terminal according to the invention can load trained gesture models therefrom.
  • A system according to the invention is described above. The implementation of the invention in its different points can naturally deviate from what is presented. The commands and responses of the interface G-API according to the invention can be specified in a different way. Working up the sensor data to a form suitable for the HMM can be implemented also by some other process than by data normalization and quantization subsequent thereto, occurring in FIGS. 4 and 5. For both training and recognizing can be used, instead of the whole HMM, some other solution, such as neural network or Bayesian network technology. The starting and completing of a gesture can be informed, instead of a button, e.g., by voice control in the case of devices, which have speech recognition activity. Voice messages can also be used in contrary direction so that an application informs via Gesture Engine the user of certain situations by means of the device's audio part and speaker. For that purpose there is also a command of its own.

Claims (19)

1.-20. (canceled)
21. A method for controlling a game, the method comprising:
receiving an indication of a hand gesture from a first user;
calculating an associated skill level associated with the hand gesture; and
causing provision of information associated with the associated skill level to a second user.
22. The method of claim 21, further comprising:
in response to receiving the indication of the hand gesture from the first user, causing performance of a spell according to the game on the second user.
23. The method of claim 21, wherein the calculated associated skill level is based on an accuracy of the hand gesture relative to a stored hand gesture of a gesture library.
24. The method of claim 21, further comprising:
receiving an indication from the first user identifying the second user as a user to which the hand gesture is directed.
25. The method of claim 21, further comprising:
receiving an indication of an attempted repetition of the hand gesture by the second user; and
calculating an accuracy score of the attempted repetition of the hand gesture.
26. The method of claim 21, further comprising:
in response to receiving the indication of the hand gesture from the first user, causing the game application to displace at least one other application in use by the second user.
27. An apparatus comprising at least one processor and at least one memory including computer program code for controlling a game, the at least one memory and the computer program code configured to, with the processor, cause the apparatus to perform at least:
receiving an indication of a hand gesture from a first user;
calculating an associated skill level associated with the hand gesture; and
causing provision of information associated with the associated skill level to a second user.
28. The apparatus of claim 27, wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to perform at least:
in response to receiving the indication of the hand gesture from the first user, causing performance of a spell according to the game on the second user.
29. The apparatus of claim 27, wherein the calculated associated skill level is based on an accuracy of the hand gesture relative to a stored hand gesture of a gesture library.
30. The apparatus of claim 27, wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to perform at least:
receiving an indication from the first user identifying the second user as a user to which the hand gesture is directed.
31. The apparatus of claim 27, wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to perform at least:
receiving an indication of an attempted repetition of the hand gesture by the second user; and
calculating an accuracy score of the attempted repetition of the hand gesture.
32. The apparatus of claim 27, wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to perform at least:
in response to receiving the indication of the hand gesture from the first user, causing the game application to displace at least one other application in use by the second user.
33. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions for:
receiving an indication of a hand gesture from a first user;
calculating an associated skill level associated with the hand gesture; and
causing provision of information associated with the associated skill level to a second user.
34. The computer program product of claim 33, wherein the computer-executable program code instructions further comprise program code instructions for:
in response to receiving the indication of the hand gesture from the first user, causing performance of a spell according to the game on the second user.
35. The computer program product of claim 33, wherein the calculated associated skill level is based on an accuracy of the hand gesture relative to a stored hand gesture of a gesture library.
36. The computer program product of claim 33, wherein the computer-executable program code instructions further comprise program code instructions for:
receiving an indication from the first user identifying the second user as a user to which the hand gesture is directed.
37. The computer program product of claim 33, wherein the computer-executable program code instructions further comprise program code instructions for:
receiving an indication of an attempted repetition of the hand gesture by the second user; and
calculating an accuracy score of the attempted repetition of the hand gesture.
38. The computer program product of claim 33, wherein the computer-executable program code instructions further comprise program code instructions for:
in response to receiving the indication of the hand gesture from the first user, causing the game application to displace at least one other application in use by the second user.
US14/324,476 2004-02-06 2014-07-07 Gesture control system Abandoned US20140325459A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/324,476 US20140325459A1 (en) 2004-02-06 2014-07-07 Gesture control system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FI20040184A FI117308B (en) 2004-02-06 2004-02-06 gesture Control
FIFI20040184 2004-02-06
US11/049,638 US8819596B2 (en) 2004-02-06 2005-02-01 Gesture control system
US14/324,476 US20140325459A1 (en) 2004-02-06 2014-07-07 Gesture control system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/049,638 Division US8819596B2 (en) 2004-02-06 2005-02-01 Gesture control system

Publications (1)

Publication Number Publication Date
US20140325459A1 true US20140325459A1 (en) 2014-10-30

Family

ID=31725666

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/049,638 Active 2028-11-11 US8819596B2 (en) 2004-02-06 2005-02-01 Gesture control system
US14/324,476 Abandoned US20140325459A1 (en) 2004-02-06 2014-07-07 Gesture control system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/049,638 Active 2028-11-11 US8819596B2 (en) 2004-02-06 2005-02-01 Gesture control system

Country Status (6)

Country Link
US (2) US8819596B2 (en)
EP (1) EP1711886A1 (en)
AU (1) AU2005210778B2 (en)
CA (1) CA2554917C (en)
FI (1) FI117308B (en)
WO (1) WO2005076114A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150370332A1 (en) * 2012-12-12 2015-12-24 Sagemcom Broadband Sas Device and method for recognizing gestures for a user control interface

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7749089B1 (en) 1999-02-26 2010-07-06 Creative Kingdoms, Llc Multi-media interactive play system
US6761637B2 (en) 2000-02-22 2004-07-13 Creative Kingdoms, Llc Method of game play using RFID tracking device
US7445550B2 (en) 2000-02-22 2008-11-04 Creative Kingdoms, Llc Magical wand and interactive play experience
US7878905B2 (en) 2000-02-22 2011-02-01 Creative Kingdoms, Llc Multi-layered interactive play experience
US7066781B2 (en) 2000-10-20 2006-06-27 Denise Chapman Weston Children's toy with wireless tag/transponder
US6967566B2 (en) 2002-04-05 2005-11-22 Creative Kingdoms, Llc Live-action interactive adventure game
US20070066396A1 (en) 2002-04-05 2007-03-22 Denise Chapman Weston Retail methods for providing an interactive product to a consumer
US7674184B2 (en) 2002-08-01 2010-03-09 Creative Kingdoms, Llc Interactive water attraction and quest game
US9446319B2 (en) 2003-03-25 2016-09-20 Mq Gaming, Llc Interactive gaming toy
CN100407223C (en) * 2004-04-02 2008-07-30 诺基亚公司 Apparatus and method for handwriting recognition
US20070189544A1 (en) 2005-01-15 2007-08-16 Outland Research, Llc Ambient sound responsive media player
CN101124534A (en) * 2005-02-24 2008-02-13 诺基亚公司 Motion input device for computing terminal and its operation method
US8147248B2 (en) * 2005-03-21 2012-04-03 Microsoft Corporation Gesture training
JP4696734B2 (en) * 2005-07-06 2011-06-08 ソニー株式会社 Content data reproducing apparatus and content data reproducing method
US7519537B2 (en) * 2005-07-19 2009-04-14 Outland Research, Llc Method and apparatus for a verbo-manual gesture interface
US8313379B2 (en) 2005-08-22 2012-11-20 Nintendo Co., Ltd. Video game system with wireless modular handheld controller
JP4805633B2 (en) 2005-08-22 2011-11-02 任天堂株式会社 Game operation device
US7927216B2 (en) 2005-09-15 2011-04-19 Nintendo Co., Ltd. Video game system with wireless modular handheld controller
US7809214B2 (en) * 2005-08-22 2010-10-05 Samsung Electronics Co., Ltd. Device and a method for identifying movement patterns
US8870655B2 (en) 2005-08-24 2014-10-28 Nintendo Co., Ltd. Wireless game controllers
JP4262726B2 (en) 2005-08-24 2009-05-13 任天堂株式会社 Game controller and game system
US8308563B2 (en) 2005-08-30 2012-11-13 Nintendo Co., Ltd. Game system and storage medium having game program stored thereon
US8157651B2 (en) 2005-09-12 2012-04-17 Nintendo Co., Ltd. Information processing program
US7697827B2 (en) 2005-10-17 2010-04-13 Konicek Jeffrey C User-friendlier interfaces for a camera
US7599520B2 (en) * 2005-11-18 2009-10-06 Accenture Global Services Gmbh Detection of multiple targets on a plane of interest
US8209620B2 (en) * 2006-01-31 2012-06-26 Accenture Global Services Limited System for storage and navigation of application states and interactions
US7725288B2 (en) * 2005-11-28 2010-05-25 Navisense Method and system for object control
US7788607B2 (en) 2005-12-01 2010-08-31 Navisense Method and system for mapping virtual coordinates
US7667686B2 (en) * 2006-02-01 2010-02-23 Memsic, Inc. Air-writing and motion sensing input for portable devices
US8139030B2 (en) * 2006-02-01 2012-03-20 Memsic, Inc. Magnetic sensor for use with hand-held devices
JP4151982B2 (en) 2006-03-10 2008-09-17 任天堂株式会社 Motion discrimination device and motion discrimination program
US8902154B1 (en) * 2006-07-11 2014-12-02 Dp Technologies, Inc. Method and apparatus for utilizing motion user interface
US7725547B2 (en) * 2006-09-06 2010-05-25 International Business Machines Corporation Informing a user of gestures made by others out of the user's line of sight
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US7971156B2 (en) * 2007-01-12 2011-06-28 International Business Machines Corporation Controlling resource access based on user gesturing in a 3D captured image stream of the user
US7801332B2 (en) * 2007-01-12 2010-09-21 International Business Machines Corporation Controlling a system based on user behavioral signals detected from a 3D captured image stream
US8269834B2 (en) 2007-01-12 2012-09-18 International Business Machines Corporation Warning a user about adverse behaviors of others within an environment based on a 3D captured image stream
US7792328B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Warning a vehicle operator of unsafe operation behavior based on a 3D captured image stream
US8588464B2 (en) 2007-01-12 2013-11-19 International Business Machines Corporation Assisting a vision-impaired user with navigation based on a 3D captured image stream
US7877706B2 (en) * 2007-01-12 2011-01-25 International Business Machines Corporation Controlling a document based on user behavioral signals detected from a 3D captured image stream
US7840031B2 (en) * 2007-01-12 2010-11-23 International Business Machines Corporation Tracking a range of body movement based on 3D captured image streams of a user
US8295542B2 (en) 2007-01-12 2012-10-23 International Business Machines Corporation Adjusting a consumer experience based on a 3D captured image stream of a consumer response
JP5127242B2 (en) 2007-01-19 2013-01-23 任天堂株式会社 Acceleration data processing program and game program
US7889175B2 (en) 2007-06-28 2011-02-15 Panasonic Corporation Touchpad-enabled remote controller and user interaction methods
JP2010534316A (en) * 2007-07-10 2010-11-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ System and method for capturing movement of an object
US9843351B2 (en) 2007-07-26 2017-12-12 Nokia Technologies Oy Gesture activated close-proximity communication
US8555282B1 (en) 2007-07-27 2013-10-08 Dp Technologies, Inc. Optimizing preemptive operating system with motion sensing
US8144780B2 (en) * 2007-09-24 2012-03-27 Microsoft Corporation Detecting visual gestural patterns
US20090125824A1 (en) * 2007-11-12 2009-05-14 Microsoft Corporation User interface with physics engine for natural gestural control
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8832552B2 (en) 2008-04-03 2014-09-09 Nokia Corporation Automated selection of avatar characteristics for groups
US8996332B2 (en) 2008-06-24 2015-03-31 Dp Technologies, Inc. Program setting adjustments based on activity identification
US20100052931A1 (en) * 2008-08-26 2010-03-04 Gm Global Technology Operations, Inc. Gesture control key fob
US20100071965A1 (en) * 2008-09-23 2010-03-25 Panasonic Corporation System and method for grab and drop gesture recognition
US20100095251A1 (en) * 2008-10-15 2010-04-15 Sony Ericsson Mobile Communications Ab Linkage between motion sensing and position applications in a portable communication device
US8487938B2 (en) * 2009-01-30 2013-07-16 Microsoft Corporation Standard Gestures
US7996793B2 (en) * 2009-01-30 2011-08-09 Microsoft Corporation Gesture recognizer system architecture
US9684521B2 (en) * 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US9529437B2 (en) 2009-05-26 2016-12-27 Dp Technologies, Inc. Method and apparatus for a motion state aware device
US9400559B2 (en) * 2009-05-29 2016-07-26 Microsoft Technology Licensing, Llc Gesture shortcuts
FR2950713A1 (en) * 2009-09-29 2011-04-01 Movea Sa SYSTEM AND METHOD FOR RECOGNIZING GESTURES
ES2618347T3 (en) * 2009-10-22 2017-06-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Car contact key, car navigation device, car system and procedure
TWI497350B (en) * 2009-11-24 2015-08-21 Compal Electronics Inc A portable device with non-touch sensor function and start method of program control procedure thereof
US9274594B2 (en) * 2010-05-28 2016-03-01 Microsoft Technology Licensing, Llc Cloud-based personal trait profile data
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
US20120016641A1 (en) * 2010-07-13 2012-01-19 Giuseppe Raffa Efficient gesture processing
US8479110B2 (en) 2011-03-20 2013-07-02 William J. Johnson System and method for summoning user interface objects
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US8885878B2 (en) * 2011-07-22 2014-11-11 Microsoft Corporation Interactive secret sharing
KR101822581B1 (en) 2011-09-05 2018-01-26 삼성전자주식회사 Apparatus and Method Capable of Controlling Application Property based on Motion
WO2013048469A1 (en) 2011-09-30 2013-04-04 Intel Corporation Detection of gesture data segmentation in mobile devices
US8876604B2 (en) 2011-10-03 2014-11-04 Bang Zoom Design, Ltd. Handheld electronic gesture game device and method
US9494973B2 (en) 2012-05-09 2016-11-15 Blackberry Limited Display system with image sensor based display orientation
DE102012025564A1 (en) * 2012-05-23 2013-11-28 Elmos Semiconductor Ag Device for recognizing three-dimensional gestures to control e.g. smart phone, has Hidden Markov model (HMM) which executes elementary object positions or movements to identify positioning motion sequences
WO2014194337A1 (en) 2013-05-30 2014-12-04 Atlas Wearables, Inc. Portable computing device and analyses of personal data captured therefrom
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
CN105612475B (en) 2013-08-07 2020-02-11 耐克创新有限合伙公司 Wrist-worn sports apparatus with gesture recognition and power management
DE202014010352U1 (en) 2013-09-12 2015-06-17 Mechaless Systems Gmbh Gesture recognition device
US20150297986A1 (en) * 2014-04-18 2015-10-22 Aquifi, Inc. Systems and methods for interactive video games with motion dependent gesture inputs
US20160059120A1 (en) * 2014-08-28 2016-03-03 Aquimo, Llc Method of using motion states of a control device for control of a system
TW201743241A (en) * 2016-06-01 2017-12-16 原相科技股份有限公司 Portable electronic device and operation method thereof
US10459687B2 (en) 2017-03-28 2019-10-29 Wipro Limited Method and system for controlling an internet of things device using multi-modal gesture commands
US11204806B2 (en) * 2018-06-03 2021-12-21 Apple Inc. Systems and methods for user adaptive resource management
CN116360603A (en) * 2023-05-29 2023-06-30 中数元宇数字科技(上海)有限公司 Interaction method, device, medium and program product based on time sequence signal matching

Citations (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4288078A (en) * 1979-11-20 1981-09-08 Lugo Julio I Game apparatus
US4702475A (en) * 1985-08-16 1987-10-27 Innovating Training Products, Inc. Sports technique and reaction training system
US4843568A (en) * 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US5184295A (en) * 1986-05-30 1993-02-02 Mann Ralph V System and method for teaching physical skills
US5229756A (en) * 1989-02-07 1993-07-20 Yamaha Corporation Image control apparatus
US5239464A (en) * 1988-08-04 1993-08-24 Blair Preston E Interactive video system providing repeated switching of multiple tracks of actions sequences
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US5288078A (en) * 1988-10-14 1994-02-22 David G. Capper Control interface apparatus
US5347306A (en) * 1993-12-17 1994-09-13 Mitsubishi Electric Research Laboratories, Inc. Animated electronic meeting place
US5393073A (en) * 1990-11-14 1995-02-28 Best; Robert M. Talking video games
US5405152A (en) * 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5423554A (en) * 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
US5454043A (en) * 1993-07-30 1995-09-26 Mitsubishi Electric Research Laboratories, Inc. Dynamic and static hand gesture recognition through low-level image analysis
US5563988A (en) * 1994-08-01 1996-10-08 Massachusetts Institute Of Technology Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment
US5577981A (en) * 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
US5594469A (en) * 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US5687254A (en) * 1994-06-06 1997-11-11 Xerox Corporation Searching and Matching unrecognized handwriting
US5784504A (en) * 1992-04-15 1998-07-21 International Business Machines Corporation Disambiguating input strokes of a stylus-based input devices for gesture or character recognition
US5795228A (en) * 1996-07-03 1998-08-18 Ridefilm Corporation Interactive computer-based entertainment system
US5947742A (en) * 1993-08-10 1999-09-07 Midori Katayama Method for teaching body motions
US6002808A (en) * 1996-07-26 1999-12-14 Mitsubishi Electric Information Technology Center America, Inc. Hand gesture control system
US6072494A (en) * 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
US6112021A (en) * 1997-12-19 2000-08-29 Mitsubishi Electric Information Technology Center America, Inc, (Ita) Markov model discriminator using negative examples
US6128003A (en) * 1996-12-20 2000-10-03 Hitachi, Ltd. Hand gesture recognition system and method
US6161126A (en) * 1995-12-13 2000-12-12 Immersion Corporation Implementing force feedback over the World Wide Web and other computer networks
US6159100A (en) * 1998-04-23 2000-12-12 Smith; Michael D. Virtual reality game
US6176782B1 (en) * 1997-12-22 2001-01-23 Philips Electronics North America Corp. Motion-based command generation technology
US6195104B1 (en) * 1997-12-23 2001-02-27 Philips Electronics North America Corp. System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs
US6215890B1 (en) * 1997-09-26 2001-04-10 Matsushita Electric Industrial Co., Ltd. Hand gesture recognizing device
US6239389B1 (en) * 1992-06-08 2001-05-29 Synaptics, Inc. Object position detection system and method
US6249606B1 (en) * 1998-02-19 2001-06-19 Mindmaker, Inc. Method and system for gesture category recognition and training using a feature vector
US6285380B1 (en) * 1994-08-02 2001-09-04 New York University Method and system for scripting interactive animated actors
US6304674B1 (en) * 1998-08-03 2001-10-16 Xerox Corporation System and method for recognizing user-specified pen-based gestures using hidden markov models
US20020022521A1 (en) * 2000-05-15 2002-02-21 Konami Corporation Game machine and network system for setting up game environment thereof
US6353764B1 (en) * 1997-11-27 2002-03-05 Matsushita Electric Industrial Co., Ltd. Control method
US6352478B1 (en) * 1997-08-18 2002-03-05 Creator, Ltd. Techniques and apparatus for entertainment sites, amusement parks and other information and/or entertainment dispensing sites
US6363160B1 (en) * 1999-01-22 2002-03-26 Intel Corporation Interface using pattern recognition and tracking
US20020036617A1 (en) * 1998-08-21 2002-03-28 Timothy R. Pryor Novel man machine interfaces and applications
US6400996B1 (en) * 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US20020082724A1 (en) * 2000-11-15 2002-06-27 Bernard Hennion Force feedback member control method and system
US20020118880A1 (en) * 2000-11-02 2002-08-29 Che-Bin Liu System and method for gesture interface
US20020181773A1 (en) * 2001-03-28 2002-12-05 Nobuo Higaki Gesture recognition system
US6503086B1 (en) * 2000-04-25 2003-01-07 Michael M. Golubov Body motion teaching system
US6508706B2 (en) * 2001-06-21 2003-01-21 David Howard Sitrick Electronic interactive gaming apparatus, system and methodology
US20030028498A1 (en) * 2001-06-07 2003-02-06 Barbara Hayes-Roth Customizable expert agent
US20030055640A1 (en) * 2001-05-01 2003-03-20 Ramot University Authority For Applied Research & Industrial Development Ltd. System and method for parameter estimation for pattern recognition
US20030076367A1 (en) * 2001-10-19 2003-04-24 Paul Bencze Rich communication over internet
US20030076293A1 (en) * 2000-03-13 2003-04-24 Hans Mattsson Gesture recognition system
US6561811B2 (en) * 1999-08-09 2003-05-13 Entertainment Science, Inc. Drug abuse prevention computer game
US20030103653A1 (en) * 2001-12-04 2003-06-05 Yossi Avni System for and method of web signature recognition system based on object map
US20030149803A1 (en) * 2002-02-07 2003-08-07 Andrew Wilson System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration
US20030156756A1 (en) * 2002-02-15 2003-08-21 Gokturk Salih Burak Gesture recognition system using depth perceptive sensors
US20030170602A1 (en) * 2002-02-07 2003-09-11 Norihiro Hagita Interaction media device and experience transfer system using interaction media device
US20030185445A1 (en) * 2002-03-29 2003-10-02 Industrial Technology Research Institute Method for extracting and matching gesture features of image
US20030208289A1 (en) * 2002-05-06 2003-11-06 Jezekiel Ben-Arie Method of recognition of human motion, vector sequences and speech
US6681031B2 (en) * 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6687612B2 (en) * 2002-01-10 2004-02-03 Navigation Technologies Corp. Method and system using a hand-gesture responsive device for collecting data for a geographic database
US6694044B1 (en) * 1999-09-16 2004-02-17 Hewlett-Packard Development Company, L.P. Method for motion classification using switching linear dynamic system models
US6694058B1 (en) * 1998-02-13 2004-02-17 Wincor Nixdorf Gmbh & Co. Kg Method for monitoring the exploitation process of an apparatus and self-service device monitored according to said method
US20040056907A1 (en) * 2002-09-19 2004-03-25 The Penn State Research Foundation Prosody based audio/visual co-analysis for co-verbal gesture recognition
US6819782B1 (en) * 1999-06-08 2004-11-16 Matsushita Electric Industrial Co., Ltd. Device and method for recognizing hand shape and position, and recording medium having program for carrying out the method recorded thereon
US6944315B1 (en) * 2000-10-31 2005-09-13 Intel Corporation Method and apparatus for performing scale-invariant gesture recognition
US7225414B1 (en) * 2002-09-10 2007-05-29 Videomining Corporation Method and system for virtual touch entertainment
US7454342B2 (en) * 2003-03-19 2008-11-18 Intel Corporation Coupled hidden Markov model (CHMM) for continuous audiovisual speech recognition
US7665041B2 (en) * 2003-03-25 2010-02-16 Microsoft Corporation Architecture for controlling a computer using hand gestures
US20110173574A1 (en) * 2010-01-08 2011-07-14 Microsoft Corporation In application gesture interpretation
US20130044912A1 (en) * 2011-08-19 2013-02-21 Qualcomm Incorporated Use of association of an object detected in an image to obtain information to display to a user
US8745541B2 (en) * 2003-03-25 2014-06-03 Microsoft Corporation Architecture for controlling a computer using hand gestures

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418424B1 (en) * 1991-12-23 2002-07-09 Steven M. Hoffberg Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US5913727A (en) * 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
US6747632B2 (en) * 1997-03-06 2004-06-08 Harmonic Research, Inc. Wireless control device
EP1250698A4 (en) 1999-04-20 2002-10-23 John Warren Stringer Human gestural input device with motion and pressure
GB2358108A (en) 1999-11-29 2001-07-11 Nokia Mobile Phones Ltd Controlling a hand-held communication device
EP1855267B1 (en) * 2000-01-11 2013-07-10 Yamaha Corporation Apparatus and method for detecting performer´s motion to interactively control performance of music or the like
AU2001286645A1 (en) 2000-08-31 2002-03-13 Zframe, Inc Gesture-based user interface to multi-level and multi-modal sets of bit-maps
FI20002841A (en) * 2000-12-22 2002-06-23 Nokia Corp Procedure for checking a computer terminal's display
US6826477B2 (en) * 2001-04-23 2004-11-30 Ecole Polytechnique Federale De Lausanne (Epfl) Pedestrian navigation method and apparatus operative in a dead reckoning mode
WO2003001340A2 (en) * 2001-06-22 2003-01-03 Motion Sense Corporation Gesture recognition system and method
FI110549B (en) 2001-06-29 2003-02-14 Nokia Corp Method and arrangement for determining motion
DE60215504T2 (en) * 2002-10-07 2007-09-06 Sony France S.A. Method and apparatus for analyzing gestures of a human, e.g. for controlling a machine by gestures
US7618323B2 (en) * 2003-02-26 2009-11-17 Wms Gaming Inc. Gaming machine system having a gesture-sensing mechanism

Patent Citations (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4288078A (en) * 1979-11-20 1981-09-08 Lugo Julio I Game apparatus
US4702475A (en) * 1985-08-16 1987-10-27 Innovating Training Products, Inc. Sports technique and reaction training system
US4843568A (en) * 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US5184295A (en) * 1986-05-30 1993-02-02 Mann Ralph V System and method for teaching physical skills
US5239464A (en) * 1988-08-04 1993-08-24 Blair Preston E Interactive video system providing repeated switching of multiple tracks of actions sequences
US5288078A (en) * 1988-10-14 1994-02-22 David G. Capper Control interface apparatus
US5229756A (en) * 1989-02-07 1993-07-20 Yamaha Corporation Image control apparatus
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US5393073A (en) * 1990-11-14 1995-02-28 Best; Robert M. Talking video games
US5784504A (en) * 1992-04-15 1998-07-21 International Business Machines Corporation Disambiguating input strokes of a stylus-based input devices for gesture or character recognition
US6239389B1 (en) * 1992-06-08 2001-05-29 Synaptics, Inc. Object position detection system and method
US5405152A (en) * 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5454043A (en) * 1993-07-30 1995-09-26 Mitsubishi Electric Research Laboratories, Inc. Dynamic and static hand gesture recognition through low-level image analysis
US5947742A (en) * 1993-08-10 1999-09-07 Midori Katayama Method for teaching body motions
US5423554A (en) * 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
US5347306A (en) * 1993-12-17 1994-09-13 Mitsubishi Electric Research Laboratories, Inc. Animated electronic meeting place
US5577981A (en) * 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
US5687254A (en) * 1994-06-06 1997-11-11 Xerox Corporation Searching and Matching unrecognized handwriting
US5563988A (en) * 1994-08-01 1996-10-08 Massachusetts Institute Of Technology Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment
US6285380B1 (en) * 1994-08-02 2001-09-04 New York University Method and system for scripting interactive animated actors
US5594469A (en) * 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US6161126A (en) * 1995-12-13 2000-12-12 Immersion Corporation Implementing force feedback over the World Wide Web and other computer networks
US5795228A (en) * 1996-07-03 1998-08-18 Ridefilm Corporation Interactive computer-based entertainment system
US6002808A (en) * 1996-07-26 1999-12-14 Mitsubishi Electric Information Technology Center America, Inc. Hand gesture control system
US6128003A (en) * 1996-12-20 2000-10-03 Hitachi, Ltd. Hand gesture recognition system and method
US6352478B1 (en) * 1997-08-18 2002-03-05 Creator, Ltd. Techniques and apparatus for entertainment sites, amusement parks and other information and/or entertainment dispensing sites
US6215890B1 (en) * 1997-09-26 2001-04-10 Matsushita Electric Industrial Co., Ltd. Hand gesture recognizing device
US6072494A (en) * 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
US6353764B1 (en) * 1997-11-27 2002-03-05 Matsushita Electric Industrial Co., Ltd. Control method
US6112021A (en) * 1997-12-19 2000-08-29 Mitsubishi Electric Information Technology Center America, Inc, (Ita) Markov model discriminator using negative examples
US6176782B1 (en) * 1997-12-22 2001-01-23 Philips Electronics North America Corp. Motion-based command generation technology
US6195104B1 (en) * 1997-12-23 2001-02-27 Philips Electronics North America Corp. System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs
US6694058B1 (en) * 1998-02-13 2004-02-17 Wincor Nixdorf Gmbh & Co. Kg Method for monitoring the exploitation process of an apparatus and self-service device monitored according to said method
US6249606B1 (en) * 1998-02-19 2001-06-19 Mindmaker, Inc. Method and system for gesture category recognition and training using a feature vector
US6159100A (en) * 1998-04-23 2000-12-12 Smith; Michael D. Virtual reality game
US6304674B1 (en) * 1998-08-03 2001-10-16 Xerox Corporation System and method for recognizing user-specified pen-based gestures using hidden markov models
US6681031B2 (en) * 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US20020036617A1 (en) * 1998-08-21 2002-03-28 Timothy R. Pryor Novel man machine interfaces and applications
US6363160B1 (en) * 1999-01-22 2002-03-26 Intel Corporation Interface using pattern recognition and tracking
US6400996B1 (en) * 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US6819782B1 (en) * 1999-06-08 2004-11-16 Matsushita Electric Industrial Co., Ltd. Device and method for recognizing hand shape and position, and recording medium having program for carrying out the method recorded thereon
US6561811B2 (en) * 1999-08-09 2003-05-13 Entertainment Science, Inc. Drug abuse prevention computer game
US6694044B1 (en) * 1999-09-16 2004-02-17 Hewlett-Packard Development Company, L.P. Method for motion classification using switching linear dynamic system models
US20030076293A1 (en) * 2000-03-13 2003-04-24 Hans Mattsson Gesture recognition system
US6503086B1 (en) * 2000-04-25 2003-01-07 Michael M. Golubov Body motion teaching system
US20020022521A1 (en) * 2000-05-15 2002-02-21 Konami Corporation Game machine and network system for setting up game environment thereof
US6944315B1 (en) * 2000-10-31 2005-09-13 Intel Corporation Method and apparatus for performing scale-invariant gesture recognition
US20020118880A1 (en) * 2000-11-02 2002-08-29 Che-Bin Liu System and method for gesture interface
US20020082724A1 (en) * 2000-11-15 2002-06-27 Bernard Hennion Force feedback member control method and system
US20020181773A1 (en) * 2001-03-28 2002-12-05 Nobuo Higaki Gesture recognition system
US20030055640A1 (en) * 2001-05-01 2003-03-20 Ramot University Authority For Applied Research & Industrial Development Ltd. System and method for parameter estimation for pattern recognition
US20030028498A1 (en) * 2001-06-07 2003-02-06 Barbara Hayes-Roth Customizable expert agent
US6508706B2 (en) * 2001-06-21 2003-01-21 David Howard Sitrick Electronic interactive gaming apparatus, system and methodology
US20030076367A1 (en) * 2001-10-19 2003-04-24 Paul Bencze Rich communication over internet
US20030103653A1 (en) * 2001-12-04 2003-06-05 Yossi Avni System for and method of web signature recognition system based on object map
US6687612B2 (en) * 2002-01-10 2004-02-03 Navigation Technologies Corp. Method and system using a hand-gesture responsive device for collecting data for a geographic database
US20030149803A1 (en) * 2002-02-07 2003-08-07 Andrew Wilson System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration
US20030170602A1 (en) * 2002-02-07 2003-09-11 Norihiro Hagita Interaction media device and experience transfer system using interaction media device
US20030156756A1 (en) * 2002-02-15 2003-08-21 Gokturk Salih Burak Gesture recognition system using depth perceptive sensors
US7340077B2 (en) * 2002-02-15 2008-03-04 Canesta, Inc. Gesture recognition system using depth perceptive sensors
US20030185445A1 (en) * 2002-03-29 2003-10-02 Industrial Technology Research Institute Method for extracting and matching gesture features of image
US20030208289A1 (en) * 2002-05-06 2003-11-06 Jezekiel Ben-Arie Method of recognition of human motion, vector sequences and speech
US7225414B1 (en) * 2002-09-10 2007-05-29 Videomining Corporation Method and system for virtual touch entertainment
US20040056907A1 (en) * 2002-09-19 2004-03-25 The Penn State Research Foundation Prosody based audio/visual co-analysis for co-verbal gesture recognition
US7454342B2 (en) * 2003-03-19 2008-11-18 Intel Corporation Coupled hidden Markov model (CHMM) for continuous audiovisual speech recognition
US7665041B2 (en) * 2003-03-25 2010-02-16 Microsoft Corporation Architecture for controlling a computer using hand gestures
US8745541B2 (en) * 2003-03-25 2014-06-03 Microsoft Corporation Architecture for controlling a computer using hand gestures
US20110173574A1 (en) * 2010-01-08 2011-07-14 Microsoft Corporation In application gesture interpretation
US20130044912A1 (en) * 2011-08-19 2013-02-21 Qualcomm Incorporated Use of association of an object detected in an image to obtain information to display to a user

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TypingMaster Pro Screenshots and descriptions, posted 06/24/2003 retrieved from [https://web.archive.org/web/20030619202824/http://typingmaster.com/index.asp?go=tutor] on [01/11/2016] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150370332A1 (en) * 2012-12-12 2015-12-24 Sagemcom Broadband Sas Device and method for recognizing gestures for a user control interface
US10802593B2 (en) * 2012-12-12 2020-10-13 Sagemcom Broadband Sas Device and method for recognizing gestures for a user control interface

Also Published As

Publication number Publication date
CA2554917C (en) 2015-11-10
WO2005076114A1 (en) 2005-08-18
AU2005210778A1 (en) 2005-08-18
US20050210419A1 (en) 2005-09-22
CA2554917A1 (en) 2005-08-18
FI20040184A0 (en) 2004-02-06
EP1711886A1 (en) 2006-10-18
AU2005210778B2 (en) 2009-02-19
FI20040184A (en) 2005-08-07
US8819596B2 (en) 2014-08-26
FI117308B (en) 2006-08-31

Similar Documents

Publication Publication Date Title
US8819596B2 (en) Gesture control system
JP4294853B2 (en) Operation instruction device
EP1494210B1 (en) Speech communication system and method, and robot apparatus
US5757360A (en) Hand held computer control device
Ward et al. Activity recognition of assembly tasks using body-worn microphones and accelerometers
US8228292B1 (en) Flipping for motion-based input
EP1441328B1 (en) Speech recognition apparatus and speech recognition method
CN108010526B (en) Voice processing method and device
JP2013506216A (en) System and method for recognizing gestures
CN110544468B (en) Application awakening method and device, storage medium and electronic equipment
CN110580897B (en) Audio verification method and device, storage medium and electronic equipment
CN108833721A (en) A kind of mood analysis method and user terminal, system based on call
JP6798258B2 (en) Generation program, generation device, control program, control method, robot device and call system
CN112711331A (en) Robot interaction method and device, storage equipment and electronic equipment
JP2021131699A (en) Information processing device and action mode setting method
JP7435641B2 (en) Control device, robot, control method and program
JP2022051378A (en) Noise waveform removing device, model training device, noise waveform removing method, model training method, generation model, and wearable device
CN110377159B (en) Action recognition method and device
KR20170029390A (en) Method for voice command mode activation
RU2746201C2 (en) System and method of nonverbal service activation on a mobile device
JP3996174B2 (en) GAME DEVICE, GAME PROGRESSING METHOD, AND GAME PROGRESSING PROGRAM
JP4993592B2 (en) GAME DEVICE, GAME PROGRESSING METHOD, AND GAME PROGRESSING PROGRAM
CN110209264A (en) A kind of behavioral data processing system and method
CN116474355A (en) Motion sensing game method based on hammering action
CN112764540A (en) Equipment identification method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
AS Assignment

Owner name: NOKIA CORPORATION, FINLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KELA, JUHA;KORPIPAA, PANU;MANTY JARVI, JANI;AND OTHERS;SIGNING DATES FROM 20050415 TO 20050429;REEL/FRAME:034093/0739

AS Assignment

Owner name: NOKIA CORPORATION, FINLAND

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE THIRD INVENTOR'S NAME PREVIOUSLY RECORDED ON REEL 034093 FRAME 0739. ASSIGNOR(S) HEREBY CONFIRMS THE THIRD INVENTOR'S NAME TO BE JANI MANTYJARVI;ASSIGNORS:KELA, JUHA;KORPIPAA, PANU;MANTYJARVI, JANI;AND OTHERS;SIGNING DATES FROM 20050415 TO 20050429;REEL/FRAME:034545/0556

AS Assignment

Owner name: NOKIA TECHNOLOGIES OY, FINLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOKIA CORPORATION;REEL/FRAME:035495/0924

Effective date: 20150116

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION