US20130324248A1 - System and method for executing a game process - Google Patents
System and method for executing a game process Download PDFInfo
- Publication number
- US20130324248A1 US20130324248A1 US13/919,995 US201313919995A US2013324248A1 US 20130324248 A1 US20130324248 A1 US 20130324248A1 US 201313919995 A US201313919995 A US 201313919995A US 2013324248 A1 US2013324248 A1 US 2013324248A1
- Authority
- US
- United States
- Prior art keywords
- game
- determining
- data
- player object
- action
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 187
- 230000008569 process Effects 0.000 title claims abstract description 119
- 230000009471 action Effects 0.000 claims abstract description 80
- 230000033001 locomotion Effects 0.000 claims description 116
- 230000001133 acceleration Effects 0.000 claims description 65
- 238000003860 storage Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 28
- 238000013459 approach Methods 0.000 claims description 16
- 238000009499 grossing Methods 0.000 claims 5
- 238000003384 imaging method Methods 0.000 description 25
- 230000001755 vocal effect Effects 0.000 description 20
- 230000000694 effects Effects 0.000 description 19
- 210000004247 hand Anatomy 0.000 description 17
- 210000003811 finger Anatomy 0.000 description 16
- 230000003993 interaction Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 230000004886 head movement Effects 0.000 description 14
- 230000004044 response Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000015654 memory Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 210000003813 thumb Anatomy 0.000 description 8
- 238000012549 training Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000002591 computed tomography Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000002595 magnetic resonance imaging Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000036544 posture Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000014616 translation Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006735 deficit Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000010899 nucleation Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 208000024891 symptom Diseases 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 206010003591 Ataxia Diseases 0.000 description 1
- 241001391944 Commicarpus scandens Species 0.000 description 1
- 208000007101 Muscle Cramp Diseases 0.000 description 1
- 208000005392 Spasm Diseases 0.000 description 1
- 208000020307 Spinal disease Diseases 0.000 description 1
- 208000020339 Spinal injury Diseases 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 244000052616 bacterial pathogen Species 0.000 description 1
- 206010008129 cerebral palsy Diseases 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 208000035475 disorder Diseases 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 230000003028 elevating effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 108700019579 mouse Ifi16 Proteins 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 201000006938 muscular dystrophy Diseases 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001954 sterilising effect Effects 0.000 description 1
- 238000004659 sterilization and disinfection Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- A63F13/04—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/211—Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/22—Setup operations, e.g. calibration, key configuration or button assignment
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/428—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/285—Analysis of motion using a sequence of stereo image pairs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1087—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
- A63F2300/1093—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
Definitions
- the present invention relates generally to controlling a computer system, and more particularly to a system and method to implement alternative modalities for controlling computer programs and devices, and manipulating on-screen objects through the use of one or more body gestures, or a combination of gestures and supplementary signals.
- a user interface facilitates the interaction between a computer and computer user by enhancing the user's ability to utilize application programs.
- the traditional interface between a human user and a typical personal computer is implemented with graphical displays and is generally referred to as a graphical user interface (GUI).
- GUI graphical user interface
- Input to the computer or particular application program is accomplished through the presentation of graphical information on the computer screen and through the use of a keyboard and/or mouse, trackball or other similar implements.
- Many systems employed for use in public areas utilize touch screen implementations whereby the user touches a designated area of a screen to effect the desired input.
- Airport electronic ticket check-in kiosks and rental car direction systems are examples of such systems. There are, however, many applications where the traditional user interface is less practical or efficient.
- the traditional computer interface is not ideal for a number of applications.
- Providing stand-up presentations or other type of visual presentations to lame audiences, is but one example.
- a presenter generally stands in front of the audience and provides a verbal dialog in conjunction with the visual presentation that is projected on a large display or screen.
- Manipulation of the presentation by the presenter is generally controlled through use of awkward remote controls, which frequently suffer from inconsistent and less precise operation, or require the cooperation of another individual.
- Traditional user interfaces require the user either to provide input via the keyboard or to exhibit a degree of skill and precision more difficult to implement with a remote control than a traditional mouse and keyboard.
- Other examples include control of video, audio, and display components of a media room.
- Switching between sources, advancing fast fast-forward, rewinding, changing chapters, changing volume, etc., can be very cumbersome in a professional studio as well as in the home.
- traditional interfaces are not well suited for smaller, specialized electronic gadgets.
- WIMP Window, Icon, Menu, Pointing device (or Pull-down menu) interfaces allow fairly non-trivial operations to be performed with a few mouse motions and clicks.
- this shift in the user interaction from a primarily text-oriented experience to a point-and-click experience has erected new barriers between people with disabilities and the computer.
- using the mouse can be quite challenging.
- Perceptual user interfaces utilize alternate sensing modalities, such as the capability of sensing physical gestures of the user, to replace or complement traditional input devices such as the mouse and keyboard.
- Perceptual user interfaces promise modes of fluid computer-human interaction that complement and/or replace the mouse and keyboard, particularly in non-desktop applications such as control for a media room.
- gestures play a symbolic communication role similar to speech, suggesting that for simple tasks gestures can enhance or replace speech recognition.
- Small gestures near the keyboard or mouse do not induce fatigue as quickly as sustained whole arm postures.
- Previous studies indicate that users find gesture-based systems highly desirable, but that users are also dissatisfied with the recognition accuracy of gesture recognizers.
- experimental results indicate that a user's difficulty with gestures is in part due to a lack of understanding of how gesture recognition works. The studies highlight the ability of users to learn and remember gestures as an important design consideration.
- Gestures can compensate for the limitations of the mouse when the display is several times larger than a typical display. In such a scenario, gestures can provide mechanisms to restore the ability to quickly reach any part of the display, where once a mouse was adequate with a small display. Similarly, in a multiple display scenario it is desirable to have a fast comfortable way to indicate a particular display. For example, the foreground object can be “bumped” to another display by gesturing in the direction of the target display.
- perceptual user interfaces to date are dependent on significant limiting assumptions.
- One type of perceptual user interface utilizes color models that make certain assumptions about the color of an object. Proper operation of the system is dependent on proper lighting conditions and can be negatively impacted when the system is moved from one location to another as a result of changes in lighting conditions, or simply when the lighting conditions change in the room. Factors that impact performance include sun light versus artificial light, florescent light versus incandescent light, direct illumination versus indirect illumination, and the like.
- most attempts to develop perceptual user interfaces require the user to wear specialized devices such as gloves, headsets, or close-talk microphones. The use of such devices is generally found to be distracting and intrusive for the user.
- perceptual user interfaces have been slow to emerge. The reasons include heavy computational burdens, unreasonable calibration demands, required use of intrusive and distracting devices, and a general lack of robustness outside of specific laboratory conditions. For these and similar reasons, there has been little advancement in systems and methods for exploiting perceptual user interfaces. However, as the trend towards smaller, specialized electronic gadgets continues to grow, so does the need for alternate methods for interaction between the user and the electronic device. Many of these specialized devices are too small and the applications unsophisticated to utilize the traditional input keyboard and mouse devices. Examples of such devices include TabletPCs, Media center PCs, kiosks, hand held computers, home appliances, video games, and wall sized displays, along with many others. In these, and other applications, the perceptual user interface provides a significant advancement in computer control over traditional computer interaction modalities.
- gestures can offer significant bits of functionality where they are needed most. For example, dismissing a notification window can be accomplished by a quick gesture to the one side or the other, as in shooing a fly.
- gestures for “next” and “back” functionality found in web browsers, presentation programs (e.g., PowerPointTM) and other applications. Note that in many cases the surface forms of these various gestures can remain the same throughout these examples, while the semantics of the gestures depends on the application at hand. Providing a small set of standard gestures eases problems users have in recalling how gestures are performed, and also allows for simpler and more robust signal processing and recognition processes.
- the present invention disclosed and claimed herein in one aspect thereof; comprises a system for controlling a computer using gestures.
- the system includes a 3-D imaging system that performs gesture recognition and interpretation based on a previous mapping of a plurality of hand poses and orientations to user commands for a given user.
- the imaging system images gestures presented by the user, performs a lookup for the user command associated with the captured image(s), and executes the user command(s) to effect control of the computer, programs, and connected devices.
- the system includes a wireless device worn by the person.
- the wireless device includes one or more sensors that measure at least velocity, acceleration, and orientation of the device.
- the corresponding signals are transmitted to a computer system, processed, and interpreted to determine an object at which the device is pointed and the action to be taken on the object.
- the computer is controlled to interact with the object, which object can be a device and/or system connected to the computer, and software running on the computer.
- the wireless device is used in a medical environment and worn on the head of a medical person allowing free use of the hands. Head movements facilitate control of the computer.
- the person can also wear a wireless microphone to communicate voice signals to the computer separately or in combination with head movements for control thereof.
- a multimodal approach can be employed such that a person uses the wireless device in combination with the imaging capabilities of the 3-D imaging system.
- the multimodal approach includes any combination of the 3-D imaging system, the wireless device, and vocalization to control the computer system and, hardware and software associated therewith.
- This approach finds application in a medical environment such as an operating room, for example.
- an engagement volume is employed in a medical environment such that one or both hands of the medical person are free to engage the volume and control the computer system, during, for example, a patient operation.
- the volume is defined in space over the part of the patient undergoing the operation, and the hands of the medical person are used in the form of gestures to control the system for the presentation of medical information.
- the present invention facilitates adapting the system to the particular preferences of an individual user.
- the system and method allow the user to tailor the system to recognize specific hand gestures and verbal commands and to associate these hand gestures and verbal commands with particular actions to be taken. This capability allows different users, which may prefer to make different motions for a given command, the ability to tailor the system in a way most efficient for their personal use. Similarly, different users can choose to use different verbal commands to perform the same function.
- the system employs a learning capability such that nuances of a user can be learned by the system and adapted to the user profile of gestures, vocalizations, etc.
- FIG. 1 illustrates a system block diagram of components of the present invention for controlling a computer and/or other hardware/software peripherals interfaced thereto.
- FIG. 2 illustrates a schematic block diagram of a perceptual user interface system, in accordance with an aspect of the present invention.
- FIG. 3 illustrates a flow diagram of a methodology for implementing a perceptual user interface system, in accordance with an aspect of the present invention.
- FIG. 4 illustrates a flow diagram of a methodology for determining the presence of moving objects within images, in accordance with an aspect of the present invention.
- FIG. 5 illustrates a flow diagram of a methodology for tracking a moving object within an image, in accordance with an aspect of the present invention.
- FIG. 6 illustrates a disparity between two video images captured by two video cameras mounted substantially parallel to each other for the purpose of determining the depth of objects, in accordance with an aspect of the present invention.
- FIG. 7 illustrates an example of the hand gestures that the system can recognize and the visual feedback provided through the display, in accordance with an aspect of the present invention.
- FIG. 8 illustrates an alternative embodiment wherein a unique icon is displayed in association with a name of a specific recognized command, in accordance with an aspect of the present invention.
- FIGS. 9A and 9B illustrate an engagement plane and volume of both single and multiple monitor implementations, in accordance with an aspect of the present invention.
- FIG. 10 illustrates a briefing room environment where gestures are utilized to control a screen projector via a computer system configured in accordance with an aspect of the present invention.
- FIG. 11 illustrates a block diagram of a computer system operable to execute the present invention.
- FIG. 12 illustrates a network implementation of the present invention.
- FIG. 13 illustrates a medical operating room system that uses the engagement volume in accordance with the present invention.
- FIG. 14 illustrates a medical operating room environment in which a computer control system with wireless control device is employed in accordance with the present invention.
- FIG. 15 illustrates a flowchart of a process from the perspective of the person for using the system of FIG. 14 .
- FIG. 16 illustrates a flowchart of a process from the perspective of the system of FIG. 14 .
- FIG. 17 illustrates a medical environment in which a 3-D imaging computer control system is employed to process hand (or body) gestures in accordance with the present invention.
- FIG. 18 illustrates a flowchart of a process from the perspective of the person for using the system of FIG. 17 .
- FIG. 19 illustrates a flowchart of a process from the perspective of the system of FIG. 17 .
- FIG. 20 illustrates a medical environment in which a 3-D imaging computer control system is employed with the remote control device to process hand (or body) gestures and control the system in accordance with the present invention.
- FIG. 21A illustrates a sample one-handed and two-handed gestures that can be used to control the operation computing system in accordance with the present invention.
- FIG. 21B illustrates an additional sample one-handed gestures and sequenced one-handed gestures that can be used to control the operation computing system in accordance with the present invention.
- FIG. 21C illustrates additional sample one-handed gestures that can be used to control the operation computing system in accordance with the present invention.
- FIG. 21D illustrates additional sample one-handed gestures used in combination with voice commands that can be used to control the operation computing system in accordance with the present invention.
- FIG. 21E illustrates additional sample one-handed gestures used in combination with voice commands and gaze signals that can be used to control the operation computing system in accordance with the present invention.
- FIG. 22 illustrates a flowchart of a process from the perspective of the system for controlling a computer system with a wireless control device.
- a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
- a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
- an application running on a server and the server can be a component.
- One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
- the present invention relates to a system and methodology for implementing a perceptual user interface comprising alternative modalities for controlling computer programs and manipulating on-screen objects through hand gestures or a combination of hand gestures and/or verbal commands.
- a perceptual user interface system is provided that tracks hand movements and provides for the control of computer programs and manipulation of on-screen objects in response to hand gestures performed by the user.
- the system provides for the control of computer programs and manipulation of on-screen objects in response to verbal commands spoken by the user.
- the gestures and/or verbal commands can be tailored by a particular user to suit that user's personal preferences.
- the system operates in real time and is robust, light-weight and responsive.
- the system provides a relatively inexpensive capability for the recognition of hand gestures and verbal commands.
- the system 100 includes a tracking component 102 for detecting and tracking one or more objects 104 through image capture utilizing cameras (not shown) or other suitable conventional image-capture devices.
- the cameras operate to capture images of the object(s) 104 in a scene within the image capture capabilities of the cameras so that the images can be further processed to not only detect the presence of the object(s) 104 , but also to detect and track object(s) movements. It is appreciated that in more robust implementations, object characteristics such as object features and object orientation can also be detected, tracked, and processed.
- the object(s) 104 of the present invention include basic hand movements created by one or more hands of a system user and/or other person selected for use with the disclosed system.
- objects can include many different types of objects with object characteristics, including hand gestures each of which have gesture characteristics including but not limited to, hand movement, finger count, finger orientation, hand rotation, hand orientation, and hand pose (e.g., opened, closed, and partially closed).
- the tracking component 102 interfaces to a control component 106 of the system 100 that controls all onboard component processes.
- the control component 106 interfaces to a seeding component 108 that seeds object hypotheses to the tracking component based upon the object characteristics.
- the object(s) 104 are detected and tracked in the scene such that object characteristic data is processed according to predetermined criteria to associate the object characteristic data with commands for interacting with a user interface component 110 .
- the user interface component 110 interfaces to the control component 106 to receive control instructions that affect presentation of text, graphics, and other output (e.g., audio) provided to the user via the interface component 110 .
- the control instructions are communicated to the user interface component 110 in response to the object characteristic data processed from detection and tracking of the object(s) within a predefined engagement volume space 112 of the scene.
- a filtering component 114 interfaces to the control component 106 to receive filtering criteria in accordance with user filter configuration data, and to process the filtering criteria such that tracked object(s) of respective object hypotheses are selectively removed from the object hypotheses and/or at least one hypothesis from a set of hypotheses within the volume space 112 and the scene.
- Objects are detected and tracked either within the volume space 112 or outside the volume space 112 . Those objects outside of the volume space 112 are detected, tracked, and ignored, until entering the volume space 112 .
- the system 100 also receives user input via input port(s) 116 such as input from pointing devices, keyboards, interactive input mechanisms such as touch screens, and audio input devices.
- input port(s) 116 such as input from pointing devices, keyboards, interactive input mechanisms such as touch screens, and audio input devices.
- the subject invention can employ various artificial intelligence based schemes for carrying out various aspects of the subject invention.
- a process for determining which object is to be selected for tracking can be facilitated via an automatic classification system and process.
- Such classification can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to prognose or infer an action that a user desires to be automatically performed.
- a support vector machine (SVM) classifier can be employed.
- Other classification approaches include Bayesian networks, decision trees, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein also is inclusive of statistical regression that is utilized to develop models of priority.
- the subject invention can employ classifiers that are explicitly trained (e.g., via a generic training data) as well as implicitly trained (e.g., via observing user behavior, receiving extrinsic information) so that the classifier(s) is used to automatically determine according to a predetermined criteria which object(s) should be selected for tracking and which objects that were being tracked are now removed from tracking.
- the criteria can include, but is not limited to, object characteristics such as object size, object speed, direction of movement, distance from one or both cameras, object orientation, object features, and object rotation.
- classifiers which are well understood—it is to be appreciated that other classifier models can also be utilized such as Naive Bayes, Bayes Net, decision tree and other learning models—SVM's are configured via a learning or training phase within a classifier constructor and feature selection module.
- attributes include various sizes of the object, various orientations of the object, object colors, and the classes are categories or areas of interest (e.g., object type, and object pose).
- FIG. 2 there is illustrated a schematic block diagram of a perceptual user interface system, in accordance with an aspect of the present invention.
- the system comprises a computer 200 with a traditional keyboard 202 , input pointing device (e.g., a mouse) 204 , microphone 206 , and display 208 .
- the system further comprises at least one video camera 210 , at least one user 212 , and software 214 .
- the exemplary system of FIG. 2 is comprised of two video cameras 210 mounted substantially parallel to each other (that is, the rasters are parallel) and the user 212 .
- the first camera is used to detect depth of the object from the camera and track the object
- the second camera is used for determining at least the depth (or distance) of the object from the camera(s).
- the computer 200 is operably connected to the keyboard 202 , mouse 204 and display 208 .
- Video cameras 210 and microphone 206 are also operably connected to computer 200 .
- the video cameras 210 “look” towards the user 212 and may point downward to capture objects within the volume defined above the keyboard and in front of the user.
- User 212 is typically an individual that is capable of providing hand gestures, holding objects in a hand, verbal commands, and mouse and/or keyboard input.
- the hand gestures and/or object(s) appear in video images created by the video cameras 210 and are interpreted by the software 214 as commands to be executed by computer 200 .
- microphone 206 receives verbal commands provided by user 212 , which are in turn, interpreted by software 214 and executed by computer 200 .
- User 212 can control and operate various application programs on the computer 200 by providing a series of hand gestures or a combination of hand gestures, verbal commands, and mouse/keyboard input.
- the system can track any object presented in the scene in front or it.
- the depth information is used to “segment” the interacting object from the rest of the scene.
- the capability to exploit any sort of moving object in the scene is important at least with respect to accessibility scenarios.
- FIGS. 3-5 methodologies in accordance with various aspects of the present invention will be better appreciated with reference to FIGS. 3-5 . While, for purposes of simplicity of explanation, the methodologies of FIGS. 3-5 are shown and described as executing serially, it is to be understood and appreciated that the present invention is not limited by the illustrated order, as some aspects could, in accordance with the present invention, occur in different orders and/or concurrently with other aspects from that shown and described herein. Moreover, not all illustrated features may be required to implement a methodology in accordance with an aspect the present invention.
- FIG. 3 is a flow diagram that illustrates a high level methodology for detecting the user's hand, tracking movement of the hand and interpreting commands in accordance with an aspect of the invention. While, for purposes of simplicity of explanation, the methodologies shown here and below are described as a series of acts, it is to be understood and appreciated that the present invention is not limited by the order of acts, as some acts may, in accordance with the present invention, occur in different orders and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all illustrated acts may be required to implement a methodology in accordance with the present invention.
- the methodology begins at 300 where video images are scanned to determine whether any moving objects exist within the field of view (or scene) of the cameras.
- the system is capable of running one or more object hypothesis models to detect and track objects, whether moving or not moving.
- the system runs up to and including six object hypotheses. If more than one object is detected as a result of the multiple hypotheses, the system drops one of the objects if the distance from any other object falls below a threshold distance, for example, five inches. It is assumed that the two hypotheses are redundantly tracking the same object, and one of the hypotheses is removed from consideration.
- a threshold distance for example, five inches. It is assumed that the two hypotheses are redundantly tracking the same object, and one of the hypotheses is removed from consideration.
- no moving object(s) have been detected, and flow returns to 300 where the system continues to scan the current image for moving objects.
- the engagement volume is defined as a volume of space in front of the video cameras and above the keyboard wherein the user is required to introduce the hand gestures (or object(s)) in order to utilize the system.
- a purpose of the engagement volume is to provide a means for ignoring all objects and/or gestures in motion except for those intended by the user to effect control of the computer. If a′ moving object is detected at 30 Z but is determined not to be within the engagement volume, then the system dismisses the moving object as not being a desired object to track for providing commands. Flow then loops back to the input of 300 to scan for more objects. However, if the moving object is determined to be within the engagement volume, then the methodology proceeds to 306 .
- new objects are seeded only when it is determined that the new object is a sufficient distance away from an existing object that is being tracked (in 3-D).
- the system determines the distance of each moving object from the video cameras.
- the object closest to the video camera(s) is selected as the desired command object. If by the given application context the user is predisposed to use hand gestures towards the display, the nearest object hypotheses will apply to the hands. In other scenarios, more elaborate criteria for object selection may be used. For example, an application may select a particular object based upon its quality of movement over time.
- a two-handed interaction application may select an object to the left of the dominant hand (for right handed users) as the non-dominant hand.
- the command object is the object that has been selected for tracking, the movements of which will be analyzed and interpreted for gesture commands.
- the command object is generally the user's dominant hand. Once the command object is selected, its movement is tracked, as indicated at 310 .
- the system determines whether the command object is still within the engagement volume. If NO, the object has moved outside the engagement volume, and the system dismisses the object hypothesis and returns to 300 where the current image is processed for moving objects. If NO, the object is still within the engagement volume, and flow proceeds to 314 .
- the system determines whether the object is still moving. If no movement is detected, flow is along the NO path returning to 300 to process the current camera images for moving objects. If however, movement is detected, then flow proceeds from 314 to 316 .
- the system analyzes the movements of the command object to interpret the gestures for specific commands. At 318 , it is determined whether the interpreted gesture is a recognized command.
- algorithms used to interpret gestures are kept to simple algorithms and are performed on sparse (“lightweight”) images to limit the computational overhead required to properly interpret and execute desired commands in real time.
- the system is able to exploit the presence of motion and depth to minimize computational requirements involved in determining objects that provide gesture commands.
- FIG. 4 there is illustrated a flow diagram of a methodology for determining the presence of moving objects within video images created by one or more video sources, in accordance with an aspect of the present invention.
- the methodology exploits the notion that attention is often drawn to objects that move.
- video data is acquired from one or more video sources. Successive video images are selected from the same video source, and motion is detected by comparing a patch of a current video image, centered on a given location, to a patch from the previous video image centered on the same location.
- a video patch centered about a point located at (u 1 ,v 1 ), and (u 2 ,v 2 ) is selected from successive video images I 1 and I 2 , respectively.
- a simple comparison function is utilized wherein the sum of the absolute differences (SAD) over square patches in two images is obtained.
- SAD absolute differences
- I(u,v) refers to the pixel at (u,v)
- D is the patch width
- the absolute difference between two pixels is the sum of the absolute differences taken over all available color channels. Regions in the image that have movement can be found by determining points (u,v) such that function SAD(I t-1 ,u t-1 ,v t-1 ,I t ,u t , v t )>t, where the subscript refers to the image at time t, and is a threshold level for motion.
- a comparison is made between patches from image I 1 and I 2 using the sum of the absolute difference algorithm.
- the system determines whether the current image patch is the last patch to be examined within the current image. If NO, the methodology returns to 402 where a new patch is selected. If YES, then the system returns to 400 to acquire a new video image from the video source.
- the SAD algorithm is computed on a sparse regular grid within the image.
- the sparse regular grid is based on sixteen pixel centers.
- the system tracks the motion of the object.
- a position prediction algorithm is used to predict the next position of the moving object.
- the prediction algorithm is a Kalman filter. However, it is to be appreciated that any position prediction algorithm can be used.
- image operations may use the same SAD function on image patches, which allows for easy SIMD (Single-Instruction Multiple-Data, which architectures are essential in the parallel world of computers) optimization of the algorithm's implementation, which in turn allows it to run with sufficiently many trackers while still leaving CPU time to the user.
- SIMD Single-Instruction Multiple-Data
- the process of seeding process hypotheses based upon motion may place more than one hypothesis on a given moving object.
- One advantage of this multiple hypothesis approach is that a simple, fast, and imperfect tracking algorithm may be used. Thus if one tracker fails, another may be following the object of interest. Once a given tracker has been seeded, the algorithm updates the position of the object being followed using the same function over successive frames.
- the methodology begins at 500 where, after the motion detection methodology has identified the location of a moving object to be tracked, the next position of the object is predicted. Once identified, the methodology utilizes a prediction algorithm to predict the position of the object in successive frames. The prediction algorithm limits the computational burden on the system. In the successive frames, the moving object should be at the predicted location, or within a narrow range centered on the predicted location.
- the methodology selects a small pixel window (e.g., ten pixels) centered on the predicted location. Within this small window, an algorithm executes to determine the actual location of the moving object.
- the new position is determined by examining the sum of the absolute difference algorithm over successive video frames acquired at time t and time t ⁇ 1. The actual location is determined by finding the location (u t , v t ) that minimizes:
- I t refers to the image at time t
- I t-1 refers to the image at time t ⁇ 1
- (u t , v t ) refers to the location at time t.
- a lightweight sparse stereo approach is utilized in accordance with an aspect of the invention.
- the sparse stereo approach is a region-based approach utilized to find the disparity at only locations in the image corresponding to the object hypothesis. Note that in the stereo matching process, it is assumed that both cameras are parallel (in rasters). Object hypotheses are supported by frame-to-frame tracking through time in one view and stereo matching across both views. A second calibration issue is the distance between the two cameras (i.e., the baseline), which must be considered to recover depth in real world coordinates.
- both calibration issues maybe dealt with automatically by fixing the cameras on a prefabricated mounting bracket or semi-automatically by the user presenting objects at a known depth in a calibration routine that requires a short period of time to complete.
- the accuracy of the transform to world coordinates is improved by accounting for lens distortion effects with a static, pre-computed calibration procedure for a given camera.
- Binocular disparity is the primary means for recovering depth information from two or more images taken from different viewpoints. Given the two-dimensional position of an object in two views, it is possible to compute the depth of the object. Given that the two cameras are mounted parallel to each other in the same horizontal plane, and given that the two cameras have a focal lengthy f, the three-dimensional position (x,y,z) of an object is computed from the positions of the object in both images (u t ,v t ) and (u r ,v r ) by the following perspective projection equations:
- disparity is the shift in location of the object in one view with respect to the other, and is related to the baseline b, the distance between the two cameras.
- the vision algorithm performs 3-dimensional (3-D) tracking and 3-D depth computations.
- 3-D 3-dimensional
- each object hypothesis is supported only by consistency of the object movement in 3-D.
- the present invention does not rely on fragile appearance models such as skin color models or hand image templates, which are likely invalidated when environmental conditions change or the system is confronted with a different user.
- FIG. 6 there is illustrated a disparity between two video images captured by two video cameras mounted substantially parallel to each other for the purpose of determining the depth of objects, in accordance with an aspect of the present invention.
- a first camera 600 and a second camera 602 are mounted substantially parallel to each other in the same horizontal plane and laterally aligned.
- the two cameras ( 600 and 602 ) are separated by a distance 604 defined between the longitudinal focal axis of each camera lens, also known as the baseline, b.
- a first video image 606 is the video image from the first camera 600 and a second video image 608 is the video image from the second camera 602 .
- the disparity d (also item number 610 ), or shift in the two video images ( 606 and 608 ), can be seen by looking to an object 612 in the center of the first image 606 , and comparing the location of that object 612 in the first image 606 to the location of that same object 612 in the second image 608 .
- the disparity 610 is illustrated as the difference between a first vertical centerline 614 of the first image 606 that intersects the center of the object 612 , and a second vertical centerline 616 of the second image 688 .
- the object 612 is centered about the vertical centerline 614 with the top of the object 612 located at point (u,v).
- the same point (u,v) of the object 612 is located at point (u-d,v) in the second image 608 , where d is the disparity 610 , or shift in the object from the first image 606 with respect to the second image 610 .
- d is the disparity 610
- a depth z can be determined.
- the depth component z is used in part to determine if an object is within the engagement volume, where the engagement volume is the volume within which objects will be selected by the system.
- a sparse stereo approach is utilized in order to limit computational requirements.
- the sparse stereo approach is that which determines disparity d only at the locations in the image that corresponds to a moving object. For a given point (u,v) in the image, the value of disparity d is found such that the sum of the absolute differences over a patch in the first image 606 (i.e., a left image I L ) centered on (u,v) and a corresponding patch in the second image 608 (i.e., a right image I R ) centered on (u-d,v), is minimized, i.e., the disparity value d that minimizes SAD(I t ,u-d,v,I r ,u,v). If an estimate of depth z is available from a previous time, then in order to limit computational requirements, the search for the minimal disparity d is limited to a range consistent with the last known depth z.
- the search range may be further narrowed by use of an algorithm to predict the objects new location.
- the prediction is accomplished by utilization of a Kalman filter.
- the depth z can also be computed using traditional triangulation techniques.
- the sparse stereo technique is used when the system operation involves detecting moving objects within a narrow range in front of the display, e.g., within twenty inches.
- the two video cameras are mounted in parallel and can be separated by a distance equal to the approximate width of the display, or a even smaller distance that approximates a few inches.
- the distance between the two video cameras may be much greater.
- traditional triangulation algorithms are used to determine the depth.
- a user 700 gives commands by virtue of different hand gestures 702 and/or verbal commands 704 .
- the gestures 702 are transmitted to a system computer (not shown) as part of the video images created by a pair of video cameras ( 706 and 708 ).
- Verbal and/or generally, audio commands are input to the system computer through a microphone 710 .
- Typical GUI windows 712 , 714 , and 716 are displayed in a layered presentation in an upper portion of display 718 while a lower portion of display 718 provides visual graphic feedback of in the form of icons 720 , 722 , 724 , and 726 of some of the gestures 702 recognized by the system.
- the hand icon 720 is displayed when a corresponding gesture 728 is recognized.
- the name of the recognized command (Move) is also then displayed below the icon 720 to provide additional textual feedback to the user 700 .
- Move and Raise commands may be recognized by dwelling on the window for a period of time.
- the pose of the hand may be mapped to any functionality, as described in greater detail below.
- the shape of the hand icon may be changed in association with the captured hand pose to provide visual feedback to the user that the correct hand pose is being processed.
- the hand icon is positioned for selecting the window for interaction, or to move the window, or effect scrolling.
- a Scroll command may be initiated first by voicing a corresponding command that is processed by speech recognition, and then using the hand (or object) to commence scrolling of the window by moving the hand (or object) up and down for the desired scroll direction.
- the single displayed hand icon 720 is presented for all recognized hand gestures 702 , however, the corresponding specific command name is displayed below the icon 720 .
- the same hand icon 720 is displayed in accordance with four different hand gestures utilized to indicate four different commands: Move, Close, Raise, and Scroll.
- a different hand shaped icon is used for each specific command and the name of the command is optionally displayed below the command.
- audio confirmation is provided by the computer, in addition to the displayed icon and optional command name displayed below the icon.
- FIG. 7 illustrates the embodiment where a single hand shaped icon 720 is used, and the corresponding command recognized by the system is displayed below the icon 720 .
- the icon 720 and corresponding command word “MOVE” are displayed by the display 718 .
- the icon 720 and corresponding command word “CLOSE” may be displayed by the display 718 .
- Additional examples include, but are not limited to, displaying the icon 720 and corresponding command word “RAISE” when the system recognizes a hand gesture to bring a GUI window forward.
- the icon 720 and command word “SCROLL” are displayed by the display 718 .
- the disclosed system may be configured to display any number and type of graphical icons in response to one or more hand gestures presented by the system user.
- audio feedback may be used such that a beep or tone may be presented in addition to or in lieu of the graphical feedback.
- the graphical icon may be used to provide feedback in the form of a color, combination of colors, and/or flashing color or colors. Feedback may also be provided by flashing a border of the selected window, the border in the direction of movement. For example, if the window is to be moved to the right, the right window border could be flashed to indicate the selected direction of window movement.
- a corresponding tone frequency or any other associated sound may be emitted to indicate direction of movement, e.g., an upward movement would have and associated high pitch and a downward movement would have a low pitch.
- rotational aspects may be provided such that movement to the left effects a counterclockwise rotation of a move icon, or perhaps a leftward tilt in the GUI window in the direction of movement.
- FIG. 8 there is illustrated an alternative embodiment wherein a unique icon is displayed in association with a name of a specific recognized command, in accordance with an aspect of the present invention.
- each icon-word pair is unique for each recognized command.
- Icon-word pairs 800 , 802 , 804 , and 806 for the respective commands “MOVE”, “CLOSE”, “RAISE”, and “SCROLL”, are examples of visual feedback capabilities that can be provided.
- the system is capable of interpreting commands based on interpreting hand gestures, verbal commands, or both in combination.
- a hand is identified as a moving object by the motion detection algorithms and the hand movement is tracked and interpreted.
- hand gestures and verbal commands are used cooperatively.
- Speech recognition is performed using suitable voice recognition applications, for example, Microsoft SAPI 5.1, with a simple command and control grammar. However, it is understood that any similar speech recognition system can be used.
- An inexpensive microphone is placed near the display to receive audio input. However, the microphone can be placed at any location insofar as audio signals can be received thereinto and processed by the system.
- Interaction with the system can be initiated by a user moving a hand across an engagement plane and into an engagement volume.
- a user 900 is located generally in front of a display 902 , which is also within the imaging capabilities of a pair of cameras ( 906 and 908 ).
- a microphone 904 (similar to microphones 206 and 710 ) is suitably located such that user voice signals are input for processing, e.g., in front of the display 902 .
- the cameras ( 906 and 908 , similar to cameras 200 and, 706 and 708 ) are mounted substantially parallel to each other and on a horizontal plane above the display 902 .
- the two video cameras ( 906 and 908 ) are separated by a distance that provides optimum detection and tracking for the given cameras and the engagement volume.
- cameras suitable for wider fields of view, higher resolution may be placed further apart on a plane different from the top of the display 902 , for example, lower and along the sides of the display facing upwards, to capture gesture images for processing in accordance with novel aspects of the present invention.
- more robust image processing capabilities and hypothesis engines can be employed in the system to process greater amounts of data.
- the engagement volume 910 is typically defined to be located where the bands and/or objects in the hands of the user 900 are most typically situated, i.e., above a keyboard of the computer system and in front of the cameras ( 906 and 908 ) between the user 900 and the display 902 (provided the user 900 is seated in front of the display on which the cameras ( 906 and 908 ) are located).
- the user 900 may be standing while controlling the computer, which requires that the volume 910 be located accordingly to facilitate interface interaction.
- the objects may include not only the hand(s) of the user, or objects in the hand(s), but other parts of the body, such as head, torso movement, arms, or any other detectable objects. This is described in greater detail hereinbelow.
- a plane 912 defines a face of the volume 910 that is closest to the user 900 , and is called the engagement plane.
- the user 900 may effect control of the system by moving a hand (or object) through the engagement plane 912 and into the engagement volume 910 .
- the hand of the user 900 is detected and tracked even when outside the engagement volume 910 .
- the object is moved across the engagement plane 912 , feedback is provided to the user in the form of displaying an alpha-blended icon on the display (e.g., an operating system desktop).
- the icon is designed to be perceived as distinct from other desktop icons and may be viewed as an area cursor.
- the engagement plane 912 is positioned such that the user's hands do not enter it during normal use of the keyboard and mouse.
- the corresponding hand icon displayed on the desktop is moved to reflect the position of the tracked object (or hand).
- the engagement and acquisition of the moving hand (or object) is implemented in the lightweight sparse stereo system by looking for the object with a depth that is less than a predetermined distance value. Any such object will be considered the command object until it is moved out of the engagement volume 910 , for example, behind the engagement plane 912 , or until the hand (or object) is otherwise removed from being a tracked object.
- the specified distance is twenty inches.
- the user 900 moves a hand through the engagement plane 912 and into the engagement volume 910 established for the system.
- the system detects the hand, tracks the hand as the hand moves from outside of the volume 910 to the inside, and provides feedback by displaying a corresponding hand shaped icon on the display 902 .
- the open microphone 904 placed near the display 902 provides means for the user 900 to invoke one or more verbal commands in order to act upon the selected window under the icon.
- the window directly underneath the hand shaped icon is the selected window.
- the interpreted command is displayed along with the hand shaped icon.
- the user may initiate the continuous (or stepped) movement of the window under the hand shaped icon to follow the movement of the user's hand.
- the user 900 causes the selected window to move up or down within the display 902 by moving the hand up or down. Lateral motion is also similarly achieved. Movement of the window is terminated when the user hand is moved across the engagement plane 912 and out of the engagement volume 910 .
- Other methods of termination include stopping movement of the hand (or object) for an extended period of time, which is processed by the system as a command to drop the associated hypothesis.
- the Move command may be invoked by dwelling the hand on the window for a period of time, followed by hand motion to initiate the direction of window movement.
- the user may speak the word “Release” and the system will stop moving the selected window in response to the user's hand motion. Release may also be accomplished by dwelling a bit longer in time while in Move, and/or Scroll modes.
- the user 900 may also act upon a selected window with other actions. By speaking the words, “Close”, “Minimize”, or “Maximize” the selected window is respectively closed, minimized or maximized. By speaking the word “Raise”, the selected window is brought to the foreground, and by speaking “Send to Back”, the selected window is sent behind (to the background) all other open windows. By speaking “Scroll”, the user initiates a scrolling mode on the selected window. The user may control the rate of the scroll by the position of the hand.
- the hand shaped icon tracks the user's hand position, and the rate of the scrolling of the selected window is proportional to the distance between the current hand icon position and the position of the hand icon at the time the scrolling is initiated. Scrolling can be terminated by the user speaking “Release” or by the user moving their hand behind the engagement plane and out of the engagement volume.
- dwell time can be used as a modality to control windows in lieu of, or in addition to, verbal commands and other disclosed modalities.
- Dwell time is defined as the time, after having engaged the system, that the user holds their hand position stationary such that the system hand shaped icon remains over a particular window. For example, by dwelling on a selected window for a short period of time (e.g., two seconds), the system can bring the window to the foreground of all other open windows (i.e., a RAISE command).
- GUI windows can be accomplished in a similar fashion by controlling the dwell time of the hand shaped icon over the open window.
- hand gestures are interpreted by hand motion or by pattern recognition.
- the user can bring the window to the front (or foreground), on top of all other open windows by moving a hand from a position closer to the display to position farther from the display, the hand remaining in the engagement volume 910 .
- the use of 3 -D imaging is described in greater detail hereinbelow.
- the user can cause the selected window to be grabbed and moved by bringing fingers together with their thumb, and subsequently moving the hand.
- the selected window will move in relation to the user hand movement until the hand is opened up to release the selected window. Additional control over the selected window can be defined in response to particular hand movements or hand gestures.
- the selected window will move in response to the user pointing their hand, thumb, or finger in a particular direction. For example, if the user points their index finger to right, the window will move to the right within the display. Similarly, if the user points to the left, up, or down the selected window will move to the left, up or down within the display, respectively. Additional window controls can be achieved through the use of similar hand gestures or motions.
- the system is configurable such that an individual user selects the particular hand gestures that they wish to associate with particular commands.
- the system provides default settings that map a given set of gestures to a given set of commands.
- This mapping is configurable such that the specific command executed in response to each particular hand gesture is definable by each user. For example, one user may wish to point directly at the screen with their index finger to grab the selected window for movement while another user may wish to bring their fingers together with their thumb to grab the selected window.
- one user may wish to point a group of fingers up or down in order to move a selected window up or down, while another user may wish to open the palm of their hand toward the cameras and then move their opened hand up or down to move a selected window up or down. All given gestures and commands are configurable by the individual users to best suit that particular user's individual personal preferences.
- the system may include a “Record and Define Gesture” mode.
- the system records hand gestures performed by the user.
- the recorded gestures are then stored in the system memory to be recognized during normal operation.
- the given hand gestures are then associated with a particular command to be performed by the system in response to that particular hand gesture.
- a user may further tailor the system to their personal preference or, similarly, may tailor system operation to respond to specific commands most appropriate for particular applications.
- the user can choose the particular words, from a given set, they wish to use for a particular command. For example, one user may choose to say “Release” to stop moving a window while another may wish to say, “Quit”.
- This capability allows different users, which may prefer to use different words for a given command, the ability to tailor the system in a way most efficient for their personal use.
- the present invention can be utilized in an expansive list of applications. The following discussion is exemplary of only a few applications with which the present invention may be utilized.
- One such application is associated with user control of a presentation, or similar type of briefing application, wherein the user makes a presentation on a projection type screen to a group of listeners.
- the system includes three monitors (or displays) through which the user 900 exercises control of 001 features; a first display 912 , a second display 914 , and a third display 916 .
- the cameras ( 906 and 908 ) are similarly situated as in FIG. 9A , to define the engagement volume 910 .
- the user 900 can move a window 920 from the first display 912 to the second display 914 , and further from the second display 914 to the third display 916 .
- the flick motion of the user hand 918 can effect movement of the window 920 from the first display 912 to the third display 916 in a single window movement, or in multiple steps through the displays ( 914 and 916 ) using corresponding multiple band motions.
- control by the user 900 occurs only when the user hand 918 breaks the engagement plane 912 , and is determined to be a control object (i.e., an object meeting parameters sufficient to effect control of the computer).
- the user 900 is located generally in front of the displays ( 912 , 914 , and 916 ), which is also within the imaging capabilities of the pair of cameras ( 906 and 908 ).
- the microphone 904 is suitably located to receive user voice signals.
- the cameras ( 906 and 908 ) are mounted substantially parallel to each other and on a horizontal plane above the displays ( 912 , 914 , and 916 ), and separated by a distance that provides optimum detection and tracking for the given cameras and the engagement volume 910 .
- the user 900 moves the hand 918 through the engagement plane 912 and into the engagement volume 910 established for the system.
- the system which had detected and tracked the hand 918 before it entered the volume 912 , begins providing feedback to the user 900 by displaying the band shaped icon 922 on one of the displays ( 912 , 914 , and 916 ).
- the microphone 904 provides additional means for the user 900 to invoke one or more verbal commands in order to act upon the selected window 920 under the corresponding icon 922 .
- the window 920 directly underneath the hand shaped icon is the selected window.
- the corresponding icon 922 is presented by the system on the computer display 912 .
- the associated window is assigned for control.
- the user 900 causes the selected window to move up or down within the display by invoking the ‘Move’ command as explained above and then moving the hand up or down, or to move across one or more of the monitors ( 914 and 916 ) by invoking the ‘Flick’ command and then using the flick band motion.
- the user 900 can cause the window 920 to be moved left to the first display 912 , or right to the third display 916 . Movement of the window is terminated (or “released”) when the user hand dwells for a time longer than a predetermined dwell time, or out of the engagement volume 910 .
- the user may speak the word “Release” and the system will stop moving the selected window in response to the user's hand motion. Release may also be accomplished by dwelling a bit while in Move, and/or Scroll modes. The user may also act upon a selected window with other actions. By speaking the words, “Close”, “Minimize”, or “Maximize” the selected window is respectively closed, minimized or maximized. By speaking the word “Raise”, the selected window is brought to the foreground, and by speaking “Send to Back”, the selected window is sent behind (to the background) all other open windows. By speaking “Scroll”, the user initiates a scrolling mode on the selected window. The user may control the rate of the scroll by the position of the hand.
- the hand shaped icon tracks the user's hand position, and the rate of the scrolling of the selected window is proportional to the distance between the current hand icon position and the position of the hand icon at the time the scrolling is initialed. Scrolling can be terminated by the user speaking “Release” or by the user moving their hand behind the engagement plane and out of the engagement volume.
- the briefing room 1000 comprises a large briefing table 1002 surrounded on three sides by numerous chairs 1004 , a computer 1006 , a video projector 1008 , and a projector screen 1010 .
- Utilization of the present invention adds additional elements comprising the disclosed perceptual software 1012 , two video cameras ( 1014 and 1016 ) and a microphone 1018 .
- a user 1020 is positioned between the projector screen 1010 and briefing table 1002 at which the audience is seated.
- a top face 1022 of an engagement volume 1024 is defined by rectangular area 1026 .
- a front surface indicated at 1028 represents an engagement plane.
- the user controls the content displayed on the projection screen 1010 and advancement of the slides (or presentation images) by moving their hand(s) through the engagement plane 1028 into the engagement volume 1024 , and/or speaking commands recognizable by the system.
- a simple gesture is made to advance to the next slide, back-up to a previous slide, initiate an embedded video, or to effect one of a number of many other presentation capabilities.
- a similar capability can be implemented for a home media center wherein the user can change selected video sources, change channels, control volume, advance chapter and other similar functions by moving their hand across an engagement plane into an engagement volume and subsequently performing the appropriate hand gesture.
- Additional applications include perceptual interfaces for TabletPCs, Media center PCs, kiosks, hand held computers, home appliances, video games, and wall sized displays, along with many others.
- the system can be configured such that the engagement volume travels with the user (in a “roaming” mode) as the user moves about the room.
- the cameras would be mounted on a platform that rotates such that the rotation maintains the cameras substantially equidistant from the presenter.
- the presenter may carry a sensor (e.g., an RFID tag) that allows the system to sense or track the general location of the presenter. The system would then affect rotation of the camera mount to “point” the cameras at the presenter.
- the engagement volume may be extended to the presenter allowing control of the computer system as the presenter moves about.
- the process of “extending” the engagement volume can include increasing the depth of the volume such that the engagement plane surface moves to the presenter, or by maintaining the volume dimensions, but moving the fixed volume to the presenter. This would require on-the-fly focal adjustment of the cameras to track quick movements in the depth of objects in the volume, but also the movement of the presenter.
- Another method of triggering system attention in this mode would be to execute a predefined gesture that is not likely to be made unintentionally, e.g., raising a hand.
- the system is configurable for individual preferences such that the engagement volume of a first user may be different from the volume of a second user.
- the user preferences may be retrieved and implemented automatically by the system. This can include automatically elevating the mounted cameras for a taller person by using a telescoping camera stand so that the cameras are at the appropriate height of the particular user, whether sitting or standing. This also includes, but is not limited to, setting the system for “roaming” mode.
- FIG. 11 there is illustrated a block diagram of a computer operable to execute the present invention.
- FIG. 11 and the following discussion are intended to provide a brief, general description of a suitable computing environment 1100 in which the various aspects of the present invention may be implemented. While the invention has been described above in the general context of computer-executable instructions that may run on one or more computers, those skilled in the art will recognize that the invention also may be implemented in combination with other program modules and/or as a combination of hardware and software.
- program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
- inventive methods may be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which may be operatively coupled to one or more associated devices.
- inventive methods may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote memory storage devices.
- a computer typically includes a variety of computer readable media.
- Computer readable media can be any available media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media.
- Computer readable media can comprise computer storage media and communication media.
- Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer.
- Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
- the exemplary environment 1100 for implementing various aspects of the invention includes a computer 1102 , the computer 1102 including a processing unit 1104 , a system memory 1106 , and a system bus 1108 .
- the system bus 1108 couples system components including, but not limited to the system memory 1106 to the processing unit 1104 .
- the processing unit 1104 may be any of various commercially available processors. Dual microprocessors and other multi processor architectures also can be employed as the processing unit 1104 .
- the system bus 1108 can be any of several types of bus structure including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of commercially available bus architectures.
- the system memory 1106 includes read only memory (ROM) 1110 and random access memory (RAM) 1112 .
- ROM read only memory
- RAM random access memory
- the computer 1102 further includes a hard disk drive 1114 , a magnetic disk drive 1116 , (e.g., to read from or write to a removable disk 1118 ) and an optical disk drive 1120 , (e.g., reading a CD-ROM disk 1122 or to read from or write to other optical media).
- the hard disk drive 1114 , magnetic disk drive 1116 and optical disk drive 1120 can be connected to the system bus 1108 by a hard disk drive interface 1124 , a magnetic disk drive interface 1126 and an optical drive interface 1128 , respectively.
- the drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth.
- the drives and media accommodate the storage of broadcast programming in a suitable digital format.
- computer-readable media refers to a hard disk, a removable magnetic disk and a CD
- other types of media which are readable by a computer such as zip drives, magnetic cassettes, flash memory cards, digital video disks, cartridges, and the like, may also be used in the exemplary operating environment, and further that any such media may contain computer-executable instructions for performing the methods of the present invention.
- a number of program modules can be stored in the drives and RAM 1112 , including an operating system 1130 , one or more application programs 1132 , other program modules 1134 and program data 1136 . It is appreciated that the present invention can be implemented with various commercially available operating systems or combinations of operating systems.
- a user can enter commands and information into the computer 1102 through a keyboard 1138 and a pointing device, such as a mouse 1140 .
- Other input devices may include one or more video cameras, one or microphones, an IR remote control, a joystick, a game pad, a satellite dish, a scanner, or the like.
- These and other input devices are often connected to the processing unit 1104 through a serial port interface 1142 that is coupled to the system bus 1108 , but may be connected by other interfaces, such as a parallel port, a game port, an IEEE 1394 serial port, a universal serial bus (“USB”), an IR interface, etc.
- USB universal serial bus
- a monitor 1144 or other type of display device is also connected to the system bus 1108 via an interface, such as a video adapter 1146 .
- a computer typically includes other peripheral output devices (not shown), such as speakers, printers etc.
- the computer 1102 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer(s) 1148 .
- the remote computer(s) 1148 may be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 1102 , although, for purposes of brevity, only a memory storage device 1150 is illustrated.
- the logical connections depicted include a LAN 1152 and a WAN 1154 .
- Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
- the computer 1102 When used in a LAN networking environment, the computer 1102 is connected to the local network 1152 through a network interface or adapter 1156 .
- the computer 1102 When used in a WAN networking environment, the computer 1102 typically includes a modem 1158 , or is connected to a communications server on the LAN, or has other means for establishing communications over the WAN 1154 , such as the Internet.
- the modem 1158 which may be internal or external, is connected to the system bus 1108 via the serial port interface 1142 .
- program modules depicted relative to the computer 1102 may be stored in the remote memory storage device 1150 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
- a camera 1160 (such as a digital/electronic still or video camera, or film/photographic scanner) capable of capturing a sequence of images 1162 can also be included as an input device to the computer 1102 . While just one camera 1160 is depicted, multiple cameras 1160 could be included as input devices to the computer 1102 .
- the images 1162 from the one or more cameras 1160 are input into the computer 1102 via an appropriate camera interface 1164 .
- This interface 1164 is connected to the system bus 1108 , thereby allowing the images 1162 to be routed to and stored in the RAM 1112 , or one of the other data storage devices associated with the computer 1102 .
- image data can be input into the computer 1102 from any of the aforementioned computer-readable media as well, without requiring the use of the camera 1160 .
- the implementation 1200 includes a first perceptual system 1202 and a second perceptual system 1204 , both operational according to the disclosed invention.
- the first system 1202 includes cameras 1206 (also denoted C 1 and C 2 ) mounted on a rotational and telescoping camera mount 1208 .
- a first user 1210 located generally in front of the first system 1202 effects control of a GUI Content A of the first system 1202 in accordance with the novel aspects of the present invention by introducing hand gestures into an engagement volume 1211 and/or voice signals via a microphone.
- the first user 1210 may roam about in front of the cameras 1206 in accordance with the “roaming” operational mode described previously, or may be seated in front of the cameras 1206 .
- the second system 1204 includes cameras 1212 (also denoted C 3 and C 4 ) mounted on a rotational and telescoping camera mount 1214 .
- a second user 1216 located generally in front of the second system 1204 effects control of a GUI Content B of the second system 1204 in accordance with the novel aspects of the present invention by introducing hand gestures into an engagement volume 1217 and/or voice signals using a microphone.
- the second user 1216 may roam about in front of the cameras 1212 in accordance with the “roaming” operational mode described previously, or may be seated in front of the cameras 1212 .
- the first and second systems ( 1202 and 1204 ) may be networked in a conventional wired or wireless network 1207 peer configuration (or bus configuration by using a hub 1215 ).
- This particular system 1200 is employed to present both Content A and Content B via a single large monitor or display 1218 .
- the monitor 1218 can be driven by either of the systems ( 1202 and 1204 ), as can be provided by conventional dual-output video graphics cards, or the separate video information may be transmitted to a third monitor control system 1220 to present the content.
- Such an implementation finds application where a side-by-side comparison of product features is being presented, or other similar applications where two or more users may desire to interact.
- Content A and Content B can be presented on a split screen layout of the monitor 1218 .
- Either or both users ( 1210 and 1216 ) can also provide keyboard and/or mouse input to facilitate control according to the present invention.
- An operating room 1302 includes an operating table 1304 on which a patient 1305 is placed.
- a doctor (or medical person) 1306 is positioned to one side of the table 1304 in order to effectively operate on the patient 1305 .
- the medical person 1306 may be required to move around the table 1304 and operate from various positions and angles.
- the operating room system 1300 also includes an operation computer system 1308 used by the medical person 1306 to facilitate the operation.
- the operation computer system 1308 comprises three computer systems: a first computer system 1310 , a second computer system 1312 , and a third computer system 1314 .
- the first system 1310 includes a first monitor (or display) 1316
- the second system 1312 includes a second display 1318
- the third system 1314 includes a third display 1320 .
- Medical information related to the patient 1305 can be displayed on the any one or more of the monitors ( 1316 , 1318 and 1320 ) before, during, and/or after the operation.
- the computer and displays can be oriented or positioned in any manner suitable for easy use and viewing by operating room personnel.
- the operation computing system 1308 also includes at least a pair of cameras 1322 suitably designed for capturing images of at least the hands, arms, head, and general upper torso appendage positions, to the level of hand and finger positions of the medical person 1306 .
- the cameras 1322 can be connected to a single computer system for the input of image data, and thereafter, the image data distributed among the computing systems ( 1310 , 1312 , and 1314 ) for processing.
- the three computer systems ( 1310 , 1312 , and 1314 ) are networked on a wired network 1324 , which network 1324 can connect to a larger hospital or facility-wide network, for example. Note that it is not required to have three computer systems.
- a gigabit or faster network can be employed internally and locally for high-speed communication of the image data between the computer systems ( 1310 , 1312 , and 1314 ) or to a fourth computer system (not shown) on the local high-speed network that can more efficiently and quickly process and present the image data to any one or more of the displays ( 1316 , 1318 , and 1320 ).
- the disclosed invention is not restricted to more computers or fewer computers. This is to indicate that the system can employ a plurality of computers for presenting the same information from multiple perspectives (as could be beneficial in an operating room environment), and different information from each system, for example.
- the operation computing system 1308 develops an engagement volume 1326 above the operating table 1304 , which volume envelops part or all the operation area of patient 1305 .
- the table 1304 , patient 1305 , and volume 1326 are all at a height suitable for operation such that the hands of the medical person 1306 can engage the volume 1326 at an appropriate height to be detected and tracked by the computing system 1308 .
- Hand gestures of the medical person 1306 are then imaged, tracked, and processed, as described hereinabove, and more specifically, with respect to FIG. 9 , to facilitate controlling the presentation of information on one or more of the displays ( 1316 , 1318 , and 1320 ) via associated computing systems, as this can also entail audio I/O.
- the medical person 1306 can be outfitted with a wireless portable microphone system 1328 that includes a power supply, microphone, and transmitter for communicating wirelessly with a computer wireless transceiver system 1330 of the operation computer system 1308 .
- voice commands alone or in combination with hand gestures can be used to facilitate the operation.
- FIG. 14 there is illustrated a medical operating room environment 1400 in which a computer control system 1404 with a wireless control device 1404 is employed.
- the system 1404 also includes the use of the wireless control device 1404 for control thereof.
- the engagement volume of FIG. 13 is no longer required or used only marginally.
- the medical person 1306 uses the wireless remote control user interface (UI) device 1404 (hereinafter referred to as a “wand”) to facilitate control of the operation computer system 1308 .
- the wand 1404 can be positioned on a headpiece 1406 worn by the medical person 1306 to provide the free use of hands during the procedure.
- UI wireless remote control user interface
- the wand 1404 is oriented in parallel with the line of sight (or also called, “gaze”) of the person 1306 such that when the person's line of sight is to the system 1308 , this is detected as an interaction to be processes by the system 1308 . All the person 1306 needs to do is perform head movements to facilitate control of the operation computing system 1308 .
- the wand 1404 includes one or more sensors the outputs of which are transmitted to the transceiver system 1330 and forwarded to the operation computing system 1308 for processing.
- the wand 1404 and associated computing system and imaging capabilities are described in the following pending U.S.
- the system 1402 includes the aforementioned wand 1404 in the form of the wireless radio frequency (RF) pointer, which includes an RF transceiver and various orientation sensors.
- the outputs of the sensors are periodically packaged as orientation signals and transmitted using the RF transceiver to the computer transceiver 1330 , which also has a RF transceiver to receive the orientation messages transmitted by the wand 1404 .
- the orientation signals of the wand 1404 are forwarded to the computer system 1308 .
- the computer system 1308 is employed to compute the orientation and location of the wand 1404 using the orientation signals, as are images of the wand 1404 captured by the cameras 1322 .
- the orientation and location of the wand 1404 is in turn used to determine if the wand 1404 is being pointed at an object in the operating room environment 1400 that is controllable by the computer system 1308 via the network 1324 , such as one of the displays ( 1316 , 1318 , or 1320 ). If so, the object is selected.
- the wand 1404 specifically includes a case having a shape with a defined pointing end, a microcontroller, the aforementioned RF transceiver and orientation sensors which are connected to the microcontroller, and a power supply (e.g., batteries) for powering these electronic components.
- the orientation sensors of the wand 1404 include at least, an accelerometer, which provides separate x-axis and y-axis orientation signals, and a magnetometer, which provides separate tri-axial measurements (x-axis, y-axis, and z-axis) orientation signals.
- These electronics are housed in a case that resembles a handheld wand. However, the packaging can be of any form factor such that the functionality of the wand 1404 can be used for the particular purpose.
- the orientation signals generated by the wand 1404 include the outputs of the sensors.
- the wand microcontroller periodically reads and stores the outputs of the orientation sensors. Whenever a request for an orientation signal is received (or it is time to generate such a signal if the pointer is programmed to do so without a request), the microcontroller includes the last-read outputs from the accelerometer and magnetometer in the orientation signal.
- the wand 1404 also includes other electronic components such as a user activated switch or button, and a series of light emitting diodes (LEDs).
- the user-activated switch which is also connected to the microcontroller, is employed for the purpose of instructing the computer to implement a particular function, such as will be described later. To this end, the state of the switch in regard to whether it is activated or deactivated at the time an orientation message is packaged is included in that message for transmission to the computer.
- the series of LEDs includes a pair of differently colored, visible spectrum LEDs, which are connected to the microcontroller, and which are visible from the outside of the pointer's case when lit. These LEDs are used to provide status or feedback information to the user, and are controlled via instructions transmitted to the pointer by the computer.
- the user activated switch can be implemented in an alternative manner using hands-free control thereof via heed movements, for example, or a combination of voice activation, and/or head movement, just to name a few.
- the foregoing system 1402 is utilized to select an object by having the user simply point to the object or feature with the wand 1404 .
- This entails the computer system 1308 first receiving the orientation signals transmitted by the wand 1404 .
- the computer 1308 derives the orientation of the wand 1404 in relation to a predefined coordinate system of the environment in which the wand 1404 is operating using the orientation sensor readings contained in the message.
- the video output from the video cameras 1322 is used to ascertain the location of the wand 1404 at a time substantially contemporaneous with the generation of the orientation signals and in terms of the predefined coordinate system. Once the orientation and location of the wand 1404 are computed, they are used to determine whether the wand 1404 is being pointed at an object in the environment that is controllable by the computer system 1308 . If so, then that object is selected for future control actions.
- the computer system 1308 derives the orientation of the wand 1404 from the orientation sensor readings contained in the orientation signals, as follows. First, the accelerometer and magnetometer output values contained in the orientation signals are normalized. 1000 Angles defining the pitch of the wand 1404 about the x-axis and the roll of the device about the y-axis are computed 1002 from the normalized outputs of the accelerometer. The normalized magnetometer output values are then refined 1004 using these pitch and roll angles. Next, previously established correction factors for each axis of the magnetometer, which relate the magnetometer outputs to the predefined coordinate system of the environment, are applied 1006 to the associated refined and system of the environment, are applied to the associated refined and normalized outputs of the magnetometer.
- the yaw angle of the wand 1404 about the z-axis is computed 1008 using the refined magnetometer output values.
- the computed pitch, roll and yaw angles are then tentatively designated 1010 as defining the orientation of the wand 1404 at the time the orientation signals are generated.
- the wand 1404 is in a right-side up or up-side down position at the time the orientation signals were generated. If the wand 1404 was in the right-side up position, the previously computed pitch, roll and yaw, angles are designated as the defining the finalized orientation of the wand 1404 . However, if it is determined that the wand 1404 was in the up-side down position at the time the orientation message was generated, the tentatively designated roll angle is corrected accordingly, and then the pitch, yaw and modified roll angle are designated as defining the finalized orientation of the wand 1404 .
- the accelerometer and magnetometer of the wand 1404 are oriented such that their respective first axis corresponds to the x-axis which is directed laterally to a pointing axis of the wand 1404 , and their respective second axis corresponds to the y-axis, which is directed along the pointing axis of the wand 1404 , and the third axis of the magnetometer corresponds to the z-axis, which is directed vertically upward when the wand 1404 is positioned right-side up with the x and y axes lying in a horizontal plane.
- the computer system 1308 derives the location of the wand 1404 from the video output of the video cameras 1322 , as follows.
- the wand 1404 there is an infrared (IR) LED connected to a microcontroller that is able to emit IR light outside the wand 1404 case when lit.
- the microcontroller causes the IR LEDs to flash.
- the aforementioned pair of digital video cameras 1322 each have an IR pass filter that results in the video image frames capturing only IR light emitted or reflected in the environment toward the cameras 1322 , including the flashing from the wand 1404 IR LED which appears as a bright spot in the video image frames.
- the microcontroller causes the IR LED to flash at a prescribed rate that is approximately one-half the frame rate of the video cameras 1322 . This results in only one of each pair of image frames produced by a camera having the IR LED flashes depicted in it. This allows each pair of frames produced by a camera to be subtracted to produce a difference image, which depicts for the most part only the IR emissions and reflections directed toward the camera which appear in one or the other of the pair of frames but not both (such as the flash from the IR LED of the pointing device). In this way, the background IR in the environment is attenuated and the IR flash becomes the predominant feature in the difference image.
- the image coordinates of the pixel in the difference image that exhibits the highest intensity is then identified using a standard peak detection procedure.
- a conventional stereo image technique is employed to compute the 3-D coordinates of the flash for each set of approximately contemporaneous pairs of image frames generated by the pair of cameras 1322 using the image coordinates of the flash from the associated difference images and predetermined intrinsic and extrinsic camera parameters. These coordinates represent the location of the wand 1404 (as represented by the location of the IR LED) at the time the video image frames used to compute the coordinates were generated by the cameras 1322 .
- the orientation and location of the wand 1404 at any given time is used to determine whether the wand 1404 is being pointed at an object in the environment that is controllable by the computer system 1308 .
- the computer system 1308 In order to do so, the computer system 1308 must know what objects are controllable and where they exist in the environment. This requires a model of the environment.
- the location and extent of objects within the environment that are controllable by the computer system 1308 are modeled using 3-D Gaussian blobs defined by a location of the mean of the blob in terms of its environmental coordinates and a covariance.
- the first method involves the user inputting information identifying the object that is to be modeled. The user then activates the switch on the pointing device and traces the outline of the object. Meanwhile, the computer system 1308 is running a target training procedure that causes requests for orientation signals to be sent to the wand 1404 at a prescribed request rate.
- the orientation signals are input when received, and for each orientation signal, it is determined whether the switch state indicator included in the orientation signal indicates that the switch is activated. Whenever it is initially determined that the switch is not activated, the switch state determination action is repeated for each subsequent orientation signal received until an orientation signal is received that indicates the switch is activated.
- the location of the wand 1404 is ascertained, as described previously, using the digital video input from the pair of video cameras 1322 .
- the target training (or calibration) process detects this as the switch having been deactivated after first having been activated in the immediately preceding orientation signal. Whenever such a condition occurs, the tracing procedure is deemed to be complete and a 3-D Gaussian blob representing the object is established using the previously ascertained wand locations stored during the tracing procedure.
- the second method of modeling objects during a calibration process once again begins by the user inputting information identifying the object that is to be modeled. However, in this case the user repeatedly points the wand 1404 at the object and momentarily activates the switch on the wand 1404 , each time pointing the wand 1404 from a different location within the environment. Meanwhile, the computer system 1308 is running a target training algorithm that causes requests for orientation signals to be sent to the wand 1404 at a prescribed request rate. Each orientation message received from the wand 1404 is input until the user indicates the target training inputs are complete.
- the switch state indicator contained therein indicates that the switch is activated.
- the orientation of the wand 1404 is computed, as described previously, using orientation sensor readings also included in the orientation message.
- the location of the wand 1404 is ascertained using the inputted digital video from the pair of video cameras 1322 . The computed orientation and location values are stored.
- the location of the mean of a 3-D Gaussian blob that will be used to represent the object being modeled is computed from the stored orientation and location values of the wand 1404 .
- the covariance of the Gaussian blob is then obtained in one of various ways. For example, it can be a prescribed covariance, a user input covariance, or the covariance can be computed by adding a minimum covariance to the spread of the intersection points of rays defined by the stored orientation and location values of the wand 1404 .
- the orientation and location of the wand 1404 is used to determine whether the wand 1404 is being pointed at an object in the environment that is controllable by the computer system 1308 .
- the blob is projected onto a plane that is normal to either a line extending from the location of the wand 1404 to the mean of the blob, or a ray originating at the location of the wand 1404 and extending in a direction defined by the orientation of the wand 1404 .
- the value of the resulting projected Gaussian blob at a point where the ray intersects the plane is computed. This value represents the probability that the wand 1404 is pointing at the object associated with the blob under consideration.
- the probability is computed that represents the largest value computed for the Gaussian blobs, if any.
- the object associated with the Gaussian blob from which the largest probability value was derived could be designated as being the object at which the wand 1404 is pointing.
- an alternative thresholding procedure could be employed instead. In this alternate version, it is first determined whether the largest probability value exceeds a prescribed minimum probability threshold. Only if the threshold is exceeded is the object associated with the projected Gaussian blob from which the largest probability value was derived designated as being the object at which the wand 1404 is pointing.
- the minimum probability threshold is chosen to ensure the user is actually pointing at the object and not just near the object without an intent to select it.
- each Gaussian blob it is determined whether a ray originating at the location of the wand 1404 and extending in a direction defined by the orientation of the wand 1404 intersects the blob.
- the value of the Gaussian blob is at a point along the ray nearest the location of the mean of the blob. This value represents the probability that the wand 1404 is pointing at the object associated with the Gaussian blob.
- the object associated with the Gaussian blob from which the largest probability value was derived could be designated as being the object at which the wand 1404 is pointing.
- Hands-free control of the operation computing system 1308 using the head mounted wand 1404 involves generating at least a series of calibrated head movements. Moreover, since the person 1306 also uses the wireless microphone system 1328 , voice commands can be employed alone or in combination with the head movements to enhance control of the computer system 1308 . With the implementation of one or more motion sensors therein, e.g., accelerometers, velocity and/or acceleration data can be measured and resolved as the “switch” signal of the wand 1404 to initiate or terminate an action without physically having to move a switch with a finger, which would be extremely cumbersome and risky (insofar at least as sterilization and the transmission of germs is involved) in an operating room environment.
- one or more motion sensors e.g., accelerometers
- velocity and/or acceleration data can be measured and resolved as the “switch” signal of the wand 1404 to initiate or terminate an action without physically having to move a switch with a finger, which would be extremely cumbersome and risky (in
- a simple left-right head movement can be interpreted to initiate a paging action such that displayed images are changed similar to a person thumbing through pages of a book. Thereafter, an up-down head nod could be used to stop the paging process.
- the paging process could be initiated by voice command after the system 1308 ascertains that the gaze is directed at the second display 1318 .
- the wands can be uniquely identified by an RF tagging system, such that signals transmitted to the computer system 1308 are interpreted in association with different personnel.
- the doctor in charge of the operation and his or her assisting nurse could each have a head mounted wand.
- the system 1308 can be suitably designed to discriminate the wand signals according to a unique tag ID that accompanies each signal transmitted to the computer system 1308 .
- Such tagging system can also be used as a method of prioritizing signals for controlling the computer.
- the system can be configured to prioritize signals received from the doctor over those signals received from the assisting nurse.
- the computer system 1308 employs the classifier system described hereinabove to learn the movements of personnel over time. For example, body movements of one person typically differ from the way a body movement of another may be used to control the system 1308 .
- the system 1308 can employ the classifier to learn the particular movements of a given user. Once the user “logs in” to the system 1308 , these customized movement signals (and voice signals, for example) can then be activated for use by the system 1308 for that user.
- a remote wireless system 1404 can be employed, other internal and external signals can be input thereto for transmission to and control of the system 1308 .
- the heart rate of the person 1306 can be monitored and input to the wand system 1404 or wireless voice system 1328 for wireless input to the system 1308 to monitor the state of the person 1306 .
- the classifier can be used to modify how the movement and voice signals are processed for controlling the system 1308 .
- a faster heart rate can indicate faster speech and/or head movements that would then be compensated for in the system 1308 using the classifier. Of course, these parameters would be determined on a user-by-user basis.
- the system 1308 can determine a number of factors about the person 1306 .
- the system 1308 can determine when the person 1306 (or what person(s)) is looking at the system 1308 . For example, if the orientation of the wand 1404 indicates that the head position (or gaze) of the person 1306 matches orientation associated with looking at any of the three monitors ( 1316 , 1318 , or 1320 ), here, the second monitor 1318 , the system 1308 then responds according to signals received thereafter, until the viewing session associated with the second monitor 1318 is terminated by voice and/or head movements.
- the system 1308 can re-associate the wand 1404 with a user profile of another person 1306 who will use the wand 1404 .
- There exists a database of user profiles and tag associations such that invocation of the wand tag (or ID) with the user log-in name automatically executes the user profile for use with the wand 1404 . This way, individualized user commands in the form of head movements, voice commands, etc., are automatically invoked at the user log-in process.
- the system 1308 can also employ a bi-directional activation scheme wherein the user initiates a user command for starting a session, and the system 1308 responds with a signal that further requires a user response to confirm that a session is to begin.
- the person 1306 can initiate a session by motioning an up-down head nod repeatedly for three cycles.
- the system 1308 receives the corresponding three cycles of up-down nod signals that are interpreted to start a session of that person 1306 .
- the system 1308 responds by presenting an image on the first display 1316 , and at which the person 1306 must point the wand 1404 to confirm the start of the session.
- the transceiver system 1330 can be used for wireless communication for both the wand system 1404 and voice communications system 1328 .
- the wand link can be of one frequency, and the voice communication link another frequency.
- the computer system 1308 is configured to accommodate both by proving frequency discrimination and processing so that signal streams can be filtered and processed to extract the corresponding wand and voice signals.
- the user performs a calibration process that comprises associating a number of head movements and/or voice commands with user commands. This also includes using voice commands singly to control the operation computer system or in combination with the head movements to do so.
- the calibration process can be performed well in advance of use in the operating room, and updated as the user chooses to change movements and/of voice signals with user commands.
- the person initiates a session with the computer system using one or more user commands.
- the person then inputs one or more of the user commands to control the computing system.
- the person terminates the session using one or more of the user commands. The process then reaches a Stop block.
- the calibration process occurs where the system associates wand device signals and/or voice signals with user commands specified by the person.
- the calibration process ends.
- the user wand signals are received and processed by the system.
- the system determines if the processed user command(s) indicate that a session is to be started with that user. If NO, flow is back to the input of 1602 to continue to processing received device and voice signals. If YES, flow is to 1606 to identify the user. This can occur by the system processing the received signal and extracting the device tag ID.
- the tag ID of the wand Prior to use, the tag ID of the wand is programmed for association with a given user.
- the user profile of calibration data is activated for use.
- the operating staff are assigned such that the log-in names of the doctors and assistants can be entered prior to beginning the operation.
- the user profiles are already activated for processing.
- the device signals are received and processed to determine the tag ID of the device and to process the user command(s) against the associated profile information to enable the related command.
- the classifier tracks, processes, compares, and updates the user profile when wand movements associated with the particular user command are changed within certain criteria.
- the computer system determines if the session has completed. If NO, flow is back to the input of 1610 to continue to process user commands. If YES, flow is to 1616 to terminate the user session. The process then reaches a Stop block. Of course, from 1616 , flow can be brought back to the input of 1602 to continue to process signals from other devices or to prepare for another session, which could occur many times during the operating room event.
- FIG. 17 there is illustrated a medical environment 1700 in which a 3-D imaging computer control system 1702 is employed to process hand (or body) gestures in accordance with the present invention.
- the operation computing system 1308 provides 3-D image recognition and processing capability such that the engagement volume of FIG. 13 and the wand 1404 of FIG. 14 are no longer required.
- the system 1702 can be augmented with voice commands in a manner similar to that described above; however, this is not needed. Audio-visual co-analysis can be used to improve continuous gesture recognition.
- the transceiver system 1330 is used only for wireless voice communication, when vocalization is employed.
- the medical person 1306 can simply use the system 1308 as a dictaphone to record voice signals during the operation.
- the foregoing system 1702 is used to select an object under computer control in the environment by the computer system 1308 by having the user simply make one or more hand gestures. Of course, this can be done using both hands, which feature will be described in greater detail hereinbelow.
- This entails the computer system 1308 capturing imaging information about the hand gesture(s), and for each image or series of images received, the computer system 1308 derives the posture, orientation, and location of the hand, pair of hands, or any combination of one or more hands and any other body part (e.g., the head) (hereinafter grouped and denoted generally as “gesture characteristics”, or where specifically related to a hand, as “hand gesture characteristics”, or “hand characteristics”) in relation to a predefined coordinate system of the environment in which the gesture is employed.
- gesture characteristics or where specifically related to a hand, as “hand gesture characteristics”, or “hand characteristics”
- Gesture analysis involves tracking the user's hand(s) in real-time.
- Hidden Markov Models can be employed for recognition of continuous gesture kinematics.
- the video output from the video cameras 1322 is used to ascertain the gesture characteristics at a time substantially contemporaneous with the generation of the gesture and in terms of the predefined coordinate system. Once the gesture characteristics are processed, they are used to determine whether an object in the environment should be controlled by the computer system 1308 . If so, then that object is selected for future control actions.
- stochastic tools such as Kalman filtering can be used to predict the position of the hand or hands in subsequent image frames.
- an object includes an object or device external to the computer system 1308 and controllable by a wireless and/or wired connection, as well as any internal device or feature that comprises software programs that are used to display images, manipulate data, and move data from one location to another, for example.
- the process begins by generating a model of the environment. This process includes, but is not limited to, defining what aspects of the environment will be controlled by the computer system 1308 , such as lights, lighting level, room temperature, operating room life support machines and other computer controlled machines in the room, and software controls that will be required or desired of the system 1308 before, during, and/or after the procedure.
- the software controls comprise the gestures required to initiate image paging, image rotation about a vertex, image rotation about an axis, zooming in and out on an image, providing supplementary data (e.g., video and audio) related to an image being presented or manipulated in a certain way, performing x,y translations of the image, stepped rotation, changing user interface coloring to improve visibility of an image, changing image contrast, changing resolution of an image, playing a series of images quickly or slowly (looping speed), freezing and unfreezing a looping image video (of, for example, echocardiography, transverse CT (Computed Tomography) and cryosection images, CT output, and a fly-through of MRI data), initiating repetitive image(s) playback (looping), jumping from the first monitor 1316 to another monitor ( 1318 or 1320 ), and adjusting audio controls when listening to audio data (e.g., EKG) during the procedure.
- supplementary data e.g., video and audio
- the next step is to calibrate the model according to the persons who will be working in the environment and interacting with the system 1308 .
- Unique user profiles can be generated for each person interacting with the system 1308 by employing a tagging system that can discriminate the various users. This can be accomplished in several ways.
- One method provides a unique RF tag to each user.
- a triangulation system can be utilized to continually monitor the location of a given user, and associate the location data with the captured image data such that gestures are from that location will be processed against that user profile to properly execute the user command.
- Another method is to employ several camera sets, where each set is dedicated to a specific user or location in which the user will work.
- the user could also be clothed in a colored uniform where the combination of color, gesture, and location uniquely identify the command issued by that user to the system 1308 .
- the system 1308 can be programmed to invoke a bi-directional confirmation system such that each user gesture is followed by a confirmation request to ensure that the proper user command is issued.
- Feedback can be provided by displaying the command in large text or outputting the anticipated command in audio to the user, after which the user responds by voice or with another gesture to accept or reject the command.
- the imaging system 1308 detects gesture object (or hand) depth or distance from the system 1308 to facilitate discriminating between a plurality of gesture sources.
- the gesture sources can include a single hand, two hands, one hand of two people, etc.
- RF triangulation techniques can be used to accurately determine the gesture source(s).
- the gesture source includes an RF tag. If two hands are being used in gesticulation, then each hand can include a unique RF tag.
- Other depth determination systems can be employed to accurately discriminate the gesture sources, such as infrared.
- the environment needs to be modeled for all objects to be controlled or interacted with, including both hardware and software.
- the gestures are then defined and associated with the objects. This can further include the use of voice commands, and where the wireless remote device is worn in alignment with the person's line-of-sight, the additional combination of “gaze” signals, where the gaze signals are defined as those wireless device (or wand) signals generated when the person looks in a direction to effect object interaction.
- the system 1308 can also be configured to determine when the operator is generally facing the system 1308 .
- a facial image can be captured and processed with facial features providing generally the data needed to make such an automatic determination.
- Another method includes wearing a multi-colored uniformed such that one color is associated with the person facing the system 1308 , while another imaged color indicates the person is not facing the system 1308 .
- Still another method employs a reflective surface on the front of the person such that the presence of reflective signals indicates the person is facing the system 1308 .
- the system 1308 is capable of determining when one person programmed to interact therewith has been replaced by another. This causes an automatic change of user profiles to enable the present user's gestures for corresponding user commands and control of the system 1308 . Again, this can be facilitated by a color scheme whereby each medical person is uniquely identified in the system 1308 with a unique color. Any sort of tag-identification system could be used, as well. Of course, voice commands can also be used to facilitate personnel replacements in the medical environment.
- the system 1308 can be distributed across two or more computers as a multi-computer system to supply the processing power for 3-D image processing.
- the disclosed imaging system software can then be distributed across the multi-computer system for the exchange of data needed for ultimately making decisions for human-machine interaction.
- the system 1308 can also employ a bi-directional interaction scheme to confirm selection of all gesture, and gesture/voice actions. For example, if the user initiates a user command for starting a session, and the system 1308 responds with a signal that further requires a user response to confirm that a session is to begin.
- the confirmation respond can be in the form of a duplicate gesture and/or voice command. Obviously, the number and combination of gestures and voice commands that can be employed singly or in combination in accordance with the present system are numerous.
- the system 1308 also includes audio input capabilities such that not only voice signals can be received and processed, but clicking sounds, pitch-related sounds, etc., and other distinctive audio signals can be employed to further extend the number of inputs for controlling the system 1308 .
- Such alternative inputs can be input through the portable microphone system 1328 worn by at least one medical person in the operating room.
- additional haptics inputs can be employed by providing a suit or vest with various touch or pressure points to augment the number of signals for controlling the system 1308 .
- the wrist, forearm, and other appendage points can be used to initiate and send signals from the suit through a wireless remote pressure point transmission system, made part of the wireless voice communication system 1328 , for example.
- the user performs a calibration process that comprises associating (or mapping) a number of gestures in the form of hand poses and movements, head movements, and/or voice commands with user commands. This also includes using voice commands singly to control the operation computer system or in combination with the gestures to do so.
- the calibration process can be performed well in advance of use in the operating room, and updated as the user chooses to change movements and/of voice signals with user commands.
- the person initiates a session with the computer system using one or more gestures.
- the person then inputs one or more of the user commands using gestures to control operation of the computing system.
- the person terminates the session using one or more of the gestures. The process then reaches a Stop block.
- the calibration process occurs for a user where the user presents one or more hands and, hand poses, and orientations to the imaging system for capture and association with a given user command. The system then maps the images to the user command. This occurs for a number of different commands, and completes the calibration phase for that user.
- the user presents one or more gestures that are captured and processed by the system for user commands.
- the system determines if the processed user command(s) indicate that a session is to be started with that user. If NO, flow is back to the input of 1902 to continue to process of receiving and interpreting gestures and/or voice signals.
- a glove of the medical person includes an RF device, or similar device that is detectable by the system for the purpose of determining the source of the gesture signals.
- the user profile of calibration data is activated for use. Of course, on any given operation, the operating staff are assigned, such that the log-in names of the doctors and assistants can be entered prior to beginning the operation. Thus, the user profiles are already activated for processing.
- the gestures are imaged, received, and processed to execute the corresponding the user command(s).
- the classifier tracks, processes gesture images, compares the images, and updates user gestures characteristics associated with the particular user command.
- the computer system determines if the session has completed. If NO, flow is back to the input of 1910 to continue to process gestures into user commands. If YES, flow is to 1916 to terminate the user session. The process then reaches a Stop block. Of course, from 1916 , flow can be brought back to the input of 1902 to continue to process gestures or to prepare for another session, which could occur many times during the operating room event.
- FIG. 20 there is illustrated a medical environment 2000 in which a 3-D imaging computer control system 2002 is employed with the remote control device 1404 to process hand (or body) gestures and control the system 1308 in accordance with the present invention.
- the imaging and image processing capabilities of the 3-D imaging system 1308 and the head-mounted wand 1404 can be employed in combination to further enhance the hands-free capabilities of the present invention.
- the wireless vocalization system 1328 can further be used to augment control of the system 1308 .
- the wand electronics can be repackaged for use in many different ways.
- the packaging can be such that the wireless system is worn on the wrist, elbow, leg, or foot.
- the system 1308 can be used to image both the gestures of the person 1306 and the orientation of the wand 1404 to provide more accurate human-machine interaction and control.
- Each of the systems have been described herein, the details of which are not repeated here for the purpose of brevity.
- Sample gestures, voice commands and gaze signals used in the system 2002 are described hereinbelow.
- FIG. 21A there is illustrated sample one-handed and two-handed gestures that can be used to control the operation computing system in accordance with the present invention.
- two closed fists left and right
- the right hand in a pointing pose can be used in two orientations, a vertical orientation followed by a sideways clockwise rotation, the combination of which can be programmed for imaging and interpretation to tilt a selected axis a predetermined number of degrees, and keep tilting the axis in stepped increments.
- a continuation of the gestures of 2102 in reverse where, the sideways clockwise rotation is reversed to a counterclockwise rotation followed by the vertical orientation, the combination of which can be programmed for imaging and interpretation stop axis tilting, and maintain at the current tilt angle.
- a right-handed two-fingers-raised pose can be used to rotate an image about an existing axis. Note that the image can be x-rays of the patient, MRI (Magnetic Resonance Imaging) frames, etc.
- the thumb and pointing finger pose of the right hand can be used to rotate an image about a vertex point.
- FIG. 21B there is illustrated additional sample one-handed gestures and sequenced one-handed gestures that can be used to control the operation computing system in accordance with the present invention.
- an open right hand with fingers tightly aligned can be used to initiate a zoom-in feature such that the zoom-in operation continues until the gesture changes.
- a right hand where the thumb and pinky finger are extended can be used to initiate a zoom-out feature such that the zoom-out operation continues until the gesture changes.
- a sequence of right-hand gestures are used to select an image for x,y translation, and then to translate the image up and to the right by a predefined distance or percentage of available viewing space on the display.
- the right hand is used to provide an open hand plus closed fist plus open hand, and then move the open hand up and to the right a short distance. This can be recognized and interpreted to perform the stated function of axis translation in an associated direction.
- a sideways pointing pose plus a counterclockwise motion is programmed for interpretation to rotate the object in the horizontal plane.
- the same hand pose plus a circular motion in the opposite direction can be programmed to rotate the object in the vertical plane.
- the hand pose is arbitrary, in that it may be more intuitive to use a hand pose where one or ore of the fingers point upward.
- the gesture itself is also arbitrary, and is programmable according to the particular desires of the user.
- FIG. 21C there is illustrated additional sample one-handed gestures that can be used to control the operation computing system in accordance with the present invention.
- a three-finger open with index and thumb touching of the right hand can be used to impose a triaxial grid on a 3-D image.
- a right-handed single pointing-finger pose can be used to select the x-axis; a right-handed two-finger pose can be used to select the y-axis; and, a right-handed three-finger pose can be used to select the z-axis.
- a pinky-finger pose can be used to stop, start and loop videos on the system 1308 .
- rotation of the pinky-finger pose in a clockwise direction while facing the system 1308 can be used to control intensity of the monitor, and volume on/off control and amplitude. These are being grouped of brevity, since, for example, the pinky-finger pose and/or rotation can be mapped to any one of the functions described.
- an open hand gesture in a clockwise rotation can be used to rotate an image about an axis according to the speed of movement of the open hand, such that when the hand stops, the axis rotation also stops, and starts when band movement starts.
- FIG. 21D there is illustrated additional sample one-handed gestures used in combination with voice commands that can be used to control the operation computing system in accordance with the present invention.
- the open hand pose plus a voiced “ZOOM” command can be used to zoom in on a displayed image until the gesture changes or a different command is voiced.
- the thumb and pinky finger extended pose plus a voiced “ZOOM” command can be used to zoom out on a displayed image until the gesture changes, or a different command is voiced.
- Depth information can also be used e.g., moving closer would trigger a zoom-in function, Alternatively, when zoom is invoked, movement in depth can control the zoom value continuously.
- a left-handed open hand pose in a sideways orientation plus a voiced “MOVE” command can be used to move a selected image to the right until the gesture changes and stops movement.
- a right-handed open hand pose in a sideways orientation plus a voiced “MOVE” command can be used to move a selected image to the left until the gesture changes and stops movement.
- a closed fist in a circular motion in combination with a “LOUD” voice command can be used to turn audio volume on/off, and control the amplitude during the procedure to listen to the patient's EKG, for example.
- FIG. 21E there is illustrated additional sample one-handed gestures used in combination with voice commands and gaze signals that can be used to control the operation computing system in accordance with the present invention.
- the right-hand open-hand pose in combination with a voiced “ZOOM” command while gazing at an image on a first display of the operation computer system will invoke a zoom-in process on the image of the first display until the gesture is changed.
- the thumb and pinky finger extended of the pose of the right hand is used in combination with a voiced “ZOOM” command while gazing in the direction of an image presented on a second display to control the computer system to zoom out on the image of the second display until the gesture changes.
- a left-handed open hand pose in a sideways orientation in combination with a voiced “MOVE” command while gazing at an image on a first display of the operation computer system will invoke a rightward move operation on the image of the first display until the gesture is changed.
- a right-handed open hand pose in a sideways orientation in combination with a voiced “MOVE” command while gazing at an image on a second display of the operation computer system will invoke a leftward move operation on the image of the second display until the gesture is changed.
- a closer right fist in a circular clockwise motion in combination with a voiced “LOUD” command and a gaze in the direction of a graphical interface of an audio control device on a third display of the computer control system results in volume on/off control and amplitude control.
- the user would employ the pointer to control the volume by, for example, pointing at the stereo and rolling the pointer clockwise or counterclockwise to respectively turn the volume up or down.
- the latter procedure can provide the efficiency and accuracy of a physical volume knob, while at the same time providing the convenience of being able to control the volume remotely as in the case of the voice recognition control scheme.
- This is just one example of a situation where gesturing control is the best choice, there are others.
- voice control would be the best choice.
- a combination of speech and gesture control would be the most efficient and convenient method.
- the present invention includes the integration of a conventional speech control system into the gesture control and pointer systems which results in a simple framework for combining the outputs of various modalities such as pointing to target objects and pushing the button on the pointer, pointer gestures, and speech, to arrive at a unified interpretation that instructs a combined environmental control system on an appropriate course of action.
- This framework decomposes the desired action (e.g., “turn up the volume on the amplifier”) into a command (i.e., “turn up the volume”) and a referent (i.e., “the amplifier”) pair.
- the referent can be identified using the pointer to select an object in the environment as described previously or using a conventional speech recognition scheme, or both.
- the command may be specified by pressing the button on the pointer, or by a pointer gesture, or by a speech recognition event, or any combination thereof.
- Interfaces that allow multiple modes of input are called multimodal interfaces. With this multimodal command/referent representation, it is possible to effect the same action in multiple ways. For example, all the following pointing, speech and gesture actions on the part of the user can be employed in the present control system to turn on a light that is under the control of the host computer:
- the overall system is made more robust. For example, a spurious speech recognition event of “volume up” while pointing at the light is ignored, rather than resulting in the volume of an amplifier being increased, as would happen if a speech control scheme were being used alone.
- a spurious speech recognition event of “volume up” while pointing at the light is ignored, rather than resulting in the volume of an amplifier being increased, as would happen if a speech control scheme were being used alone.
- the speech recognition may be made more robust.
- the speech recognition system can employ a very simple command and control (CFG) style grammar, with preset utterances for the various electronic components and simple command phrases that apply to the components.
- CFG very simple command and control
- the user wears a wireless lapel microphone to relay voice commands to a receiver which is connected to the host computer and which relays the received speech commands to the speech recognition system running on the host computer.
- the multimodal integration process employed in the present control system uses a dynamic Bayes network that encodes the various ways that sensor outputs may be combined to identify the intended referent and command, and initiate the proper action.
- Bayes networks have a number of advantages that make them appropriate to this task. First, it is easy to break apart and treat separately dependencies that otherwise would be embedded in a very large table over all the variables of interest. Secondly, Bayes networks are adept at handling probabilistic (noisy) inputs. Further, the network represents ambiguity and incomplete information that may be used appropriately by the system. In essence, the Bayes network preserves ambiguities from one time step to the next while waiting for enough information to become available to make a decision as to what referent, command or action is intended. It is even possible for the network to act proactively when not enough information is available to make a decision. For example, if the user doesn't point at the lamp, the system might ask which lamp is meant after the utterance “lamp”.
- the Bayes network architecture is chosen primarily to exploit the redundancy of the user's interaction to increase confidence that the proper action is being implemented.
- the user may specify commands in a variety of ways, even though the designer specified only objects to be pointed to, utterances to recognize and gestures to recognize (as well as how referents and commands combine to result in action). For example, it is natural for a person to employ deictic (pointing) gestures in conjunction with speech to relay information where the speech is consistent with and reinforces the meaning of the gesture. Thus, the user will often naturally indicate the referent and command applicable to a desired resulting action via both speech and gesturing. This includes most frequently pointing at an object the user wants to affect.
- the Bayes network architecture also allows the state of various devices to be incorporated to make the interpretation more robust. For example, if the light is already on, the system may be less disposed to interpret a gesture or utterance as a “turn on” gesture or utterance.
- the associated probability distribution over the nodes representing the light and its parents, the Action and Referent nodes are configured so that the only admissible action when the light is on is to turn it off, and likewise when it is off the only action available is to turn it on.
- the network is dynamic because it has a mechanism by which it maintains a short-term memory of certain values in its network. It is natural that the referent will not be determined at the exact moment in time as the command. In other words a user will not typically specify the referent by whatever mode (e.g., pointing and/or speech) at the same time he or she relays the desired command using one of the various methods available (e.g., pointer button push, pointer gesture and/or speech). If the referent is identified only to be forgotten in the next instant of time, the association with a command that comes after it will be lost.
- mode e.g., pointing and/or speech
- the dynamic Bayes network models the likelihood of a referent or a command applying to future time steps as a dynamic process. Specifically, this is done via a temporal integration process in which probabilities assigned to referents and commands in the last time step are brought forward to the current time step and are input along with new speech, pointing and gesture inputs to influence the probability distribution computed for the referents and commands in the current time step. In this way, the network tends to hold a memory of a command and referent that decays over time, and it is thus unnecessary to specify the command and referent at exactly the same moment in time. In one example, this propagation occurred four times a second.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Apparatus and process for controlling a computer process with gestures and a handheld pointing device. The computer system employing the pointing device to determine what component a user wants to control and what control action is desired.
Description
- This application is a continuation of U.S. patent application Ser. No. 12/457,656, filed Jun. 17, 2009, which is a continuation of application Ser. No. 12/289,099, filed Oct. 20, 2008, which is a division of U.S. patent application Ser. No. 10/724,950, filed Dec. 1, 2003, which is a continuation-in-part of application Ser. No. 10/396,653 filed Mar. 25, 2003, now U.S. Pat. No. 7,665,041, issued Feb. 16, 2010, the entirety of all of which is incorporated by reference.
- The present invention relates generally to controlling a computer system, and more particularly to a system and method to implement alternative modalities for controlling computer programs and devices, and manipulating on-screen objects through the use of one or more body gestures, or a combination of gestures and supplementary signals.
- A user interface facilitates the interaction between a computer and computer user by enhancing the user's ability to utilize application programs. The traditional interface between a human user and a typical personal computer is implemented with graphical displays and is generally referred to as a graphical user interface (GUI). Input to the computer or particular application program is accomplished through the presentation of graphical information on the computer screen and through the use of a keyboard and/or mouse, trackball or other similar implements. Many systems employed for use in public areas utilize touch screen implementations whereby the user touches a designated area of a screen to effect the desired input. Airport electronic ticket check-in kiosks and rental car direction systems are examples of such systems. There are, however, many applications where the traditional user interface is less practical or efficient.
- The traditional computer interface is not ideal for a number of applications. Providing stand-up presentations or other type of visual presentations to lame audiences, is but one example. In this example, a presenter generally stands in front of the audience and provides a verbal dialog in conjunction with the visual presentation that is projected on a large display or screen. Manipulation of the presentation by the presenter is generally controlled through use of awkward remote controls, which frequently suffer from inconsistent and less precise operation, or require the cooperation of another individual. Traditional user interfaces require the user either to provide input via the keyboard or to exhibit a degree of skill and precision more difficult to implement with a remote control than a traditional mouse and keyboard. Other examples include control of video, audio, and display components of a media room. Switching between sources, advancing fast fast-forward, rewinding, changing chapters, changing volume, etc., can be very cumbersome in a professional studio as well as in the home. Similarly, traditional interfaces are not well suited for smaller, specialized electronic gadgets.
- Additionally, people with motion impairment conditions find it very challenging to cope with traditional user interfaces and computer access systems. Such conditions include Cerebral Palsy, Muscular Dystrophy, Friedrich's Ataxia, and spinal injuries or disorders. These conditions and disorders are often accompanied by tremors, spasms, loss of coordination, restricted range of movement, reduced muscle strength, and other motion impairing symptoms.
- Similar symptoms exist in the growing elderly segment of the population. As people age, their motor skills decline and impact the ability to perform many tasks. It is known that as people age, their cognitive, perceptual and motor skills decline, with negative effects in their ability to perform many tasks. The requirement to position a cursor, particularly with smaller graphical presentations, can often be a significant barrier for elderly or afflicted computer users. Computers can play an increasingly important role in helping older adults function well in society.
- Graphical interfaces contribute to the ease of use of computers. WIMP (Window, Icon, Menu, Pointing device (or Pull-down menu)) interfaces allow fairly non-trivial operations to be performed with a few mouse motions and clicks. However, at the same time, this shift in the user interaction from a primarily text-oriented experience to a point-and-click experience has erected new barriers between people with disabilities and the computer. For example, for older adults, there is evidence that using the mouse can be quite challenging. There is extensive literature demonstrating that the ability to make small movements decreases with age. This decreased ability can have a major effect on the ability of older adults to use a pointing device on a computer. It has been shown that even experienced older computer users move a cursor much more slowly and less accurately than their younger counterparts. In addition, older adults seem to have increased difficulty (as compared to younger users) when targets become smaller. For older computer users, positioning a cursor can be a severe limitation.
- One solution to the problem of decreased ability to position the cursor with a mouse is to simply increase the size of the targets in computer displays, which can often be counter-productive since less information is being displayed, requiring more navigation. Another approach is to constrain the movement of the mouse to follow on-screen objects, as with sticky icons or solid borders that do not allow cursors to overshoot the target. The is evidence that performance with area cursors (possibly translucent) is better than performance with regular cursors for some target acquisition tasks.
- One method to facilitate computer access for users with motion impairment conditions and for applications, in which the traditional user interfaces are cumbersome, is through use of perceptual user interfaces. Perceptual user interfaces utilize alternate sensing modalities, such as the capability of sensing physical gestures of the user, to replace or complement traditional input devices such as the mouse and keyboard. Perceptual user interfaces promise modes of fluid computer-human interaction that complement and/or replace the mouse and keyboard, particularly in non-desktop applications such as control for a media room.
- One study indicates that adding a simple gesture-based navigation facility to web browsers can significantly reduce the time taken to carry out one of the most common actions in computer use, i.e., using the “back” button (or function) to return to previously visited pages. Subjective ratings by users in experiments showed a strong preference for a “flick” system, where the users would flick the mouse left or right to go back or forward in the web browser.
- In the simplest view, gestures play a symbolic communication role similar to speech, suggesting that for simple tasks gestures can enhance or replace speech recognition. Small gestures near the keyboard or mouse do not induce fatigue as quickly as sustained whole arm postures. Previous studies indicate that users find gesture-based systems highly desirable, but that users are also dissatisfied with the recognition accuracy of gesture recognizers. Furthermore, experimental results indicate that a user's difficulty with gestures is in part due to a lack of understanding of how gesture recognition works. The studies highlight the ability of users to learn and remember gestures as an important design consideration.
- Even when a mouse and keyboard are available, users may find it attractive to manipulate often-used applications while away from the keyboard, in what can be called a “casual interface” or “lean-back” posture. Browsing e-mail over morning coffee might be accomplished by mapping simple gestures to “next message” and “delete message”.
- Gestures can compensate for the limitations of the mouse when the display is several times larger than a typical display. In such a scenario, gestures can provide mechanisms to restore the ability to quickly reach any part of the display, where once a mouse was adequate with a small display. Similarly, in a multiple display scenario it is desirable to have a fast comfortable way to indicate a particular display. For example, the foreground object can be “bumped” to another display by gesturing in the direction of the target display.
- However, examples of perceptual user interfaces to date are dependent on significant limiting assumptions. One type of perceptual user interface utilizes color models that make certain assumptions about the color of an object. Proper operation of the system is dependent on proper lighting conditions and can be negatively impacted when the system is moved from one location to another as a result of changes in lighting conditions, or simply when the lighting conditions change in the room. Factors that impact performance include sun light versus artificial light, florescent light versus incandescent light, direct illumination versus indirect illumination, and the like. Additionally, most attempts to develop perceptual user interfaces require the user to wear specialized devices such as gloves, headsets, or close-talk microphones. The use of such devices is generally found to be distracting and intrusive for the user.
- Thus perceptual user interfaces have been slow to emerge. The reasons include heavy computational burdens, unreasonable calibration demands, required use of intrusive and distracting devices, and a general lack of robustness outside of specific laboratory conditions. For these and similar reasons, there has been little advancement in systems and methods for exploiting perceptual user interfaces. However, as the trend towards smaller, specialized electronic gadgets continues to grow, so does the need for alternate methods for interaction between the user and the electronic device. Many of these specialized devices are too small and the applications unsophisticated to utilize the traditional input keyboard and mouse devices. Examples of such devices include TabletPCs, Media center PCs, kiosks, hand held computers, home appliances, video games, and wall sized displays, along with many others. In these, and other applications, the perceptual user interface provides a significant advancement in computer control over traditional computer interaction modalities.
- In light of these findings, what is needed is to standardize a small set of easily learned gestures, the semantics of which are determined by application context. A small set of very simple gestures can offer significant bits of functionality where they are needed most. For example, dismissing a notification window can be accomplished by a quick gesture to the one side or the other, as in shooing a fly. Another example is gestures for “next” and “back” functionality found in web browsers, presentation programs (e.g., PowerPoint™) and other applications. Note that in many cases the surface forms of these various gestures can remain the same throughout these examples, while the semantics of the gestures depends on the application at hand. Providing a small set of standard gestures eases problems users have in recalling how gestures are performed, and also allows for simpler and more robust signal processing and recognition processes.
- The following presents a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is intended to neither identify key or critical elements of the invention nor delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented later.
- The present invention disclosed and claimed herein, in one aspect thereof; comprises a system for controlling a computer using gestures. The system includes a 3-D imaging system that performs gesture recognition and interpretation based on a previous mapping of a plurality of hand poses and orientations to user commands for a given user. When the user is identified to the system, the imaging system images gestures presented by the user, performs a lookup for the user command associated with the captured image(s), and executes the user command(s) to effect control of the computer, programs, and connected devices.
- In another aspect of the present invention, the system includes a wireless device worn by the person. The wireless device includes one or more sensors that measure at least velocity, acceleration, and orientation of the device. The corresponding signals are transmitted to a computer system, processed, and interpreted to determine an object at which the device is pointed and the action to be taken on the object. Once the signals have been interpreted, the computer is controlled to interact with the object, which object can be a device and/or system connected to the computer, and software running on the computer. In one application, the wireless device is used in a medical environment and worn on the head of a medical person allowing free use of the hands. Head movements facilitate control of the computer. In another multimodal approach, the person can also wear a wireless microphone to communicate voice signals to the computer separately or in combination with head movements for control thereof.
- In yet another aspect of the present invention, a multimodal approach can be employed such that a person uses the wireless device in combination with the imaging capabilities of the 3-D imaging system.
- In still another aspect of the present invention, the multimodal approach includes any combination of the 3-D imaging system, the wireless device, and vocalization to control the computer system and, hardware and software associated therewith. This approach finds application in a medical environment such as an operating room, for example.
- In another aspect of the present invention, an engagement volume is employed in a medical environment such that one or both hands of the medical person are free to engage the volume and control the computer system, during, for example, a patient operation. The volume is defined in space over the part of the patient undergoing the operation, and the hands of the medical person are used in the form of gestures to control the system for the presentation of medical information.
- In accordance with another aspect thereof, the present invention facilitates adapting the system to the particular preferences of an individual user. The system and method allow the user to tailor the system to recognize specific hand gestures and verbal commands and to associate these hand gestures and verbal commands with particular actions to be taken. This capability allows different users, which may prefer to make different motions for a given command, the ability to tailor the system in a way most efficient for their personal use. Similarly, different users can choose to use different verbal commands to perform the same function.
- In still another aspect of the present invention, the system employs a learning capability such that nuances of a user can be learned by the system and adapted to the user profile of gestures, vocalizations, etc.
- The following description and the annexed drawings set forth in detail certain illustrative aspects of the invention. These aspects are indicative, however, of but a few of the various ways in which the principles of the invention can be employed and the present invention is intended to include all such aspects and their equivalents. Other advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.
-
FIG. 1 illustrates a system block diagram of components of the present invention for controlling a computer and/or other hardware/software peripherals interfaced thereto. -
FIG. 2 illustrates a schematic block diagram of a perceptual user interface system, in accordance with an aspect of the present invention. -
FIG. 3 illustrates a flow diagram of a methodology for implementing a perceptual user interface system, in accordance with an aspect of the present invention. -
FIG. 4 illustrates a flow diagram of a methodology for determining the presence of moving objects within images, in accordance with an aspect of the present invention. -
FIG. 5 illustrates a flow diagram of a methodology for tracking a moving object within an image, in accordance with an aspect of the present invention. -
FIG. 6 illustrates a disparity between two video images captured by two video cameras mounted substantially parallel to each other for the purpose of determining the depth of objects, in accordance with an aspect of the present invention. -
FIG. 7 illustrates an example of the hand gestures that the system can recognize and the visual feedback provided through the display, in accordance with an aspect of the present invention. -
FIG. 8 illustrates an alternative embodiment wherein a unique icon is displayed in association with a name of a specific recognized command, in accordance with an aspect of the present invention. -
FIGS. 9A and 9B illustrate an engagement plane and volume of both single and multiple monitor implementations, in accordance with an aspect of the present invention. -
FIG. 10 illustrates a briefing room environment where gestures are utilized to control a screen projector via a computer system configured in accordance with an aspect of the present invention. -
FIG. 11 illustrates a block diagram of a computer system operable to execute the present invention. -
FIG. 12 illustrates a network implementation of the present invention. -
FIG. 13 illustrates a medical operating room system that uses the engagement volume in accordance with the present invention. -
FIG. 14 illustrates a medical operating room environment in which a computer control system with wireless control device is employed in accordance with the present invention. -
FIG. 15 illustrates a flowchart of a process from the perspective of the person for using the system ofFIG. 14 . -
FIG. 16 illustrates a flowchart of a process from the perspective of the system ofFIG. 14 . -
FIG. 17 illustrates a medical environment in which a 3-D imaging computer control system is employed to process hand (or body) gestures in accordance with the present invention. -
FIG. 18 illustrates a flowchart of a process from the perspective of the person for using the system ofFIG. 17 . -
FIG. 19 illustrates a flowchart of a process from the perspective of the system ofFIG. 17 . -
FIG. 20 illustrates a medical environment in which a 3-D imaging computer control system is employed with the remote control device to process hand (or body) gestures and control the system in accordance with the present invention. -
FIG. 21A illustrates a sample one-handed and two-handed gestures that can be used to control the operation computing system in accordance with the present invention. -
FIG. 21B illustrates an additional sample one-handed gestures and sequenced one-handed gestures that can be used to control the operation computing system in accordance with the present invention. -
FIG. 21C illustrates additional sample one-handed gestures that can be used to control the operation computing system in accordance with the present invention. -
FIG. 21D illustrates additional sample one-handed gestures used in combination with voice commands that can be used to control the operation computing system in accordance with the present invention. -
FIG. 21E illustrates additional sample one-handed gestures used in combination with voice commands and gaze signals that can be used to control the operation computing system in accordance with the present invention. -
FIG. 22 illustrates a flowchart of a process from the perspective of the system for controlling a computer system with a wireless control device. - As used in this application, the terms “component” and “system” are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
- The present invention relates to a system and methodology for implementing a perceptual user interface comprising alternative modalities for controlling computer programs and manipulating on-screen objects through hand gestures or a combination of hand gestures and/or verbal commands. A perceptual user interface system is provided that tracks hand movements and provides for the control of computer programs and manipulation of on-screen objects in response to hand gestures performed by the user. Similarly, the system provides for the control of computer programs and manipulation of on-screen objects in response to verbal commands spoken by the user. Further, the gestures and/or verbal commands can be tailored by a particular user to suit that user's personal preferences. The system operates in real time and is robust, light-weight and responsive. The system provides a relatively inexpensive capability for the recognition of hand gestures and verbal commands.
- Referring now to
FIG. 1 , there is illustrated a system block diagram of components of the present invention for controlling computer and/or other hardware/software peripherals interfaced thereto. Thesystem 100 includes atracking component 102 for detecting and tracking one or more objects 104 through image capture utilizing cameras (not shown) or other suitable conventional image-capture devices. The cameras operate to capture images of the object(s) 104 in a scene within the image capture capabilities of the cameras so that the images can be further processed to not only detect the presence of the object(s) 104, but also to detect and track object(s) movements. It is appreciated that in more robust implementations, object characteristics such as object features and object orientation can also be detected, tracked, and processed. The object(s) 104 of the present invention include basic hand movements created by one or more hands of a system user and/or other person selected for use with the disclosed system. However, in more robust system implementations, such objects can include many different types of objects with object characteristics, including hand gestures each of which have gesture characteristics including but not limited to, hand movement, finger count, finger orientation, hand rotation, hand orientation, and hand pose (e.g., opened, closed, and partially closed). - The
tracking component 102 interfaces to a control component 106 of thesystem 100 that controls all onboard component processes. The control component 106 interfaces to a seeding component 108 that seeds object hypotheses to the tracking component based upon the object characteristics. - The object(s) 104 are detected and tracked in the scene such that object characteristic data is processed according to predetermined criteria to associate the object characteristic data with commands for interacting with a
user interface component 110. Theuser interface component 110 interfaces to the control component 106 to receive control instructions that affect presentation of text, graphics, and other output (e.g., audio) provided to the user via theinterface component 110. The control instructions are communicated to theuser interface component 110 in response to the object characteristic data processed from detection and tracking of the object(s) within a predefinedengagement volume space 112 of the scene. - A filtering component 114 interfaces to the control component 106 to receive filtering criteria in accordance with user filter configuration data, and to process the filtering criteria such that tracked object(s) of respective object hypotheses are selectively removed from the object hypotheses and/or at least one hypothesis from a set of hypotheses within the
volume space 112 and the scene. Objects are detected and tracked either within thevolume space 112 or outside thevolume space 112. Those objects outside of thevolume space 112 are detected, tracked, and ignored, until entering thevolume space 112. - The
system 100 also receives user input via input port(s) 116 such as input from pointing devices, keyboards, interactive input mechanisms such as touch screens, and audio input devices. - The subject invention (e.g., in connection with object detection, tracking, and filtering) can employ various artificial intelligence based schemes for carrying out various aspects of the subject invention. For example, a process for determining which object is to be selected for tracking can be facilitated via an automatic classification system and process. Such classification can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to prognose or infer an action that a user desires to be automatically performed. For example, a support vector machine (SVM) classifier can be employed. Other classification approaches include Bayesian networks, decision trees, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein also is inclusive of statistical regression that is utilized to develop models of priority.
- As will be readily appreciated from the subject specification, the subject invention can employ classifiers that are explicitly trained (e.g., via a generic training data) as well as implicitly trained (e.g., via observing user behavior, receiving extrinsic information) so that the classifier(s) is used to automatically determine according to a predetermined criteria which object(s) should be selected for tracking and which objects that were being tracked are now removed from tracking. The criteria can include, but is not limited to, object characteristics such as object size, object speed, direction of movement, distance from one or both cameras, object orientation, object features, and object rotation. For example, with respect to SVM's which are well understood—it is to be appreciated that other classifier models can also be utilized such as Naive Bayes, Bayes Net, decision tree and other learning models—SVM's are configured via a learning or training phase within a classifier constructor and feature selection module. A classifier is a function that maps an input attribute vector, x=(x1, x2, x3, x4, . . . , xn), to a confidence that the input belongs to a class—that is, f(x)=confidence(class). In the case of object identification and tracking, for example, attributes include various sizes of the object, various orientations of the object, object colors, and the classes are categories or areas of interest (e.g., object type, and object pose).
- Referring now to
FIG. 2 , there is illustrated a schematic block diagram of a perceptual user interface system, in accordance with an aspect of the present invention. The system comprises acomputer 200 with atraditional keyboard 202, input pointing device (e.g., a mouse) 204, microphone 206, and display 208. The system further comprises at least onevideo camera 210, at least oneuser 212, and software 214. The exemplary system ofFIG. 2 is comprised of twovideo cameras 210 mounted substantially parallel to each other (that is, the rasters are parallel) and theuser 212. The first camera is used to detect depth of the object from the camera and track the object, and the second camera is used for determining at least the depth (or distance) of the object from the camera(s). Thecomputer 200 is operably connected to thekeyboard 202,mouse 204 and display 208.Video cameras 210 and microphone 206 are also operably connected tocomputer 200. Thevideo cameras 210 “look” towards theuser 212 and may point downward to capture objects within the volume defined above the keyboard and in front of the user.User 212 is typically an individual that is capable of providing hand gestures, holding objects in a hand, verbal commands, and mouse and/or keyboard input. The hand gestures and/or object(s) appear in video images created by thevideo cameras 210 and are interpreted by the software 214 as commands to be executed bycomputer 200. Similarly, microphone 206 receives verbal commands provided byuser 212, which are in turn, interpreted by software 214 and executed bycomputer 200.User 212 can control and operate various application programs on thecomputer 200 by providing a series of hand gestures or a combination of hand gestures, verbal commands, and mouse/keyboard input. The system can track any object presented in the scene in front or it. The depth information is used to “segment” the interacting object from the rest of the scene. The capability to exploit any sort of moving object in the scene is important at least with respect to accessibility scenarios. - In view of the foregoing structural and functional features described above, methodologies in accordance with various aspects of the present invention will be better appreciated with reference to
FIGS. 3-5 . While, for purposes of simplicity of explanation, the methodologies ofFIGS. 3-5 are shown and described as executing serially, it is to be understood and appreciated that the present invention is not limited by the illustrated order, as some aspects could, in accordance with the present invention, occur in different orders and/or concurrently with other aspects from that shown and described herein. Moreover, not all illustrated features may be required to implement a methodology in accordance with an aspect the present invention. - Accordingly,
FIG. 3 is a flow diagram that illustrates a high level methodology for detecting the user's hand, tracking movement of the hand and interpreting commands in accordance with an aspect of the invention. While, for purposes of simplicity of explanation, the methodologies shown here and below are described as a series of acts, it is to be understood and appreciated that the present invention is not limited by the order of acts, as some acts may, in accordance with the present invention, occur in different orders and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all illustrated acts may be required to implement a methodology in accordance with the present invention. - The methodology begins at 300 where video images are scanned to determine whether any moving objects exist within the field of view (or scene) of the cameras. The system is capable of running one or more object hypothesis models to detect and track objects, whether moving or not moving. In one embodiment, the system runs up to and including six object hypotheses. If more than one object is detected as a result of the multiple hypotheses, the system drops one of the objects if the distance from any other object falls below a threshold distance, for example, five inches. It is assumed that the two hypotheses are redundantly tracking the same object, and one of the hypotheses is removed from consideration. At 302, if NO, no moving object(s) have been detected, and flow returns to 300 where the system continues to scan the current image for moving objects. Alternatively, if YES, object movement has been detected, and flow continues from 302 to 304 where it is determined whether or not one or more moving objects are within the engagement volume. It is appreciated that the depth of the object may be determined before determination of whether the object is within the engagement volume.
- The engagement volume is defined as a volume of space in front of the video cameras and above the keyboard wherein the user is required to introduce the hand gestures (or object(s)) in order to utilize the system. A purpose of the engagement volume is to provide a means for ignoring all objects and/or gestures in motion except for those intended by the user to effect control of the computer. If a′ moving object is detected at 30Z but is determined not to be within the engagement volume, then the system dismisses the moving object as not being a desired object to track for providing commands. Flow then loops back to the input of 300 to scan for more objects. However, if the moving object is determined to be within the engagement volume, then the methodology proceeds to 306. However, new objects are seeded only when it is determined that the new object is a sufficient distance away from an existing object that is being tracked (in 3-D). At 306, the system determines the distance of each moving object from the video cameras. At 308, if more than one moving object is detected within the engagement volume, then the object closest to the video camera(s) is selected as the desired command object. If by the given application context the user is predisposed to use hand gestures towards the display, the nearest object hypotheses will apply to the hands. In other scenarios, more elaborate criteria for object selection may be used. For example, an application may select a particular object based upon its quality of movement over time. Additionally, a two-handed interaction application may select an object to the left of the dominant hand (for right handed users) as the non-dominant hand. The command object is the object that has been selected for tracking, the movements of which will be analyzed and interpreted for gesture commands. The command object is generally the user's dominant hand. Once the command object is selected, its movement is tracked, as indicated at 310.
- At 312, the system determines whether the command object is still within the engagement volume. If NO, the object has moved outside the engagement volume, and the system dismisses the object hypothesis and returns to 300 where the current image is processed for moving objects. If NO, the object is still within the engagement volume, and flow proceeds to 314. At 314, the system determines whether the object is still moving. If no movement is detected, flow is along the NO path returning to 300 to process the current camera images for moving objects. If however, movement is detected, then flow proceeds from 314 to 316. At 316, the system analyzes the movements of the command object to interpret the gestures for specific commands. At 318, it is determined whether the interpreted gesture is a recognized command. If NO, the movement is not interpreted as a recognized command, and flow returns to 310 to continue tracking the object. However, if the object movement is interpreted as a recognized command, flow is to 320 where the system executes the corresponding command. After execution thereof, flow returns to 310 to continue tracking the object. This process may continually execute to detect and interpret gestures.
- In accordance with an aspect of the invention, algorithms used to interpret gestures are kept to simple algorithms and are performed on sparse (“lightweight”) images to limit the computational overhead required to properly interpret and execute desired commands in real time. In accordance with another aspect of the invention, the system is able to exploit the presence of motion and depth to minimize computational requirements involved in determining objects that provide gesture commands.
- Referring now to
FIG. 4 , there is illustrated a flow diagram of a methodology for determining the presence of moving objects within video images created by one or more video sources, in accordance with an aspect of the present invention. The methodology exploits the notion that attention is often drawn to objects that move. At 400, video data is acquired from one or more video sources. Successive video images are selected from the same video source, and motion is detected by comparing a patch of a current video image, centered on a given location, to a patch from the previous video image centered on the same location. At 402, a video patch centered about a point located at (u1,v1), and (u2,v2) is selected from successive video images I1 and I2, respectively. A simple comparison function is utilized wherein the sum of the absolute differences (SAD) over square patches in two images is obtained. For a patch from image I1 centered on pixel location (u1,v1) and a patch in image I2 centered on (u2,v2), the image comparison function is defined as SAD(I1,u1,v1,I2,u2,v2) as: -
- where I(u,v) refers to the pixel at (u,v), D is the patch width, and the absolute difference between two pixels is the sum of the absolute differences taken over all available color channels. Regions in the image that have movement can be found by determining points (u,v) such that function SAD(It-1,ut-1,vt-1,It,ut, vt)>t, where the subscript refers to the image at time t, and is a threshold level for motion. At 404, a comparison is made between patches from image I1 and I2 using the sum of the absolute difference algorithm. At 406, the result of the sum of the absolute difference algorithm is compared to a threshold value to determine whether a threshold level of motion exists within the image patch. If SAD=t, no sufficient motion exists, and flow proceeds to 410. If at 406, SAD>t, then sufficient motion exists within the patch, and flow is to 408 where the object is designated for continued tracking. At 410, the system determines whether the current image patch is the last patch to be examined within the current image. If NO, the methodology returns to 402 where a new patch is selected. If YES, then the system returns to 400 to acquire a new video image from the video source.
- To reduce the computational load, the SAD algorithm is computed on a sparse regular grid within the image. In one embodiment, the sparse regular grid is based on sixteen pixel centers. When the motion detection methodology determines that an object has sufficient motion, then the system tracks the motion of the object. Again, in order to limit (or reduce) the computational load, a position prediction algorithm is used to predict the next position of the moving object. In one embodiment, the prediction algorithm is a Kalman filter. However, it is to be appreciated that any position prediction algorithm can be used.
- Note that the image operations may use the same SAD function on image patches, which allows for easy SIMD (Single-Instruction Multiple-Data, which architectures are essential in the parallel world of computers) optimization of the algorithm's implementation, which in turn allows it to run with sufficiently many trackers while still leaving CPU time to the user.
- The process of seeding process hypotheses based upon motion may place more than one hypothesis on a given moving object. One advantage of this multiple hypothesis approach is that a simple, fast, and imperfect tracking algorithm may be used. Thus if one tracker fails, another may be following the object of interest. Once a given tracker has been seeded, the algorithm updates the position of the object being followed using the same function over successive frames.
- Referring now to
FIG. 5 , there is illustrated a flow diagram of a methodology for tracking a moving object within an image, in accordance with an aspect of the present invention. The methodology begins at 500 where, after the motion detection methodology has identified the location of a moving object to be tracked, the next position of the object is predicted. Once identified, the methodology utilizes a prediction algorithm to predict the position of the object in successive frames. The prediction algorithm limits the computational burden on the system. In the successive frames, the moving object should be at the predicted location, or within a narrow range centered on the predicted location. At 502, the methodology selects a small pixel window (e.g., ten pixels) centered on the predicted location. Within this small window, an algorithm executes to determine the actual location of the moving object. At 504, the new position is determined by examining the sum of the absolute difference algorithm over successive video frames acquired at time t and time t−1. The actual location is determined by finding the location (ut, vt) that minimizes: -
SAD(It-1,ut-1,vt-1,It,ut,vt), - where It refers to the image at time t, It-1 refers to the image at time t−1, and where (ut, vt) refers to the location at time t. Once determined, the actual position is updated, at 506. At 508, motion characteristics are evaluated to determine whether the motion is still greater that the threshold level required. What is evaluated is not only the SAD image-based computation, but also movement of the object over time. The movement parameter is the average movement over a window of time. Thus if the user pauses the object or hand for a short duration of time, it may not be dropped from consideration. However, if the duration of time for the pause is still longer such that it exceeds a predetermined average time parameter, the object will be dropped. If YES, the motion is sufficient, and flow returns to 500 where a new prediction for the next position is determined. If NO the object motion is insufficient, and the given object is dropped from being tracked, as indicated by flow to 510. At 512, flow is to 430 of
FIG. 4 to select a new patch in the image from which to analyze motion. - When determining the depth information of an object (i.e., the distance from the object to the display or any other chosen reference point), a lightweight sparse stereo approach is utilized in accordance with an aspect of the invention. The sparse stereo approach is a region-based approach utilized to find the disparity at only locations in the image corresponding to the object hypothesis. Note that in the stereo matching process, it is assumed that both cameras are parallel (in rasters). Object hypotheses are supported by frame-to-frame tracking through time in one view and stereo matching across both views. A second calibration issue is the distance between the two cameras (i.e., the baseline), which must be considered to recover depth in real world coordinates. In practice, both calibration issues maybe dealt with automatically by fixing the cameras on a prefabricated mounting bracket or semi-automatically by the user presenting objects at a known depth in a calibration routine that requires a short period of time to complete. The accuracy of the transform to world coordinates is improved by accounting for lens distortion effects with a static, pre-computed calibration procedure for a given camera.
- Binocular disparity is the primary means for recovering depth information from two or more images taken from different viewpoints. Given the two-dimensional position of an object in two views, it is possible to compute the depth of the object. Given that the two cameras are mounted parallel to each other in the same horizontal plane, and given that the two cameras have a focal lengthy f, the three-dimensional position (x,y,z) of an object is computed from the positions of the object in both images (ut,vt) and (ur,vr) by the following perspective projection equations:
-
- where the disparity, d, is the shift in location of the object in one view with respect to the other, and is related to the baseline b, the distance between the two cameras.
- The vision algorithm performs 3-dimensional (3-D) tracking and 3-D depth computations. In this process, each object hypothesis is supported only by consistency of the object movement in 3-D. Unlike many conventional computer vision algorithms, the present invention does not rely on fragile appearance models such as skin color models or hand image templates, which are likely invalidated when environmental conditions change or the system is confronted with a different user.
- Referring now to
FIG. 6 , there is illustrated a disparity between two video images captured by two video cameras mounted substantially parallel to each other for the purpose of determining the depth of objects, in accordance with an aspect of the present invention. InFIG. 6 , a first camera 600 and a second camera 602 (similar to cameras 210) are mounted substantially parallel to each other in the same horizontal plane and laterally aligned. The two cameras (600 and 602) are separated by a distance 604 defined between the longitudinal focal axis of each camera lens, also known as the baseline, b. A first video image 606 is the video image from the first camera 600 and a second video image 608 is the video image from the second camera 602. The disparity d (also item number 610), or shift in the two video images (606 and 608), can be seen by looking to anobject 612 in the center of the first image 606, and comparing the location of thatobject 612 in the first image 606 to the location of thatsame object 612 in the second image 608. Thedisparity 610 is illustrated as the difference between a firstvertical centerline 614 of the first image 606 that intersects the center of theobject 612, and a secondvertical centerline 616 of the second image 688. In the first image 606, theobject 612 is centered about thevertical centerline 614 with the top of theobject 612 located at point (u,v). In the second image 508, the same point (u,v) of theobject 612 is located at point (u-d,v) in the second image 608, where d is thedisparity 610, or shift in the object from the first image 606 with respect to thesecond image 610. Given disparity d, a depth z can be determined. As will be discussed, in accordance with one aspect of the invention, the depth component z is used in part to determine if an object is within the engagement volume, where the engagement volume is the volume within which objects will be selected by the system. - In accordance with another aspect of the present invention, a sparse stereo approach is utilized in order to limit computational requirements. The sparse stereo approach is that which determines disparity d only at the locations in the image that corresponds to a moving object. For a given point (u,v) in the image, the value of disparity d is found such that the sum of the absolute differences over a patch in the first image 606 (i.e., a left image IL) centered on (u,v) and a corresponding patch in the second image 608 (i.e., a right image IR) centered on (u-d,v), is minimized, i.e., the disparity value d that minimizes SAD(It,u-d,v,Ir,u,v). If an estimate of depth z is available from a previous time, then in order to limit computational requirements, the search for the minimal disparity d is limited to a range consistent with the last known depth z.
- In accordance with another aspect of the invention, the search range may be further narrowed by use of an algorithm to predict the objects new location. In one embodiment, the prediction is accomplished by utilization of a Kalman filter.
- The depth z can also be computed using traditional triangulation techniques. The sparse stereo technique is used when the system operation involves detecting moving objects within a narrow range in front of the display, e.g., within twenty inches. In such cases, the two video cameras are mounted in parallel and can be separated by a distance equal to the approximate width of the display, or a even smaller distance that approximates a few inches. However, when the system is implemented in a larger configuration, the distance between the two video cameras may be much greater. In such cases, traditional triangulation algorithms are used to determine the depth.
- The foregoing discussion has focused on some details of the methodologies associated with locating and tracking an object to effect execution of corresponding and specified commands. An overview follows as to how these capabilities are implemented in one exemplary system.
- Referring now to
FIG. 7 , there is illustrated an example of gestures that the system recognizes, and further illustrates visual feedback provided to the system through the display. A user 700 gives commands by virtue of different hand gestures 702 and/or verbal commands 704. The gestures 702 are transmitted to a system computer (not shown) as part of the video images created by a pair of video cameras (706 and 708). Verbal and/or generally, audio commands, are input to the system computer through a microphone 710.Typical GUI windows 712, 714, and 716 are displayed in a layered presentation in an upper portion of display 718 while a lower portion of display 718 provides visual graphic feedback of in the form of icons 720, 722, 724, and 726 of some of the gestures 702 recognized by the system. - In one example, the hand icon 720 is displayed when a
corresponding gesture 728 is recognized. The name of the recognized command (Move) is also then displayed below the icon 720 to provide additional textual feedback to the user 700. Move and Raise commands may be recognized by dwelling on the window for a period of time. There is also a “flick” or “bump” command to send a window from one monitor to another monitor, in a multiple monitor configuration. This is controlled by moving the hand (or object) to the left or right, and is described in greater detail hereinbelow with respect toFIG. 9B . There are at least two ways to effect a Move; by speech recognition when voicing the word “Move”, or phrase “Move Window”, or any other associated voice command(s); and, by using the dwelling technique. It is appreciated that where more robust image capture and imaging processing systems are implemented, the pose of the hand may be mapped to any functionality, as described in greater detail below. Moreover, the shape of the hand icon may be changed in association with the captured hand pose to provide visual feedback to the user that the correct hand pose is being processed. However, as a basic implementation, the hand icon is positioned for selecting the window for interaction, or to move the window, or effect scrolling. - A Scroll command may be initiated first by voicing a corresponding command that is processed by speech recognition, and then using the hand (or object) to commence scrolling of the window by moving the hand (or object) up and down for the desired scroll direction.
- In another example, the single displayed hand icon 720 is presented for all recognized hand gestures 702, however, the corresponding specific command name is displayed below the icon 720. Here, the same hand icon 720 is displayed in accordance with four different hand gestures utilized to indicate four different commands: Move, Close, Raise, and Scroll.
- In still another aspect of the present invention, a different hand shaped icon is used for each specific command and the name of the command is optionally displayed below the command. In yet another embodiment, audio confirmation is provided by the computer, in addition to the displayed icon and optional command name displayed below the icon.
- As previously mentioned,
FIG. 7 illustrates the embodiment where a single hand shaped icon 720 is used, and the corresponding command recognized by the system is displayed below the icon 720. For example, when the system recognizes, either by virtue of gestures (with hand and/or object) and or verbal commands, the command to move a window, the icon 720 and corresponding command word “MOVE” are displayed by the display 718. Similarly, when the system recognizes a command to close a window, the icon 720 and corresponding command word “CLOSE” may be displayed by the display 718. Additional examples include, but are not limited to, displaying the icon 720 and corresponding command word “RAISE” when the system recognizes a hand gesture to bring a GUI window forward. When the system recognizes a hand gesture corresponding to a scroll command for scrolling a GUI window, the icon 720 and command word “SCROLL” are displayed by the display 718. - It is to be appreciated that the disclosed system may be configured to display any number and type of graphical icons in response to one or more hand gestures presented by the system user. Additionally, audio feedback may be used such that a beep or tone may be presented in addition to or in lieu of the graphical feedback. Furthermore the graphical icon may be used to provide feedback in the form of a color, combination of colors, and/or flashing color or colors. Feedback may also be provided by flashing a border of the selected window, the border in the direction of movement. For example, if the window is to be moved to the right, the right window border could be flashed to indicate the selected direction of window movement. In addition to or separate from, a corresponding tone frequency or any other associated sound may be emitted to indicate direction of movement, e.g., an upward movement would have and associated high pitch and a downward movement would have a low pitch. Still further, rotational aspects may be provided such that movement to the left effects a counterclockwise rotation of a move icon, or perhaps a leftward tilt in the GUI window in the direction of movement.
- Referring now to
FIG. 8 , there is illustrated an alternative embodiment wherein a unique icon is displayed in association with a name of a specific recognized command, in accordance with an aspect of the present invention. Here, each icon-word pair is unique for each recognized command. Icon-word pairs 800, 802, 804, and 806 for the respective commands “MOVE”, “CLOSE”, “RAISE”, and “SCROLL”, are examples of visual feedback capabilities that can be provided. - The system is capable of interpreting commands based on interpreting hand gestures, verbal commands, or both in combination. A hand is identified as a moving object by the motion detection algorithms and the hand movement is tracked and interpreted. In accordance with one aspect of the invention, hand gestures and verbal commands are used cooperatively. Speech recognition is performed using suitable voice recognition applications, for example, Microsoft SAPI 5.1, with a simple command and control grammar. However, it is understood that any similar speech recognition system can be used. An inexpensive microphone is placed near the display to receive audio input. However, the microphone can be placed at any location insofar as audio signals can be received thereinto and processed by the system.
- Following is an example of functionality that is achieved by combining hand gesture and verbal modalities. Interaction with the system can be initiated by a user moving a hand across an engagement plane and into an engagement volume.
- Referring now to
FIG. 9A , there is illustrated the engagement plane and engagement volume for a single monitor system of the present invention. A user 900 is located generally in front of adisplay 902, which is also within the imaging capabilities of a pair of cameras (906 and 908). A microphone 904 (similar to microphones 206 and 710) is suitably located such that user voice signals are input for processing, e.g., in front of thedisplay 902. The cameras (906 and 908, similar tocameras 200 and, 706 and 708) are mounted substantially parallel to each other and on a horizontal plane above thedisplay 902. The two video cameras (906 and 908) are separated by a distance that provides optimum detection and tracking for the given cameras and the engagement volume. However, it is to be appreciated that cameras suitable for wider fields of view, higher resolution, may be placed further apart on a plane different from the top of thedisplay 902, for example, lower and along the sides of the display facing upwards, to capture gesture images for processing in accordance with novel aspects of the present invention. In accordance therewith, more robust image processing capabilities and hypothesis engines can be employed in the system to process greater amounts of data. - Between the
display 902 and the user 900 is a volume 910 defined as the engagement volume. The system detects and tracks objects inside and outside of the volume 910 to determine the depth of one or more objects with respect to the engagement volume 910. However, those objects determined to be of a depth that is outside of the volume 910 will be ignored. As mentioned hereinabove, the engagement volume 910 is typically defined to be located where the bands and/or objects in the hands of the user 900 are most typically situated, i.e., above a keyboard of the computer system and in front of the cameras (906 and 908) between the user 900 and the display 902 (provided the user 900 is seated in front of the display on which the cameras (906 and 908) are located). However, is it appreciated that the user 900 may be standing while controlling the computer, which requires that the volume 910 be located accordingly to facilitate interface interaction. Furthermore, the objects may include not only the hand(s) of the user, or objects in the hand(s), but other parts of the body, such as head, torso movement, arms, or any other detectable objects. This is described in greater detail hereinbelow. - A
plane 912 defines a face of the volume 910 that is closest to the user 900, and is called the engagement plane. The user 900 may effect control of the system by moving a hand (or object) through theengagement plane 912 and into the engagement volume 910. However, as noted above, the hand of the user 900 is detected and tracked even when outside the engagement volume 910. However, it would be ignored when outside of the engagement volume 910 insofar as control of the computer is concerned. When the object is moved across theengagement plane 912, feedback is provided to the user in the form of displaying an alpha-blended icon on the display (e.g., an operating system desktop). The icon is designed to be perceived as distinct from other desktop icons and may be viewed as an area cursor. Theengagement plane 912 is positioned such that the user's hands do not enter it during normal use of the keyboard and mouse. When the system engages the hand or object, the corresponding hand icon displayed on the desktop is moved to reflect the position of the tracked object (or hand). - The engagement and acquisition of the moving hand (or object) is implemented in the lightweight sparse stereo system by looking for the object with a depth that is less than a predetermined distance value. Any such object will be considered the command object until it is moved out of the engagement volume 910, for example, behind the
engagement plane 912, or until the hand (or object) is otherwise removed from being a tracked object. In one example, the specified distance is twenty inches. - In operation, the user 900 moves a hand through the
engagement plane 912 and into the engagement volume 910 established for the system. The system detects the hand, tracks the hand as the hand moves from outside of the volume 910 to the inside, and provides feedback by displaying a corresponding hand shaped icon on thedisplay 902. Theopen microphone 904 placed near thedisplay 902 provides means for the user 900 to invoke one or more verbal commands in order to act upon the selected window under the icon. The window directly underneath the hand shaped icon is the selected window. When a spoken and/or audio command is input to and understood by the system, the interpreted command is displayed along with the hand shaped icon. For example, in one embodiment, by speaking the word “Move”, the user may initiate the continuous (or stepped) movement of the window under the hand shaped icon to follow the movement of the user's hand. The user 900 causes the selected window to move up or down within thedisplay 902 by moving the hand up or down. Lateral motion is also similarly achieved. Movement of the window is terminated when the user hand is moved across theengagement plane 912 and out of the engagement volume 910. Other methods of termination include stopping movement of the hand (or object) for an extended period of time, which is processed by the system as a command to drop the associated hypothesis. Furthermore, as described hereinabove, the Move command may be invoked by dwelling the hand on the window for a period of time, followed by hand motion to initiate the direction of window movement. - Alternatively, the user may speak the word “Release” and the system will stop moving the selected window in response to the user's hand motion. Release may also be accomplished by dwelling a bit longer in time while in Move, and/or Scroll modes. The user 900 may also act upon a selected window with other actions. By speaking the words, “Close”, “Minimize”, or “Maximize” the selected window is respectively closed, minimized or maximized. By speaking the word “Raise”, the selected window is brought to the foreground, and by speaking “Send to Back”, the selected window is sent behind (to the background) all other open windows. By speaking “Scroll”, the user initiates a scrolling mode on the selected window. The user may control the rate of the scroll by the position of the hand. The hand shaped icon tracks the user's hand position, and the rate of the scrolling of the selected window is proportional to the distance between the current hand icon position and the position of the hand icon at the time the scrolling is initiated. Scrolling can be terminated by the user speaking “Release” or by the user moving their hand behind the engagement plane and out of the engagement volume. These are just a few examples of the voice recognition perceptual computer control capabilities of the disclosed architecture. It is to be appreciated that these voiced commands may also be programmed for execution in response to one or more object movements in accordance with the present invention.
- In accordance with another aspect of the invention, dwell time can be used as a modality to control windows in lieu of, or in addition to, verbal commands and other disclosed modalities. Dwell time is defined as the time, after having engaged the system, that the user holds their hand position stationary such that the system hand shaped icon remains over a particular window. For example, by dwelling on a selected window for a short period of time (e.g., two seconds), the system can bring the window to the foreground of all other open windows (i.e., a RAISE command). Similarly, by dwelling a short time longer (e.g., four seconds), the system will grab (or select for dragging) the window, and the user causes the selected window to move up or down within the display by moving a hand up or down (i.e., a MOVE command). Lateral motion is also similarly achieved. Additional control over GUI windows can be accomplished in a similar fashion by controlling the dwell time of the hand shaped icon over the open window.
- In accordance with a more robust aspect of the invention, hand gestures are interpreted by hand motion or by pattern recognition. For example, the user can bring the window to the front (or foreground), on top of all other open windows by moving a hand from a position closer to the display to position farther from the display, the hand remaining in the engagement volume 910. The use of 3-D imaging is described in greater detail hereinbelow. Similarly, the user can cause the selected window to be grabbed and moved by bringing fingers together with their thumb, and subsequently moving the hand. The selected window will move in relation to the user hand movement until the hand is opened up to release the selected window. Additional control over the selected window can be defined in response to particular hand movements or hand gestures. In accordance with another aspect of the present invention, the selected window will move in response to the user pointing their hand, thumb, or finger in a particular direction. For example, if the user points their index finger to right, the window will move to the right within the display. Similarly, if the user points to the left, up, or down the selected window will move to the left, up or down within the display, respectively. Additional window controls can be achieved through the use of similar hand gestures or motions.
- In accordance with another aspect of the invention, the system is configurable such that an individual user selects the particular hand gestures that they wish to associate with particular commands. The system provides default settings that map a given set of gestures to a given set of commands. This mapping, however, is configurable such that the specific command executed in response to each particular hand gesture is definable by each user. For example, one user may wish to point directly at the screen with their index finger to grab the selected window for movement while another user may wish to bring their fingers together with their thumb to grab the selected window. Similarly, one user may wish to point a group of fingers up or down in order to move a selected window up or down, while another user may wish to open the palm of their hand toward the cameras and then move their opened hand up or down to move a selected window up or down. All given gestures and commands are configurable by the individual users to best suit that particular user's individual personal preferences.
- Similarly, in accordance with another aspect of the present invention, the system may include a “Record and Define Gesture” mode. In the “Record and Define Gesture” mode, the system records hand gestures performed by the user. The recorded gestures are then stored in the system memory to be recognized during normal operation. The given hand gestures are then associated with a particular command to be performed by the system in response to that particular hand gesture. With such capability, a user may further tailor the system to their personal preference or, similarly, may tailor system operation to respond to specific commands most appropriate for particular applications.
- In a similar fashion, the user can choose the particular words, from a given set, they wish to use for a particular command. For example, one user may choose to say “Release” to stop moving a window while another may wish to say, “Quit”. This capability allows different users, which may prefer to use different words for a given command, the ability to tailor the system in a way most efficient for their personal use.
- The present invention can be utilized in an expansive list of applications. The following discussion is exemplary of only a few applications with which the present invention may be utilized. One such application is associated with user control of a presentation, or similar type of briefing application, wherein the user makes a presentation on a projection type screen to a group of listeners.
- Referring now to
FIG. 9B , there is illustrated a multiple monitor implementation. Here, the system includes three monitors (or displays) through which the user 900 exercises control of 001 features; afirst display 912, a second display 914, and a third display 916. The cameras (906 and 908) are similarly situated as inFIG. 9A , to define the engagement volume 910. By utilizing the “flick” or “bump” motion(s) as performed by a hand 918 of the user 900, the user 900 can move a window 920 from thefirst display 912 to the second display 914, and further from the second display 914 to the third display 916. The flick motion of the user hand 918 can effect movement of the window 920 from thefirst display 912 to the third display 916 in a single window movement, or in multiple steps through the displays (914 and 916) using corresponding multiple band motions. Of course, control by the user 900 occurs only when the user hand 918 breaks theengagement plane 912, and is determined to be a control object (i.e., an object meeting parameters sufficient to effect control of the computer). - As mentioned hereinabove, the user 900 is located generally in front of the displays (912, 914, and 916), which is also within the imaging capabilities of the pair of cameras (906 and 908). The
microphone 904 is suitably located to receive user voice signals. The cameras (906 and 908) are mounted substantially parallel to each other and on a horizontal plane above the displays (912, 914, and 916), and separated by a distance that provides optimum detection and tracking for the given cameras and the engagement volume 910. - In operation, the user 900 moves the hand 918 through the
engagement plane 912 and into the engagement volume 910 established for the system. The system, which had detected and tracked the hand 918 before it entered thevolume 912, begins providing feedback to the user 900 by displaying the band shaped icon 922 on one of the displays (912, 914, and 916). Themicrophone 904 provides additional means for the user 900 to invoke one or more verbal commands in order to act upon the selected window 920 under the corresponding icon 922. The window 920 directly underneath the hand shaped icon is the selected window. When the user hand 918 enters the volume 910, it is recognized as a control object. The corresponding icon 922 is presented by the system on thecomputer display 912. By dwelling a predetermined amount of time, the associated window is assigned for control. The user 900 causes the selected window to move up or down within the display by invoking the ‘Move’ command as explained above and then moving the hand up or down, or to move across one or more of the monitors (914 and 916) by invoking the ‘Flick’ command and then using the flick band motion. Of course, if the second display 914 was the initial point of control, the user 900 can cause the window 920 to be moved left to thefirst display 912, or right to the third display 916. Movement of the window is terminated (or “released”) when the user hand dwells for a time longer than a predetermined dwell time, or out of the engagement volume 910. - Alternatively, the user may speak the word “Release” and the system will stop moving the selected window in response to the user's hand motion. Release may also be accomplished by dwelling a bit while in Move, and/or Scroll modes. The user may also act upon a selected window with other actions. By speaking the words, “Close”, “Minimize”, or “Maximize” the selected window is respectively closed, minimized or maximized. By speaking the word “Raise”, the selected window is brought to the foreground, and by speaking “Send to Back”, the selected window is sent behind (to the background) all other open windows. By speaking “Scroll”, the user initiates a scrolling mode on the selected window. The user may control the rate of the scroll by the position of the hand. The hand shaped icon tracks the user's hand position, and the rate of the scrolling of the selected window is proportional to the distance between the current hand icon position and the position of the hand icon at the time the scrolling is initialed. Scrolling can be terminated by the user speaking “Release” or by the user moving their hand behind the engagement plane and out of the engagement volume. These are just a few examples of the voice recognition perceptual computer control capabilities of the disclosed architecture.
- Referring now to
FIG. 10 , there is illustrated a briefing room environment where voice and/or gestures are utilized to control a screen projector via a computer system configured in accordance with an aspect of the present invention. Thebriefing room 1000 comprises a large briefing table 1002 surrounded on three sides bynumerous chairs 1004, acomputer 1006, avideo projector 1008, and aprojector screen 1010. Utilization of the present invention adds additional elements comprising the disclosedperceptual software 1012, two video cameras (1014 and 1016) and amicrophone 1018. In this application, a user 1020 is positioned between theprojector screen 1010 and briefing table 1002 at which the audience is seated. Atop face 1022 of an engagement volume 1024 is defined by rectangular area 1026. Similarly, a front surface indicated at 1028 represents an engagement plane. - As the user gives the presentation, the user controls the content displayed on the
projection screen 1010 and advancement of the slides (or presentation images) by moving their hand(s) through theengagement plane 1028 into the engagement volume 1024, and/or speaking commands recognizable by the system. Once inside the engagement volume 1024, a simple gesture is made to advance to the next slide, back-up to a previous slide, initiate an embedded video, or to effect one of a number of many other presentation capabilities. - A similar capability can be implemented for a home media center wherein the user can change selected video sources, change channels, control volume, advance chapter and other similar functions by moving their hand across an engagement plane into an engagement volume and subsequently performing the appropriate hand gesture. Additional applications include perceptual interfaces for TabletPCs, Media center PCs, kiosks, hand held computers, home appliances, video games, and wall sized displays, along with many others.
- It is appreciated that in more robust implementations, instead of the engagement volume being fixed at a position associated with the location of the cameras that requires the presenter to operate according to the location of the engagement volume, the system can be configured such that the engagement volume travels with the user (in a “roaming” mode) as the user moves about the room. Thus, the cameras would be mounted on a platform that rotates such that the rotation maintains the cameras substantially equidistant from the presenter. The presenter may carry a sensor (e.g., an RFID tag) that allows the system to sense or track the general location of the presenter. The system would then affect rotation of the camera mount to “point” the cameras at the presenter. In response thereto, the engagement volume may be extended to the presenter allowing control of the computer system as the presenter moves about. The process of “extending” the engagement volume can include increasing the depth of the volume such that the engagement plane surface moves to the presenter, or by maintaining the volume dimensions, but moving the fixed volume to the presenter. This would require on-the-fly focal adjustment of the cameras to track quick movements in the depth of objects in the volume, but also the movement of the presenter.
- Another method of triggering system attention in this mode would be to execute a predefined gesture that is not likely to be made unintentionally, e.g., raising a hand.
- It is also appreciated that the system is configurable for individual preferences such that the engagement volume of a first user may be different from the volume of a second user. For example, in accordance with a user login, or other unique user information, the user preferences may be retrieved and implemented automatically by the system. This can include automatically elevating the mounted cameras for a taller person by using a telescoping camera stand so that the cameras are at the appropriate height of the particular user, whether sitting or standing. This also includes, but is not limited to, setting the system for “roaming” mode.
- Referring now to
FIG. 11 , there is illustrated a block diagram of a computer operable to execute the present invention. In order to provide additional context for various aspects of the present invention,FIG. 11 and the following discussion are intended to provide a brief, general description of a suitable computing environment 1100 in which the various aspects of the present invention may be implemented. While the invention has been described above in the general context of computer-executable instructions that may run on one or more computers, those skilled in the art will recognize that the invention also may be implemented in combination with other program modules and/or as a combination of hardware and software. Generally, program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover; those skilled in the art will appreciate that the inventive methods may be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which may be operatively coupled to one or more associated devices. The illustrated aspects of the invention may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. - A computer typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media can comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
- With reference again to
FIG. 11 , the exemplary environment 1100 for implementing various aspects of the invention includes a computer 1102, the computer 1102 including a processing unit 1104, asystem memory 1106, and a system bus 1108. The system bus 1108 couples system components including, but not limited to thesystem memory 1106 to the processing unit 1104. The processing unit 1104 may be any of various commercially available processors. Dual microprocessors and other multi processor architectures also can be employed as the processing unit 1104. - The system bus 1108 can be any of several types of bus structure including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The
system memory 1106 includes read only memory (ROM) 1110 and random access memory (RAM) 1112. A basic input/output system (BIOS), containing the basic routines that help to transfer information between elements within the computer 1102, such as during start-up, is stored in theROM 1110. - The computer 1102 further includes a hard disk drive 1114, a
magnetic disk drive 1116, (e.g., to read from or write to a removable disk 1118) and anoptical disk drive 1120, (e.g., reading a CD-ROM disk 1122 or to read from or write to other optical media). The hard disk drive 1114,magnetic disk drive 1116 andoptical disk drive 1120 can be connected to the system bus 1108 by a harddisk drive interface 1124, a magneticdisk drive interface 1126 and anoptical drive interface 1128, respectively. The drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. For the computer 1102, the drives and media accommodate the storage of broadcast programming in a suitable digital format. Although the description of computer-readable media above refers to a hard disk, a removable magnetic disk and a CD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as zip drives, magnetic cassettes, flash memory cards, digital video disks, cartridges, and the like, may also be used in the exemplary operating environment, and further that any such media may contain computer-executable instructions for performing the methods of the present invention. - A number of program modules can be stored in the drives and RAM 1112, including an
operating system 1130, one ormore application programs 1132,other program modules 1134 andprogram data 1136. It is appreciated that the present invention can be implemented with various commercially available operating systems or combinations of operating systems. - A user can enter commands and information into the computer 1102 through a
keyboard 1138 and a pointing device, such as amouse 1140. Other input devices (not shown) may include one or more video cameras, one or microphones, an IR remote control, a joystick, a game pad, a satellite dish, a scanner, or the like. These and other input devices are often connected to the processing unit 1104 through a serial port interface 1142 that is coupled to the system bus 1108, but may be connected by other interfaces, such as a parallel port, a game port, an IEEE 1394 serial port, a universal serial bus (“USB”), an IR interface, etc. Amonitor 1144 or other type of display device is also connected to the system bus 1108 via an interface, such as avideo adapter 1146. In addition to themonitor 1144, a computer typically includes other peripheral output devices (not shown), such as speakers, printers etc. - The computer 1102 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer(s) 1148. The remote computer(s) 1148 may be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 1102, although, for purposes of brevity, only a
memory storage device 1150 is illustrated. The logical connections depicted include a LAN 1152 and aWAN 1154. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. - When used in a LAN networking environment, the computer 1102 is connected to the local network 1152 through a network interface or
adapter 1156. When used in a WAN networking environment, the computer 1102 typically includes amodem 1158, or is connected to a communications server on the LAN, or has other means for establishing communications over theWAN 1154, such as the Internet. Themodem 1158, which may be internal or external, is connected to the system bus 1108 via the serial port interface 1142. In a networked environment, program modules depicted relative to the computer 1102, or portions thereof, may be stored in the remotememory storage device 1150. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. - Further, a camera 1160 (such as a digital/electronic still or video camera, or film/photographic scanner) capable of capturing a sequence of
images 1162 can also be included as an input device to the computer 1102. While just onecamera 1160 is depicted,multiple cameras 1160 could be included as input devices to the computer 1102. Theimages 1162 from the one ormore cameras 1160 are input into the computer 1102 via anappropriate camera interface 1164. Thisinterface 1164 is connected to the system bus 1108, thereby allowing theimages 1162 to be routed to and stored in the RAM 1112, or one of the other data storage devices associated with the computer 1102. However, it is noted that image data can be input into the computer 1102 from any of the aforementioned computer-readable media as well, without requiring the use of thecamera 1160. - Referring now to
FIG. 12 , there is illustrated anetwork implementation 1200 of the present invention. Theimplementation 1200 includes a firstperceptual system 1202 and a secondperceptual system 1204, both operational according to the disclosed invention. Thefirst system 1202 includes cameras 1206 (also denoted C1 and C2) mounted on a rotational andtelescoping camera mount 1208. Afirst user 1210 located generally in front of thefirst system 1202 effects control of a GUI Content A of thefirst system 1202 in accordance with the novel aspects of the present invention by introducing hand gestures into anengagement volume 1211 and/or voice signals via a microphone. Thefirst user 1210 may roam about in front of thecameras 1206 in accordance with the “roaming” operational mode described previously, or may be seated in front of thecameras 1206. Thesecond system 1204 includes cameras 1212 (also denoted C3 and C4) mounted on a rotational andtelescoping camera mount 1214. Asecond user 1216 located generally in front of thesecond system 1204 effects control of a GUI Content B of thesecond system 1204 in accordance with the novel aspects of the present invention by introducing hand gestures into anengagement volume 1217 and/or voice signals using a microphone. Thesecond user 1216 may roam about in front of thecameras 1212 in accordance with the “roaming” operational mode described previously, or may be seated in front of thecameras 1212. - The first and second systems (1202 and 1204) may be networked in a conventional wired or
wireless network 1207 peer configuration (or bus configuration by using a hub 1215). Thisparticular system 1200 is employed to present both Content A and Content B via a single large monitor ordisplay 1218. Thus themonitor 1218 can be driven by either of the systems (1202 and 1204), as can be provided by conventional dual-output video graphics cards, or the separate video information may be transmitted to a thirdmonitor control system 1220 to present the content. Such an implementation finds application where a side-by-side comparison of product features is being presented, or other similar applications where two or more users may desire to interact. Thus, Content A and Content B can be presented on a split screen layout of themonitor 1218. Either or both users (1210 and 1216) can also provide keyboard and/or mouse input to facilitate control according to the present invention. - Referring now to
FIG. 13 , there is illustrated a medicaloperating room system 1300 that uses the engagement volume in accordance with the present invention. An operating room 1302 includes an operating table 1304 on which apatient 1305 is placed. A doctor (or medical person) 1306 is positioned to one side of the table 1304 in order to effectively operate on thepatient 1305. However, it is to be appreciated that themedical person 1306 may be required to move around the table 1304 and operate from various positions and angles. - The
operating room system 1300 also includes anoperation computer system 1308 used by themedical person 1306 to facilitate the operation. In this particular embodiment, theoperation computer system 1308 comprises three computer systems: afirst computer system 1310, asecond computer system 1312, and athird computer system 1314. Thefirst system 1310 includes a first monitor (or display) 1316, thesecond system 1312 includes asecond display 1318, and thethird system 1314 includes athird display 1320. Medical information related to thepatient 1305 can be displayed on the any one or more of the monitors (1316, 1318 and 1320) before, during, and/or after the operation. Note that the computer and displays can be oriented or positioned in any manner suitable for easy use and viewing by operating room personnel. - The
operation computing system 1308 also includes at least a pair ofcameras 1322 suitably designed for capturing images of at least the hands, arms, head, and general upper torso appendage positions, to the level of hand and finger positions of themedical person 1306. Thecameras 1322 can be connected to a single computer system for the input of image data, and thereafter, the image data distributed among the computing systems (1310, 1312, and 1314) for processing. The three computer systems (1310, 1312, and 1314) are networked on awired network 1324, which network 1324 can connect to a larger hospital or facility-wide network, for example. Note that it is not required to have three computer systems. Alternatively, in such environments where thenetwork 1324 can present a bottleneck to such data transfers, a gigabit or faster network can be employed internally and locally for high-speed communication of the image data between the computer systems (1310, 1312, and 1314) or to a fourth computer system (not shown) on the local high-speed network that can more efficiently and quickly process and present the image data to any one or more of the displays (1316, 1318, and 1320). The disclosed invention is not restricted to more computers or fewer computers. This is to indicate that the system can employ a plurality of computers for presenting the same information from multiple perspectives (as could be beneficial in an operating room environment), and different information from each system, for example. - In one implementation, the
operation computing system 1308 develops an engagement volume 1326 above the operating table 1304, which volume envelops part or all the operation area ofpatient 1305. Thus, the table 1304,patient 1305, and volume 1326 are all at a height suitable for operation such that the hands of themedical person 1306 can engage the volume 1326 at an appropriate height to be detected and tracked by thecomputing system 1308. Hand gestures of themedical person 1306 are then imaged, tracked, and processed, as described hereinabove, and more specifically, with respect toFIG. 9 , to facilitate controlling the presentation of information on one or more of the displays (1316, 1318, and 1320) via associated computing systems, as this can also entail audio I/O. In support of voice commands, themedical person 1306 can be outfitted with a wireless portable microphone system 1328 that includes a power supply, microphone, and transmitter for communicating wirelessly with a computerwireless transceiver system 1330 of theoperation computer system 1308. Thus, voice commands alone or in combination with hand gestures can be used to facilitate the operation. - Referring now to
FIG. 14 , there is illustrated a medicaloperating room environment 1400 in which acomputer control system 1404 with awireless control device 1404 is employed. Thesystem 1404 also includes the use of thewireless control device 1404 for control thereof. Here, the engagement volume ofFIG. 13 is no longer required or used only marginally. Continuing with the operating room implementation, themedical person 1306 uses the wireless remote control user interface (UI) device 1404 (hereinafter referred to as a “wand”) to facilitate control of theoperation computer system 1308. Thewand 1404 can be positioned on aheadpiece 1406 worn by themedical person 1306 to provide the free use of hands during the procedure. Thewand 1404 is oriented in parallel with the line of sight (or also called, “gaze”) of theperson 1306 such that when the person's line of sight is to thesystem 1308, this is detected as an interaction to be processes by thesystem 1308. All theperson 1306 needs to do is perform head movements to facilitate control of theoperation computing system 1308. Thewand 1404 includes one or more sensors the outputs of which are transmitted to thetransceiver system 1330 and forwarded to theoperation computing system 1308 for processing. Thewand 1404 and associated computing system and imaging capabilities are described in the following pending U.S. patent application Ser. No. 10/160,692, entitled “A SYSTEM AND PROCESS FOR SELECTING OBJECTS IN A UBIQUITOUS COMPUTING ENVIRONMENT,” filed May 31, 2002, and Ser. No. 10/160,659, entitled “A SYSTEM AND PROCESS FOR CONTROLLING ELECTRONIC COMPONENTS IN A UBIQUITOUS COMPUTING ENVIRONMENT USING MULTIMODAL INTEGRATION,” filed May 31, 2002, both of which are hereby incorporated by reference. - In general, the
system 1402 includes theaforementioned wand 1404 in the form of the wireless radio frequency (RF) pointer, which includes an RF transceiver and various orientation sensors. The outputs of the sensors are periodically packaged as orientation signals and transmitted using the RF transceiver to thecomputer transceiver 1330, which also has a RF transceiver to receive the orientation messages transmitted by thewand 1404. The orientation signals of thewand 1404 are forwarded to thecomputer system 1308. Thecomputer system 1308 is employed to compute the orientation and location of thewand 1404 using the orientation signals, as are images of thewand 1404 captured by thecameras 1322. The orientation and location of thewand 1404 is in turn used to determine if thewand 1404 is being pointed at an object in theoperating room environment 1400 that is controllable by thecomputer system 1308 via thenetwork 1324, such as one of the displays (1316, 1318, or 1320). If so, the object is selected. - The
wand 1404 specifically includes a case having a shape with a defined pointing end, a microcontroller, the aforementioned RF transceiver and orientation sensors which are connected to the microcontroller, and a power supply (e.g., batteries) for powering these electronic components. The orientation sensors of thewand 1404 include at least, an accelerometer, which provides separate x-axis and y-axis orientation signals, and a magnetometer, which provides separate tri-axial measurements (x-axis, y-axis, and z-axis) orientation signals. These electronics are housed in a case that resembles a handheld wand. However, the packaging can be of any form factor such that the functionality of thewand 1404 can be used for the particular purpose. - As indicated previously, the orientation signals generated by the
wand 1404 include the outputs of the sensors. To this end, the wand microcontroller periodically reads and stores the outputs of the orientation sensors. Whenever a request for an orientation signal is received (or it is time to generate such a signal if the pointer is programmed to do so without a request), the microcontroller includes the last-read outputs from the accelerometer and magnetometer in the orientation signal. - The
wand 1404 also includes other electronic components such as a user activated switch or button, and a series of light emitting diodes (LEDs). The user-activated switch, which is also connected to the microcontroller, is employed for the purpose of instructing the computer to implement a particular function, such as will be described later. To this end, the state of the switch in regard to whether it is activated or deactivated at the time an orientation message is packaged is included in that message for transmission to the computer. The series of LEDs includes a pair of differently colored, visible spectrum LEDs, which are connected to the microcontroller, and which are visible from the outside of the pointer's case when lit. These LEDs are used to provide status or feedback information to the user, and are controlled via instructions transmitted to the pointer by the computer. - However, as will be described in greater detail hereinbelow, since the
wand 1404 includes at least one motion sensor, the user activated switch can be implemented in an alternative manner using hands-free control thereof via heed movements, for example, or a combination of voice activation, and/or head movement, just to name a few. - The foregoing
system 1402 is utilized to select an object by having the user simply point to the object or feature with thewand 1404. This entails thecomputer system 1308 first receiving the orientation signals transmitted by thewand 1404. For each message received, thecomputer 1308 derives the orientation of thewand 1404 in relation to a predefined coordinate system of the environment in which thewand 1404 is operating using the orientation sensor readings contained in the message. In addition, the video output from thevideo cameras 1322 is used to ascertain the location of thewand 1404 at a time substantially contemporaneous with the generation of the orientation signals and in terms of the predefined coordinate system. Once the orientation and location of thewand 1404 are computed, they are used to determine whether thewand 1404 is being pointed at an object in the environment that is controllable by thecomputer system 1308. If so, then that object is selected for future control actions. - Referring also to
FIG. 22 , thecomputer system 1308 derives the orientation of thewand 1404 from the orientation sensor readings contained in the orientation signals, as follows. First, the accelerometer and magnetometer output values contained in the orientation signals are normalized. 1000 Angles defining the pitch of thewand 1404 about the x-axis and the roll of the device about the y-axis are computed 1002 from the normalized outputs of the accelerometer. The normalized magnetometer output values are then refined 1004 using these pitch and roll angles. Next, previously established correction factors for each axis of the magnetometer, which relate the magnetometer outputs to the predefined coordinate system of the environment, are applied 1006 to the associated refined and system of the environment, are applied to the associated refined and normalized outputs of the magnetometer. The yaw angle of thewand 1404 about the z-axis is computed 1008 using the refined magnetometer output values. The computed pitch, roll and yaw angles are then tentatively designated 1010 as defining the orientation of thewand 1404 at the time the orientation signals are generated. - It is next determined whether the
wand 1404 is in a right-side up or up-side down position at the time the orientation signals were generated. If thewand 1404 was in the right-side up position, the previously computed pitch, roll and yaw, angles are designated as the defining the finalized orientation of thewand 1404. However, if it is determined that thewand 1404 was in the up-side down position at the time the orientation message was generated, the tentatively designated roll angle is corrected accordingly, and then the pitch, yaw and modified roll angle are designated as defining the finalized orientation of thewand 1404. - In the foregoing description, it is assumed that the accelerometer and magnetometer of the
wand 1404 are oriented such that their respective first axis corresponds to the x-axis which is directed laterally to a pointing axis of thewand 1404, and their respective second axis corresponds to the y-axis, which is directed along the pointing axis of thewand 1404, and the third axis of the magnetometer corresponds to the z-axis, which is directed vertically upward when thewand 1404 is positioned right-side up with the x and y axes lying in a horizontal plane. - The
computer system 1308 derives the location of thewand 1404 from the video output of thevideo cameras 1322, as follows. In thewand 1404, there is an infrared (IR) LED connected to a microcontroller that is able to emit IR light outside thewand 1404 case when lit. The microcontroller causes the IR LEDs to flash. In addition, the aforementioned pair ofdigital video cameras 1322 each have an IR pass filter that results in the video image frames capturing only IR light emitted or reflected in the environment toward thecameras 1322, including the flashing from thewand 1404 IR LED which appears as a bright spot in the video image frames. The microcontroller causes the IR LED to flash at a prescribed rate that is approximately one-half the frame rate of thevideo cameras 1322. This results in only one of each pair of image frames produced by a camera having the IR LED flashes depicted in it. This allows each pair of frames produced by a camera to be subtracted to produce a difference image, which depicts for the most part only the IR emissions and reflections directed toward the camera which appear in one or the other of the pair of frames but not both (such as the flash from the IR LED of the pointing device). In this way, the background IR in the environment is attenuated and the IR flash becomes the predominant feature in the difference image. - The image coordinates of the pixel in the difference image that exhibits the highest intensity is then identified using a standard peak detection procedure. A conventional stereo image technique is employed to compute the 3-D coordinates of the flash for each set of approximately contemporaneous pairs of image frames generated by the pair of
cameras 1322 using the image coordinates of the flash from the associated difference images and predetermined intrinsic and extrinsic camera parameters. These coordinates represent the location of the wand 1404 (as represented by the location of the IR LED) at the time the video image frames used to compute the coordinates were generated by thecameras 1322. - The orientation and location of the
wand 1404 at any given time is used to determine whether thewand 1404 is being pointed at an object in the environment that is controllable by thecomputer system 1308. In order to do so, thecomputer system 1308 must know what objects are controllable and where they exist in the environment. This requires a model of the environment. In the present system and process, the location and extent of objects within the environment that are controllable by thecomputer system 1308 are modeled using 3-D Gaussian blobs defined by a location of the mean of the blob in terms of its environmental coordinates and a covariance. - At least two different methods have been developed to model objects in the environment. The first method involves the user inputting information identifying the object that is to be modeled. The user then activates the switch on the pointing device and traces the outline of the object. Meanwhile, the
computer system 1308 is running a target training procedure that causes requests for orientation signals to be sent to thewand 1404 at a prescribed request rate. The orientation signals are input when received, and for each orientation signal, it is determined whether the switch state indicator included in the orientation signal indicates that the switch is activated. Whenever it is initially determined that the switch is not activated, the switch state determination action is repeated for each subsequent orientation signal received until an orientation signal is received that indicates the switch is activated. At that point, each time it is determined that the switch is activated, the location of thewand 1404 is ascertained, as described previously, using the digital video input from the pair ofvideo cameras 1322. When the user is done tracing the outline of the object being modeled, he or she deactivates the switch. The target training (or calibration) process detects this as the switch having been deactivated after first having been activated in the immediately preceding orientation signal. Whenever such a condition occurs, the tracing procedure is deemed to be complete and a 3-D Gaussian blob representing the object is established using the previously ascertained wand locations stored during the tracing procedure. - The second method of modeling objects during a calibration process once again begins by the user inputting information identifying the object that is to be modeled. However, in this case the user repeatedly points the
wand 1404 at the object and momentarily activates the switch on thewand 1404, each time pointing thewand 1404 from a different location within the environment. Meanwhile, thecomputer system 1308 is running a target training algorithm that causes requests for orientation signals to be sent to thewand 1404 at a prescribed request rate. Each orientation message received from thewand 1404 is input until the user indicates the target training inputs are complete. - For each orientation signal input, it is determined whether the switch state indicator contained therein indicates that the switch is activated. Whenever it is determined that the switch is activated, the orientation of the
wand 1404 is computed, as described previously, using orientation sensor readings also included in the orientation message. In addition, the location of thewand 1404 is ascertained using the inputted digital video from the pair ofvideo cameras 1322. The computed orientation and location values are stored. - Once the user indicates the target training inputs are complete, the location of the mean of a 3-D Gaussian blob that will be used to represent the object being modeled is computed from the stored orientation and location values of the
wand 1404. The covariance of the Gaussian blob is then obtained in one of various ways. For example, it can be a prescribed covariance, a user input covariance, or the covariance can be computed by adding a minimum covariance to the spread of the intersection points of rays defined by the stored orientation and location values of thewand 1404. - With a Gaussian blob model of the environment in place, the orientation and location of the
wand 1404 is used to determine whether thewand 1404 is being pointed at an object in the environment that is controllable by thecomputer system 1308. In one version of this procedure, for each Gaussian blob in the model, the blob is projected onto a plane that is normal to either a line extending from the location of thewand 1404 to the mean of the blob, or a ray originating at the location of thewand 1404 and extending in a direction defined by the orientation of thewand 1404. The value of the resulting projected Gaussian blob at a point where the ray intersects the plane, is computed. This value represents the probability that thewand 1404 is pointing at the object associated with the blob under consideration. - Next, the probability is computed that represents the largest value computed for the Gaussian blobs, if any. At this point, the object associated with the Gaussian blob from which the largest probability value was derived could be designated as being the object at which the
wand 1404 is pointing. However, an alternative thresholding procedure could be employed instead. In this alternate version, it is first determined whether the largest probability value exceeds a prescribed minimum probability threshold. Only if the threshold is exceeded is the object associated with the projected Gaussian blob from which the largest probability value was derived designated as being the object at which thewand 1404 is pointing. The minimum probability threshold is chosen to ensure the user is actually pointing at the object and not just near the object without an intent to select it. - In an alternate procedure for determining whether the
wand 1404 is being pointed at an object in theenvironment 1400 that is controllable by thecomputer system 1308, for each Gaussian blob, it is determined whether a ray originating at the location of thewand 1404 and extending in a direction defined by the orientation of thewand 1404 intersects the blob. Next, for each Gaussian blob intersected by the ray, it is determined what the value of the Gaussian blob is at a point along the ray nearest the location of the mean of the blob. This value represents the probability that thewand 1404 is pointing at the object associated with the Gaussian blob. The rest of the procedure is similar to the first method, in that, the object associated with the Gaussian blob from which the largest probability value was derived could be designated as being the object at which thewand 1404 is pointing. Alternatively, it is first determined whether the probability value identified as the largest exceeds the prescribed minimum probability threshold. If the threshold is exceeded, only then is the object associated with the projected Gaussian blob from which the largest probability value was derived designated as being the object at which thewand 1404 is pointing. - Hands-free control of the
operation computing system 1308 using the head mountedwand 1404 involves generating at least a series of calibrated head movements. Moreover, since theperson 1306 also uses the wireless microphone system 1328, voice commands can be employed alone or in combination with the head movements to enhance control of thecomputer system 1308. With the implementation of one or more motion sensors therein, e.g., accelerometers, velocity and/or acceleration data can be measured and resolved as the “switch” signal of thewand 1404 to initiate or terminate an action without physically having to move a switch with a finger, which would be extremely cumbersome and risky (insofar at least as sterilization and the transmission of germs is involved) in an operating room environment. For example, when thesystem 1308 determines that the gaze of themedical person 1306 is at thesecond display 1318, a simple left-right head movement can be interpreted to initiate a paging action such that displayed images are changed similar to a person thumbing through pages of a book. Thereafter, an up-down head nod could be used to stop the paging process. Alternatively, the paging process could be initiated by voice command after thesystem 1308 ascertains that the gaze is directed at thesecond display 1318. - If more than one
wand 1404 was employed by operating room personnel, the wands can be uniquely identified by an RF tagging system, such that signals transmitted to thecomputer system 1308 are interpreted in association with different personnel. For example, the doctor in charge of the operation and his or her assisting nurse could each have a head mounted wand. Thesystem 1308 can be suitably designed to discriminate the wand signals according to a unique tag ID that accompanies each signal transmitted to thecomputer system 1308. Such tagging system can also be used as a method of prioritizing signals for controlling the computer. For example, the system can be configured to prioritize signals received from the doctor over those signals received from the assisting nurse. - In a more sophisticated implementation, the
computer system 1308 employs the classifier system described hereinabove to learn the movements of personnel over time. For example, body movements of one person typically differ from the way a body movement of another may be used to control thesystem 1308. Thus, instead of the user of thewand 1404 conforming to rigid criteria of signaling required by the computer system algorithm, thesystem 1308 can employ the classifier to learn the particular movements of a given user. Once the user “logs in” to thesystem 1308, these customized movement signals (and voice signals, for example) can then be activated for use by thesystem 1308 for that user. - It is to be appreciated that once the use of a
remote wireless system 1404 is employed, other internal and external signals can be input thereto for transmission to and control of thesystem 1308. For example, the heart rate of theperson 1306 can be monitored and input to thewand system 1404 or wireless voice system 1328 for wireless input to thesystem 1308 to monitor the state of theperson 1306. If, during a lengthy operation, thesystem 1308 detects that the physical condition of theperson 1306 is deteriorating, the classifier can be used to modify how the movement and voice signals are processed for controlling thesystem 1308. A faster heart rate can indicate faster speech and/or head movements that would then be compensated for in thesystem 1308 using the classifier. Of course, these parameters would be determined on a user-by-user basis. - In accordance with the orientation signals received from the
wand 1404, thesystem 1308 can determine a number of factors about theperson 1306. Thesystem 1308 can determine when the person 1306 (or what person(s)) is looking at thesystem 1308. For example, if the orientation of thewand 1404 indicates that the head position (or gaze) of theperson 1306 matches orientation associated with looking at any of the three monitors (1316, 1318, or 1320), here, thesecond monitor 1318, thesystem 1308 then responds according to signals received thereafter, until the viewing session associated with thesecond monitor 1318 is terminated by voice and/or head movements. - Where only one
wand 1404 is provided, thesystem 1308 can re-associate thewand 1404 with a user profile of anotherperson 1306 who will use thewand 1404. There exists a database of user profiles and tag associations such that invocation of the wand tag (or ID) with the user log-in name automatically executes the user profile for use with thewand 1404. This way, individualized user commands in the form of head movements, voice commands, etc., are automatically invoked at the user log-in process. - The
system 1308 can also employ a bi-directional activation scheme wherein the user initiates a user command for starting a session, and thesystem 1308 responds with a signal that further requires a user response to confirm that a session is to begin. For example, theperson 1306 can initiate a session by motioning an up-down head nod repeatedly for three cycles. Thesystem 1308 receives the corresponding three cycles of up-down nod signals that are interpreted to start a session of thatperson 1306. In order to ensure that the head nod was not made inadvertently, thesystem 1308 responds by presenting an image on thefirst display 1316, and at which theperson 1306 must point thewand 1404 to confirm the start of the session. Of course, other signals can be used to confirm session start. For example, the user can look to the ceiling, which orientation of thewand 1404 in a substantially vertical direction is interpreted to confirm the start of a session. Obviously, the number and combination of head movements and/or voice commands that can be employed in the present system are numerous, and can be used in accordance with user preferences. - In the
system 1402, thetransceiver system 1330 can be used for wireless communication for both thewand system 1404 and voice communications system 1328. Thus, the wand link can be of one frequency, and the voice communication link another frequency. Thecomputer system 1308 is configured to accommodate both by proving frequency discrimination and processing so that signal streams can be filtered and processed to extract the corresponding wand and voice signals. - Referring now to
FIG. 15 , there is illustrated a flowchart of a process from the perspective of the person for using the system ofFIG. 14 . At 1500, the user performs a calibration process that comprises associating a number of head movements and/or voice commands with user commands. This also includes using voice commands singly to control the operation computer system or in combination with the head movements to do so. The calibration process can be performed well in advance of use in the operating room, and updated as the user chooses to change movements and/of voice signals with user commands. At 1502, the person initiates a session with the computer system using one or more user commands. At 1504, the person then inputs one or more of the user commands to control the computing system. At 1506, the person terminates the session using one or more of the user commands. The process then reaches a Stop block. - Referring now to
FIG. 16 , there is illustrated a flowchart of a process from the perspective of the system ofFIG. 14 . At 1600, the calibration process occurs where the system associates wand device signals and/or voice signals with user commands specified by the person. The calibration process ends. At 1602, the user wand signals are received and processed by the system. At 1604, the system determines if the processed user command(s) indicate that a session is to be started with that user. If NO, flow is back to the input of 1602 to continue to processing received device and voice signals. If YES, flow is to 1606 to identify the user. This can occur by the system processing the received signal and extracting the device tag ID. Prior to use, the tag ID of the wand is programmed for association with a given user. At 1608, the user profile of calibration data is activated for use. Of course, on any given operation, the operating staff are assigned such that the log-in names of the doctors and assistants can be entered prior to beginning the operation. Thus, the user profiles are already activated for processing. - At 1610, the device signals are received and processed to determine the tag ID of the device and to process the user command(s) against the associated profile information to enable the related command. At 1612, where a classifier is employed, the classifier tracks, processes, compares, and updates the user profile when wand movements associated with the particular user command are changed within certain criteria. At 1614, the computer system determines if the session has completed. If NO, flow is back to the input of 1610 to continue to process user commands. If YES, flow is to 1616 to terminate the user session. The process then reaches a Stop block. Of course, from 1616, flow can be brought back to the input of 1602 to continue to process signals from other devices or to prepare for another session, which could occur many times during the operating room event.
- Referring now to
FIG. 17 , there is illustrated a medical environment 1700 in which a 3-D imagingcomputer control system 1702 is employed to process hand (or body) gestures in accordance with the present invention. Theoperation computing system 1308 provides 3-D image recognition and processing capability such that the engagement volume ofFIG. 13 and thewand 1404 ofFIG. 14 are no longer required. Thesystem 1702 can be augmented with voice commands in a manner similar to that described above; however, this is not needed. Audio-visual co-analysis can be used to improve continuous gesture recognition. Here, thetransceiver system 1330 is used only for wireless voice communication, when vocalization is employed. For example, themedical person 1306 can simply use thesystem 1308 as a dictaphone to record voice signals during the operation. - The foregoing
system 1702 is used to select an object under computer control in the environment by thecomputer system 1308 by having the user simply make one or more hand gestures. Of course, this can be done using both hands, which feature will be described in greater detail hereinbelow. This entails thecomputer system 1308 capturing imaging information about the hand gesture(s), and for each image or series of images received, thecomputer system 1308 derives the posture, orientation, and location of the hand, pair of hands, or any combination of one or more hands and any other body part (e.g., the head) (hereinafter grouped and denoted generally as “gesture characteristics”, or where specifically related to a hand, as “hand gesture characteristics”, or “hand characteristics”) in relation to a predefined coordinate system of the environment in which the gesture is employed. Gesture analysis involves tracking the user's hand(s) in real-time. Hidden Markov Models (HMMs) can be employed for recognition of continuous gesture kinematics. In addition, the video output from thevideo cameras 1322 is used to ascertain the gesture characteristics at a time substantially contemporaneous with the generation of the gesture and in terms of the predefined coordinate system. Once the gesture characteristics are processed, they are used to determine whether an object in the environment should be controlled by thecomputer system 1308. If so, then that object is selected for future control actions. Moreover, stochastic tools such as Kalman filtering can be used to predict the position of the hand or hands in subsequent image frames. - Note that an object includes an object or device external to the
computer system 1308 and controllable by a wireless and/or wired connection, as well as any internal device or feature that comprises software programs that are used to display images, manipulate data, and move data from one location to another, for example. - The process begins by generating a model of the environment. This process includes, but is not limited to, defining what aspects of the environment will be controlled by the
computer system 1308, such as lights, lighting level, room temperature, operating room life support machines and other computer controlled machines in the room, and software controls that will be required or desired of thesystem 1308 before, during, and/or after the procedure. The software controls comprise the gestures required to initiate image paging, image rotation about a vertex, image rotation about an axis, zooming in and out on an image, providing supplementary data (e.g., video and audio) related to an image being presented or manipulated in a certain way, performing x,y translations of the image, stepped rotation, changing user interface coloring to improve visibility of an image, changing image contrast, changing resolution of an image, playing a series of images quickly or slowly (looping speed), freezing and unfreezing a looping image video (of, for example, echocardiography, transverse CT (Computed Tomography) and cryosection images, CT output, and a fly-through of MRI data), initiating repetitive image(s) playback (looping), jumping from thefirst monitor 1316 to another monitor (1318 or 1320), and adjusting audio controls when listening to audio data (e.g., EKG) during the procedure. - The next step is to calibrate the model according to the persons who will be working in the environment and interacting with the
system 1308. Unique user profiles can be generated for each person interacting with thesystem 1308 by employing a tagging system that can discriminate the various users. This can be accomplished in several ways. One method provides a unique RF tag to each user. A triangulation system can be utilized to continually monitor the location of a given user, and associate the location data with the captured image data such that gestures are from that location will be processed against that user profile to properly execute the user command. - Another method is to employ several camera sets, where each set is dedicated to a specific user or location in which the user will work. The user could also be clothed in a colored uniform where the combination of color, gesture, and location uniquely identify the command issued by that user to the
system 1308. As mentioned hereinabove, thesystem 1308 can be programmed to invoke a bi-directional confirmation system such that each user gesture is followed by a confirmation request to ensure that the proper user command is issued. Feedback can be provided by displaying the command in large text or outputting the anticipated command in audio to the user, after which the user responds by voice or with another gesture to accept or reject the command. - The
imaging system 1308 detects gesture object (or hand) depth or distance from thesystem 1308 to facilitate discriminating between a plurality of gesture sources. The gesture sources can include a single hand, two hands, one hand of two people, etc. RF triangulation techniques can be used to accurately determine the gesture source(s). Thus, the gesture source includes an RF tag. If two hands are being used in gesticulation, then each hand can include a unique RF tag. Other depth determination systems can be employed to accurately discriminate the gesture sources, such as infrared. - As with other implementations mention above, the environment needs to be modeled for all objects to be controlled or interacted with, including both hardware and software. The gestures are then defined and associated with the objects. This can further include the use of voice commands, and where the wireless remote device is worn in alignment with the person's line-of-sight, the additional combination of “gaze” signals, where the gaze signals are defined as those wireless device (or wand) signals generated when the person looks in a direction to effect object interaction.
- The
system 1308 can also be configured to determine when the operator is generally facing thesystem 1308. A facial image can be captured and processed with facial features providing generally the data needed to make such an automatic determination. Another method includes wearing a multi-colored uniformed such that one color is associated with the person facing thesystem 1308, while another imaged color indicates the person is not facing thesystem 1308. Still another method employs a reflective surface on the front of the person such that the presence of reflective signals indicates the person is facing thesystem 1308. - The
system 1308 is capable of determining when one person programmed to interact therewith has been replaced by another. This causes an automatic change of user profiles to enable the present user's gestures for corresponding user commands and control of thesystem 1308. Again, this can be facilitated by a color scheme whereby each medical person is uniquely identified in thesystem 1308 with a unique color. Any sort of tag-identification system could be used, as well. Of course, voice commands can also be used to facilitate personnel replacements in the medical environment. - Image processing demands, especially for 3-D imaging, can place an enormous burden on the operating computer system 1038. As mentioned hereinabove, the
system 1308 can be distributed across two or more computers as a multi-computer system to supply the processing power for 3-D image processing. The disclosed imaging system software can then be distributed across the multi-computer system for the exchange of data needed for ultimately making decisions for human-machine interaction. - The
system 1308 can also employ a bi-directional interaction scheme to confirm selection of all gesture, and gesture/voice actions. For example, if the user initiates a user command for starting a session, and thesystem 1308 responds with a signal that further requires a user response to confirm that a session is to begin. The confirmation respond can be in the form of a duplicate gesture and/or voice command. Obviously, the number and combination of gestures and voice commands that can be employed singly or in combination in accordance with the present system are numerous. - The
system 1308 also includes audio input capabilities such that not only voice signals can be received and processed, but clicking sounds, pitch-related sounds, etc., and other distinctive audio signals can be employed to further extend the number of inputs for controlling thesystem 1308. Such alternative inputs can be input through the portable microphone system 1328 worn by at least one medical person in the operating room. Moreover, additional haptics inputs can be employed by providing a suit or vest with various touch or pressure points to augment the number of signals for controlling thesystem 1308. Thus, the wrist, forearm, and other appendage points can be used to initiate and send signals from the suit through a wireless remote pressure point transmission system, made part of the wireless voice communication system 1328, for example. - Referring now to
FIG. 18 , there is illustrated a flowchart of a process from the perspective of the person for using the system ofFIG. 17 . At 1800, the user performs a calibration process that comprises associating (or mapping) a number of gestures in the form of hand poses and movements, head movements, and/or voice commands with user commands. This also includes using voice commands singly to control the operation computer system or in combination with the gestures to do so. The calibration process can be performed well in advance of use in the operating room, and updated as the user chooses to change movements and/of voice signals with user commands. At 1802, the person initiates a session with the computer system using one or more gestures. At 1804, the person then inputs one or more of the user commands using gestures to control operation of the computing system. At 1806, the person terminates the session using one or more of the gestures. The process then reaches a Stop block. - Referring now to
FIG. 19 , there is illustrated a flowchart of a process from the perspective of the system ofFIG. 17 . At 1900, the calibration process occurs for a user where the user presents one or more hands and, hand poses, and orientations to the imaging system for capture and association with a given user command. The system then maps the images to the user command. This occurs for a number of different commands, and completes the calibration phase for that user. At 1902, the user presents one or more gestures that are captured and processed by the system for user commands. At 1904, the system determines if the processed user command(s) indicate that a session is to be started with that user. If NO, flow is back to the input of 1902 to continue to process of receiving and interpreting gestures and/or voice signals. If YES, flow is to 1906 to identify the user. This can be via a triangulation system that determines the location of the source of the gestures. In one implementation, a glove of the medical person includes an RF device, or similar device that is detectable by the system for the purpose of determining the source of the gesture signals. At 1908, the user profile of calibration data is activated for use. Of course, on any given operation, the operating staff are assigned, such that the log-in names of the doctors and assistants can be entered prior to beginning the operation. Thus, the user profiles are already activated for processing. - At 1910, the gestures are imaged, received, and processed to execute the corresponding the user command(s). At 1912, where a classifier is employed, the classifier tracks, processes gesture images, compares the images, and updates user gestures characteristics associated with the particular user command. At 1914, the computer system determines if the session has completed. If NO, flow is back to the input of 1910 to continue to process gestures into user commands. If YES, flow is to 1916 to terminate the user session. The process then reaches a Stop block. Of course, from 1916, flow can be brought back to the input of 1902 to continue to process gestures or to prepare for another session, which could occur many times during the operating room event.
- Referring now to
FIG. 20 , there is illustrated a medical environment 2000 in which a 3-D imagingcomputer control system 2002 is employed with theremote control device 1404 to process hand (or body) gestures and control thesystem 1308 in accordance with the present invention. The imaging and image processing capabilities of the 3-D imaging system 1308 and the head-mountedwand 1404 can be employed in combination to further enhance the hands-free capabilities of the present invention. Moreover, the wireless vocalization system 1328 can further be used to augment control of thesystem 1308. As indicated previously, the wand electronics can be repackaged for use in many different ways. For example, the packaging can be such that the wireless system is worn on the wrist, elbow, leg, or foot. Thesystem 1308 can be used to image both the gestures of theperson 1306 and the orientation of thewand 1404 to provide more accurate human-machine interaction and control. Each of the systems have been described herein, the details of which are not repeated here for the purpose of brevity. Sample gestures, voice commands and gaze signals used in thesystem 2002 are described hereinbelow. - Referring now to
FIG. 21A , there is illustrated sample one-handed and two-handed gestures that can be used to control the operation computing system in accordance with the present invention. At 2100, two closed fists (left and right) can be programmed for imaging and interpretation to cause axis control. At 2102, the right hand in a pointing pose can be used in two orientations, a vertical orientation followed by a sideways clockwise rotation, the combination of which can be programmed for imaging and interpretation to tilt a selected axis a predetermined number of degrees, and keep tilting the axis in stepped increments. At 2104, a continuation of the gestures of 2102 in reverse where, the sideways clockwise rotation is reversed to a counterclockwise rotation followed by the vertical orientation, the combination of which can be programmed for imaging and interpretation stop axis tilting, and maintain at the current tilt angle. At 2106, a right-handed two-fingers-raised pose can be used to rotate an image about an existing axis. Note that the image can be x-rays of the patient, MRI (Magnetic Resonance Imaging) frames, etc. At 2108, the thumb and pointing finger pose of the right hand can be used to rotate an image about a vertex point. - Referring now to
FIG. 21B , there is illustrated additional sample one-handed gestures and sequenced one-handed gestures that can be used to control the operation computing system in accordance with the present invention. At 2110, an open right hand with fingers tightly aligned can be used to initiate a zoom-in feature such that the zoom-in operation continues until the gesture changes. At 2112, a right hand where the thumb and pinky finger are extended can be used to initiate a zoom-out feature such that the zoom-out operation continues until the gesture changes. At 2114, a sequence of right-hand gestures are used to select an image for x,y translation, and then to translate the image up and to the right by a predefined distance or percentage of available viewing space on the display. Here, the right hand is used to provide an open hand plus closed fist plus open hand, and then move the open hand up and to the right a short distance. This can be recognized and interpreted to perform the stated function of axis translation in an associated direction. At 2116, a sideways pointing pose plus a counterclockwise motion is programmed for interpretation to rotate the object in the horizontal plane. At 2118, the same hand pose plus a circular motion in the opposite direction can be programmed to rotate the object in the vertical plane. Note, however, that the hand pose is arbitrary, in that it may be more intuitive to use a hand pose where one or ore of the fingers point upward. Moreover, the gesture, itself is also arbitrary, and is programmable according to the particular desires of the user. - Referring now to
FIG. 21C , there is illustrated additional sample one-handed gestures that can be used to control the operation computing system in accordance with the present invention. At 2120, a three-finger open with index and thumb touching of the right hand can be used to impose a triaxial grid on a 3-D image. At 2122, a right-handed single pointing-finger pose can be used to select the x-axis; a right-handed two-finger pose can be used to select the y-axis; and, a right-handed three-finger pose can be used to select the z-axis. At 2124, a pinky-finger pose can be used to stop, start and loop videos on thesystem 1308. It is also possible using various “structure-from-motion” techniques to track arbitrary points on the hand, and over time, deduce the change in 3-D orientation of the object in such a way that the user need not adopt some predefined pose. In this case, however, the user can enter the 3-D rotation mode by another method. - At 2126, rotation of the pinky-finger pose in a clockwise direction while facing the
system 1308 can be used to control intensity of the monitor, and volume on/off control and amplitude. These are being grouped of brevity, since, for example, the pinky-finger pose and/or rotation can be mapped to any one of the functions described. At 2128, an open hand gesture in a clockwise rotation can be used to rotate an image about an axis according to the speed of movement of the open hand, such that when the hand stops, the axis rotation also stops, and starts when band movement starts. - Referring now to
FIG. 21D , there is illustrated additional sample one-handed gestures used in combination with voice commands that can be used to control the operation computing system in accordance with the present invention. At 2130, the open hand pose plus a voiced “ZOOM” command can be used to zoom in on a displayed image until the gesture changes or a different command is voiced. At 2132, the thumb and pinky finger extended pose plus a voiced “ZOOM” command can be used to zoom out on a displayed image until the gesture changes, or a different command is voiced. Depth information can also be used e.g., moving closer would trigger a zoom-in function, Alternatively, when zoom is invoked, movement in depth can control the zoom value continuously. - At 2134, a left-handed open hand pose in a sideways orientation plus a voiced “MOVE” command can be used to move a selected image to the right until the gesture changes and stops movement. At 2136, a right-handed open hand pose in a sideways orientation plus a voiced “MOVE” command can be used to move a selected image to the left until the gesture changes and stops movement. At 2138, a closed fist in a circular motion in combination with a “LOUD” voice command can be used to turn audio volume on/off, and control the amplitude during the procedure to listen to the patient's EKG, for example.
- Referring now to
FIG. 21E , there is illustrated additional sample one-handed gestures used in combination with voice commands and gaze signals that can be used to control the operation computing system in accordance with the present invention. At 2140, the right-hand open-hand pose in combination with a voiced “ZOOM” command while gazing at an image on a first display of the operation computer system will invoke a zoom-in process on the image of the first display until the gesture is changed. At 2142, the thumb and pinky finger extended of the pose of the right hand is used in combination with a voiced “ZOOM” command while gazing in the direction of an image presented on a second display to control the computer system to zoom out on the image of the second display until the gesture changes. At 2144, a left-handed open hand pose in a sideways orientation in combination with a voiced “MOVE” command while gazing at an image on a first display of the operation computer system will invoke a rightward move operation on the image of the first display until the gesture is changed. At 2146, a right-handed open hand pose in a sideways orientation in combination with a voiced “MOVE” command while gazing at an image on a second display of the operation computer system will invoke a leftward move operation on the image of the second display until the gesture is changed. At 2148, a closer right fist in a circular clockwise motion in combination with a voiced “LOUD” command and a gaze in the direction of a graphical interface of an audio control device on a third display of the computer control system results in volume on/off control and amplitude control. - It is to be appreciated that numerous other combinations of hand poses, body gestures, voice commands and gaze orientations can be employed to effect control of the medical operation environment. Only a few samples of the individual and combinatory capabilities are provided herein.
- The complementary nature of speech and gesture is well established. It has been shown that when naturally gesturing during speech, people will convey different sorts of information than is conveyed by the speech. In more designed settings such as interactive systems, it may also be easier for the user to convey some information with either speech or gesture or a combination of both. For example, suppose the user has selected an object as described previously and that this object is a stereo amplifier controlled via a network connection by the host computer. Existing speech recognition systems would allow a user to control the volume by, for example, saying “up volume” a number of times until the desired volume is reached. However, while such a procedure is possible, it is likely to be more efficient and precise for the user to turn a volume knob on the amplifier. This is where the previously described gesture recognition system can come into play. Rather than having to turn a physical knob on the amplifier, the user would employ the pointer to control the volume by, for example, pointing at the stereo and rolling the pointer clockwise or counterclockwise to respectively turn the volume up or down. The latter procedure can provide the efficiency and accuracy of a physical volume knob, while at the same time providing the convenience of being able to control the volume remotely as in the case of the voice recognition control scheme. This is just one example of a situation where gesturing control is the best choice, there are others. In addition, there are many situations where using voice control would be the best choice. Still further, there are situations where a combination of speech and gesture control would be the most efficient and convenient method. Thus, a combined system that incorporates the previously described gesturing control system and a conventional speech control system would have distinct advantages over either system alone.
- To this end, as indicated hereinabove, the present invention includes the integration of a conventional speech control system into the gesture control and pointer systems which results in a simple framework for combining the outputs of various modalities such as pointing to target objects and pushing the button on the pointer, pointer gestures, and speech, to arrive at a unified interpretation that instructs a combined environmental control system on an appropriate course of action. This framework decomposes the desired action (e.g., “turn up the volume on the amplifier”) into a command (i.e., “turn up the volume”) and a referent (i.e., “the amplifier”) pair. The referent can be identified using the pointer to select an object in the environment as described previously or using a conventional speech recognition scheme, or both. The command may be specified by pressing the button on the pointer, or by a pointer gesture, or by a speech recognition event, or any combination thereof. Interfaces that allow multiple modes of input are called multimodal interfaces. With this multimodal command/referent representation, it is possible to effect the same action in multiple ways. For example, all the following pointing, speech and gesture actions on the part of the user can be employed in the present control system to turn on a light that is under the control of the host computer:
- 1. Say “turn on the desk lamp”;
- 2. Point at the lamp with the pointer and say “turn on”;
- 3. Point at the lamp with the pointer and perform a “turn on” gesture using the pointer;
- 4. Say “desk lamp” and perform the “turn on” gesture with the pointer;
- 5. Say “lamp”, point toward the desk lamp with the pointer rather than other lamps in the environment such as a floor lamp, and perform the “turn on” gesture with the pointer; and
- 6. Point at the lamp with the pointer and press the pointer's button (assuming the default behavior when the lamp is off and the button is clicked, is to turn the lamp on).
- By unifying the results of pointing, gesture recognition and speech recognition, the overall system is made more robust. For example, a spurious speech recognition event of “volume up” while pointing at the light is ignored, rather than resulting in the volume of an amplifier being increased, as would happen if a speech control scheme were being used alone. Also, consider the example given above where the user says “lamp” while pointing toward the desk lamp with the pointer rather than other lamps in the environment, and performing the “turn on” gesture with the pointer. In that example, just saying lamp is ambiguous, but pointing at the desired lamp clears up the uncertainty. Thus, by including the strong contextualization provided by the pointer, the speech recognition may be made more robust.
- The speech recognition system can employ a very simple command and control (CFG) style grammar, with preset utterances for the various electronic components and simple command phrases that apply to the components. The user wears a wireless lapel microphone to relay voice commands to a receiver which is connected to the host computer and which relays the received speech commands to the speech recognition system running on the host computer.
- While various computational frameworks could be employed, the multimodal integration process employed in the present control system uses a dynamic Bayes network that encodes the various ways that sensor outputs may be combined to identify the intended referent and command, and initiate the proper action.
- The identity of the referent, the desired command and the appropriate action are all determined by combining the outputs of the speech recognition system, gesture recognition system and pointing analysis processes using a dynamic Bayes network architecture. Bayes networks have a number of advantages that make them appropriate to this task. First, it is easy to break apart and treat separately dependencies that otherwise would be embedded in a very large table over all the variables of interest. Secondly, Bayes networks are adept at handling probabilistic (noisy) inputs. Further, the network represents ambiguity and incomplete information that may be used appropriately by the system. In essence, the Bayes network preserves ambiguities from one time step to the next while waiting for enough information to become available to make a decision as to what referent, command or action is intended. It is even possible for the network to act proactively when not enough information is available to make a decision. For example, if the user doesn't point at the lamp, the system might ask which lamp is meant after the utterance “lamp”.
- However, the Bayes network architecture is chosen primarily to exploit the redundancy of the user's interaction to increase confidence that the proper action is being implemented. The user may specify commands in a variety of ways, even though the designer specified only objects to be pointed to, utterances to recognize and gestures to recognize (as well as how referents and commands combine to result in action). For example, it is natural for a person to employ deictic (pointing) gestures in conjunction with speech to relay information where the speech is consistent with and reinforces the meaning of the gesture. Thus, the user will often naturally indicate the referent and command applicable to a desired resulting action via both speech and gesturing. This includes most frequently pointing at an object the user wants to affect.
- The Bayes network architecture also allows the state of various devices to be incorporated to make the interpretation more robust. For example, if the light is already on, the system may be less disposed to interpret a gesture or utterance as a “turn on” gesture or utterance. In terms of the network, the associated probability distribution over the nodes representing the light and its parents, the Action and Referent nodes, are configured so that the only admissible action when the light is on is to turn it off, and likewise when it is off the only action available is to turn it on.
- Still further, the “dynamic” nature of the dynamic Bayes network can be exploited advantageously. The network is dynamic because it has a mechanism by which it maintains a short-term memory of certain values in its network. It is natural that the referent will not be determined at the exact moment in time as the command. In other words a user will not typically specify the referent by whatever mode (e.g., pointing and/or speech) at the same time he or she relays the desired command using one of the various methods available (e.g., pointer button push, pointer gesture and/or speech). If the referent is identified only to be forgotten in the next instant of time, the association with a command that comes after it will be lost. The dynamic Bayes network models the likelihood of a referent or a command applying to future time steps as a dynamic process. Specifically, this is done via a temporal integration process in which probabilities assigned to referents and commands in the last time step are brought forward to the current time step and are input along with new speech, pointing and gesture inputs to influence the probability distribution computed for the referents and commands in the current time step. In this way, the network tends to hold a memory of a command and referent that decays over time, and it is thus unnecessary to specify the command and referent at exactly the same moment in time. In one example, this propagation occurred four times a second.
- Note that although a previous description was centered on an operating room environment, the present invention has application in many other environments where data access and presentation is beneficial or even necessary to facilitate a man-machine interface.
- What has been described above includes examples of the present invention. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the present invention, but one of ordinary skill in the art may recognize that many further combinations and permutations of the present invention are possible. Accordingly, the present invention is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.
Claims (58)
1. A game apparatus for executing a game process using acceleration data, the acceleration data outputted by an acceleration sensor of an input device, the game apparatus comprising:
a processing system configured to cause:
receiving the acceleration data;
calculating smoothed data based at least in part on the acceleration data and previously calculated smoothed data, the smoothed data representing a value obtained by smoothing an acceleration represented by the acceleration data; and
executing the game process based at least in part on the acceleration data and the smoothed data.
2. The game apparatus according to claim 1 , wherein the game process includes:
determining, using the smoothed data, a state of a player object in a game space for determining a first action to be performed by the player object, and
determining, using the acceleration data, a state of the player object for determining a second action to be performed by the player object.
3. The game apparatus according to claim 2 , wherein
the state of a player object in the game space for determining the first action includes an attitude of the player object in the game space, and
the state of the player object for determining the second action includes a position of the player object in the game space.
4. The game apparatus according to claim 3 , wherein the position of the player object in the game space is based at least in part on a movement distance that is based at least in part on the acceleration data and a moving direction in accordance with the attitude of the player object.
5. The game apparatus according to claim 1 , wherein the game process includes:
calculating a difference between a value of the acceleration represented by the acceleration data and the value represented by the smoothed data, and
wherein executing the game process is further based on the difference.
6. The game apparatus according to claim 5 , wherein the game process includes:
determining, using the smoothed data, a state of a player object in a game space for determining a first action to be performed by the player object, and
determining, using the difference, a state of the player object for determining a second action to be performed by the player object.
7. The game apparatus according to claim 6 , wherein
the state of the player object for determining the first action includes an attitude of the player object in the game space, and
the state of the player object for determining the second action includes a position of the player object in the game space.
8. The game apparatus according to claim 7 , wherein the position of the player object in the game space is based at least in part on a movement distance that is based at least in part on the difference and a moving direction in accordance with the attitude of the player object.
9. The game apparatus according to claim 6 , wherein the game process includes:
controlling, using the smoothed data, a state of a first player object appearing in the game space for determining an action to be performed by the first player object, and
controlling, using the difference, a state of a second player object appearing in the game space for determining an action to be performed by the second player object.
10. The game apparatus according to claim 1 , wherein the game process includes:
controlling, using the smoothed data, a state of a first player object appearing in a game space for determining an action to be performed by the first player object, and
controlling, using the acceleration data, a state of a second player object appearing in the game space for determining an action to be performed by the second player object.
11. The game apparatus according to claim 1 , wherein calculating the smoothed data is done each time the acceleration data is received, and wherein the value represented by the smoothed data having been most recently calculated approaches, at a predetermined rate, a value represented by the acceleration data.
12. The game apparatus according to claim wherein the game process includes:
calculating, using the smoothed data, first data corresponding to a tilt of the input device,
calculating, using the acceleration data, second data corresponding to a movement of the input device, and
wherein executing the game process is further based on the first data and the second data.
13. A non-transitory computer-readable storage medium having stored thereon a game program executed by a computer of a game apparatus for executing a game process using acceleration data which is sequentially outputted by an acceleration sensor of an input device, the game program causing the computer to execute:
sequentially acquiring the acceleration data;
sequentially calculating smoothed data based on a value which is obtained by smoothing an acceleration represented by the acceleration data, the smoothed data additionally being calculated based on a previously acquired value of smoothed data; and
executing the game process using the acceleration data and the smoothed data.
14. The storage medium according to claim 13 , wherein the game process includes:
determining, using the smoothed data, a state of a player object in a game space for determining a first action to be performed by the player object, and
determining, using the acceleration data, a state of the player object for determining a second action to be performed by the player object.
15. The storage medium according to claim 14 , wherein
a state of a player object in a game space for determining the first action includes an attitude of the player object in the game space, and
a state of the player object for determining the second action includes a position of the player object in the game space.
16. The storage medium according to claim 15 , the position of the player object in the game space is based at least in part on the acceleration data and a moving direction in accordance with the attitude of the player object.
17. The storage medium according to claim 13 , wherein the game process includes:
calculating a difference between a value of the acceleration represented by the acceleration data and the value represented by the smoothed data, and
executing the game process further using the difference.
18. The storage medium according to claim 17 , wherein the game process includes:
determining, using the smoothed data, a state of a player object in a game space for determining a first action to be performed by the player object, and
determining, using the difference, a state of the player object for determining a second action to be performed by the player object.
19. The storage medium according to claim 18 , wherein
a state of a player object in a game space for determining the first action includes an attitude of the player object in the game space, and
a state of a player object in a game space for determining the second action includes a position of the player object in the game space.
20. The storage medium according to claim 19 , wherein the position of the player object in the game space is based at least in part on a movement distance based on the difference and a moving direction in accordance with the attitude of the player object.
21. The storage medium according to claim 17 , wherein the game process includes:
controlling, using the smoothed data, a state of a first player object appearing in a game space for determining an action to be performed by the first player object, and
controlling, using the difference, a state of a second player object appearing in the game space for determining an action to be performed by the second player object.
22. The storage medium according to claim 13 , wherein the game process includes:
controlling, using the smoothed data, a state of a first player object appearing in a game space for determining an action to be performed by the first player object, and
controlling, using the acceleration data, a state of a second player object appearing in the game space for determining an action to be performed by the second player object.
23. The storage medium according to claim 13 , wherein the game process includes:
sequentially calculating smoothed data each time the acceleration data is acquired, and
calculating the smoothed data further includes performing a calculation by which the value represented by the smoothed data having been most recently calculated approaches, at a predetermined rate, a value represented by the acceleration data.
24. The storage medium according to claim 13 , wherein the game process includes:
calculating, using the smoothed data first data corresponding to a tilt of the input device including the acceleration sensor,
calculating, using the acceleration data, second data corresponding to a movement of the input device, and
executing the game process further using the first data and the second data.
25. A game computing device for executing a game process using accelerometer values, the accelerometer values output by an accelerometer of a pointing device, the game computing device comprising:
a computer system configured for:
receiving the accelerometer values;
computing normalized accelerometer values based at least in part on the accelerometer values and previously computed normalized accelerometer values; and
executing the game process based at least in part on the accelerometer values and the normalized accelerometer values.
26. The game computing device according to claim 25 , wherein the game processor provides for:
determining, using the normalized accelerometer values, a characteristic of an object in a game space for determining a first action to be performed by the object, and
determining, using the accelerometer values, a characteristic of the object for determining a second action to be performed by the object.
27. The game computing device according to claim 26 , wherein
the characteristic of the object in the game space for determining the first action includes an angle of the object in the game space, and
the characteristic of the object in the game space for determining the second action includes a position of the object in the game space.
28. The game computing device according to claim 27 , wherein the position of the object in the game space is based at least in part on a movement distance that is based at least in part on the accelerometer values and a moving direction in accordance with the angle of the object.
29. The game computing device according to claim 25 , wherein the game processor provides for:
calculating a difference between a value of the acceleration represented by the accelerometer values and the value represented by the normalized accelerometer values, and
wherein executing the game process is further based on the difference.
30. The game computing device according to claim 29 , wherein the game processor provides for:
determining, using the normalized accelerometer values, a characteristic of an object in a game space for determining a first action to be performed by the object, and
determining, using the difference, a characteristic of the object for determining a second action to be performed by the object.
31. The game computing device according to claim 30 , wherein
the characteristic of the object in the game space for determining the first action includes an angle of the object in the game space, and
the characteristic of the object in the game space for determining the second action includes a position of the object in the game space.
32. The game computing device according to claim 31 , wherein the position of the object in the game space is based at least in part on a movement distance that is based at least in part on the difference and a moving direction in accordance with the angle of the object.
33. The game computing device according to claim 30 , wherein the game processor provides for:
controlling, using the normalized accelerometer values, a characteristic of a first player object appearing in the game space for determining an action to be performed by the first player object, and
controlling, using the difference, a characteristic of a second player object appearing in the game space for determining an action to be performed by the second player object.
34. The game computing device according to claim 25 , wherein the game processor provides for:
controlling, using the normalized accelerometer values, a characteristic of a first player object appearing in a game space for determining an action to be performed by the first player object, and
controlling, using the accelerometer values, a characteristic of a second player object appearing in the game space for determining an action to be performed by the second player object.
35. The game computing device according to claim 25 , wherein computing the normalized accelerometer values is done each time the accelerometer values are received, and wherein the value represented by the normalized accelerometer values having been most recently calculated approaches, at a predetermined rate, a value represented by the accelerometer values.
36. The game computing device according to claim 25 , wherein the game processor provides for:
calculating, using the normalized accelerometer values, first data corresponding to a tilt of the pointing device,
calculating, using the accelerometer values, second data corresponding to a movement of the pointing device, and
executing the game process using the first data and the second data.
37. A computer-readable storage medium having stored thereon a game program executed by a computer of a game computing device for executing a game process using accelerometer values which are sequentially output by an accelerometer of a pointing device, the game program causing the computer to execute:
sequentially acquiring the accelerometer values;
sequentially computing normalized accelerometer values, the normalized accelerometer values additionally being computed based on a previously normalized accelerometer value; and
executing the game process using the accelerometer values and hie normalized accelerometer values.
38. The storage medium according to claim 37 , wherein the game process includes:
determining, using the normalized accelerometer values, a characteristic of an object in a game space for determining a first action to be performed by the object, and
determining, using the accelerometer values, a characteristic of the object for determining a second action to be performed by the object.
39. The storage medium according to claim 38 , wherein
the characteristic of the object in the game space for determining the first action includes an angle of the object in the game space, and
the characteristic of the object in the game space for determining the second action includes a position of the object in the game space.
40. The storage medium according to claim 39 , wherein the position of the object in the game space is based at least in part on the accelerometer values and a moving direction in accordance with the angle of the object.
41. The storage medium according to claim 37 , wherein the game process includes:
calculating a difference between a value of the acceleration represented by the accelerometer values and the value represented by the normalized accelerometer values, and
executing the game process further using the difference.
42. The storage medium according to claim 41 , wherein the game process includes:
determining, using the normalized accelerometer values, a characteristic of an object in a game space for determining a first action to be performed by the object, and
determining, using the difference, a characteristic of the object for determining a second action to be performed by the object.
43. The storage medium according to claim 42 , wherein
the characteristic of the object in the game space for determining the first action includes an angle of the object in the game space, and
the characteristic of the object in the game space for determining the first action includes a position of the object in the game space.
44. The storage medium according to claim 43 , wherein the position of the object in the game space is based at least in part on a movement distance based on the difference and a moving direction in accordance with the angle of the object.
45. The storage medium according to claim 41 , wherein the game process includes:
controlling, using the normalized accelerometer values, a characteristic of a first player object appearing in a game space for determining an action to be performed by the first player object, and
controlling, using the difference, a characteristic of a second player object appearing in the game space for determining an action to be performed by the second player object.
46. The storage medium according to claim 37 , wherein the game process includes:
controlling, using the normalized accelerometer values, a characteristic of a first player object appearing in a game space for determining an action to be performed by the first player object, and
controlling, using the accelerometer values, a characteristic of a second player object appearing in the game space for determining an action to be performed by the second player object.
47. The storage medium according to claim 37 , wherein the game process includes:
sequentially computing normalized accelerometer values each time the accelerometer values are acquired, and
calculating the normalized accelerometer values further includes performing a calculation by which the value represented by the normalized accelerometer values having been most recently calculated approaches, at a predetermined rate, a value represented by the accelerometer values.
48. The storage medium according to claim 37 , wherein the game process includes:
calculating, using the normalized accelerometer values, first data corresponding to a tilt of the pointing device including the acceleration sensor,
calculating, using the accelerometer values, second data corresponding to a movement of the pointing device, and
executing the game process further using the first data and the second data.
49. A non-transitory computer-readable storage medium having stored thereon a game program executed by a computer of a game apparatus for executing a game process using acceleration data which is sequentially outputted by an acceleration sensor of an input device, the game program causing the computer to execute:
sequentially acquiring the acceleration data;
sequentially calculating smoothed data based on a value which is obtained by smoothing an acceleration represented by the acceleration data, the smoothed data additionally based on at least two previously acquired acceleration data; and
executing the game process using the acceleration data and the smoothed data.
50. A game apparatus for executing a game process using acceleration data, the acceleration data outputted by an acceleration sensor of an input device, the game apparatus comprising:
a processing system configured to cause:
receiving the acceleration data;
calculating smoothed data based on at least two previous received acceleration data, the smoothed data representing a value obtained by smoothing an acceleration represented by the acceleration data; and
executing the game process based at least in part on the acceleration data and the smoothed data.
51. A game apparatus for executing a game process using acceleration data, the acceleration data outputted by an acceleration sensor of an input device, the game apparatus comprising:
a processing system configured to:
receive unsmoothed acceleration data output by the acceleration sensor;
calculate smoothed data representing a value which is obtained by smoothing an acceleration represented by the unsmoothed acceleration data;
calculate tilt data from the smoothed data;
calculate movement data from the unsmoothed acceleration data; and
execute the game process using the smoothed data and the unsmoothed acceleration data, the game process using the tilt data and the movement data to perform first and second game actions of the game process, respectively, the first game action being different from the second game action.
52. The game apparatus according to claim 50 , wherein the processing system is further configured to calculate the smoothed data based on previously calculated smoothed data and the received acceleration data.
53. The game apparatus according to claim 50 , wherein the processing system is further configured to calculate the smoothed data based on at least two previous received acceleration data.
54. A computer-readable storage medium having stored thereon a game program executed by a computer of a game computing device for executing a game process using acceleration values which are sequentially output by an accelerometer of a pointing device, the game program causing the computer to execute:
sequentially acquiring the acceleration values;
sequentially computing normalized accelerometer values, the normalized accelerometer values additionally based on at least two previously acquired accelerometer values; and
executing the game process using the accelerometer values and the normalized accelerometer values.
55. A game computing device for executing a game process using accelerometer values, the accelerometer values output by an accelerometer of a pointing device, the game computing device comprising:
a computer system configured for:
receiving the accelerometer values;
computing normalized accelerometer values based on at least two previously received accelerometer values; and
executing the game process based at least in part on the acceleration data and the normalized accelerometer values.
56. A game computing device for executing a game process using accelerometer values, the accelerometer values output by an accelerometer of a pointing device, the game computing device comprising:
a computer system configured to:
receive accelerometer values output by the accelerometer;
compute normalized accelerometer values;
calculate tilt data from the normalized accelerometer values;
calculate movement data from the accelerometer values; and
execute the game process using the normalized accelerometer values and the accelerometer values, the game process using the tilt data and the movement data to perform first and second game actions of the game process, the first game action being different from the second game action.
57. The game computing device according to claim 55 , wherein the computer system is further configured to compute the normalized accelerometer values data based on previously computed normalized accelerometer values and the accelerometer values.
58. The game computing device according to claim 55 , wherein the computer system is further configured to compute the normalized accelerometer values based on at least two previous received accelerometer values.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/919,995 US20130324248A1 (en) | 2003-03-25 | 2013-06-17 | System and method for executing a game process |
US14/803,949 US10551930B2 (en) | 2003-03-25 | 2015-07-20 | System and method for executing a process using accelerometer signals |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/396,653 US7665041B2 (en) | 2003-03-25 | 2003-03-25 | Architecture for controlling a computer using hand gestures |
US10/724,950 US8745541B2 (en) | 2003-03-25 | 2003-12-01 | Architecture for controlling a computer using hand gestures |
US12/289,099 US20130190089A1 (en) | 2003-03-25 | 2008-10-20 | System and method for execution a game process |
US12/457,656 US20100138798A1 (en) | 2003-03-25 | 2009-06-17 | System and method for executing a game process |
US13/919,995 US20130324248A1 (en) | 2003-03-25 | 2013-06-17 | System and method for executing a game process |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/457,656 Continuation US20100138798A1 (en) | 2003-03-25 | 2009-06-17 | System and method for executing a game process |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/803,949 Continuation US10551930B2 (en) | 2003-03-25 | 2015-07-20 | System and method for executing a process using accelerometer signals |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130324248A1 true US20130324248A1 (en) | 2013-12-05 |
Family
ID=46300426
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/724,950 Expired - Fee Related US8745541B2 (en) | 2003-03-25 | 2003-12-01 | Architecture for controlling a computer using hand gestures |
US12/289,099 Abandoned US20130190089A1 (en) | 2003-03-25 | 2008-10-20 | System and method for execution a game process |
US12/457,656 Abandoned US20100138798A1 (en) | 2003-03-25 | 2009-06-17 | System and method for executing a game process |
US12/495,105 Abandoned US20100151946A1 (en) | 2003-03-25 | 2009-06-30 | System and method for executing a game process |
US13/919,995 Abandoned US20130324248A1 (en) | 2003-03-25 | 2013-06-17 | System and method for executing a game process |
US14/803,949 Expired - Fee Related US10551930B2 (en) | 2003-03-25 | 2015-07-20 | System and method for executing a process using accelerometer signals |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/724,950 Expired - Fee Related US8745541B2 (en) | 2003-03-25 | 2003-12-01 | Architecture for controlling a computer using hand gestures |
US12/289,099 Abandoned US20130190089A1 (en) | 2003-03-25 | 2008-10-20 | System and method for execution a game process |
US12/457,656 Abandoned US20100138798A1 (en) | 2003-03-25 | 2009-06-17 | System and method for executing a game process |
US12/495,105 Abandoned US20100151946A1 (en) | 2003-03-25 | 2009-06-30 | System and method for executing a game process |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/803,949 Expired - Fee Related US10551930B2 (en) | 2003-03-25 | 2015-07-20 | System and method for executing a process using accelerometer signals |
Country Status (1)
Country | Link |
---|---|
US (6) | US8745541B2 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100151946A1 (en) * | 2003-03-25 | 2010-06-17 | Wilson Andrew D | System and method for executing a game process |
US20150015480A1 (en) * | 2012-12-13 | 2015-01-15 | Jeremy Burr | Gesture pre-processing of video stream using a markered region |
US9141443B2 (en) * | 2013-01-07 | 2015-09-22 | General Electric Company | Method and system for integrating visual controls with legacy applications |
JP2016024690A (en) * | 2014-07-22 | 2016-02-08 | Necパーソナルコンピュータ株式会社 | Movement recognition device, movement recognition method and program |
US9363640B2 (en) | 2014-08-05 | 2016-06-07 | Samsung Electronics Co., Ltd. | Electronic system with transformable mode mechanism and method of operation thereof |
US9596643B2 (en) | 2011-12-16 | 2017-03-14 | Microsoft Technology Licensing, Llc | Providing a user interface experience based on inferred vehicle state |
US10359858B2 (en) * | 2016-09-07 | 2019-07-23 | Disney Enterprises, Inc. | Systems and methods for simulating sounds of a virtual object using procedural audio |
CN111643123A (en) * | 2020-05-26 | 2020-09-11 | 清华大学 | Automatic sampling device of pharynx swab |
US11120254B2 (en) | 2017-03-29 | 2021-09-14 | Beijing Sensetime Technology Development Co., Ltd. | Methods and apparatuses for determining hand three-dimensional data |
Families Citing this family (757)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US20070177804A1 (en) * | 2006-01-30 | 2007-08-02 | Apple Computer, Inc. | Multi-touch gesture dictionary |
US7840912B2 (en) * | 2006-01-30 | 2010-11-23 | Apple Inc. | Multi-touch gesture dictionary |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
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 |
US6990639B2 (en) | 2002-02-07 | 2006-01-24 | Microsoft Corporation | System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration |
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 |
US8460103B2 (en) | 2004-06-18 | 2013-06-11 | Igt | Gesture controlled casino gaming system |
US7815507B2 (en) * | 2004-06-18 | 2010-10-19 | Igt | Game machine user interface using a non-contact eye motion recognition device |
US20050198933A1 (en) * | 2004-03-15 | 2005-09-15 | Klein John A. | Deck for mowers |
US9446319B2 (en) | 2003-03-25 | 2016-09-20 | Mq Gaming, Llc | Interactive gaming toy |
US7665041B2 (en) | 2003-03-25 | 2010-02-16 | Microsoft Corporation | Architecture for controlling a computer using hand gestures |
US8963853B2 (en) | 2010-10-01 | 2015-02-24 | Z124 | Smartpad split screen desktop |
US9182937B2 (en) | 2010-10-01 | 2015-11-10 | Z124 | Desktop reveal by moving a logical display stack with gestures |
JP4355341B2 (en) * | 2003-05-29 | 2009-10-28 | 本田技研工業株式会社 | Visual tracking using depth data |
EP1631937B1 (en) * | 2003-06-12 | 2018-03-28 | Honda Motor Co., Ltd. | Target orientation estimation using depth sensing |
JP4167954B2 (en) * | 2003-09-02 | 2008-10-22 | ファナック株式会社 | Robot and robot moving method |
CN1860429A (en) * | 2003-09-30 | 2006-11-08 | 皇家飞利浦电子股份有限公司 | Gesture to define location, size, and/or content of content window on a display |
US7489299B2 (en) * | 2003-10-23 | 2009-02-10 | Hillcrest Laboratories, Inc. | User interface devices and methods employing accelerometers |
FI117308B (en) * | 2004-02-06 | 2006-08-31 | Nokia Corp | gesture Control |
US8094927B2 (en) * | 2004-02-27 | 2012-01-10 | Eastman Kodak Company | Stereoscopic display system with flexible rendering of disparity map according to the stereoscopic fusing capability of the observer |
JP4677245B2 (en) * | 2004-03-03 | 2011-04-27 | キヤノン株式会社 | Image display method, program, image display apparatus, and image display system |
US8645569B2 (en) * | 2004-03-12 | 2014-02-04 | Rockwell Automation Technologies, Inc. | Juxtaposition based machine addressing |
US7548833B2 (en) * | 2004-03-25 | 2009-06-16 | Siemens Building Technologies, Inc. | Method and apparatus for graphical display of a condition in a building system with a mobile display unit |
US8629836B2 (en) | 2004-04-30 | 2014-01-14 | Hillcrest Laboratories, Inc. | 3D pointing devices with orientation compensation and improved usability |
JP4685095B2 (en) * | 2004-04-30 | 2011-05-18 | ヒルクレスト・ラボラトリーズ・インコーポレイテッド | Method and device for identifying a user based on tremor |
WO2005109215A2 (en) * | 2004-04-30 | 2005-11-17 | Hillcrest Laboratories, Inc. | Methods and devices for removing unintentional movement in free space pointing devices |
EP1759529A4 (en) * | 2004-04-30 | 2009-11-11 | Hillcrest Lab Inc | Free space pointing devices and method |
DK2337016T3 (en) * | 2004-04-30 | 2018-04-23 | Idhl Holdings Inc | Free space pointing device with slope compensation and improved applicability |
US7308112B2 (en) * | 2004-05-14 | 2007-12-11 | Honda Motor Co., Ltd. | Sign based human-machine interaction |
US8214012B2 (en) * | 2004-06-17 | 2012-07-03 | Psychology Software Tools, Inc. | Magnetic resonance imaging having patient video, microphone and motion tracking |
US8684839B2 (en) | 2004-06-18 | 2014-04-01 | Igt | Control of wager-based game using gesture recognition |
EP1787281A2 (en) * | 2004-07-15 | 2007-05-23 | N-Trig Ltd. | Automatic switching for a dual mode digitizer |
TWI291642B (en) * | 2004-07-15 | 2007-12-21 | N trig ltd | A tracking window for a digitizer system |
JP2006041884A (en) * | 2004-07-27 | 2006-02-09 | Sony Corp | Information processing apparatus and method therefor, recording medium and program |
US8872899B2 (en) * | 2004-07-30 | 2014-10-28 | Extreme Reality Ltd. | Method circuit and system for human to machine interfacing by hand gestures |
US8681100B2 (en) | 2004-07-30 | 2014-03-25 | Extreme Realty Ltd. | Apparatus system and method for human-machine-interface |
KR101323966B1 (en) | 2004-07-30 | 2013-10-31 | 익스트림 리얼리티 엘티디. | A system and method for 3D space-dimension based image processing |
US20060036947A1 (en) * | 2004-08-10 | 2006-02-16 | Jelley Kevin W | User interface controller method and apparatus for a handheld electronic device |
US7942744B2 (en) | 2004-08-19 | 2011-05-17 | Igt | Virtual input system |
US7704135B2 (en) * | 2004-08-23 | 2010-04-27 | Harrison Jr Shelton E | Integrated game system, method, and device |
US7761814B2 (en) * | 2004-09-13 | 2010-07-20 | Microsoft Corporation | Flick gesture |
US20090021479A1 (en) * | 2004-10-06 | 2009-01-22 | Axel Blonski | Device for Extracting Data by Hand Movement |
JP4950058B2 (en) * | 2004-11-16 | 2012-06-13 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Non-contact manipulation of images for local enhancement |
WO2006058129A2 (en) | 2004-11-23 | 2006-06-01 | Hillcrest Laboratories, Inc. | Semantic gaming and application transformation |
JP3833228B2 (en) * | 2004-12-01 | 2006-10-11 | 任天堂株式会社 | GAME DEVICE AND GAME PROGRAM |
US20060125920A1 (en) * | 2004-12-10 | 2006-06-15 | Microsoft Corporation | Matching un-synchronized image portions |
KR20060070280A (en) * | 2004-12-20 | 2006-06-23 | 한국전자통신연구원 | Apparatus and its method of user interface using hand gesture recognition |
EP1849123A2 (en) * | 2005-01-07 | 2007-10-31 | GestureTek, Inc. | Optical flow based tilt sensor |
WO2006074310A2 (en) | 2005-01-07 | 2006-07-13 | Gesturetek, Inc. | Creating 3d images of objects by illuminating with infrared patterns |
EP1851749B1 (en) * | 2005-01-21 | 2012-03-28 | Qualcomm Incorporated | Motion-based tracking |
US20150070319A1 (en) * | 2013-09-09 | 2015-03-12 | Timothy R. Pryor | Human interfaces for homes, medical devices and vehicles |
US7598942B2 (en) * | 2005-02-08 | 2009-10-06 | Oblong Industries, Inc. | System and method for gesture based control system |
US20060184993A1 (en) * | 2005-02-15 | 2006-08-17 | Goldthwaite Flora P | Method and system for collecting and using data |
KR100687737B1 (en) * | 2005-03-19 | 2007-02-27 | 한국전자통신연구원 | Apparatus and method for a virtual mouse based on two-hands gesture |
KR100594136B1 (en) * | 2005-03-28 | 2006-06-28 | 삼성전자주식회사 | Method for judging parking of hard disk drive in wireless terminal |
US7577925B2 (en) * | 2005-04-08 | 2009-08-18 | Microsoft Corporation | Processing for distinguishing pen gestures and dynamic self-calibration of pen-based computing systems |
RU2007146172A (en) | 2005-05-17 | 2009-06-27 | Гестуретэк, Инк. (Us) | ORIENTATION SIGNAL OUTPUT |
US20060267927A1 (en) * | 2005-05-27 | 2006-11-30 | Crenshaw James E | User interface controller method and apparatus for a handheld electronic device |
US20070018966A1 (en) * | 2005-07-25 | 2007-01-25 | Blythe Michael M | Predicted object location |
GB0515796D0 (en) * | 2005-07-30 | 2005-09-07 | Mccarthy Peter | A motion capture and identification device |
US7927216B2 (en) | 2005-09-15 | 2011-04-19 | Nintendo Co., Ltd. | Video game system with wireless modular handheld controller |
US8313379B2 (en) | 2005-08-22 | 2012-11-20 | Nintendo Co., Ltd. | Video game system with wireless modular handheld controller |
US7942745B2 (en) | 2005-08-22 | 2011-05-17 | Nintendo Co., Ltd. | Game operating device |
JP4805633B2 (en) | 2005-08-22 | 2011-11-02 | 任天堂株式会社 | Game operation device |
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 |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US8157651B2 (en) | 2005-09-12 | 2012-04-17 | Nintendo Co., Ltd. | Information processing program |
US8825482B2 (en) * | 2005-09-15 | 2014-09-02 | Sony Computer Entertainment Inc. | Audio, video, simulation, and user interface paradigms |
US20070064004A1 (en) * | 2005-09-21 | 2007-03-22 | Hewlett-Packard Development Company, L.P. | Moving a graphic element |
US7697827B2 (en) | 2005-10-17 | 2010-04-13 | Konicek Jeffrey C | User-friendlier interfaces for a camera |
US20070285554A1 (en) | 2005-10-31 | 2007-12-13 | Dor Givon | Apparatus method and system for imaging |
US9046962B2 (en) | 2005-10-31 | 2015-06-02 | Extreme Reality Ltd. | Methods, systems, apparatuses, circuits and associated computer executable code for detecting motion, position and/or orientation of objects within a defined spatial region |
US9141254B2 (en) * | 2005-11-12 | 2015-09-22 | Orthosensor Inc | Navigation system and user interface for directing a control action |
US20070113207A1 (en) * | 2005-11-16 | 2007-05-17 | Hillcrest Laboratories, Inc. | Methods and systems for gesture classification in 3D pointing devices |
US7391338B2 (en) * | 2005-12-21 | 2008-06-24 | International Business Machines Corporation | Apparatus and method using a sensor to detect improper orientation of an object |
US8467904B2 (en) * | 2005-12-22 | 2013-06-18 | Honda Motor Co., Ltd. | Reconstruction, retargetting, tracking, and estimation of pose of articulated systems |
US9823747B2 (en) | 2006-02-08 | 2017-11-21 | Oblong Industries, Inc. | Spatial, multi-modal control device for use with spatial operating system |
US8370383B2 (en) | 2006-02-08 | 2013-02-05 | Oblong Industries, Inc. | Multi-process interactive systems and methods |
US8531396B2 (en) * | 2006-02-08 | 2013-09-10 | Oblong Industries, Inc. | Control system for navigating a principal dimension of a data space |
US9910497B2 (en) | 2006-02-08 | 2018-03-06 | Oblong Industries, Inc. | Gestural control of autonomous and semi-autonomous systems |
US8537112B2 (en) * | 2006-02-08 | 2013-09-17 | Oblong Industries, Inc. | Control system for navigating a principal dimension of a data space |
US8537111B2 (en) * | 2006-02-08 | 2013-09-17 | Oblong Industries, Inc. | Control system for navigating a principal dimension of a data space |
US20140035805A1 (en) * | 2009-04-02 | 2014-02-06 | David MINNEN | Spatial operating environment (soe) with markerless gestural control |
US9075441B2 (en) * | 2006-02-08 | 2015-07-07 | Oblong Industries, Inc. | Gesture based control using three-dimensional information extracted over an extended depth of field |
JP4530419B2 (en) | 2006-03-09 | 2010-08-25 | 任天堂株式会社 | Coordinate calculation apparatus and coordinate calculation program |
JP4151982B2 (en) | 2006-03-10 | 2008-09-17 | 任天堂株式会社 | Motion discrimination device and motion discrimination program |
JP4684147B2 (en) | 2006-03-28 | 2011-05-18 | 任天堂株式会社 | Inclination calculation device, inclination calculation program, game device, and game program |
US8683362B2 (en) | 2008-05-23 | 2014-03-25 | Qualcomm Incorporated | Card metaphor for activities in a computing device |
US8296684B2 (en) | 2008-05-23 | 2012-10-23 | Hewlett-Packard Development Company, L.P. | Navigating among activities in a computing device |
US8924021B2 (en) * | 2006-04-27 | 2014-12-30 | Honda Motor Co., Ltd. | Control of robots from human motion descriptors |
EP2460569A3 (en) * | 2006-05-04 | 2012-08-29 | Sony Computer Entertainment America LLC | Scheme for Detecting and Tracking User Manipulation of a Game Controller Body and for Translating Movements Thereof into Inputs and Game Commands |
US7721207B2 (en) * | 2006-05-31 | 2010-05-18 | Sony Ericsson Mobile Communications Ab | Camera based control |
US9696808B2 (en) * | 2006-07-13 | 2017-07-04 | Northrop Grumman Systems Corporation | Hand-gesture recognition method |
US8589824B2 (en) * | 2006-07-13 | 2013-11-19 | Northrop Grumman Systems Corporation | Gesture recognition interface system |
US8972902B2 (en) * | 2008-08-22 | 2015-03-03 | Northrop Grumman Systems Corporation | Compound gesture recognition |
US8180114B2 (en) * | 2006-07-13 | 2012-05-15 | Northrop Grumman Systems Corporation | Gesture recognition interface system with vertical display |
US7702608B1 (en) * | 2006-07-14 | 2010-04-20 | Ailive, Inc. | Generating motion recognizers for arbitrary motions for video games and tuning the motion recognizers to the end user |
US8234578B2 (en) * | 2006-07-25 | 2012-07-31 | Northrop Grumman Systems Corporatiom | Networked gesture collaboration system |
US20080096643A1 (en) * | 2006-08-10 | 2008-04-24 | Shalini Venkatesh | System and method for using image analysis of user interface signals for program control |
US8432448B2 (en) * | 2006-08-10 | 2013-04-30 | Northrop Grumman Systems Corporation | Stereo camera intrusion detection system |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US7698002B2 (en) * | 2006-09-29 | 2010-04-13 | Nellcor Puritan Bennett Llc | Systems and methods for user interface and identification in a medical device |
US8005257B2 (en) * | 2006-10-05 | 2011-08-23 | The United States Of America As Represented By The Secretary Of The Navy | Gesture recognition apparatus and method |
DE102006051447A1 (en) * | 2006-10-31 | 2008-05-08 | Siemens Ag | Method and system for generating a user interface |
JP5132131B2 (en) * | 2006-11-17 | 2013-01-30 | 任天堂株式会社 | Pointing device adjustment program and pointing device |
US7970188B2 (en) * | 2006-11-22 | 2011-06-28 | General Electric Company | Systems and methods for automatic routing and prioritization of exams based on image classification |
US20080140397A1 (en) * | 2006-12-07 | 2008-06-12 | Jonathan Travis Millman | Sequencing for location determination |
JP2008146243A (en) * | 2006-12-07 | 2008-06-26 | Toshiba Corp | Information processor, information processing method and program |
WO2008083205A2 (en) | 2006-12-29 | 2008-07-10 | Gesturetek, Inc. | Manipulation of virtual objects using enhanced interactive system |
US9311528B2 (en) | 2007-01-03 | 2016-04-12 | Apple Inc. | Gesture learning |
JP5127242B2 (en) | 2007-01-19 | 2013-01-23 | 任天堂株式会社 | Acceleration data processing program and game program |
US9486703B2 (en) * | 2007-01-31 | 2016-11-08 | Broadcom Corporation | Mobile communication device with game application for use in conjunction with a remote mobile communication device and methods for use therewith |
DE102007016408A1 (en) * | 2007-03-26 | 2008-10-02 | Ident Technology Ag | Mobile communication device and input device therefor |
EP2163987A3 (en) | 2007-04-24 | 2013-01-23 | Oblong Industries, Inc. | Processing of events in data processing environments |
GB0709134D0 (en) * | 2007-05-11 | 2007-06-20 | Surman Philip | Multi-user autostereoscopic Display |
US8855719B2 (en) | 2009-05-08 | 2014-10-07 | Kopin Corporation | Wireless hands-free computing headset with detachable accessories controllable by motion, body gesture and/or vocal commands |
US8103109B2 (en) * | 2007-06-19 | 2012-01-24 | Microsoft Corporation | Recognizing hand poses and/or object classes |
US10806519B2 (en) * | 2007-06-22 | 2020-10-20 | Orthosoft Ulc | Computer-assisted surgery system with user interface tool used as mouse in sterile surgery environment |
FR2917931A1 (en) * | 2007-06-22 | 2008-12-26 | France Telecom | METHOD AND SYSTEM FOR CONNECTING PEOPLE IN A TELECOMMUNICATIONS SYSTEM. |
US7860676B2 (en) | 2007-06-28 | 2010-12-28 | Hillcrest Laboratories, Inc. | Real-time dynamic tracking of bias |
CA2591808A1 (en) * | 2007-07-11 | 2009-01-11 | Hsien-Hsiang Chiu | Intelligent object tracking and gestures sensing input device |
EP2017756A1 (en) * | 2007-07-20 | 2009-01-21 | BrainLAB AG | Method for displaying and/or processing or manipulating image data for medical purposes with gesture recognition |
EP2031531A3 (en) * | 2007-07-20 | 2009-04-29 | BrainLAB AG | Integrated medical technical display system |
DE202007011152U1 (en) * | 2007-08-09 | 2007-12-13 | S-Cape Gmbh | Digital X-ray image viewer for medical diagnostics |
US9261979B2 (en) * | 2007-08-20 | 2016-02-16 | Qualcomm Incorporated | Gesture-based mobile interaction |
US8565535B2 (en) * | 2007-08-20 | 2013-10-22 | Qualcomm Incorporated | Rejecting out-of-vocabulary words |
KR101141087B1 (en) | 2007-09-14 | 2012-07-12 | 인텔렉츄얼 벤처스 홀딩 67 엘엘씨 | Processing of gesture-based user interactions |
JP4569613B2 (en) * | 2007-09-19 | 2010-10-27 | ソニー株式会社 | Image processing apparatus, image processing method, and program |
CA2702079C (en) * | 2007-10-08 | 2015-05-05 | The Regents Of The University Of California | Voice-controlled clinical information dashboard |
WO2009051665A1 (en) * | 2007-10-16 | 2009-04-23 | Hillcrest Laboratories, Inc. | Fast and smooth scrolling of user interfaces operating on thin clients |
US20090100383A1 (en) * | 2007-10-16 | 2009-04-16 | Microsoft Corporation | Predictive gesturing in graphical user interface |
US8005263B2 (en) * | 2007-10-26 | 2011-08-23 | Honda Motor Co., Ltd. | Hand sign recognition using label assignment |
US8170287B2 (en) * | 2007-10-26 | 2012-05-01 | Honda Motor Co., Ltd. | Real-time self collision and obstacle avoidance |
US10146320B2 (en) | 2007-10-29 | 2018-12-04 | The Boeing Company | Aircraft having gesture-based control for an onboard passenger service unit |
US20090109036A1 (en) * | 2007-10-29 | 2009-04-30 | The Boeing Company | System and Method for Alternative Communication |
JP5261495B2 (en) * | 2007-11-01 | 2013-08-14 | 本田技研工業株式会社 | Real-time self-collision and obstacle avoidance using weight matrix |
US8139110B2 (en) * | 2007-11-01 | 2012-03-20 | Northrop Grumman Systems Corporation | Calibration of a gesture recognition interface system |
US9377874B2 (en) * | 2007-11-02 | 2016-06-28 | Northrop Grumman Systems Corporation | Gesture recognition light and video image projector |
US8159682B2 (en) | 2007-11-12 | 2012-04-17 | Intellectual Ventures Holding 67 Llc | Lens system |
US8515052B2 (en) | 2007-12-17 | 2013-08-20 | Wai Wu | Parallel signal processing system and method |
CN101465961B (en) * | 2007-12-19 | 2013-10-30 | 神基科技股份有限公司 | Photographic device and method capable of controlling shutter through characteristic image identification |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9098766B2 (en) * | 2007-12-21 | 2015-08-04 | Honda Motor Co., Ltd. | Controlled human pose estimation from depth image streams |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8413075B2 (en) * | 2008-01-04 | 2013-04-02 | Apple Inc. | Gesture movies |
WO2009120984A1 (en) | 2008-03-28 | 2009-10-01 | Kopin Corporation | Handheld wireless display device having high-resolution display suitable for use as a mobile internet device |
US9035876B2 (en) | 2008-01-14 | 2015-05-19 | Apple Inc. | Three-dimensional user interface session control |
US8933876B2 (en) | 2010-12-13 | 2015-01-13 | Apple Inc. | Three dimensional user interface session control |
US20090185080A1 (en) * | 2008-01-18 | 2009-07-23 | Imu Solutions, Inc. | Controlling an electronic device by changing an angular orientation of a remote wireless-controller |
US8195220B2 (en) * | 2008-02-01 | 2012-06-05 | Lg Electronics Inc. | User interface for mobile devices |
US8423076B2 (en) * | 2008-02-01 | 2013-04-16 | Lg Electronics Inc. | User interface for a mobile device |
US8259163B2 (en) | 2008-03-07 | 2012-09-04 | Intellectual Ventures Holding 67 Llc | Display with built in 3D sensing |
US9513718B2 (en) * | 2008-03-19 | 2016-12-06 | Computime, Ltd. | User action remote control |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US20090259432A1 (en) * | 2008-04-15 | 2009-10-15 | Liberty Matthew G | Tracking determination based on intensity angular gradient of a wave |
US9740293B2 (en) | 2009-04-02 | 2017-08-22 | Oblong Industries, Inc. | Operating environment with gestural control and multiple client devices, displays, and users |
US9740922B2 (en) | 2008-04-24 | 2017-08-22 | Oblong Industries, Inc. | Adaptive tracking system for spatial input devices |
US8723795B2 (en) | 2008-04-24 | 2014-05-13 | Oblong Industries, Inc. | Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes |
US9495013B2 (en) | 2008-04-24 | 2016-11-15 | Oblong Industries, Inc. | Multi-modal gestural interface |
US10642364B2 (en) | 2009-04-02 | 2020-05-05 | Oblong Industries, Inc. | Processing tracking and recognition data in gestural recognition systems |
US9684380B2 (en) | 2009-04-02 | 2017-06-20 | Oblong Industries, Inc. | Operating environment with gestural control and multiple client devices, displays, and users |
US9952673B2 (en) | 2009-04-02 | 2018-04-24 | Oblong Industries, Inc. | Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control |
US8405727B2 (en) * | 2008-05-01 | 2013-03-26 | Apple Inc. | Apparatus and method for calibrating image capture devices |
US10496753B2 (en) * | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US20090305785A1 (en) * | 2008-06-06 | 2009-12-10 | Microsoft Corporation | Gesture controlled game screen navigation |
US20100058333A1 (en) * | 2008-06-11 | 2010-03-04 | Harold Lee Peterson | Method, system and computer-readable medium for personalized gadget configuration |
CN102112945B (en) * | 2008-06-18 | 2016-08-10 | 奥布隆工业有限公司 | Control system based on attitude for vehicle interface |
US8345920B2 (en) * | 2008-06-20 | 2013-01-01 | Northrop Grumman Systems Corporation | Gesture recognition interface system with a light-diffusive screen |
KR100978929B1 (en) * | 2008-06-24 | 2010-08-30 | 한국전자통신연구원 | Registration method of reference gesture data, operation method of mobile terminal and mobile terminal |
US8146020B2 (en) | 2008-07-24 | 2012-03-27 | Qualcomm Incorporated | Enhanced detection of circular engagement gesture |
ES2648049T3 (en) | 2008-07-25 | 2017-12-28 | Qualcomm Incorporated | Enhanced wave gesture detection |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8463053B1 (en) | 2008-08-08 | 2013-06-11 | The Research Foundation Of State University Of New York | Enhanced max margin learning on multimodal data mining in a multimedia database |
JP5599400B2 (en) * | 2008-09-04 | 2014-10-01 | エクストリーム リアリティー エルティーディー. | Method system and software for providing an image sensor based human machine interface |
US8538084B2 (en) * | 2008-09-08 | 2013-09-17 | Apple Inc. | Method and apparatus for depth sensing keystoning |
US8508671B2 (en) | 2008-09-08 | 2013-08-13 | Apple Inc. | Projection systems and methods |
US8527908B2 (en) * | 2008-09-26 | 2013-09-03 | Apple Inc. | Computer user interface system and methods |
US20100079426A1 (en) * | 2008-09-26 | 2010-04-01 | Apple Inc. | Spatial ambient light profiling |
US8610726B2 (en) * | 2008-09-26 | 2013-12-17 | Apple Inc. | Computer systems and methods with projected display |
US20100079653A1 (en) * | 2008-09-26 | 2010-04-01 | Apple Inc. | Portable computing system with a secondary image output |
US7881603B2 (en) * | 2008-09-26 | 2011-02-01 | Apple Inc. | Dichroic aperture for electronic imaging device |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US20100085147A1 (en) * | 2008-10-08 | 2010-04-08 | Gm Global Technology Operations, Inc. | Keyless entry using hand signals |
WO2010045394A1 (en) * | 2008-10-14 | 2010-04-22 | Oblong Industries, Inc. | Multi-process interactive systems and methods |
US20100095250A1 (en) * | 2008-10-15 | 2010-04-15 | Raytheon Company | Facilitating Interaction With An Application |
US9037468B2 (en) * | 2008-10-27 | 2015-05-19 | Sony Computer Entertainment Inc. | Sound localization for user in motion |
DE102008059456B3 (en) * | 2008-11-28 | 2010-08-26 | Siemens Aktiengesellschaft | Method for displaying image data on display device, involves determining actual position of pre-determined operating personnel with sensor according to display device, where sub-area of display device is determined |
US9134798B2 (en) * | 2008-12-15 | 2015-09-15 | Microsoft Technology Licensing, Llc | Gestures, interactions, and common ground in a surface computing environment |
JP4702475B2 (en) * | 2008-12-25 | 2011-06-15 | ソニー株式会社 | Input device, handheld device and control method |
US20120202569A1 (en) * | 2009-01-13 | 2012-08-09 | Primesense Ltd. | Three-Dimensional User Interface for Game Applications |
US10019081B2 (en) * | 2009-01-15 | 2018-07-10 | International Business Machines Corporation | Functionality switching in pointer input devices |
WO2010084435A2 (en) * | 2009-01-22 | 2010-07-29 | Koninklijke Philips Electronics N.V. | Predicting user interactions during image processing |
US8565476B2 (en) * | 2009-01-30 | 2013-10-22 | Microsoft Corporation | Visual target tracking |
US8588465B2 (en) | 2009-01-30 | 2013-11-19 | Microsoft Corporation | Visual target tracking |
US8682028B2 (en) | 2009-01-30 | 2014-03-25 | Microsoft Corporation | Visual target tracking |
US8577084B2 (en) | 2009-01-30 | 2013-11-05 | Microsoft Corporation | Visual target tracking |
US8565477B2 (en) * | 2009-01-30 | 2013-10-22 | Microsoft Corporation | Visual target tracking |
US7996793B2 (en) * | 2009-01-30 | 2011-08-09 | Microsoft Corporation | Gesture recognizer system architecture |
US8267781B2 (en) | 2009-01-30 | 2012-09-18 | Microsoft Corporation | Visual target tracking |
US9468846B2 (en) * | 2009-01-30 | 2016-10-18 | Performance Designed Products Llc | Tactile feedback apparatus and method |
US8577085B2 (en) | 2009-01-30 | 2013-11-05 | Microsoft Corporation | Visual target tracking |
US20100199231A1 (en) * | 2009-01-30 | 2010-08-05 | Microsoft Corporation | Predictive determination |
US9424578B2 (en) * | 2009-02-24 | 2016-08-23 | Ebay Inc. | System and method to provide gesture functions at a device |
JP5647155B2 (en) * | 2009-02-25 | 2014-12-24 | 本田技研工業株式会社 | Body feature detection and human pose estimation using inner distance shape relation |
US8396825B2 (en) * | 2009-02-25 | 2013-03-12 | Toyota Motor Engineering & Manufacturing North America | Method and system to recognize temporal events using enhanced temporal decision trees |
JP2010204730A (en) * | 2009-02-27 | 2010-09-16 | Seiko Epson Corp | System of controlling device in response to gesture |
US20100225491A1 (en) * | 2009-03-05 | 2010-09-09 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Postural information system and method |
US9024976B2 (en) | 2009-03-05 | 2015-05-05 | The Invention Science Fund I, Llc | Postural information system and method |
WO2010103482A2 (en) * | 2009-03-13 | 2010-09-16 | Primesense Ltd. | Enhanced 3d interfacing for remote devices |
US10824238B2 (en) | 2009-04-02 | 2020-11-03 | Oblong Industries, Inc. | Operating environment with gestural control and multiple client devices, displays, and users |
US9317128B2 (en) * | 2009-04-02 | 2016-04-19 | Oblong Industries, Inc. | Remote devices used in a markerless installation of a spatial operating environment incorporating gestural control |
US20150309581A1 (en) * | 2009-04-02 | 2015-10-29 | David MINNEN | Cross-user hand tracking and shape recognition user interface |
JP5256109B2 (en) | 2009-04-23 | 2013-08-07 | 株式会社日立製作所 | Display device |
KR101581883B1 (en) * | 2009-04-30 | 2016-01-11 | 삼성전자주식회사 | Appratus for detecting voice using motion information and method thereof |
CN102405463B (en) * | 2009-04-30 | 2015-07-29 | 三星电子株式会社 | Utilize the user view reasoning device and method of multi-modal information |
US8649554B2 (en) | 2009-05-01 | 2014-02-11 | Microsoft Corporation | Method to control perspective for a camera-controlled computer |
US8942428B2 (en) | 2009-05-01 | 2015-01-27 | Microsoft Corporation | Isolate extraneous motions |
US9498718B2 (en) * | 2009-05-01 | 2016-11-22 | Microsoft Technology Licensing, Llc | Altering a view perspective within a display environment |
EP2427812A4 (en) * | 2009-05-08 | 2016-06-08 | Kopin Corp | Remote control of host application using motion and voice commands |
US20100295782A1 (en) | 2009-05-21 | 2010-11-25 | Yehuda Binder | System and method for control based on face ore hand gesture detection |
US8418085B2 (en) * | 2009-05-29 | 2013-04-09 | Microsoft Corporation | Gesture coach |
US9383823B2 (en) * | 2009-05-29 | 2016-07-05 | Microsoft Technology Licensing, Llc | Combining gestures beyond skeletal |
US20100306716A1 (en) * | 2009-05-29 | 2010-12-02 | Microsoft Corporation | Extending standard gestures |
US9400559B2 (en) * | 2009-05-29 | 2016-07-26 | Microsoft Technology Licensing, Llc | Gesture shortcuts |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9259179B2 (en) | 2012-02-27 | 2016-02-16 | Orthosensor Inc. | Prosthetic knee joint measurement system including energy harvesting and method therefor |
US8720270B2 (en) | 2010-06-29 | 2014-05-13 | Ortho Sensor Inc. | Prosthetic component for monitoring joint health |
US8714009B2 (en) | 2010-06-29 | 2014-05-06 | Orthosensor Inc. | Shielded capacitor sensor system for medical applications and method |
US8826733B2 (en) | 2009-06-30 | 2014-09-09 | Orthosensor Inc | Sensored prosthetic component and method |
US20100331733A1 (en) | 2009-06-30 | 2010-12-30 | Orthosensor | Sensing device and method for an orthopedic joint |
US9462964B2 (en) | 2011-09-23 | 2016-10-11 | Orthosensor Inc | Small form factor muscular-skeletal parameter measurement system |
US8707782B2 (en) | 2009-06-30 | 2014-04-29 | Orthosensor Inc | Prosthetic component for monitoring synovial fluid and method |
US9839390B2 (en) | 2009-06-30 | 2017-12-12 | Orthosensor Inc. | Prosthetic component having a compliant surface |
US8679186B2 (en) | 2010-06-29 | 2014-03-25 | Ortho Sensor Inc. | Hermetically sealed prosthetic component and method therefor |
US8701484B2 (en) | 2010-06-29 | 2014-04-22 | Orthosensor Inc. | Small form factor medical sensor structure and method therefor |
US20110172550A1 (en) | 2009-07-21 | 2011-07-14 | Michael Scott Martin | Uspa: systems and methods for ems device communication interface |
US8428368B2 (en) | 2009-07-31 | 2013-04-23 | Echostar Technologies L.L.C. | Systems and methods for hand gesture control of an electronic device |
US10198854B2 (en) * | 2009-08-14 | 2019-02-05 | Microsoft Technology Licensing, Llc | Manipulation of 3-dimensional graphical objects for view in a multi-touch display |
CN101995946A (en) * | 2009-08-27 | 2011-03-30 | 鸿富锦精密工业(深圳)有限公司 | Computer remote control system and method |
US9141193B2 (en) * | 2009-08-31 | 2015-09-22 | Microsoft Technology Licensing, Llc | Techniques for using human gestures to control gesture unaware programs |
US8878779B2 (en) | 2009-09-21 | 2014-11-04 | Extreme Reality Ltd. | Methods circuits device systems and associated computer executable code for facilitating interfacing with a computing platform display screen |
KR101577106B1 (en) | 2009-09-21 | 2015-12-11 | 익스트림 리얼리티 엘티디. | Methods circuits apparatus and systems for human machine interfacing with an electronic appliance |
US8502926B2 (en) * | 2009-09-30 | 2013-08-06 | Apple Inc. | Display system having coherent and incoherent light sources |
US8619128B2 (en) | 2009-09-30 | 2013-12-31 | Apple Inc. | Systems and methods for an imaging system using multiple image sensors |
JP2011081480A (en) * | 2009-10-05 | 2011-04-21 | Seiko Epson Corp | Image input system |
US9933852B2 (en) | 2009-10-14 | 2018-04-03 | Oblong Industries, Inc. | Multi-process interactive systems and methods |
US9971807B2 (en) | 2009-10-14 | 2018-05-15 | Oblong Industries, Inc. | Multi-process interactive systems and methods |
US20120188164A1 (en) * | 2009-10-16 | 2012-07-26 | Prasenjit Dey | Gesture processing |
US9981193B2 (en) | 2009-10-27 | 2018-05-29 | Harmonix Music Systems, Inc. | Movement based recognition and evaluation |
US8702485B2 (en) | 2010-06-11 | 2014-04-22 | Harmonix Music Systems, Inc. | Dance game and tutorial |
WO2011056657A2 (en) * | 2009-10-27 | 2011-05-12 | Harmonix Music Systems, Inc. | Gesture-based user interface |
KR20110052869A (en) * | 2009-11-13 | 2011-05-19 | 삼성전자주식회사 | Apparatus and method for providing pointer control function in portable terminal |
US20110115892A1 (en) * | 2009-11-13 | 2011-05-19 | VisionBrite Technologies, Inc. | Real-time embedded visible spectrum light vision-based human finger detection and tracking method |
US8432367B2 (en) * | 2009-11-19 | 2013-04-30 | Google Inc. | Translating user interaction with a touch screen into input commands |
US9244533B2 (en) * | 2009-12-17 | 2016-01-26 | Microsoft Technology Licensing, Llc | Camera navigation for presentations |
US8687070B2 (en) | 2009-12-22 | 2014-04-01 | Apple Inc. | Image capture device having tilt and/or perspective correction |
TWI411935B (en) * | 2009-12-25 | 2013-10-11 | Primax Electronics Ltd | System and method for generating control instruction by identifying user posture captured by image pickup device |
KR20110076458A (en) * | 2009-12-29 | 2011-07-06 | 엘지전자 주식회사 | Display device and control method thereof |
US8514188B2 (en) * | 2009-12-30 | 2013-08-20 | Microsoft Corporation | Hand posture mode constraints on touch input |
US8977972B2 (en) * | 2009-12-31 | 2015-03-10 | Intel Corporation | Using multi-modal input to control multiple objects on a display |
US20110164032A1 (en) * | 2010-01-07 | 2011-07-07 | Prime Sense Ltd. | Three-Dimensional User Interface |
US9019201B2 (en) * | 2010-01-08 | 2015-04-28 | Microsoft Technology Licensing, Llc | Evolving universal gesture sets |
WO2011085815A1 (en) | 2010-01-14 | 2011-07-21 | Brainlab Ag | Controlling a surgical navigation system |
US8334842B2 (en) * | 2010-01-15 | 2012-12-18 | Microsoft Corporation | Recognizing user intent in motion capture system |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US9507418B2 (en) | 2010-01-21 | 2016-11-29 | Tobii Ab | Eye tracker based contextual action |
US8676581B2 (en) * | 2010-01-22 | 2014-03-18 | Microsoft Corporation | Speech recognition analysis via identification information |
US8522308B2 (en) * | 2010-02-11 | 2013-08-27 | Verizon Patent And Licensing Inc. | Systems and methods for providing a spatial-input-based multi-user shared display experience |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9097890B2 (en) | 2010-02-28 | 2015-08-04 | Microsoft Technology Licensing, Llc | Grating in a light transmissive illumination system for see-through near-eye display glasses |
US9134534B2 (en) | 2010-02-28 | 2015-09-15 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses including a modular image source |
US9128281B2 (en) | 2010-09-14 | 2015-09-08 | Microsoft Technology Licensing, Llc | Eyepiece with uniformly illuminated reflective display |
US9091851B2 (en) | 2010-02-28 | 2015-07-28 | Microsoft Technology Licensing, Llc | Light control in head mounted displays |
US8482859B2 (en) | 2010-02-28 | 2013-07-09 | Osterhout Group, Inc. | See-through near-eye display glasses wherein image light is transmitted to and reflected from an optically flat film |
US9129295B2 (en) | 2010-02-28 | 2015-09-08 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with a fast response photochromic film system for quick transition from dark to clear |
US8472120B2 (en) | 2010-02-28 | 2013-06-25 | Osterhout Group, Inc. | See-through near-eye display glasses with a small scale image source |
US8467133B2 (en) | 2010-02-28 | 2013-06-18 | Osterhout Group, Inc. | See-through display with an optical assembly including a wedge-shaped illumination system |
US9759917B2 (en) | 2010-02-28 | 2017-09-12 | Microsoft Technology Licensing, Llc | AR glasses with event and sensor triggered AR eyepiece interface to external devices |
US9366862B2 (en) | 2010-02-28 | 2016-06-14 | Microsoft Technology Licensing, Llc | System and method for delivering content to a group of see-through near eye display eyepieces |
AU2011220382A1 (en) | 2010-02-28 | 2012-10-18 | Microsoft Corporation | Local advertising content on an interactive head-mounted eyepiece |
US9285589B2 (en) | 2010-02-28 | 2016-03-15 | Microsoft Technology Licensing, Llc | AR glasses with event and sensor triggered control of AR eyepiece applications |
US9097891B2 (en) | 2010-02-28 | 2015-08-04 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses including an auto-brightness control for the display brightness based on the brightness in the environment |
US10180572B2 (en) | 2010-02-28 | 2019-01-15 | Microsoft Technology Licensing, Llc | AR glasses with event and user action control of external applications |
US20150309316A1 (en) | 2011-04-06 | 2015-10-29 | Microsoft Technology Licensing, Llc | Ar glasses with predictive control of external device based on event input |
US8477425B2 (en) | 2010-02-28 | 2013-07-02 | Osterhout Group, Inc. | See-through near-eye display glasses including a partially reflective, partially transmitting optical element |
US9182596B2 (en) | 2010-02-28 | 2015-11-10 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with the optical assembly including absorptive polarizers or anti-reflective coatings to reduce stray light |
US8488246B2 (en) | 2010-02-28 | 2013-07-16 | Osterhout Group, Inc. | See-through near-eye display glasses including a curved polarizing film in the image source, a partially reflective, partially transmitting optical element and an optically flat film |
US20120249797A1 (en) | 2010-02-28 | 2012-10-04 | Osterhout Group, Inc. | Head-worn adaptive display |
US9341843B2 (en) | 2010-02-28 | 2016-05-17 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with a small scale image source |
US9223134B2 (en) | 2010-02-28 | 2015-12-29 | Microsoft Technology Licensing, Llc | Optical imperfections in a light transmissive illumination system for see-through near-eye display glasses |
US9229227B2 (en) | 2010-02-28 | 2016-01-05 | Microsoft Technology Licensing, Llc | See-through near-eye display glasses with a light transmissive wedge shaped illumination system |
US20120124481A1 (en) * | 2010-03-18 | 2012-05-17 | Robert Campbell | Interacting with a device |
WO2011119167A2 (en) * | 2010-03-26 | 2011-09-29 | Hewlett-Packard Development Company, L.P. | Associated file |
US9161717B2 (en) | 2011-09-23 | 2015-10-20 | Orthosensor Inc. | Orthopedic insert measuring system having a sealed cavity |
KR101743948B1 (en) * | 2010-04-07 | 2017-06-21 | 삼성전자주식회사 | Method for hover sensing in the interactive display and method for processing hover sensing image |
EP3543920B1 (en) | 2010-04-09 | 2023-09-13 | ZOLL Medical Corporation | Systems and methods for ems device communications interface |
CN101833403B (en) * | 2010-04-26 | 2012-09-19 | 鸿富锦精密工业(深圳)有限公司 | Touch system based on image identification |
KR101711925B1 (en) * | 2010-04-30 | 2017-03-03 | 톰슨 라이센싱 | 3d method and apparatus of push pull gesture recognition in 3d system |
US8593402B2 (en) | 2010-04-30 | 2013-11-26 | Verizon Patent And Licensing Inc. | Spatial-input-based cursor projection systems and methods |
US8457353B2 (en) | 2010-05-18 | 2013-06-04 | Microsoft Corporation | Gestures and gesture modifiers for manipulating a user-interface |
US9274594B2 (en) * | 2010-05-28 | 2016-03-01 | Microsoft Technology Licensing, Llc | Cloud-based personal trait profile data |
US8751215B2 (en) | 2010-06-04 | 2014-06-10 | Microsoft Corporation | Machine based sign language interpreter |
US9113190B2 (en) * | 2010-06-04 | 2015-08-18 | Microsoft Technology Licensing, Llc | Controlling power levels of electronic devices through user interaction |
US8749557B2 (en) * | 2010-06-11 | 2014-06-10 | Microsoft Corporation | Interacting with user interface via avatar |
US9358456B1 (en) | 2010-06-11 | 2016-06-07 | Harmonix Music Systems, Inc. | Dance competition game |
US8296151B2 (en) | 2010-06-18 | 2012-10-23 | Microsoft Corporation | Compound gesture-speech commands |
US20120013539A1 (en) * | 2010-07-13 | 2012-01-19 | Hogan Edward P A | Systems with gesture-based editing of tables |
US20120016641A1 (en) | 2010-07-13 | 2012-01-19 | Giuseppe Raffa | Efficient gesture processing |
JP2012038210A (en) * | 2010-08-10 | 2012-02-23 | Sony Corp | Information processing unit, information processing method, computer program, and content display system |
EP2421251A1 (en) * | 2010-08-17 | 2012-02-22 | LG Electronics | Display device and control method thereof |
US8497897B2 (en) | 2010-08-17 | 2013-07-30 | Apple Inc. | Image capture using luminance and chrominance sensors |
JP2012043288A (en) * | 2010-08-20 | 2012-03-01 | Nintendo Co Ltd | Information processor, information processing system and information processing method |
US9167289B2 (en) | 2010-09-02 | 2015-10-20 | Verizon Patent And Licensing Inc. | Perspective display systems and methods |
JP5829390B2 (en) * | 2010-09-07 | 2015-12-09 | ソニー株式会社 | Information processing apparatus and information processing method |
KR101257303B1 (en) * | 2010-09-08 | 2013-05-02 | 인테니움 인코퍼레이션 | Method and apparatus of recognizing gesture with untouched way |
US9213890B2 (en) * | 2010-09-17 | 2015-12-15 | Sony Corporation | Gesture recognition system for TV control |
US9122307B2 (en) | 2010-09-20 | 2015-09-01 | Kopin Corporation | Advanced remote control of host application using motion and voice commands |
US10013976B2 (en) | 2010-09-20 | 2018-07-03 | Kopin Corporation | Context sensitive overlays in voice controlled headset computer displays |
US8781629B2 (en) * | 2010-09-22 | 2014-07-15 | Toyota Motor Engineering & Manufacturing North America, Inc. | Human-robot interface apparatuses and methods of controlling robots |
US8538132B2 (en) | 2010-09-24 | 2013-09-17 | Apple Inc. | Component concentricity |
US20120075166A1 (en) * | 2010-09-29 | 2012-03-29 | Samsung Electronics Co. Ltd. | Actuated adaptive display systems |
US9046992B2 (en) | 2010-10-01 | 2015-06-02 | Z124 | Gesture controls for multi-screen user interface |
US9729658B2 (en) * | 2010-10-12 | 2017-08-08 | Chris Trahan | System for managing web-based content data and applications |
US20120095575A1 (en) * | 2010-10-14 | 2012-04-19 | Cedes Safety & Automation Ag | Time of flight (tof) human machine interface (hmi) |
US8957856B2 (en) | 2010-10-21 | 2015-02-17 | Verizon Patent And Licensing Inc. | Systems, methods, and apparatuses for spatial input associated with a display |
US20120100900A1 (en) * | 2010-10-21 | 2012-04-26 | Aibelive Co., Ltd | Method for operating a mobile device to control a main Unit in playing a video game |
US20120102400A1 (en) * | 2010-10-22 | 2012-04-26 | Microsoft Corporation | Touch Gesture Notification Dismissal Techniques |
US8866889B2 (en) * | 2010-11-03 | 2014-10-21 | Microsoft Corporation | In-home depth camera calibration |
US20120113223A1 (en) * | 2010-11-05 | 2012-05-10 | Microsoft Corporation | User Interaction in Augmented Reality |
WO2012064309A1 (en) * | 2010-11-11 | 2012-05-18 | Echostar Ukraine L.L.C. | Hearing and/or speech impaired electronic device control |
EP2455841A3 (en) * | 2010-11-22 | 2015-07-15 | Samsung Electronics Co., Ltd. | Apparatus and method for selecting item using movement of object |
KR101789619B1 (en) * | 2010-11-22 | 2017-10-25 | 엘지전자 주식회사 | Method for controlling using voice and gesture in multimedia device and multimedia device thereof |
WO2012074528A1 (en) * | 2010-12-02 | 2012-06-07 | Empire Technology Development Llc | Augmented reality system |
US8872762B2 (en) | 2010-12-08 | 2014-10-28 | Primesense Ltd. | Three dimensional user interface cursor control |
US8893054B2 (en) * | 2010-12-08 | 2014-11-18 | At&T Intellectual Property I, L.P. | Devices, systems, and methods for conveying gesture commands |
US9123316B2 (en) * | 2010-12-27 | 2015-09-01 | Microsoft Technology Licensing, Llc | Interactive content creation |
CA2806520C (en) | 2011-01-23 | 2016-02-16 | Extreme Reality Ltd. | Methods, systems, devices and associated processing logic for generating stereoscopic images and video |
US9285874B2 (en) * | 2011-02-09 | 2016-03-15 | Apple Inc. | Gaze detection in a 3D mapping environment |
TWI458339B (en) * | 2011-02-22 | 2014-10-21 | Sanjet Technology Corp | 3d image sensor alignment detection method |
JP5800526B2 (en) * | 2011-02-22 | 2015-10-28 | 任天堂株式会社 | GAME DEVICE, GAME PROGRAM, GAME SYSTEM, AND GAME PROCESSING METHOD |
US8782566B2 (en) * | 2011-02-22 | 2014-07-15 | Cisco Technology, Inc. | Using gestures to schedule and manage meetings |
KR101896947B1 (en) | 2011-02-23 | 2018-10-31 | 엘지이노텍 주식회사 | An apparatus and method for inputting command using gesture |
US20120226981A1 (en) * | 2011-03-02 | 2012-09-06 | Microsoft Corporation | Controlling electronic devices in a multimedia system through a natural user interface |
US9171200B2 (en) * | 2011-03-04 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Gestural interaction identification |
KR101814395B1 (en) * | 2011-03-08 | 2018-01-03 | 엘지전자 주식회사 | Electronic device and method for managing control right |
JP2012190183A (en) * | 2011-03-09 | 2012-10-04 | Sony Corp | Image processing device, method, and program |
US20120239396A1 (en) * | 2011-03-15 | 2012-09-20 | At&T Intellectual Property I, L.P. | Multimodal remote control |
EP2686254B1 (en) * | 2011-03-17 | 2018-08-15 | SSI Schäfer Automation GmbH | Controlling and monitoring a storage and order-picking system by means of movement and speech |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
CA2868276A1 (en) * | 2011-03-23 | 2013-09-27 | Mgestyk Technologies Inc. | Apparatus and system for interfacing with computers and other electronic devices through gestures by using depth sensing and methods of use |
CN102156859B (en) * | 2011-04-21 | 2012-10-03 | 刘津甦 | Sensing method for gesture and spatial location of hand |
US8620113B2 (en) | 2011-04-25 | 2013-12-31 | Microsoft Corporation | Laser diode modes |
CN102760198A (en) * | 2011-04-27 | 2012-10-31 | 德信互动科技(北京)有限公司 | Close somatosensory interaction device and method |
WO2012154938A1 (en) | 2011-05-10 | 2012-11-15 | Kopin Corporation | Headset computer that uses motion and voice commands to control information display and remote devices |
US20120304059A1 (en) * | 2011-05-24 | 2012-11-29 | Microsoft Corporation | Interactive Build Instructions |
US8769409B2 (en) * | 2011-05-27 | 2014-07-01 | Cyberlink Corp. | Systems and methods for improving object detection |
US8760395B2 (en) | 2011-05-31 | 2014-06-24 | Microsoft Corporation | Gesture recognition techniques |
US9594430B2 (en) * | 2011-06-01 | 2017-03-14 | Microsoft Technology Licensing, Llc | Three-dimensional foreground selection for vision system |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8897491B2 (en) * | 2011-06-06 | 2014-11-25 | Microsoft Corporation | System for finger recognition and tracking |
US20120323515A1 (en) * | 2011-06-14 | 2012-12-20 | Microsoft Corporation | User-mounted device calibration using external data |
US8930214B2 (en) * | 2011-06-17 | 2015-01-06 | Parallax Enterprises, Llc | Consolidated healthcare and resource management system |
US8881051B2 (en) | 2011-07-05 | 2014-11-04 | Primesense Ltd | Zoom-based gesture user interface |
US9459758B2 (en) | 2011-07-05 | 2016-10-04 | Apple Inc. | Gesture-based interface with enhanced features |
US9377865B2 (en) | 2011-07-05 | 2016-06-28 | Apple Inc. | Zoom-based gesture user interface |
US8179604B1 (en) | 2011-07-13 | 2012-05-15 | Google Inc. | Wearable marker for passive interaction |
DE102011107795A1 (en) | 2011-07-15 | 2013-01-17 | Fresenius Medical Care Deutschland Gmbh | Method and device for remote monitoring and control of medical fluid management devices |
CA2843343C (en) * | 2011-07-28 | 2018-02-20 | Arb Labs Inc. | Systems and methods of detecting body movements using globally generated multi-dimensional gesture data |
US8869073B2 (en) | 2011-07-28 | 2014-10-21 | Hewlett-Packard Development Company, L.P. | Hand pose interaction |
US9030487B2 (en) * | 2011-08-01 | 2015-05-12 | Lg Electronics Inc. | Electronic device for displaying three-dimensional image and method of using the same |
US9013366B2 (en) * | 2011-08-04 | 2015-04-21 | Microsoft Technology Licensing, Llc | Display environment for a plurality of display devices |
WO2013022222A2 (en) * | 2011-08-05 | 2013-02-14 | Samsung Electronics Co., Ltd. | Method for controlling electronic apparatus based on motion recognition, and electronic apparatus applying the same |
EP3754997B1 (en) | 2011-08-05 | 2023-08-30 | Samsung Electronics Co., Ltd. | Method for controlling electronic apparatus based on voice recognition and motion recognition, and electronic apparatus applying the same |
KR101262700B1 (en) * | 2011-08-05 | 2013-05-08 | 삼성전자주식회사 | Method for Controlling Electronic Apparatus based on Voice Recognition and Motion Recognition, and Electric Apparatus thereof |
US20130033644A1 (en) * | 2011-08-05 | 2013-02-07 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for controlling thereof |
US10585472B2 (en) | 2011-08-12 | 2020-03-10 | Sony Interactive Entertainment Inc. | Wireless head mounted display with differential rendering and sound localization |
US10209771B2 (en) | 2016-09-30 | 2019-02-19 | Sony Interactive Entertainment Inc. | Predictive RF beamforming for head mounted display |
US9030498B2 (en) | 2011-08-15 | 2015-05-12 | Apple Inc. | Combining explicit select gestures and timeclick in a non-tactile three dimensional user interface |
US9218063B2 (en) * | 2011-08-24 | 2015-12-22 | Apple Inc. | Sessionless pointing user interface |
WO2013033842A1 (en) * | 2011-09-07 | 2013-03-14 | Tandemlaunch Technologies Inc. | System and method for using eye gaze information to enhance interactions |
US8223024B1 (en) | 2011-09-21 | 2012-07-17 | Google Inc. | Locking mechanism based on unnatural movement of head-mounted display |
US9414940B2 (en) | 2011-09-23 | 2016-08-16 | Orthosensor Inc. | Sensored head for a measurement tool for the muscular-skeletal system |
US9839374B2 (en) | 2011-09-23 | 2017-12-12 | Orthosensor Inc. | System and method for vertebral load and location sensing |
US8911448B2 (en) | 2011-09-23 | 2014-12-16 | Orthosensor, Inc | Device and method for enabling an orthopedic tool for parameter measurement |
US9811255B2 (en) | 2011-09-30 | 2017-11-07 | Intel Corporation | Detection of gesture data segmentation in mobile devices |
US9408582B2 (en) | 2011-10-11 | 2016-08-09 | Amish Sura | Guided imaging system |
KR20130047890A (en) * | 2011-11-01 | 2013-05-09 | 삼성전기주식회사 | Remote control apparatus and gesture recognizing method of remote control apparatus |
US9301372B2 (en) | 2011-11-11 | 2016-03-29 | Osram Sylvania Inc. | Light control method and lighting device using the same |
JP2013105346A (en) * | 2011-11-14 | 2013-05-30 | Sony Corp | Information presentation device, information presentation method, information presentation system, information registration device, information registration method, information registration system, and program |
US9557819B2 (en) | 2011-11-23 | 2017-01-31 | Intel Corporation | Gesture input with multiple views, displays and physics |
US9072929B1 (en) * | 2011-12-01 | 2015-07-07 | Nebraska Global Investment Company, LLC | Image capture system |
US8635637B2 (en) | 2011-12-02 | 2014-01-21 | Microsoft Corporation | User interface presenting an animated avatar performing a media reaction |
EP2602691A1 (en) * | 2011-12-05 | 2013-06-12 | Alcatel Lucent | Method for gesture control, gesture server device and sensor input device |
US9250713B2 (en) * | 2011-12-05 | 2016-02-02 | Microsoft Technology Licensing, Llc | Control exposure |
US9100685B2 (en) | 2011-12-09 | 2015-08-04 | Microsoft Technology Licensing, Llc | Determining audience state or interest using passive sensor data |
US9766700B2 (en) * | 2011-12-14 | 2017-09-19 | Intel Corporation | Gaze activated content transfer system |
KR101574099B1 (en) * | 2011-12-20 | 2015-12-03 | 인텔 코포레이션 | Augmented reality representations across multiple devices |
US9032334B2 (en) * | 2011-12-21 | 2015-05-12 | Lg Electronics Inc. | Electronic device having 3-dimensional display and method of operating thereof |
WO2013101438A1 (en) | 2011-12-29 | 2013-07-04 | Kopin Corporation | Wireless hands-free computing head mounted video eyewear for local/remote diagnosis and repair |
US10452188B2 (en) * | 2012-01-13 | 2019-10-22 | Microsoft Technology Licensing, Llc | Predictive compensation for a latency of an input device |
US9223404B1 (en) * | 2012-01-27 | 2015-12-29 | Amazon Technologies, Inc. | Separating foreground and background objects in captured images |
US20130204408A1 (en) * | 2012-02-06 | 2013-08-08 | Honeywell International Inc. | System for controlling home automation system using body movements |
JP5505434B2 (en) * | 2012-02-09 | 2014-05-28 | 株式会社デンソー | Armpit judging device |
US9844335B2 (en) | 2012-02-27 | 2017-12-19 | Orthosensor Inc | Measurement device for the muscular-skeletal system having load distribution plates |
US9704027B1 (en) * | 2012-02-27 | 2017-07-11 | Amazon Technologies, Inc. | Gesture recognition |
US9622701B2 (en) | 2012-02-27 | 2017-04-18 | Orthosensor Inc | Muscular-skeletal joint stability detection and method therefor |
US9271675B2 (en) | 2012-02-27 | 2016-03-01 | Orthosensor Inc. | Muscular-skeletal joint stability detection and method therefor |
US9229534B2 (en) | 2012-02-28 | 2016-01-05 | Apple Inc. | Asymmetric mapping for tactile and non-tactile user interfaces |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US8485899B1 (en) * | 2012-03-06 | 2013-07-16 | Steelseries Aps | Method and apparatus for presenting performances of gamers |
US8947323B1 (en) | 2012-03-20 | 2015-02-03 | Hayes Solos Raffle | Content display methods |
WO2013144807A1 (en) | 2012-03-26 | 2013-10-03 | Primesense Ltd. | Enhanced virtual touchpad and touchscreen |
JP2013205983A (en) * | 2012-03-27 | 2013-10-07 | Sony Corp | Information input apparatus, information input method, and computer program |
US8898687B2 (en) | 2012-04-04 | 2014-11-25 | Microsoft Corporation | Controlling a media program based on a media reaction |
WO2013156885A2 (en) * | 2012-04-15 | 2013-10-24 | Extreme Reality Ltd. | Methods circuits device systems and associated computer executable code for facilitating interfacing with a computing platform display screen |
US8929954B2 (en) | 2012-04-25 | 2015-01-06 | Kopin Corporation | Headset computer (HSC) as auxiliary display with ASR and HT input |
US9507772B2 (en) | 2012-04-25 | 2016-11-29 | Kopin Corporation | Instant translation system |
US9086732B2 (en) * | 2012-05-03 | 2015-07-21 | Wms Gaming Inc. | Gesture fusion |
CA2775700C (en) | 2012-05-04 | 2013-07-23 | Microsoft Corporation | Determining a future portion of a currently presented media program |
US9587804B2 (en) | 2012-05-07 | 2017-03-07 | Chia Ming Chen | Light control systems and methods |
US9423870B2 (en) * | 2012-05-08 | 2016-08-23 | Google Inc. | Input determination method |
US9442290B2 (en) | 2012-05-10 | 2016-09-13 | Kopin Corporation | Headset computer operation using vehicle sensor feedback for remote control vehicle |
US9619036B2 (en) | 2012-05-11 | 2017-04-11 | Comcast Cable Communications, Llc | System and methods for controlling a user experience |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9823742B2 (en) | 2012-05-18 | 2017-11-21 | Microsoft Technology Licensing, Llc | Interaction and management of devices using gaze detection |
US9302182B2 (en) | 2012-05-23 | 2016-04-05 | Side-Kick Ltd | Method and apparatus for converting computer games between platforms using different modalities |
US9747306B2 (en) * | 2012-05-25 | 2017-08-29 | Atheer, Inc. | Method and apparatus for identifying input features for later recognition |
WO2013181226A2 (en) * | 2012-05-31 | 2013-12-05 | Malvin Michael | Dynamic data entry with enhanced security for screen-based computing devices |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9092394B2 (en) * | 2012-06-15 | 2015-07-28 | Honda Motor Co., Ltd. | Depth based context identification |
TWI490755B (en) * | 2012-06-20 | 2015-07-01 | Pixart Imaging Inc | Input system |
US9836590B2 (en) * | 2012-06-22 | 2017-12-05 | Microsoft Technology Licensing, Llc | Enhanced accuracy of user presence status determination |
DE102012210821A1 (en) * | 2012-06-26 | 2014-01-02 | Siemens Aktiengesellschaft | Method for a communication between a control unit and a patient and / or an operator as well as a medical imaging device for this purpose |
CN109508091A (en) * | 2012-07-06 | 2019-03-22 | 原相科技股份有限公司 | Input system |
US9087403B2 (en) * | 2012-07-26 | 2015-07-21 | Qualcomm Incorporated | Maintaining continuity of augmentations |
EP2698686B1 (en) * | 2012-07-27 | 2018-10-10 | LG Electronics Inc. | Wrist-wearable terminal and control method thereof |
US20140062864A1 (en) * | 2012-09-03 | 2014-03-06 | Samsung Electronics Co., Ltd. | Method and apparatus for extracting three-dimensional distance information from recognition target |
JP6064464B2 (en) * | 2012-09-10 | 2017-01-25 | セイコーエプソン株式会社 | Head-mounted display device, head-mounted display device control method, and authentication system |
US9374618B2 (en) * | 2012-09-11 | 2016-06-21 | Intel Corporation | Interactive visual advertisement service |
US20140093135A1 (en) | 2012-09-28 | 2014-04-03 | Zoll Medical Corporation | Systems and methods for three-dimensional interaction monitoring in an ems environment |
US10573037B2 (en) * | 2012-12-20 | 2020-02-25 | Sri International | Method and apparatus for mentoring via an augmented reality assistant |
US9152227B2 (en) * | 2012-10-10 | 2015-10-06 | At&T Intellectual Property I, Lp | Method and apparatus for controlling presentation of media content |
US20140122086A1 (en) * | 2012-10-26 | 2014-05-01 | Microsoft Corporation | Augmenting speech recognition with depth imaging |
US9575562B2 (en) * | 2012-11-05 | 2017-02-21 | Synaptics Incorporated | User interface systems and methods for managing multiple regions |
US10194239B2 (en) * | 2012-11-06 | 2019-01-29 | Nokia Technologies Oy | Multi-resolution audio signals |
US20140128739A1 (en) * | 2012-11-07 | 2014-05-08 | General Electric Company | Ultrasound imaging system and method |
US20140135744A1 (en) | 2012-11-09 | 2014-05-15 | Orthosensor Inc | Motion and orientation sensing module or device for positioning of implants |
KR101450586B1 (en) * | 2012-11-28 | 2014-10-15 | (주) 미디어인터랙티브 | Method, system and computer-readable recording media for motion recognition |
KR20140073730A (en) * | 2012-12-06 | 2014-06-17 | 엘지전자 주식회사 | Mobile terminal and method for controlling mobile terminal |
US9207769B2 (en) * | 2012-12-17 | 2015-12-08 | Lenovo (Beijing) Co., Ltd. | Processing method and electronic device |
CN103873760B (en) * | 2012-12-17 | 2017-12-26 | 联想(北京)有限公司 | A kind of focusing method of adjustment and electronic equipment |
CN103869954A (en) * | 2012-12-17 | 2014-06-18 | 联想(北京)有限公司 | Processing method as well as processing device and electronic device |
US20140191980A1 (en) * | 2013-01-04 | 2014-07-10 | Qualcomm Mems Technologies, Inc. | System for reuse of touch panel and controller by a secondary display |
SE536902C2 (en) * | 2013-01-22 | 2014-10-21 | Crunchfish Ab | Scalable input from tracked object in touch-free user interface |
US9190058B2 (en) | 2013-01-25 | 2015-11-17 | Microsoft Technology Licensing, Llc | Using visual cues to disambiguate speech inputs |
CN113470641B (en) | 2013-02-07 | 2023-12-15 | 苹果公司 | Voice trigger of digital assistant |
US9301085B2 (en) | 2013-02-20 | 2016-03-29 | Kopin Corporation | Computer headset with detachable 4G radio |
US9158381B2 (en) | 2013-02-25 | 2015-10-13 | Honda Motor Co., Ltd. | Multi-resolution gesture recognition |
US9804576B2 (en) | 2013-02-27 | 2017-10-31 | Rockwell Automation Technologies, Inc. | Recognition-based industrial automation control with position and derivative decision reference |
US9798302B2 (en) | 2013-02-27 | 2017-10-24 | Rockwell Automation Technologies, Inc. | Recognition-based industrial automation control with redundant system input support |
US9393695B2 (en) | 2013-02-27 | 2016-07-19 | Rockwell Automation Technologies, Inc. | Recognition-based industrial automation control with person and object discrimination |
US9498885B2 (en) | 2013-02-27 | 2016-11-22 | Rockwell Automation Technologies, Inc. | Recognition-based industrial automation control with confidence-based decision support |
JP6104639B2 (en) * | 2013-03-01 | 2017-03-29 | 東芝メディカルシステムズ株式会社 | X-ray diagnostic equipment |
JP5782061B2 (en) * | 2013-03-11 | 2015-09-24 | レノボ・シンガポール・プライベート・リミテッド | Method for recognizing movement of moving object and portable computer |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10288881B2 (en) | 2013-03-14 | 2019-05-14 | Fresenius Medical Care Holdings, Inc. | Wearable interface for remote monitoring and control of a medical device |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US10220303B1 (en) | 2013-03-15 | 2019-03-05 | Harmonix Music Systems, Inc. | Gesture-based music game |
US11793424B2 (en) | 2013-03-18 | 2023-10-24 | Orthosensor, Inc. | Kinetic assessment and alignment of the muscular-skeletal system and method therefor |
US9492238B2 (en) | 2013-03-18 | 2016-11-15 | Orthosensor Inc | System and method for measuring muscular-skeletal alignment to a mechanical axis |
KR101484202B1 (en) * | 2013-03-29 | 2015-01-21 | 현대자동차 주식회사 | Vehicle having gesture detection system |
US9715282B2 (en) * | 2013-03-29 | 2017-07-25 | Microsoft Technology Licensing, Llc | Closing, starting, and restarting applications |
CN105074625B (en) * | 2013-04-02 | 2018-09-21 | 索尼公司 | Information processing equipment, information processing method and computer readable recording medium storing program for performing |
US9395764B2 (en) * | 2013-04-25 | 2016-07-19 | Filippo Costanzo | Gestural motion and speech interface control method for 3d audio-video-data navigation on handheld devices |
US9234742B2 (en) * | 2013-05-01 | 2016-01-12 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
US9940014B2 (en) * | 2013-05-03 | 2018-04-10 | Adobe Systems Incorporated | Context visual organizer for multi-screen display |
JP2014238812A (en) * | 2013-05-10 | 2014-12-18 | 株式会社リコー | Information processing apparatus, motion identification method, and motion identification program |
CN104156058B (en) * | 2013-05-14 | 2018-08-07 | 研祥智能科技股份有限公司 | Generate the method and system of control instruction |
US20150290031A1 (en) * | 2013-05-16 | 2015-10-15 | Wavelight Gmbh | Touchless user interface for ophthalmic devices |
US9829984B2 (en) * | 2013-05-23 | 2017-11-28 | Fastvdo Llc | Motion-assisted visual language for human computer interfaces |
US9348411B2 (en) * | 2013-05-24 | 2016-05-24 | Microsoft Technology Licensing, Llc | Object display with visual verisimilitude |
CN103324435B (en) * | 2013-05-24 | 2017-02-08 | 华为技术有限公司 | Multi-screen display method and device and electronic device thereof |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
KR101772152B1 (en) | 2013-06-09 | 2017-08-28 | 애플 인크. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
US20140375543A1 (en) * | 2013-06-25 | 2014-12-25 | Honda Motor Co., Ltd. | Shared cognition |
KR20220136517A (en) * | 2013-06-27 | 2022-10-07 | 아이사이트 모빌 테크놀로지 엘티디 | Systems and methods of direct pointing detection for interaction with a digital device |
EP3014407A4 (en) * | 2013-06-28 | 2017-08-02 | Chia Ming Chen | Controlling device operation according to hand gestures |
US10295338B2 (en) | 2013-07-12 | 2019-05-21 | Magic Leap, Inc. | Method and system for generating map data from an image |
US20150017622A1 (en) * | 2013-07-12 | 2015-01-15 | Qussay Abdulatteef Jasim Al-Ani | Human body movements control using digital computer controlled light signals-written dance language |
US9717118B2 (en) | 2013-07-16 | 2017-07-25 | Chia Ming Chen | Light control systems and methods |
US9356061B2 (en) | 2013-08-05 | 2016-05-31 | Apple Inc. | Image sensor with buried light shield and vertical gate |
CN105453026A (en) | 2013-08-06 | 2016-03-30 | 苹果公司 | Auto-activating smart responses based on activities from remote devices |
TWI505135B (en) * | 2013-08-20 | 2015-10-21 | Utechzone Co Ltd | Control system for display screen, control apparatus and control method |
CN103488285A (en) * | 2013-08-22 | 2014-01-01 | 英华达(南京)科技有限公司 | Interaction device and method |
FR3010927B1 (en) * | 2013-09-26 | 2016-03-11 | Renault Georges Ets | SYSTEM FOR CONTROLLING AN INDUSTRIAL TOOL BY DEFINING ITS VOLUME OF USE BY LEARNING |
DE112014004664T5 (en) * | 2013-10-09 | 2016-08-18 | Magna Closures Inc. | DISPLAY CONTROL FOR VEHICLE WINDOW |
US10152136B2 (en) * | 2013-10-16 | 2018-12-11 | Leap Motion, Inc. | Velocity field interaction for free space gesture interface and control |
US20150116200A1 (en) * | 2013-10-25 | 2015-04-30 | Honda Motor Co., Ltd. | System and method for gestural control of vehicle systems |
US10168873B1 (en) | 2013-10-29 | 2019-01-01 | Leap Motion, Inc. | Virtual interactions for machine control |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
KR101556520B1 (en) * | 2013-12-11 | 2015-10-02 | 현대자동차주식회사 | Terminal, vehicle having the same and method thereof |
US9891712B2 (en) | 2013-12-16 | 2018-02-13 | Leap Motion, Inc. | User-defined virtual interaction space and manipulation of virtual cameras with vectors |
US10218660B2 (en) * | 2013-12-17 | 2019-02-26 | Google Llc | Detecting user gestures for dismissing electronic notifications |
TWI488072B (en) * | 2013-12-19 | 2015-06-11 | Lite On Technology Corp | Gesture recognition system and gesture recognition method thereof |
IN2013MU04097A (en) * | 2013-12-27 | 2015-08-07 | Tata Consultancy Services Ltd | |
US10338678B2 (en) | 2014-01-07 | 2019-07-02 | Nod, Inc. | Methods and apparatus for recognition of start and/or stop portions of a gesture using an auxiliary sensor |
US10725550B2 (en) * | 2014-01-07 | 2020-07-28 | Nod, Inc. | Methods and apparatus for recognition of a plurality of gestures using roll pitch yaw data |
US9740923B2 (en) * | 2014-01-15 | 2017-08-22 | Lenovo (Singapore) Pte. Ltd. | Image gestures for edge input |
GB2524473A (en) * | 2014-02-28 | 2015-09-30 | Microsoft Technology Licensing Llc | Controlling a computing-based device using gestures |
US9690478B2 (en) * | 2014-03-04 | 2017-06-27 | Texas Instruments Incorporated | Method and system for processing gestures to cause computation of measurement of an angle or a segment using a touch system |
TWI543625B (en) * | 2014-03-05 | 2016-07-21 | 晨星半導體股份有限公司 | Image monitoring system and control method thereof |
US20150254235A1 (en) * | 2014-03-06 | 2015-09-10 | Boyd Whitley | Sign Language Translation |
US9990046B2 (en) | 2014-03-17 | 2018-06-05 | Oblong Industries, Inc. | Visual collaboration interface |
WO2015142019A1 (en) | 2014-03-21 | 2015-09-24 | Samsung Electronics Co., Ltd. | Method and apparatus for preventing a collision between subjects |
US9966079B2 (en) * | 2014-03-24 | 2018-05-08 | Lenovo (Singapore) Pte. Ltd. | Directing voice input based on eye tracking |
US9652534B1 (en) * | 2014-03-26 | 2017-05-16 | Amazon Technologies, Inc. | Video-based search engine |
US10409382B2 (en) * | 2014-04-03 | 2019-09-10 | Honda Motor Co., Ltd. | Smart tutorial for gesture control system |
EP3220322A1 (en) * | 2014-04-03 | 2017-09-20 | Cubic Corporation | Remotely controlled vending machine |
EP3129867A4 (en) | 2014-04-10 | 2017-12-27 | Massachusetts Institute of Technology | Radio frequency localization |
TWI499938B (en) * | 2014-04-11 | 2015-09-11 | Quanta Comp Inc | Touch control system |
US10459623B2 (en) * | 2014-04-17 | 2019-10-29 | Microchip Technology Incorporated | Touch detection in a capacitive sensor system |
WO2015168218A2 (en) | 2014-04-29 | 2015-11-05 | Chia Ming Chen | Light control systems and methods |
DE102014208540A1 (en) * | 2014-05-07 | 2015-11-12 | Siemens Aktiengesellschaft | Device and method for contactless control of a patient table |
US9916010B2 (en) * | 2014-05-16 | 2018-03-13 | Visa International Service Association | Gesture recognition cloud command platform, system, method, and apparatus |
KR102265143B1 (en) * | 2014-05-16 | 2021-06-15 | 삼성전자주식회사 | Apparatus and method for processing input |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9123171B1 (en) * | 2014-07-18 | 2015-09-01 | Zspace, Inc. | Enhancing the coupled zone of a stereoscopic display |
CN104182132B (en) * | 2014-08-07 | 2017-11-14 | 天津三星电子有限公司 | A kind of intelligent terminal gestural control method and intelligent terminal |
US9753546B2 (en) * | 2014-08-29 | 2017-09-05 | General Electric Company | System and method for selective gesture interaction |
US9767566B1 (en) * | 2014-09-03 | 2017-09-19 | Sprint Communications Company L.P. | Mobile three-dimensional model creation platform and methods |
US10083233B2 (en) * | 2014-09-09 | 2018-09-25 | Microsoft Technology Licensing, Llc | Video processing for motor task analysis |
WO2016039155A1 (en) * | 2014-09-11 | 2016-03-17 | 株式会社ソニー・コンピュータエンタテインメント | Image processing system, image processing method, program, and information storage medium |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US20160085312A1 (en) * | 2014-09-24 | 2016-03-24 | Ncku Research And Development Foundation | Gesture recognition system |
CN104202533B (en) * | 2014-09-24 | 2019-05-21 | 中磊电子(苏州)有限公司 | Motion detection device and movement detection method |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
CN105571045A (en) * | 2014-10-10 | 2016-05-11 | 青岛海尔空调电子有限公司 | Somatosensory identification method, apparatus and air conditioner controller |
CN104244049A (en) * | 2014-10-21 | 2014-12-24 | 三星电子(中国)研发中心 | Curved surface television and method capable of dynamically regulating curvature and direction |
KR101636460B1 (en) * | 2014-11-05 | 2016-07-05 | 삼성전자주식회사 | Electronic device and method for controlling the same |
GB2532465B (en) | 2014-11-19 | 2021-08-11 | Bae Systems Plc | Interactive control station |
GB2532464B (en) | 2014-11-19 | 2020-09-02 | Bae Systems Plc | Apparatus and method for selectively displaying an operational environment |
KR101609263B1 (en) * | 2014-12-04 | 2016-04-05 | 현대모비스 주식회사 | Apparatus for recognizing gesture using infrared ray and method thereof |
US9454235B2 (en) | 2014-12-26 | 2016-09-27 | Seungman KIM | Electronic apparatus having a sensing unit to input a user command and a method thereof |
CN105824399A (en) * | 2015-01-06 | 2016-08-03 | 中兴通讯股份有限公司 | Control method, system and apparatus for projection equipment |
US10048749B2 (en) | 2015-01-09 | 2018-08-14 | Microsoft Technology Licensing, Llc | Gaze detection offset for gaze tracking models |
US9864430B2 (en) | 2015-01-09 | 2018-01-09 | Microsoft Technology Licensing, Llc | Gaze tracking via eye gaze model |
US10429923B1 (en) | 2015-02-13 | 2019-10-01 | Ultrahaptics IP Two Limited | Interaction engine for creating a realistic experience in virtual reality/augmented reality environments |
US9696795B2 (en) | 2015-02-13 | 2017-07-04 | Leap Motion, Inc. | Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments |
EP3062197A1 (en) * | 2015-02-25 | 2016-08-31 | BAE Systems PLC | Apparatus and method for effecting a control action in respect of system functions |
EP3262488B1 (en) * | 2015-02-25 | 2021-04-07 | BAE Systems PLC | Apparatus and method for effecting a control action in respect of system functions |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10191553B2 (en) * | 2015-03-12 | 2019-01-29 | Dell Products, L.P. | User interaction with information handling systems using physical objects |
JP6691351B2 (en) * | 2015-03-31 | 2020-04-28 | 株式会社バンダイナムコエンターテインメント | Program and game system |
US11016581B2 (en) * | 2015-04-21 | 2021-05-25 | Microsoft Technology Licensing, Llc | Base station for use with digital pens |
EP3289540A1 (en) * | 2015-04-29 | 2018-03-07 | Koninklijke Philips N.V. | Method of and apparatus for operating a device by members of a group |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
CN106302330B (en) * | 2015-05-21 | 2021-01-05 | 腾讯科技(深圳)有限公司 | Identity verification method, device and system |
DE102015006613A1 (en) * | 2015-05-21 | 2016-11-24 | Audi Ag | Operating system and method for operating an operating system for a motor vehicle |
KR20160138806A (en) * | 2015-05-26 | 2016-12-06 | 엘지전자 주식회사 | Glass type terminal and method for controlling the same |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US20180292907A1 (en) * | 2015-05-28 | 2018-10-11 | Itay Katz | Gesture control system and method for smart home |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US11543487B2 (en) * | 2015-06-09 | 2023-01-03 | Nokia Technologies Oy | Causing performance of an active scan |
US9922220B2 (en) * | 2015-06-11 | 2018-03-20 | Digimarc Corporation | Image block selection for efficient time-limited decoding |
US10593007B1 (en) | 2015-06-11 | 2020-03-17 | Digimarc Corporation | Methods and arrangements for configuring industrial inspection systems |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
EP3131311B1 (en) * | 2015-08-14 | 2019-06-19 | Nokia Technologies Oy | Monitoring |
US10067569B2 (en) | 2015-08-14 | 2018-09-04 | Fresenius Medical Care Holdings, Inc. | Touchless interface for a medical treatment system |
US10437415B2 (en) * | 2015-08-18 | 2019-10-08 | Sony Corporation | System, method, and device for controlling a display |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US11182600B2 (en) * | 2015-09-24 | 2021-11-23 | International Business Machines Corporation | Automatic selection of event video content |
US10691214B2 (en) | 2015-10-12 | 2020-06-23 | Honeywell International Inc. | Gesture control of building automation system components during installation and/or maintenance |
US20170300618A1 (en) * | 2015-10-28 | 2017-10-19 | Michael J O'Leary | Collecting and Processing Medical Imagery |
US10180469B2 (en) | 2015-10-28 | 2019-01-15 | Siemens Healthcare Gmbh | Gesture-controlled MR imaging system and method |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
CN105356060B (en) * | 2015-11-10 | 2017-11-28 | 北京航天控制仪器研究所 | The scan control method of azimuth axis of antenna when a kind of communication in moving seeks star |
EP3374967B1 (en) * | 2015-11-11 | 2023-01-04 | Zhejiang Dahua Technology Co., Ltd | Methods and systems for binocular stereo vision |
CN108020158A (en) * | 2016-11-04 | 2018-05-11 | 浙江大华技术股份有限公司 | A kind of three-dimensional position measuring method and device based on ball machine |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10289381B2 (en) * | 2015-12-07 | 2019-05-14 | Motorola Mobility Llc | Methods and systems for controlling an electronic device in response to detected social cues |
DE102015016271A1 (en) | 2015-12-15 | 2017-06-22 | Fresenius Medical Care Deutschland Gmbh | System and method for detecting an operating condition or a course of treatment in a blood treatment |
CN108292165B (en) * | 2015-12-23 | 2021-06-22 | 英特尔公司 | Touch gesture detection evaluation |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
JP2017117211A (en) * | 2015-12-24 | 2017-06-29 | 富士通株式会社 | Detection device, method, and program |
US11055552B2 (en) * | 2016-01-12 | 2021-07-06 | Disney Enterprises, Inc. | Systems and methods for detecting light signatures and performing actions in response thereto |
FR3049078B1 (en) * | 2016-03-21 | 2019-11-29 | Valeo Vision | VOICE AND / OR GESTUAL RECOGNITION CONTROL DEVICE AND METHOD FOR INTERIOR LIGHTING OF A VEHICLE |
EP3223237B1 (en) * | 2016-03-22 | 2020-05-27 | Tata Consultancy Services Limited | Systems and methods for detecting and tracking a marker |
KR102460105B1 (en) | 2016-05-03 | 2022-10-27 | 삼성에스디에스 주식회사 | Method for providing conference service and apparatus thereof |
DE102016108885A1 (en) * | 2016-05-13 | 2017-11-16 | Visteon Global Technologies, Inc. | Method for contactless moving of visual information |
WO2017205983A1 (en) * | 2016-06-02 | 2017-12-07 | Bigmotion Technologies Inc. | Systems and methods for walking speed estimation |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
US10140776B2 (en) * | 2016-06-13 | 2018-11-27 | Microsoft Technology Licensing, Llc | Altering properties of rendered objects via control points |
US10529302B2 (en) | 2016-07-07 | 2020-01-07 | Oblong Industries, Inc. | Spatially mediated augmentations of and interactions among distinct devices and applications via extended pixel manifold |
US11269480B2 (en) * | 2016-08-23 | 2022-03-08 | Reavire, Inc. | Controlling objects using virtual rays |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US11073980B2 (en) | 2016-09-29 | 2021-07-27 | Microsoft Technology Licensing, Llc | User interfaces for bi-manual control |
KR102594792B1 (en) * | 2016-09-30 | 2023-10-30 | 엘지디스플레이 주식회사 | Organic light emitting display device and controlling method thereof |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10147243B2 (en) * | 2016-12-05 | 2018-12-04 | Google Llc | Generating virtual notation surfaces with gestures in an augmented and/or virtual reality environment |
TWI586410B (en) * | 2016-12-07 | 2017-06-11 | Rong-Zhao Hong | A method of controlling the dynamics of virtual objects |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US20180204344A1 (en) * | 2017-01-17 | 2018-07-19 | Thika Holdings Llc | Method and system for data encoding from media for mechanical output |
EP3582707A4 (en) * | 2017-02-17 | 2020-11-25 | NZ Technologies Inc. | Methods and systems for touchless control of surgical environment |
TWI634487B (en) * | 2017-03-02 | 2018-09-01 | 合盈光電科技股份有限公司 | Action gesture recognition system |
CN107016395B (en) * | 2017-03-18 | 2021-02-26 | 复旦大学 | Identification system for sparsely expressed primary brain lymphomas and glioblastomas |
US11402909B2 (en) | 2017-04-26 | 2022-08-02 | Cognixion | Brain computer interface for augmented reality |
US11237635B2 (en) | 2017-04-26 | 2022-02-01 | Cognixion | Nonverbal multi-input and feedback devices for user intended computer control and communication of text, graphics and audio |
US10623188B2 (en) | 2017-04-26 | 2020-04-14 | Fresenius Medical Care Holdings, Inc. | Securely distributing medical prescriptions |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | User interface for correcting recognition errors |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | Low-latency intelligent automated assistant |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | Far-field extension for digital assistant services |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
DE102017113763B4 (en) * | 2017-06-21 | 2022-03-17 | SMR Patents S.à.r.l. | Method for operating a display device for a motor vehicle and motor vehicle |
US20190073040A1 (en) * | 2017-09-05 | 2019-03-07 | Future Mobility Corporation Limited | Gesture and motion based control of user interfaces |
EP3454177B1 (en) * | 2017-09-11 | 2020-06-10 | Barco N.V. | Method and system for efficient gesture control of equipment |
CN109491496A (en) * | 2017-09-12 | 2019-03-19 | 精工爱普生株式会社 | The control method of head-mount type display unit and head-mount type display unit |
US10842432B2 (en) | 2017-09-14 | 2020-11-24 | Orthosensor Inc. | Medial-lateral insert sensing system with common module and method therefor |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
WO2019077897A1 (en) * | 2017-10-17 | 2019-04-25 | ソニー株式会社 | Information processing device, information processing method, and program |
US10762658B2 (en) * | 2017-10-24 | 2020-09-01 | Altek Corporation | Method and image pick-up apparatus for calculating coordinates of object being captured using fisheye images |
US10872607B2 (en) | 2017-11-14 | 2020-12-22 | Thomas STACHURA | Information choice and security via a decoupled router with an always listening assistant device |
US10867623B2 (en) | 2017-11-14 | 2020-12-15 | Thomas STACHURA | Secure and private processing of gestures via video input |
US10867054B2 (en) | 2017-11-14 | 2020-12-15 | Thomas STACHURA | Information security/privacy via a decoupled security accessory to an always listening assistant device |
US11100913B2 (en) | 2017-11-14 | 2021-08-24 | Thomas STACHURA | Information security/privacy via a decoupled security cap to an always listening assistant device |
US10999733B2 (en) | 2017-11-14 | 2021-05-04 | Thomas STACHURA | Information security/privacy via a decoupled security accessory to an always listening device |
US10671238B2 (en) * | 2017-11-17 | 2020-06-02 | Adobe Inc. | Position-dependent modification of descriptive content in a virtual reality environment |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
RU2017144578A (en) * | 2017-12-19 | 2019-06-20 | Александр Борисович Бобровников | The method of input-output information in the user device and its constructive implementation |
CN109947282A (en) * | 2017-12-20 | 2019-06-28 | 致伸科技股份有限公司 | Touch-control system and its method |
WO2019126290A1 (en) * | 2017-12-20 | 2019-06-27 | Hubbell Incorporated | Gesture control for in-wall device |
EP3502835A1 (en) * | 2017-12-20 | 2019-06-26 | Nokia Technologies Oy | Gesture control of a data processing apparatus |
KR102041965B1 (en) * | 2017-12-26 | 2019-11-27 | 엘지전자 주식회사 | Display device mounted on vehicle |
US10937240B2 (en) | 2018-01-04 | 2021-03-02 | Intel Corporation | Augmented reality bindings of physical objects and virtual objects |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10715718B2 (en) * | 2018-03-15 | 2020-07-14 | Taiwan Semiconductor Manufacturing Company, Ltd. | Phase detect auto-focus three dimensional image capture system |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10733718B1 (en) * | 2018-03-27 | 2020-08-04 | Regents Of The University Of Minnesota | Corruption detection for digital three-dimensional environment reconstruction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
EP4343499A3 (en) | 2018-05-04 | 2024-06-05 | Google LLC | Adapting automated assistant based on detected mouth movement and/or gaze |
EP3982236B1 (en) | 2018-05-04 | 2023-10-11 | Google LLC | Invoking automated assistant function(s) based on detected gesture and gaze |
WO2020050882A2 (en) | 2018-05-04 | 2020-03-12 | Google Llc | Hot-word free adaptation of automated assistant function(s) |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US11875012B2 (en) | 2018-05-25 | 2024-01-16 | Ultrahaptics IP Two Limited | Throwable interface for augmented reality and virtual reality environments |
JP2021141346A (en) * | 2018-05-31 | 2021-09-16 | ソニーグループ株式会社 | Information processing device, information processing method, and program |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK179822B1 (en) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | Virtual assistant operation in multi-device environments |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
US20190378334A1 (en) | 2018-06-08 | 2019-12-12 | Vulcan Inc. | Augmented reality portal-based applications |
WO2019237085A1 (en) | 2018-06-08 | 2019-12-12 | Vulcan Inc. | Session-based information exchange |
CN108854072A (en) * | 2018-06-22 | 2018-11-23 | 北京心智互动科技有限公司 | A kind of voice prompt method and device |
US10996831B2 (en) * | 2018-06-29 | 2021-05-04 | Vulcan Inc. | Augmented reality cursors |
US10748344B2 (en) * | 2018-09-12 | 2020-08-18 | Seiko Epson Corporation | Methods and devices for user interaction in augmented reality |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
CN109343713B (en) * | 2018-10-31 | 2022-02-11 | 重庆子元科技有限公司 | Human body action mapping method based on inertial measurement unit |
JP7226836B2 (en) * | 2018-11-06 | 2023-02-21 | 日本電気株式会社 | Display control device, presentation system, display control method, and program |
CN109727596B (en) * | 2019-01-04 | 2020-03-17 | 北京市第一〇一中学 | Method for controlling remote controller and remote controller |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11320911B2 (en) * | 2019-01-11 | 2022-05-03 | Microsoft Technology Licensing, Llc | Hand motion and orientation-aware buttons and grabbable objects in mixed reality |
CN113728380A (en) | 2019-02-07 | 2021-11-30 | 托马斯·斯塔胡拉 | Privacy device for smart speakers |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US10824239B1 (en) * | 2019-05-29 | 2020-11-03 | Dell Products L.P. | Projecting and receiving input from one or more input interfaces attached to a display device |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | User activity shortcut suggestions |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
CN110348446A (en) * | 2019-06-24 | 2019-10-18 | 西安艾润物联网技术服务有限责任公司 | Image processing method and device |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
US11812978B2 (en) | 2019-10-15 | 2023-11-14 | Orthosensor Inc. | Knee balancing system using patient specific instruments |
US11404028B2 (en) | 2019-12-16 | 2022-08-02 | Microsoft Technology Licensing, Llc | Sub-display notification handling |
US11093046B2 (en) | 2019-12-16 | 2021-08-17 | Microsoft Technology Licensing, Llc | Sub-display designation for remote content source device |
US11487423B2 (en) * | 2019-12-16 | 2022-11-01 | Microsoft Technology Licensing, Llc | Sub-display input areas and hidden inputs |
US11042222B1 (en) | 2019-12-16 | 2021-06-22 | Microsoft Technology Licensing, Llc | Sub-display designation and sharing |
DE102019135192A1 (en) * | 2019-12-19 | 2021-06-24 | Connaught Electronics Ltd. | Method for determining a state of a tailgate of a flatbed vehicle by evaluating a region of interest, computer program product, electronic computing device and camera system |
WO2021216679A1 (en) * | 2020-04-21 | 2021-10-28 | Saint Louis University | Verbal interface systems and methods for verbal control of digital devices |
CN212972930U (en) | 2020-04-21 | 2021-04-16 | 上海联影医疗科技股份有限公司 | Magnetic resonance system |
JP7233399B2 (en) * | 2020-06-23 | 2023-03-06 | 任天堂株式会社 | GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND GAME PROCESSING METHOD |
WO2022006069A1 (en) * | 2020-06-30 | 2022-01-06 | Snap Inc. | Eyewear including shared object manipulation ar experiences |
CN111984125A (en) * | 2020-09-02 | 2020-11-24 | 广州彩熠灯光股份有限公司 | Stage lighting console operation method, medium and stage lighting console |
CN111984124A (en) * | 2020-09-02 | 2020-11-24 | 广州彩熠灯光股份有限公司 | Operation method and medium of stage lighting console and stage lighting console |
US11712797B2 (en) * | 2020-09-11 | 2023-08-01 | Fanuc Corporation | Dual hand detection in teaching from demonstration |
US20220080581A1 (en) * | 2020-09-11 | 2022-03-17 | Fanuc Corporation | Dual arm robot teaching from dual hand human demonstration |
US20220253148A1 (en) * | 2021-02-05 | 2022-08-11 | Pepsico, Inc. | Devices, Systems, and Methods for Contactless Interfacing |
US20230050526A1 (en) * | 2021-08-10 | 2023-02-16 | International Business Machines Corporation | Internet of things configuration using eye-based controls |
US11507185B1 (en) * | 2021-09-13 | 2022-11-22 | Lenovo (United States) Inc. | Electrooculography-based eye tracking using normalized electrode input |
CN113763573B (en) * | 2021-09-17 | 2023-07-11 | 北京京航计算通讯研究所 | Digital labeling method and device for three-dimensional object |
US11966515B2 (en) * | 2021-12-23 | 2024-04-23 | Verizon Patent And Licensing Inc. | Gesture recognition systems and methods for facilitating touchless user interaction with a user interface of a computer system |
US12020704B2 (en) | 2022-01-19 | 2024-06-25 | Google Llc | Dynamic adaptation of parameter set used in hot word free adaptation of automated assistant |
US20240085987A1 (en) * | 2022-09-12 | 2024-03-14 | Apple Inc. | Environmentally Aware Gestures |
US12074722B2 (en) * | 2022-11-14 | 2024-08-27 | Zoom Video Communications, Inc. | Sign language control for a virtual meeting |
CN118519519A (en) * | 2023-02-20 | 2024-08-20 | 瑞轩科技股份有限公司 | Electronic device readable medium, display and operation method thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6072467A (en) * | 1996-05-03 | 2000-06-06 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Continuously variable control of animated on-screen characters |
US20040193413A1 (en) * | 2003-03-25 | 2004-09-30 | Wilson Andrew D. | Architecture for controlling a computer using hand gestures |
US6982697B2 (en) * | 2002-02-07 | 2006-01-03 | Microsoft Corporation | System and process for selecting objects in a ubiquitous computing environment |
US6990639B2 (en) * | 2002-02-07 | 2006-01-24 | Microsoft Corporation | System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration |
US20070243931A1 (en) * | 2006-04-14 | 2007-10-18 | Nintendo Co., Ltd. | Game apparatus and game program |
Family Cites Families (343)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4288078A (en) * | 1979-11-20 | 1981-09-08 | Lugo Julio I | Game apparatus |
US4695953A (en) | 1983-08-25 | 1987-09-22 | Blair Preston E | TV animation interactively controlled by the viewer |
US4630910A (en) | 1984-02-16 | 1986-12-23 | Robotic Vision Systems, Inc. | Method of measuring in three-dimensions at high speed |
US4627620A (en) | 1984-12-26 | 1986-12-09 | Yang John P | Electronic athlete trainer for improving skills in reflex, speed and accuracy |
US4645458A (en) | 1985-04-15 | 1987-02-24 | Harald Phillip | Athletic evaluation and training 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 |
US4711543A (en) | 1986-04-14 | 1987-12-08 | Blair Preston E | TV animation interactively controlled by the viewer |
US4796997A (en) | 1986-05-27 | 1989-01-10 | Synthetic Vision Systems, Inc. | Method and system for high-speed, 3-D imaging of an object at a vision station |
US5184295A (en) | 1986-05-30 | 1993-02-02 | Mann Ralph V | System and method for teaching physical skills |
US4751642A (en) | 1986-08-29 | 1988-06-14 | Silva John M | Interactive sports simulation system with physiological sensing and psychological conditioning |
US4809065A (en) | 1986-12-01 | 1989-02-28 | Kabushiki Kaisha Toshiba | Interactive system and related method for displaying data to produce a three-dimensional image of an object |
US4817950A (en) | 1987-05-08 | 1989-04-04 | Goo Paul E | Video game control unit and attitude sensor |
JP2692863B2 (en) | 1988-06-24 | 1997-12-17 | 株式会社東芝 | Wireless telephone equipment |
US5239464A (en) | 1988-08-04 | 1993-08-24 | Blair Preston E | Interactive video system providing repeated switching of multiple tracks of actions sequences |
US5239463A (en) | 1988-08-04 | 1993-08-24 | Blair Preston E | Method and apparatus for player interaction with animated characters and objects |
US4901362A (en) | 1988-08-08 | 1990-02-13 | Raytheon Company | Method of recognizing patterns |
US4893183A (en) | 1988-08-11 | 1990-01-09 | Carnegie-Mellon University | Robotic vision system |
JPH02199526A (en) | 1988-10-14 | 1990-08-07 | David G Capper | Control interface apparatus |
US4925189A (en) | 1989-01-13 | 1990-05-15 | Braeunig Thomas F | Body-mounted video game exercise device |
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 |
US5157384A (en) * | 1989-04-28 | 1992-10-20 | International Business Machines Corporation | Advanced user interface |
US5469740A (en) | 1989-07-14 | 1995-11-28 | Impulse Technology, Inc. | Interactive video testing and training system |
US5139261A (en) | 1989-09-15 | 1992-08-18 | Openiano Renato M | Foot-actuated computer game controller serving as a joystick |
US5156243A (en) | 1989-11-15 | 1992-10-20 | Mazda Motor Corporation | Operation apparatus for vehicle automatic transmission mechanism |
JPH03103822U (en) | 1990-02-13 | 1991-10-29 | ||
US5101444A (en) | 1990-05-18 | 1992-03-31 | Panacea, Inc. | Method and apparatus for high speed object location |
US5181181A (en) * | 1990-09-27 | 1993-01-19 | Triton Technologies, Inc. | Computer apparatus input device for three-dimensional information |
US5148154A (en) | 1990-12-04 | 1992-09-15 | Sony Corporation Of America | Multi-dimensional user interface |
US5534917A (en) | 1991-05-09 | 1996-07-09 | Very Vivid, Inc. | Video image based control system |
US5417210A (en) | 1992-05-27 | 1995-05-23 | International Business Machines Corporation | System and method for augmentation of endoscopic surgery |
US5295491A (en) | 1991-09-26 | 1994-03-22 | Sam Technology, Inc. | Non-invasive human neurocognitive performance capability testing method and system |
US6054991A (en) | 1991-12-02 | 2000-04-25 | Texas Instruments Incorporated | Method of modeling player position and movement in a virtual reality system |
WO1993010708A1 (en) | 1991-12-03 | 1993-06-10 | French Sportech Corporation | Interactive video testing and training system |
US5875108A (en) | 1991-12-23 | 1999-02-23 | Hoffberg; Steven M. | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
JPH07325934A (en) | 1992-07-10 | 1995-12-12 | Walt Disney Co:The | Method and equipment for provision of graphics enhanced to virtual world |
US5999908A (en) | 1992-08-06 | 1999-12-07 | Abelow; Daniel H. | Customer-based product design module |
US5320538A (en) | 1992-09-23 | 1994-06-14 | Hughes Training, Inc. | Interactive aircraft training system and method |
IT1257294B (en) | 1992-11-20 | 1996-01-12 | DEVICE SUITABLE TO DETECT THE CONFIGURATION OF A PHYSIOLOGICAL-DISTAL UNIT, TO BE USED IN PARTICULAR AS AN ADVANCED INTERFACE FOR MACHINES AND CALCULATORS. | |
US5495576A (en) | 1993-01-11 | 1996-02-27 | Ritchey; Kurtis J. | Panoramic image based virtual reality/telepresence audio-visual system and method |
US5525901A (en) | 1993-02-02 | 1996-06-11 | Beaudreau Electric, Inc. | Sensor systems for monitoring and measuring angular position in two or three axes |
US5690582A (en) | 1993-02-02 | 1997-11-25 | Tectrix Fitness Equipment, Inc. | Interactive exercise apparatus |
JP2799126B2 (en) | 1993-03-26 | 1998-09-17 | 株式会社ナムコ | Video game device and game input device |
US5405152A (en) | 1993-06-08 | 1995-04-11 | The Walt Disney Company | Method and apparatus for an interactive video game with physical feedback |
US5414643A (en) * | 1993-06-14 | 1995-05-09 | Hughes Aircraft Company | Method and apparatus for continuous time representation of multiple hypothesis tracking data |
DE4421508A1 (en) | 1993-06-21 | 1994-12-01 | Elke Van Buren | System for summoning help for persons or occupants of vehicles carrying a mobile telephone |
US5801943A (en) | 1993-07-23 | 1998-09-01 | Condition Monitoring Systems | Traffic surveillance and simulation 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 |
US5423554A (en) | 1993-09-24 | 1995-06-13 | Metamedia Ventures, Inc. | Virtual reality game method and apparatus |
US5980256A (en) | 1993-10-29 | 1999-11-09 | Carmein; David E. E. | Virtual reality system with enhanced sensory apparatus |
JP3419050B2 (en) | 1993-11-19 | 2003-06-23 | 株式会社日立製作所 | Input device |
US5347306A (en) | 1993-12-17 | 1994-09-13 | Mitsubishi Electric Research Laboratories, Inc. | Animated electronic meeting place |
US5959574A (en) | 1993-12-21 | 1999-09-28 | Colorado State University Research Foundation | Method and system for tracking multiple regional objects by multi-dimensional relaxation |
JP2552427B2 (en) * | 1993-12-28 | 1996-11-13 | コナミ株式会社 | Tv play system |
US5577981A (en) | 1994-01-19 | 1996-11-26 | Jarvik; Robert | Virtual reality exercise machine and computer controlled video system |
US5615132A (en) | 1994-01-21 | 1997-03-25 | Crossbow Technology, Inc. | Method and apparatus for determining position and orientation of a moveable object using accelerometers |
US5580249A (en) | 1994-02-14 | 1996-12-03 | Sarcos Group | Apparatus for simulating mobility of a human |
US5732227A (en) | 1994-07-05 | 1998-03-24 | Hitachi, Ltd. | Interactive information processing system responsive to user manipulation of physical objects and displayed images |
US5597309A (en) | 1994-03-28 | 1997-01-28 | Riess; Thomas | Method and apparatus for treatment of gait problems associated with parkinson's disease |
US5385519A (en) | 1994-04-19 | 1995-01-31 | Hsu; Chi-Hsueh | Running machine |
JP3267047B2 (en) | 1994-04-25 | 2002-03-18 | 株式会社日立製作所 | Information processing device by voice |
US5528263A (en) * | 1994-06-15 | 1996-06-18 | Daniel M. Platzker | Interactive projected video image display system |
US5524637A (en) | 1994-06-29 | 1996-06-11 | Erickson; Jon W. | Interactive system for measuring physiological exertion |
JPH0844490A (en) | 1994-07-28 | 1996-02-16 | Matsushita Electric Ind Co Ltd | Interface device |
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 |
JPH0863326A (en) * | 1994-08-22 | 1996-03-08 | Hitachi Ltd | Image processing device/method |
US6714665B1 (en) | 1994-09-02 | 2004-03-30 | Sarnoff Corporation | Fully automated iris recognition system utilizing wide and narrow fields of view |
US5516105A (en) | 1994-10-06 | 1996-05-14 | Exergame, Inc. | Acceleration activated joystick |
US5638300A (en) | 1994-12-05 | 1997-06-10 | Johnson; Lee E. | Golf swing analysis system |
JPH08161292A (en) | 1994-12-09 | 1996-06-21 | Matsushita Electric Ind Co Ltd | Method and system for detecting congestion degree |
US5594469A (en) | 1995-02-21 | 1997-01-14 | Mitsubishi Electric Information Technology Center America Inc. | Hand gesture machine control system |
US5682229A (en) | 1995-04-14 | 1997-10-28 | Schwartz Electro-Optics, Inc. | Laser range camera |
CN1183151A (en) | 1995-04-28 | 1998-05-27 | 松下电器产业株式会社 | Interface device |
US5757360A (en) | 1995-05-03 | 1998-05-26 | Mitsubishi Electric Information Technology Center America, Inc. | Hand held computer control device |
DE19516664C1 (en) * | 1995-05-05 | 1996-08-29 | Siemens Ag | Processor-supported detection of selective target object in image |
US5913727A (en) | 1995-06-02 | 1999-06-22 | Ahdoot; Ned | Interactive movement and contact simulation game |
JP3481631B2 (en) | 1995-06-07 | 2003-12-22 | ザ トラスティース オブ コロンビア ユニヴァーシティー イン ザ シティー オブ ニューヨーク | Apparatus and method for determining a three-dimensional shape of an object using relative blur in an image due to active illumination and defocus |
US5682196A (en) | 1995-06-22 | 1997-10-28 | Actv, Inc. | Three-dimensional (3D) video presentation system providing interactive 3D presentation with personalized audio responses for multiple viewers |
US5702323A (en) | 1995-07-26 | 1997-12-30 | Poulton; Craig K. | Electronic exercise enhancer |
US5611731A (en) | 1995-09-08 | 1997-03-18 | Thrustmaster, Inc. | Video pinball machine controller having an optical accelerometer for detecting slide and tilt |
JPH0981309A (en) * | 1995-09-13 | 1997-03-28 | Toshiba Corp | Input device |
US6308565B1 (en) | 1995-11-06 | 2001-10-30 | Impulse Technology Ltd. | System and method for tracking and assessing movement skills in multidimensional space |
US6098458A (en) | 1995-11-06 | 2000-08-08 | Impulse Technology, Ltd. | Testing and training system for assessing movement and agility skills without a confining field |
US6430997B1 (en) | 1995-11-06 | 2002-08-13 | Trazer Technologies, Inc. | System and method for tracking and assessing movement skills in multidimensional space |
WO1999044698A2 (en) | 1998-03-03 | 1999-09-10 | Arena, Inc. | System and method for tracking and assessing movement skills in multidimensional space |
US6073489A (en) | 1995-11-06 | 2000-06-13 | French; Barry J. | Testing and training system for assessing the ability of a player to complete a task |
US6176782B1 (en) | 1997-12-22 | 2001-01-23 | Philips Electronics North America Corp. | Motion-based command generation technology |
US5933125A (en) | 1995-11-27 | 1999-08-03 | Cae Electronics, Ltd. | Method and apparatus for reducing instability in the display of a virtual environment |
US5641288A (en) | 1996-01-11 | 1997-06-24 | Zaenglein, Jr.; William G. | Shooting simulating process and training device using a virtual reality display screen |
CA2253626A1 (en) | 1996-05-08 | 1997-11-13 | Real Vision Corporation | Real time simulation using position sensing |
US6173066B1 (en) | 1996-05-21 | 2001-01-09 | Cybernet Systems Corporation | Pose determination and tracking by matching 3D objects to a 2D sensor |
US6002808A (en) * | 1996-07-26 | 1999-12-14 | Mitsubishi Electric Information Technology Center America, Inc. | Hand gesture control system |
US5989157A (en) | 1996-08-06 | 1999-11-23 | Walton; Charles A. | Exercising system with electronic inertial game playing |
CN1168057C (en) | 1996-08-14 | 2004-09-22 | 挪拉赫梅特·挪利斯拉莫维奇·拉都包夫 | Method for following and imaging a subject's three-dimensional position and orientation, method for presenting a virtual space to a subject,and systems for implementing said methods |
JPH1084405A (en) | 1996-09-09 | 1998-03-31 | Pioneer Electron Corp | On-vehicle portable telephone system and on-vehicle telephone set |
JP3064928B2 (en) | 1996-09-20 | 2000-07-12 | 日本電気株式会社 | Subject extraction method |
US5909189A (en) | 1996-11-14 | 1999-06-01 | Raytheon Company | Group tracking |
EP0849697B1 (en) | 1996-12-20 | 2003-02-12 | Hitachi Europe Limited | A hand gesture recognition system and method |
JP4120017B2 (en) | 1997-01-30 | 2008-07-16 | 株式会社セガ | INPUT DEVICE, GAME PROCESSING DEVICE, AND METHOD THEREOF |
US6009210A (en) | 1997-03-05 | 1999-12-28 | Digital Equipment Corporation | Hands-free interface to a virtual reality environment using head tracking |
US6100896A (en) | 1997-03-24 | 2000-08-08 | Mitsubishi Electric Information Technology Center America, Inc. | System for designing graphical multi-participant environments |
US5877803A (en) | 1997-04-07 | 1999-03-02 | Tritech Mircoelectronics International, Ltd. | 3-D image detector |
US6215898B1 (en) | 1997-04-15 | 2001-04-10 | Interval Research Corporation | Data processing system and method |
JPH10304464A (en) | 1997-04-28 | 1998-11-13 | Daihatsu Motor Co Ltd | Control method for hands-free system |
JPH10308802A (en) | 1997-05-02 | 1998-11-17 | Nissan Motor Co Ltd | Mobile telephone set holder and mobile telephone set |
US6263088B1 (en) | 1997-06-19 | 2001-07-17 | Ncr Corporation | System and method for tracking movement of objects in a scene |
US6295367B1 (en) | 1997-06-19 | 2001-09-25 | Emtera Corporation | System and method for tracking movement of objects in a scene using correspondence graphs |
CA2295759C (en) | 1997-06-25 | 2002-11-19 | Samsung Electronics Co., Ltd. | Method and apparatus for creating home network macros |
JP3077745B2 (en) | 1997-07-31 | 2000-08-14 | 日本電気株式会社 | Data processing method and apparatus, information storage medium |
US6188777B1 (en) | 1997-08-01 | 2001-02-13 | Interval Research Corporation | Method and apparatus for personnel detection and tracking |
US6720949B1 (en) | 1997-08-22 | 2004-04-13 | Timothy R. Pryor | Man machine interfaces and applications |
US6750848B1 (en) * | 1998-11-09 | 2004-06-15 | Timothy R. Pryor | More useful man machine interfaces and applications |
US20020036617A1 (en) | 1998-08-21 | 2002-03-28 | Timothy R. Pryor | Novel man machine interfaces and applications |
US6289112B1 (en) | 1997-08-22 | 2001-09-11 | International Business Machines Corporation | System and method for determining block direction in fingerprint images |
AUPO894497A0 (en) | 1997-09-02 | 1997-09-25 | Xenotech Research Pty Ltd | Image processing method and apparatus |
EP0905644A3 (en) | 1997-09-26 | 2004-02-25 | Matsushita Electric Industrial Co., Ltd. | Hand gesture recognizing device |
US6141463A (en) | 1997-10-10 | 2000-10-31 | Electric Planet Interactive | Method and system for estimating jointed-figure configurations |
US6411744B1 (en) | 1997-10-15 | 2002-06-25 | Electric Planet, Inc. | Method and apparatus for performing a clean background subtraction |
WO1999019840A1 (en) | 1997-10-15 | 1999-04-22 | Electric Planet, Inc. | A system and method for generating an animatable character |
US6130677A (en) | 1997-10-15 | 2000-10-10 | Electric Planet, Inc. | Interactive computer vision system |
US6101289A (en) | 1997-10-15 | 2000-08-08 | Electric Planet, Inc. | Method and apparatus for unencumbered capture of an object |
US6072494A (en) | 1997-10-15 | 2000-06-06 | Electric Planet, Inc. | Method and apparatus for real-time gesture recognition |
US6162123A (en) | 1997-11-25 | 2000-12-19 | Woolston; Thomas G. | Interactive electronic sword game |
US6181343B1 (en) | 1997-12-23 | 2001-01-30 | Philips Electronics North America Corp. | System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs |
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 |
US6067077A (en) | 1998-04-10 | 2000-05-23 | Immersion Corporation | Position sensing for force feedback devices |
US6301370B1 (en) * | 1998-04-13 | 2001-10-09 | Eyematic Interfaces, Inc. | Face recognition from video images |
US6269172B1 (en) | 1998-04-13 | 2001-07-31 | Compaq Computer Corporation | Method for tracking the motion of a 3-D figure |
US6159100A (en) | 1998-04-23 | 2000-12-12 | Smith; Michael D. | Virtual reality game |
US6657654B2 (en) | 1998-04-29 | 2003-12-02 | International Business Machines Corporation | Camera for use with personal digital assistants with high speed communication link |
US6421453B1 (en) * | 1998-05-15 | 2002-07-16 | International Business Machines Corporation | Apparatus and methods for user recognition employing behavioral passwords |
US6077201A (en) | 1998-06-12 | 2000-06-20 | Cheng; Chau-Yang | Exercise bicycle |
US7036094B1 (en) | 1998-08-10 | 2006-04-25 | Cybernet Systems Corporation | Behavior recognition system |
US6950534B2 (en) | 1998-08-10 | 2005-09-27 | Cybernet Systems Corporation | Gesture-controlled interfaces for self-service machines and other applications |
US20010008561A1 (en) | 1999-08-10 | 2001-07-19 | Paul George V. | Real-time object tracking system |
US6681031B2 (en) | 1998-08-10 | 2004-01-20 | Cybernet Systems Corporation | Gesture-controlled interfaces for self-service machines and other applications |
US7121946B2 (en) | 1998-08-10 | 2006-10-17 | Cybernet Systems Corporation | Real-time head tracking system for computer games and other applications |
US6801637B2 (en) | 1999-08-10 | 2004-10-05 | Cybernet Systems Corporation | Optical body tracker |
US6542621B1 (en) | 1998-08-31 | 2003-04-01 | Texas Instruments Incorporated | Method of dealing with occlusion when tracking multiple objects and people in video sequences |
IL126284A (en) | 1998-09-17 | 2002-12-01 | Netmor Ltd | System and method for three dimensional positioning and tracking |
DE69936620T2 (en) | 1998-09-28 | 2008-05-21 | Matsushita Electric Industrial Co., Ltd., Kadoma | Method and device for segmenting hand gestures |
AU6225199A (en) | 1998-10-05 | 2000-04-26 | Scansoft, Inc. | Speech controlled computer user interface |
US6336565B1 (en) | 1998-12-01 | 2002-01-08 | Joseph J. Merkel | Articulating truss boom |
US6509889B2 (en) | 1998-12-03 | 2003-01-21 | International Business Machines Corporation | Method and apparatus for enabling the adaptation of the input parameters for a computer system pointing device |
AU1930700A (en) | 1998-12-04 | 2000-06-26 | Interval Research Corporation | Background estimation and segmentation based on range and color |
US6222465B1 (en) * | 1998-12-09 | 2001-04-24 | Lucent Technologies Inc. | Gesture-based computer interface |
US6147678A (en) * | 1998-12-09 | 2000-11-14 | Lucent Technologies Inc. | Video hand image-three-dimensional computer interface with multiple degrees of freedom |
AU1574899A (en) | 1998-12-16 | 2000-07-03 | 3Dv Systems Ltd. | Self gating photosurface |
US6963937B1 (en) * | 1998-12-17 | 2005-11-08 | International Business Machines Corporation | Method and apparatus for providing configurability and customization of adaptive user-input filtration |
US6570555B1 (en) | 1998-12-30 | 2003-05-27 | Fuji Xerox Co., Ltd. | Method and apparatus for embodied conversational characters with multimodal input/output in an interface device |
US6226388B1 (en) | 1999-01-05 | 2001-05-01 | Sharp Labs Of America, Inc. | Method and apparatus for object tracking for automatic controls in video devices |
US6363160B1 (en) | 1999-01-22 | 2002-03-26 | Intel Corporation | Interface using pattern recognition and tracking |
US6377296B1 (en) | 1999-01-28 | 2002-04-23 | International Business Machines Corporation | Virtual map system and method for tracking objects |
US7003134B1 (en) | 1999-03-08 | 2006-02-21 | Vulcan Patents Llc | Three dimensional object pose estimation which employs dense depth information |
US6299308B1 (en) | 1999-04-02 | 2001-10-09 | Cybernet Systems Corporation | Low-cost non-imaging eye tracker system for computer control |
US6591236B2 (en) | 1999-04-13 | 2003-07-08 | International Business Machines Corporation | Method and system for determining available and alternative speech commands |
US6503195B1 (en) | 1999-05-24 | 2003-01-07 | University Of North Carolina At Chapel Hill | Methods and systems for real-time structured light depth extraction and endoscope using real-time structured light depth extraction |
US6476834B1 (en) | 1999-05-28 | 2002-11-05 | International Business Machines Corporation | Dynamic creation of selectable items on surfaces |
US6545661B1 (en) | 1999-06-21 | 2003-04-08 | Midway Amusement Games, Llc | Video game system having a control unit with an accelerometer for controlling a video game |
WO2001000463A2 (en) | 1999-06-23 | 2001-01-04 | Jimi Communications Ltd. | Vehicle alert communications system |
US6873723B1 (en) | 1999-06-30 | 2005-03-29 | Intel Corporation | Segmenting three-dimensional video images using stereo |
JP2001009152A (en) | 1999-06-30 | 2001-01-16 | Konami Co Ltd | Game system and storage medium readable by computer |
US6738066B1 (en) | 1999-07-30 | 2004-05-18 | Electric Plant, Inc. | System, method and article of manufacture for detecting collisions between video images generated by a camera and an object depicted on a display |
US7113918B1 (en) | 1999-08-01 | 2006-09-26 | Electric Planet, Inc. | Method for video enabled electronic commerce |
US7050606B2 (en) | 1999-08-10 | 2006-05-23 | Cybernet Systems Corporation | Tracking and gesture recognition system particularly suited to vehicular control applications |
JP2001070640A (en) | 1999-09-07 | 2001-03-21 | Konami Co Ltd | Game machine |
US6795567B1 (en) | 1999-09-16 | 2004-09-21 | Hewlett-Packard Development Company, L.P. | Method for efficiently tracking object models in video sequences via dynamic ordering of features |
US6375572B1 (en) | 1999-10-04 | 2002-04-23 | Nintendo Co., Ltd. | Portable game apparatus with acceleration sensor and information storage medium storing a game progam |
US6642955B1 (en) | 2000-01-10 | 2003-11-04 | Extreme Cctv Inc. | Surveillance camera system with infrared and visible light bandpass control circuit |
US6663491B2 (en) | 2000-02-18 | 2003-12-16 | Namco Ltd. | Game apparatus, storage medium and computer program that adjust tempo of sound |
US7878905B2 (en) * | 2000-02-22 | 2011-02-01 | Creative Kingdoms, Llc | Multi-layered interactive play experience |
US7500917B2 (en) | 2000-02-22 | 2009-03-10 | Creative Kingdoms, Llc | Magical wand and interactive play experience |
US20020055383A1 (en) | 2000-02-24 | 2002-05-09 | Namco Ltd. | Game system and program |
JP2001239897A (en) | 2000-02-28 | 2001-09-04 | Toshiba Corp | Vehicular information processing device, on-vehicle information processing device and information processing method |
US6633294B1 (en) | 2000-03-09 | 2003-10-14 | Seth Rosenthal | Method and apparatus for using captured high density motion for animation |
US6980312B1 (en) | 2000-04-24 | 2005-12-27 | International Business Machines Corporation | Multifunction office device having a graphical user interface implemented with a touch screen |
EP1152261A1 (en) | 2000-04-28 | 2001-11-07 | CSEM Centre Suisse d'Electronique et de Microtechnique SA | Device and method for spatially resolved photodetection and demodulation of modulated electromagnetic waves |
US6640202B1 (en) | 2000-05-25 | 2003-10-28 | International Business Machines Corporation | Elastic sensor mesh system for 3-dimensional measurement, mapping and kinematics applications |
US6554706B2 (en) | 2000-05-31 | 2003-04-29 | Gerard Jounghyun Kim | Methods and apparatus of displaying and evaluating motion data in a motion game apparatus |
US6744420B2 (en) * | 2000-06-01 | 2004-06-01 | Olympus Optical Co., Ltd. | Operation input apparatus using sensor attachable to operator's hand |
US6731799B1 (en) | 2000-06-01 | 2004-05-04 | University Of Washington | Object segmentation with background extraction and moving boundary techniques |
US6788809B1 (en) | 2000-06-30 | 2004-09-07 | Intel Corporation | System and method for gesture recognition in three dimensions using stereo imaging and color vision |
US6753879B1 (en) | 2000-07-03 | 2004-06-22 | Intel Corporation | Creating overlapping real and virtual images |
US7227526B2 (en) | 2000-07-24 | 2007-06-05 | Gesturetek, Inc. | Video-based image control system |
US6377396B1 (en) | 2000-09-26 | 2002-04-23 | Onetta, Inc. | Optical amplifiers with variable optical attenuation for use in fiber-optic communications systems |
US7058204B2 (en) | 2000-10-03 | 2006-06-06 | Gesturetek, Inc. | Multiple camera control system |
WO2002033541A2 (en) * | 2000-10-16 | 2002-04-25 | Tangis Corporation | Dynamically determining appropriate computer interfaces |
US7039676B1 (en) | 2000-10-31 | 2006-05-02 | International Business Machines Corporation | Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session |
US7095401B2 (en) | 2000-11-02 | 2006-08-22 | Siemens Corporate Research, Inc. | System and method for gesture interface |
US6600475B2 (en) | 2001-01-22 | 2003-07-29 | Koninklijke Philips Electronics N.V. | Single camera system for gesture-based input and target indication |
US6804396B2 (en) | 2001-03-28 | 2004-10-12 | Honda Giken Kogyo Kabushiki Kaisha | Gesture recognition system |
US6888960B2 (en) | 2001-03-28 | 2005-05-03 | Nec Corporation | Fast optimal linear approximation of the images of variably illuminated solid objects for recognition |
US6539931B2 (en) | 2001-04-16 | 2003-04-01 | Koninklijke Philips Electronics N.V. | Ball throwing assistant |
GB2378776A (en) | 2001-05-22 | 2003-02-19 | Canon Kk | Apparatus and method for managing a multi-modal interface in which the inputs feedback on each other |
US8035612B2 (en) | 2002-05-28 | 2011-10-11 | Intellectual Ventures Holding 67 Llc | Self-contained interactive video display system |
US7259747B2 (en) | 2001-06-05 | 2007-08-21 | Reactrix Systems, Inc. | Interactive video display system |
US6594616B2 (en) | 2001-06-18 | 2003-07-15 | Microsoft Corporation | System and method for providing a mobile input device |
JP3420221B2 (en) | 2001-06-29 | 2003-06-23 | 株式会社コナミコンピュータエンタテインメント東京 | GAME DEVICE AND PROGRAM |
US6868383B1 (en) | 2001-07-12 | 2005-03-15 | At&T Corp. | Systems and methods for extracting meaning from multimodal inputs using finite-state devices |
US7274800B2 (en) * | 2001-07-18 | 2007-09-25 | Intel Corporation | Dynamic gesture recognition from stereo sequences |
JP3816068B2 (en) | 2001-08-06 | 2006-08-30 | 松下電器産業株式会社 | Information providing method and information providing apparatus |
JP2003062341A (en) | 2001-08-22 | 2003-03-04 | Nintendo Co Ltd | Game system, puzzle game program, and recording medium with program recorded thereon |
US7007236B2 (en) | 2001-09-14 | 2006-02-28 | Accenture Global Services Gmbh | Lab window collaboration |
US6937742B2 (en) | 2001-09-28 | 2005-08-30 | Bellsouth Intellectual Property Corporation | Gesture activated home appliance |
US20030069077A1 (en) * | 2001-10-05 | 2003-04-10 | Gene Korienek | Wave-actuated, spell-casting magic wand with sensory feedback |
WO2003032143A2 (en) * | 2001-10-12 | 2003-04-17 | Hrl Laboratories, Llc | Vision-based pointer tracking method and apparatus |
US7394346B2 (en) * | 2002-01-15 | 2008-07-01 | International Business Machines Corporation | Free-space gesture recognition for transaction security and command processing |
US10242255B2 (en) | 2002-02-15 | 2019-03-26 | Microsoft Technology Licensing, Llc | Gesture recognition system using depth perceptive sensors |
US7340077B2 (en) | 2002-02-15 | 2008-03-04 | Canesta, Inc. | Gesture recognition system using depth perceptive sensors |
US6957090B2 (en) | 2002-03-08 | 2005-10-18 | Kyocera Wireless Corp. | Hands-free car kit |
US7233318B1 (en) | 2002-03-13 | 2007-06-19 | Apple Inc. | Multi-button mouse |
US6928344B2 (en) | 2002-03-25 | 2005-08-09 | Sun Microsystems, Inc. | Vehicle mode manager |
US7206435B2 (en) | 2002-03-26 | 2007-04-17 | Honda Giken Kogyo Kabushiki Kaisha | Real-time eye detection and tracking under various light conditions |
US7821541B2 (en) | 2002-04-05 | 2010-10-26 | Bruno Delean | Remote control apparatus using gesture recognition |
EP1497160B2 (en) | 2002-04-19 | 2010-07-21 | IEE INTERNATIONAL ELECTRONICS & ENGINEERING S.A. | Safety device for a vehicle |
JP2003325972A (en) | 2002-05-17 | 2003-11-18 | Nintendo Co Ltd | Game device changing sound and image in association with tilt operation, and game program therefor |
JP3902508B2 (en) * | 2002-05-20 | 2007-04-11 | 任天堂株式会社 | Game system and game program |
US7348963B2 (en) | 2002-05-28 | 2008-03-25 | Reactrix Systems, Inc. | Interactive video display system |
US7710391B2 (en) | 2002-05-28 | 2010-05-04 | Matthew Bell | Processing an image utilizing a spatially varying pattern |
US7170492B2 (en) | 2002-05-28 | 2007-01-30 | Reactrix Systems, Inc. | Interactive video display system |
US7489812B2 (en) | 2002-06-07 | 2009-02-10 | Dynamic Digital Depth Research Pty Ltd. | Conversion and encoding techniques |
JP5109221B2 (en) | 2002-06-27 | 2012-12-26 | 新世代株式会社 | Information processing device equipped with an input system using a stroboscope |
US20040001113A1 (en) | 2002-06-28 | 2004-01-01 | John Zipperer | Method and apparatus for spline-based trajectory classification, gesture detection and localization |
US7225414B1 (en) * | 2002-09-10 | 2007-05-29 | Videomining Corporation | Method and system for virtual touch entertainment |
US7321854B2 (en) | 2002-09-19 | 2008-01-22 | The Penn State Research Foundation | Prosody based audio/visual co-analysis for co-verbal gesture recognition |
US20040113933A1 (en) | 2002-10-08 | 2004-06-17 | Northrop Grumman Corporation | Split and merge behavior analysis and understanding using Hidden Markov Models |
US7030856B2 (en) * | 2002-10-15 | 2006-04-18 | Sony Corporation | Method and system for controlling a display device |
US20040095317A1 (en) * | 2002-11-20 | 2004-05-20 | Jingxi Zhang | Method and apparatus of universal remote pointing control for home entertainment system and computer |
US7576727B2 (en) | 2002-12-13 | 2009-08-18 | Matthew Bell | Interactive directed light/sound system |
JP4235729B2 (en) | 2003-02-03 | 2009-03-11 | 国立大学法人静岡大学 | Distance image sensor |
US9177387B2 (en) | 2003-02-11 | 2015-11-03 | Sony Computer Entertainment Inc. | Method and apparatus for real time motion capture |
US7665041B2 (en) | 2003-03-25 | 2010-02-16 | Microsoft Corporation | Architecture for controlling a computer using hand gestures |
US8614741B2 (en) | 2003-03-31 | 2013-12-24 | Alcatel Lucent | Method and apparatus for intelligent and automatic sensor control using multimedia database system |
EP1477924B1 (en) | 2003-03-31 | 2007-05-02 | HONDA MOTOR CO., Ltd. | Gesture recognition apparatus, method and program |
DE10316477A1 (en) | 2003-04-09 | 2004-10-28 | Daimlerchrysler Ag | User interface and communication system for a motor vehicle and associated operating methods |
US8072470B2 (en) | 2003-05-29 | 2011-12-06 | Sony Computer Entertainment Inc. | System and method for providing a real-time three-dimensional interactive environment |
JP4355341B2 (en) | 2003-05-29 | 2009-10-28 | 本田技研工業株式会社 | Visual tracking using depth data |
BRPI0411056A (en) | 2003-06-06 | 2007-04-17 | Volvo Technology Corp | method and arrangement for controlling vehicle subsystems based on interpretive driver activity |
EP1631937B1 (en) | 2003-06-12 | 2018-03-28 | Honda Motor Co., Ltd. | Target orientation estimation using depth sensing |
US7292152B2 (en) | 2003-06-12 | 2007-11-06 | Temic Automotive Of North America, Inc. | Method and apparatus for classifying vehicle operator activity state |
US7038661B2 (en) | 2003-06-13 | 2006-05-02 | Microsoft Corporation | Pointing device and cursor for use in intelligent computing environments |
DE10330613A1 (en) | 2003-07-07 | 2005-01-27 | Robert Bosch Gmbh | Speed-dependent service provision in a motor vehicle |
US20050037730A1 (en) | 2003-08-12 | 2005-02-17 | Albert Montague | Mobile wireless phone with impact sensor, detects vehicle accidents/thefts, transmits medical exigency-automatically notifies authorities |
US8287373B2 (en) * | 2008-12-05 | 2012-10-16 | Sony Computer Entertainment Inc. | Control device for communicating visual information |
US7874917B2 (en) * | 2003-09-15 | 2011-01-25 | Sony Computer Entertainment Inc. | Methods and systems for enabling depth and direction detection when interfacing with a computer program |
US20050076161A1 (en) | 2003-10-03 | 2005-04-07 | Amro Albanna | Input system and method |
WO2005041579A2 (en) | 2003-10-24 | 2005-05-06 | Reactrix Systems, Inc. | Method and system for processing captured image information in an interactive video display system |
JP2005173702A (en) | 2003-12-08 | 2005-06-30 | Nissan Motor Co Ltd | Device for deciding degree of margin of driving |
KR100588042B1 (en) | 2004-01-14 | 2006-06-09 | 한국과학기술연구원 | Interactive presentation system |
WO2005084209A2 (en) | 2004-02-27 | 2005-09-15 | University Of Florida Research Foundation, Inc. | Interactive virtual characters for training including medical diagnosis training |
US20050212753A1 (en) | 2004-03-23 | 2005-09-29 | Marvit David L | Motion controlled remote controller |
JP4708422B2 (en) | 2004-04-15 | 2011-06-22 | ジェスチャー テック,インコーポレイテッド | Tracking of two-hand movement |
US7308112B2 (en) | 2004-05-14 | 2007-12-11 | Honda Motor Co., Ltd. | Sign based human-machine interaction |
US7593593B2 (en) | 2004-06-16 | 2009-09-22 | Microsoft Corporation | Method and system for reducing effects of undesired signals in an infrared imaging system |
US7519223B2 (en) | 2004-06-28 | 2009-04-14 | Microsoft Corporation | Recognizing gestures and using gestures for interacting with software applications |
US8560972B2 (en) | 2004-08-10 | 2013-10-15 | Microsoft Corporation | Surface UI for gesture-based interaction |
US7704135B2 (en) | 2004-08-23 | 2010-04-27 | Harrison Jr Shelton E | Integrated game system, method, and device |
US7683883B2 (en) * | 2004-11-02 | 2010-03-23 | Pierre Touma | 3D mouse and game controller based on spherical coordinates system and system for use |
WO2006058129A2 (en) | 2004-11-23 | 2006-06-01 | Hillcrest Laboratories, Inc. | Semantic gaming and application transformation |
KR20060070280A (en) | 2004-12-20 | 2006-06-23 | 한국전자통신연구원 | Apparatus and its method of user interface using hand gesture recognition |
EP1849123A2 (en) | 2005-01-07 | 2007-10-31 | GestureTek, Inc. | Optical flow based tilt sensor |
WO2006074310A2 (en) | 2005-01-07 | 2006-07-13 | Gesturetek, Inc. | Creating 3d images of objects by illuminating with infrared patterns |
CN102831387B (en) | 2005-01-07 | 2016-12-14 | 高通股份有限公司 | Object in detect and track image |
US7598942B2 (en) | 2005-02-08 | 2009-10-06 | Oblong Industries, Inc. | System and method for gesture based control system |
US7492367B2 (en) | 2005-03-10 | 2009-02-17 | Motus Corporation | Apparatus, system and method for interpreting and reproducing physical motion |
US20060205394A1 (en) | 2005-03-10 | 2006-09-14 | Vesterinen Matti I | Mobile device, a network element and a method of adjusting a setting associated with a mobile device |
WO2006099597A2 (en) | 2005-03-17 | 2006-09-21 | Honda Motor Co., Ltd. | Pose estimation based on critical point analysis |
RU2007146172A (en) | 2005-05-17 | 2009-06-27 | Гестуретэк, Инк. (Us) | ORIENTATION SIGNAL OUTPUT |
ATE412882T1 (en) | 2005-08-12 | 2008-11-15 | Mesa Imaging Ag | HIGHLY SENSITIVE, FAST PIXEL FOR USE IN AN IMAGE SENSOR |
US20080026838A1 (en) | 2005-08-22 | 2008-01-31 | Dunstan James E | Multi-player non-role-playing virtual world games: method for two-way interaction between participants and multi-player virtual world games |
US8313379B2 (en) | 2005-08-22 | 2012-11-20 | Nintendo Co., Ltd. | Video game system with wireless modular handheld controller |
US7927216B2 (en) | 2005-09-15 | 2011-04-19 | Nintendo Co., Ltd. | Video game system with wireless modular handheld controller |
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 |
JP4773170B2 (en) | 2005-09-14 | 2011-09-14 | 任天堂株式会社 | Game program and game system |
US7450736B2 (en) | 2005-10-28 | 2008-11-11 | Honda Motor Co., Ltd. | Monocular tracking of 3D human motion with a coordinated mixture of factor analyzers |
US20070143333A1 (en) | 2005-12-16 | 2007-06-21 | Microsoft Corporation | Creating search folders within applications for other applications |
JP4509042B2 (en) | 2006-02-13 | 2010-07-21 | 株式会社デンソー | Hospitality information provision system for automobiles |
US7988558B2 (en) * | 2006-04-27 | 2011-08-02 | Nintendo Co., Ltd. | Game apparatus and storage medium storing game program |
JP4679431B2 (en) * | 2006-04-28 | 2011-04-27 | 任天堂株式会社 | Sound output control program and sound output control device |
JP5506129B2 (en) * | 2006-05-08 | 2014-05-28 | 任天堂株式会社 | GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND GAME PROCESSING METHOD |
US7701439B2 (en) | 2006-07-13 | 2010-04-20 | Northrop Grumman Corporation | Gesture recognition simulation system and method |
US9405372B2 (en) | 2006-07-14 | 2016-08-02 | Ailive, Inc. | Self-contained inertial navigation system for interactive control using movable controllers |
JP5051822B2 (en) * | 2006-08-02 | 2012-10-17 | 任天堂株式会社 | Game device with general-purpose remote control function |
US7907117B2 (en) | 2006-08-08 | 2011-03-15 | Microsoft Corporation | Virtual controller for visual displays |
JP5395323B2 (en) | 2006-09-29 | 2014-01-22 | ブレインビジョン株式会社 | Solid-state image sensor |
JP4926799B2 (en) | 2006-10-23 | 2012-05-09 | キヤノン株式会社 | Information processing apparatus and information processing method |
KR100877490B1 (en) | 2006-11-03 | 2009-01-12 | 삼성전기주식회사 | Mobile terminal and method for controlling the mobile terminal |
US8904312B2 (en) | 2006-11-09 | 2014-12-02 | Navisense | Method and device for touchless signing and recognition |
US7412077B2 (en) | 2006-12-29 | 2008-08-12 | Motorola, Inc. | Apparatus and methods for head pose estimation and head gesture detection |
US7729530B2 (en) | 2007-03-03 | 2010-06-01 | Sergey Antonov | Method and apparatus for 3-D data input to a personal computer with a multimedia oriented operating system |
US7725129B2 (en) | 2007-05-16 | 2010-05-25 | Oliver David Grunhold | Cell phone based vehicle control system |
US7852262B2 (en) | 2007-08-16 | 2010-12-14 | Cybernet Systems Corporation | Wireless mobile indoor/outdoor tracking system |
TWI338241B (en) * | 2007-08-23 | 2011-03-01 | Pixart Imaging Inc | Interactive image system, interactive device and operative method thereof |
CN101141136A (en) | 2007-09-30 | 2008-03-12 | 中兴通讯股份有限公司 | Method and device for implementing vehicle mounted call |
WO2009059065A1 (en) | 2007-10-30 | 2009-05-07 | Hewlett-Packard Development Company, L.P. | Interactive display system with collaborative gesture detection |
US9171454B2 (en) | 2007-11-14 | 2015-10-27 | Microsoft Technology Licensing, Llc | Magic wand |
US20090221368A1 (en) | 2007-11-28 | 2009-09-03 | Ailive Inc., | Method and system for creating a shared game space for a networked game |
JP5420833B2 (en) * | 2007-11-30 | 2014-02-19 | 任天堂株式会社 | Game system |
US9165199B2 (en) | 2007-12-21 | 2015-10-20 | Honda Motor Co., Ltd. | Controlled human pose estimation from depth image streams |
US20090172606A1 (en) | 2007-12-31 | 2009-07-02 | Motorola, Inc. | Method and apparatus for two-handed computer user interface with gesture recognition |
CN201166702Y (en) | 2008-03-06 | 2008-12-17 | 宇龙计算机通信科技(深圳)有限公司 | Mobile terminal with automobile overrunning detection function |
US8280732B2 (en) | 2008-03-27 | 2012-10-02 | Wolfgang Richter | System and method for multidimensional gesture analysis |
JP2009244959A (en) | 2008-03-28 | 2009-10-22 | Toyota Motor Corp | Driving support device and driving support method |
JP4656177B2 (en) | 2008-04-14 | 2011-03-23 | トヨタ自動車株式会社 | Navigation device, operation unit display method |
CN101254344B (en) | 2008-04-18 | 2010-06-16 | 李刚 | Game device of field orientation corresponding with display screen dot array in proportion and method |
US8428642B2 (en) | 2008-05-02 | 2013-04-23 | Delphi Technologies, Inc. | Method and apparatus for remote vehicle communications and control |
US8311734B2 (en) | 2008-07-01 | 2012-11-13 | Sony Corporation | Automatic speed limit adjust for road conditions |
JP2010081565A (en) | 2008-08-27 | 2010-04-08 | Kyocera Corp | Portable electronic apparatus and vehicle |
CN101364814A (en) | 2008-09-09 | 2009-02-11 | 动力新跃(北京)汽车科技有限公司 | Mobile phone shielding device for driver |
JP2010072833A (en) | 2008-09-17 | 2010-04-02 | Toyota Motor Corp | Drive support apparatus |
US20100105479A1 (en) * | 2008-10-23 | 2010-04-29 | Microsoft Corporation | Determining orientation in an external reference frame |
US8253713B2 (en) | 2008-10-23 | 2012-08-28 | At&T Intellectual Property I, L.P. | Tracking approaching or hovering objects for user-interfaces |
JP2012507954A (en) | 2008-10-31 | 2012-03-29 | ユニバーシティ オブ ユタ リサーチ ファウンデーション | Integrated vehicle key and mobile phone system to prevent mobile phone use while driving |
US20100121526A1 (en) | 2008-11-12 | 2010-05-13 | Don Pham | Speed warning method and apparatus for navigation system |
WO2010055737A1 (en) * | 2008-11-14 | 2010-05-20 | 株式会社ソニー・コンピュータエンタテインメント | Operating device |
KR101081116B1 (en) | 2009-04-22 | 2011-11-07 | 중앙대학교 산학협력단 | Integrated service convergence system for telematics, and control method for the Integrated service convergence system |
US8295546B2 (en) | 2009-01-30 | 2012-10-23 | Microsoft Corporation | Pose tracking pipeline |
JP5200995B2 (en) | 2009-02-24 | 2013-06-05 | 株式会社デンソー | Fuel consumption notification device |
US8246458B2 (en) * | 2009-03-25 | 2012-08-21 | Nintendo Co., Ltd. | Game apparatus and recording medium recording game program |
CN201548210U (en) | 2009-04-01 | 2010-08-11 | 姚征远 | Projection three-dimensional measuring apparatus |
JP4840620B2 (en) | 2009-04-30 | 2011-12-21 | 株式会社デンソー | In-vehicle electronic device operation device |
US8213962B2 (en) | 2009-07-21 | 2012-07-03 | Verizon Patent And Licensing Inc. | Vehicle computer link to mobile phone |
US8428340B2 (en) | 2009-09-21 | 2013-04-23 | Microsoft Corporation | Screen space plane identification |
US8867820B2 (en) | 2009-10-07 | 2014-10-21 | Microsoft Corporation | Systems and methods for removing a background of an image |
US8145199B2 (en) | 2009-10-31 | 2012-03-27 | BT Patent LLC | Controlling mobile device functions |
US8315617B2 (en) | 2009-10-31 | 2012-11-20 | Btpatent Llc | Controlling mobile device functions |
CN101795504A (en) | 2009-11-11 | 2010-08-04 | 华为终端有限公司 | Method, device and system for prompting contents of mobile phone setting |
US8672763B2 (en) | 2009-11-20 | 2014-03-18 | Sony Computer Entertainment Inc. | Controller for interfacing with a computing program using position, orientation, or motion |
US8612884B2 (en) | 2010-01-26 | 2013-12-17 | Apple Inc. | Device, method, and graphical user interface for resizing objects |
US8379134B2 (en) | 2010-02-26 | 2013-02-19 | Research In Motion Limited | Object detection and selection using gesture recognition |
US8396252B2 (en) | 2010-05-20 | 2013-03-12 | Edge 3 Technologies | Systems and related methods for three dimensional gesture recognition in vehicles |
US9241064B2 (en) | 2010-05-28 | 2016-01-19 | Google Technology Holdings LLC | Smart method and device for adaptive user interface experiences |
US8768865B2 (en) | 2011-01-19 | 2014-07-01 | Qualcomm Incorporated | Learning situations via pattern matching |
CN102204650B (en) | 2011-03-08 | 2012-09-19 | 胡任飞 | Health staple food with low glycemic index, its preparation method and application in blood sugar reduction |
US9939888B2 (en) * | 2011-09-15 | 2018-04-10 | Microsoft Technology Licensing Llc | Correlating movement information received from different sources |
DE112012004769T5 (en) | 2011-11-16 | 2014-09-04 | Flextronics Ap, Llc | Configurable hardware unit for car systems |
US20130155237A1 (en) | 2011-12-16 | 2013-06-20 | Microsoft Corporation | Interacting with a mobile device within a vehicle using gestures |
US8811938B2 (en) | 2011-12-16 | 2014-08-19 | Microsoft Corporation | Providing a user interface experience based on inferred vehicle state |
US9008989B2 (en) * | 2012-05-02 | 2015-04-14 | Microsoft Technology Licensing, Llc | Wireless controller |
US9849376B2 (en) * | 2012-05-02 | 2017-12-26 | Microsoft Technology Licensing, Llc | Wireless controller |
US9740187B2 (en) * | 2012-11-21 | 2017-08-22 | Microsoft Technology Licensing, Llc | Controlling hardware in an environment |
-
2003
- 2003-12-01 US US10/724,950 patent/US8745541B2/en not_active Expired - Fee Related
-
2008
- 2008-10-20 US US12/289,099 patent/US20130190089A1/en not_active Abandoned
-
2009
- 2009-06-17 US US12/457,656 patent/US20100138798A1/en not_active Abandoned
- 2009-06-30 US US12/495,105 patent/US20100151946A1/en not_active Abandoned
-
2013
- 2013-06-17 US US13/919,995 patent/US20130324248A1/en not_active Abandoned
-
2015
- 2015-07-20 US US14/803,949 patent/US10551930B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6072467A (en) * | 1996-05-03 | 2000-06-06 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Continuously variable control of animated on-screen characters |
US6982697B2 (en) * | 2002-02-07 | 2006-01-03 | Microsoft Corporation | System and process for selecting objects in a ubiquitous computing environment |
US6990639B2 (en) * | 2002-02-07 | 2006-01-24 | Microsoft Corporation | System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration |
US20040193413A1 (en) * | 2003-03-25 | 2004-09-30 | Wilson Andrew D. | Architecture for controlling a computer using hand gestures |
US20070243931A1 (en) * | 2006-04-14 | 2007-10-18 | Nintendo Co., Ltd. | Game apparatus and game program |
US8187096B2 (en) * | 2006-04-14 | 2012-05-29 | Nintendo Co., Ltd. | Game apparatus and game program |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100151946A1 (en) * | 2003-03-25 | 2010-06-17 | Wilson Andrew D | System and method for executing a game process |
US9596643B2 (en) | 2011-12-16 | 2017-03-14 | Microsoft Technology Licensing, Llc | Providing a user interface experience based on inferred vehicle state |
US10146322B2 (en) | 2012-12-13 | 2018-12-04 | Intel Corporation | Gesture pre-processing of video stream using a markered region |
US20150015480A1 (en) * | 2012-12-13 | 2015-01-15 | Jeremy Burr | Gesture pre-processing of video stream using a markered region |
US10261596B2 (en) | 2012-12-13 | 2019-04-16 | Intel Corporation | Gesture pre-processing of video stream using a markered region |
US9720507B2 (en) * | 2012-12-13 | 2017-08-01 | Intel Corporation | Gesture pre-processing of video stream using a markered region |
US9141443B2 (en) * | 2013-01-07 | 2015-09-22 | General Electric Company | Method and system for integrating visual controls with legacy applications |
JP2016024690A (en) * | 2014-07-22 | 2016-02-08 | Necパーソナルコンピュータ株式会社 | Movement recognition device, movement recognition method and program |
US9363640B2 (en) | 2014-08-05 | 2016-06-07 | Samsung Electronics Co., Ltd. | Electronic system with transformable mode mechanism and method of operation thereof |
US10496198B2 (en) | 2014-08-05 | 2019-12-03 | Samsung Electronics Co., Ltd. | Electronic system with transformable mode mechanism and method of operation thereof |
US10359858B2 (en) * | 2016-09-07 | 2019-07-23 | Disney Enterprises, Inc. | Systems and methods for simulating sounds of a virtual object using procedural audio |
US11120254B2 (en) | 2017-03-29 | 2021-09-14 | Beijing Sensetime Technology Development Co., Ltd. | Methods and apparatuses for determining hand three-dimensional data |
CN111643123A (en) * | 2020-05-26 | 2020-09-11 | 清华大学 | Automatic sampling device of pharynx swab |
Also Published As
Publication number | Publication date |
---|---|
US8745541B2 (en) | 2014-06-03 |
US20100151946A1 (en) | 2010-06-17 |
US20100138798A1 (en) | 2010-06-03 |
US20040193413A1 (en) | 2004-09-30 |
US10551930B2 (en) | 2020-02-04 |
US20160116995A1 (en) | 2016-04-28 |
US20130190089A1 (en) | 2013-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10551930B2 (en) | System and method for executing a process using accelerometer signals | |
US11567578B2 (en) | Systems and methods of free-space gestural interaction | |
US9652042B2 (en) | Architecture for controlling a computer using hand gestures | |
US12032746B2 (en) | Systems and methods of creating a realistic displacement of a virtual object in virtual reality/augmented reality environments | |
US11625103B2 (en) | Integration of artificial reality interaction modes | |
US10394334B2 (en) | Gesture-based control system | |
US10656724B2 (en) | Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control | |
US20200004401A1 (en) | Gesture-based content sharing in artifical reality environments | |
US20140240231A1 (en) | Processing tracking and recognition data in gestural recognition systems | |
US20190384408A1 (en) | GESTURE SEQUENCE RECOGNITION USING SIMULTANEOUS LOCALIZATION AND MAPPING (SLAM) COMPONENTS IN VIRTUAL, AUGMENTED, AND MIXED REALITY (xR) APPLICATIONS | |
WO2013184704A1 (en) | Spatial operating environment (soe) with markerless gestural control | |
LaViola | Whole-hand and speech input in virtual environments | |
WO2014058909A2 (en) | Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control | |
Kin et al. | STMG: A Machine Learning Microgesture Recognition System for Supporting Thumb-Based VR/AR Input | |
US20240029329A1 (en) | Mitigation of Animation Disruption in Artificial Reality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034747/0417 Effective date: 20141014 Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:039025/0454 Effective date: 20141014 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |