Embodiments of the invention generally relate to the field of computing systems and, more particularly, to a mechanism to provide visual feedback regarding computing system command gestures.
Computing systems and related systems are being developed to provide a more natural interface for users. In particular, computing systems may include sensing of a user of the computing system, where user sensing may include gesture recognition, where the system attempts to recognize one or more command gestures of a user, and in particular hand gestures of the user.
For example, the user may perform several gestures to manipulate symbols and other images shown on a display screen of the computer system.
However, a user is generally required to perform command gestures without being aware how the gestures are being interpreted by the computing system. For this reason the user may not be aware that a gesture will not be interpreted in the manner intended by the user.
Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
Embodiments of the invention are generally directed to a mechanism to provide visual feedback regarding computing system command gestures.
As used herein:
“User sensing” means a computer operation to sense a user. The sensing of a user may include position and motion detection, such as a computing system detecting and interpreting gestures made by a user of the computing system as inputs to the computing system. User sensing may utilize any technology by which the user may be sensed by the computing, including visual sensing (using one or more cameras or similar devices), audio sensing (including detection of sounds and detection of sound reflection), heat or infrared sensing, sensing and interpretation of projected light patterns (visible or invisible), and other technologies. User sensing may include operations of a perceptual computing system in sensing user operations and intent, where a perceptual computing system is a system allowing for the addition of alternative input modalities, including gesture recognition.
“Computing system” means any device or system that includes computing capability. A computing system includes both a single unit and a system of multiple elements. A computing system is not limited to a general-purpose computer, but also includes special purpose devices that include computing capability. A “computing system” includes a desktop computer, a game console, a laptop or notebook computer, an all-in-one (AIO) computer, a tablet computer, a handheld computing device including a smart phone, or other apparatus or system having computing and display capability.
In some embodiments, an intent of the user to interact with a computing system is determined by the motion of the user, such as by a user's hand or hands, toward an element of the computing system. While embodiments are not limited to a user's hands, this may be the most common operation by the user.
In a computing system utilizing user sensing to detect system inputs, gestures made by a user to communicate with the computing system (which may be referred to generally as command gestures) may be difficult for the user to gauge as such gestures are being made. Thus, a user may be able to discern from results that a particular gesture was or was not effective to provide a desired result, but may not understand why the gesture was effective or ineffective.
In some cases, the reason that a gesture is ineffective is that the user isn't accurate in performing the gesture, such as circumstances in which the user isn't actually presenting the gesture the user believes the user is presenting, or the user is making the gesture in a manner that creates difficulty in the computing system sensing the user's gesture, such as in an orientation that is more difficult for the computing system to detect. Thus, a user may be forced to either watch the user's own hand while performing the gesture, or perform the gesture in an exaggerated manner to ensure that the computing system registers the intended gesture. In either case, the user is prevented from interfacing naturally with the computing system.
In some embodiments, a computing system includes a mechanism to provide feedback regarding computing system command gestures. In some embodiments, a computing system includes an on screen visual feedback mechanism that can be used to provide feedback to a user of a perceptual computing (PerComp) system while a command gesture is being performs. In some embodiments, a natural feedback mechanism is provided for an end user so that the user is able to properly use the system tools.
In some embodiments, a mechanism presents certain visual representations of a user's hand or hands on a display screen to allow the user to understand a relationship between the user's hands and symbols on the display screen,
In some embodiments, a first framework provides visual feedback including bright lights at the points at which the fingers are located (finger-tip-lights) in a visual representation of a position of a user's hand. In some embodiments, the movement of a user's fingers in space are represented by light that trails the finger-tip-lights' locations on the display screen for a certain period of time. In some embodiments, the visual feedback presents an image that is analogous to an image of a finger moving in a pool of water, where a trail is visible following the movement of the finger, but such trail dissipates are a short period of time. In some embodiments, the finger-tip-lights and the image of trailing lights provides feedback to the end user with respect to position and motion of the user's hand, and further creates the illusion of a full hand without resorting to using a full hand skeleton in visual feedback. In some embodiments, entry into the computing system may happen gradually with the finger-tip-lights becoming brighter as the user enters into the proper zone for sensing of command gestures. In some embodiments, entry into the computing system may happen gradually with the finger-tip-lights becoming more focused as the user enters into the proper zone for sensing of command gestures. In some embodiments, the finger-tip-light color or shape may change when the user is conducting or has completed a command gesture.
In some embodiments, a different in brightness provides feedback to a user regarding the orientation of the hand of the user in relation to the display screen. In some embodiments, the finger-tip-light are brighter when the fingers are pointed towards the display screen and dimmer when the fingers of the hand of a user are pointed away from the display screen versus. In some embodiments, the brightness of a displayed image may have a different orientation, such as a reverse orientation where the finger-tip-light are brighter when the fingers are pointed away the display screen and dimmer when the fingers of the hand of a user are pointed towards the display screen. In some embodiments, the feedback regarding the brightness of the fingers of the user may motivate the user to orient the hand of the user towards display screen and sensor such that the fingers of the user are not obscured in sensing.
In some embodiments, a second framework provides feedback for a command gesture to select a element of a display screen, where he gesture involves forming the hand in a shape in which the fingers can pinch or squeeze to select a targeted icon or other symbol (which may be referred to herein as a “claw” gesture). In some embodiments, a computer system may provide feedback for a claw select function by displaying a “C” shape with a partial fill. In some embodiments, user to complete the circle by closing the hand to select the object. If the open claw stays over a particular location for a long period of time, the screen responds by showing what the user can do in order to select the object.
In some embodiments, upon selecting an object, a light spins, thus encouraging the user to “rotate” the object to preview, or to move the object toward a projector light in order to view the file. In some embodiments, a “Search” looking glass gesture feedback is a magnifying glass on the screen as shown.
In some embodiments, a “zoom” function may be utilized, where, for example, two finger-tip-lights provide feedback regarding a zoom out gesture formed by a hand of the user.
In some embodiments, a third framework includes a “magnifying glass” or loop icon to provide visual feedback for a loop gesture performed by a user by touching the tip of the thumb with the tip of at least one other finger of the same hand. In some embodiments, the computing system provides information regarding what is represented by the icon when the loop representation surrounds the icon at least in part.
In some embodiments, an apparatus includes a sensing element to sense a presence or movement of a user of the apparatus, a processor, wherein operation of the processor includes interpretation of command gestures of a user to provide input to the apparatus; and a display screen, the apparatus to display one or more icons on the display screen, the one or more icons being related to the operation of the apparatus. The apparatus is to display visual feedback for a user of the apparatus, visual feedback including a representation of one or both hands of the user while the one or both hands are within a sensing area for the sensing element.
In some embodiments, a method includes commencing a session between a user and a computing system; sensing a presence or movement of the user by a sensing element of the apparatus; determining one or more of a position, a movement, and an orientation of the one or both hands of the user; and displaying visual feedback to the user regarding the hand or hands of the user, the visual feedback including a representation of the hand or hands of the user in relation to one or more symbols on a display screen.
In particular, the sensing elements 120 may detect movement and position of the hand or hands of the user. In some embodiments, the provide visual feedback regarding gestures of the hand or hands of the computing system, where the visual feedback includes the presentation of images 130 that represent position and movement of the hands of the user in attempted to perform command gestures for operation of the computing system.
In some embodiments, a computing system senses the position and movement of the fingers of the user through illustration of the finger-tip-lights shown in 210. In this illustration, the fingers are shown to be close together and do not show any movement, indicating that the user has not recently moved the hands in an attempt to present a command gesture. In some embodiments, the fingers of the user move outward from the first position, with each finger having a trail following the finger to show the relative movement of the fingers 220. In some embodiments, this process continues 230, with the fingers reaching fully extended position 240.
In some embodiments, the computing system 100 operates such that the light trailing the light representing the fingertips of the fingers of the user will begin to fade 250 after a first period of time, and the training light representing the movement of the fingers of the user will eventually fade completely, thus returning the feedback display to showing the lights representing the finger tips of the user in a stationary representation without showing any trailing light 260.
In some embodiments, the computing system provides visual feedback regarding the hand or hands of the user, where the display provides feedback regarding the relationship between the hand or hands of the user and the symbols on the display screen 720. In some embodiments, the feedback includes one or more of visual feedback of the fingertips of the hand or hands of the user (such as finger-tip-lights) and the motion of the fingertips (such as a light trail following a fingertip) 725; visual feedback of a “C” shape to show a grasping or “claw” gesture to select icons 730; and visual feedback of a magnifying glass or loop to illustrate a loop gesture to obtain information regarding what is represented by an icon 735.
In some embodiments, if gesture movement of the user is detected 740 the computing system provides a gesture recognition process 745, which may include use of data from a gesture data library that is accessible to the computing system, 750.
Computing system 800 includes processor 810, which performs the primary processing operations of computing system 800. Processor 810 can include one or more physical devices, such as microprocessors, application processors, microcontrollers, programmable logic devices, or other processing means. The processing operations performed by processor 810 include the execution of an operating platform or operating system on which applications, device functions, or both are executed. The processing operations include, for example, operations related to I/O (input/output) with a human user or with other devices, operations related to power management, and operations related to connecting computing system 800 to another system or device. The processing operations may also include operations related to audio I/O, display I/O, or both. Processors 810 may include one or more graphics processing units (GPUs), including a GPU used for general-purpose computing on graphics processing units (GPGPU).
In some embodiments, computing system 800 includes audio subsystem 820, which represents hardware (such as audio hardware and audio circuits) and software (such as drivers and codecs) components associated with providing audio functions to the computing system. Audio functions can include speaker output, headphone output, or both, as well as microphone input. Devices for such functions can be integrated into computing system 800, or connected to computing system 800. In some embodiments, a user interacts with computing system 800 by providing audio commands that are received and processed by processor 810.
Display subsystem 830 represents hardware (for example, display devices) and software (for example, drivers) components that provide a visual display, a tactile display, or combination of displays for a user to interact with the computing system 800. Display subsystem 830 includes display interface 832, which includes the particular screen or hardware device used to provide a display to a user. In one embodiment, display interface 832 includes logic separate from processor 810 to perform at least some processing related to the display. In one embodiment, display subsystem 830 includes a touchscreen device that provides both output and input to a user.
In some embodiments, the display subsystem 830 of the computing system 800 includes user gesture feedback 834 to provide visual feedback to the user regarding the relationship between the gestures performed by the user and the elements of the display. In some embodiments, the feedback includes one or more of visual feedback of the fingertips of the hand or hands of the user (such as finger-tip-lights) and the motion of the fingertips (such as a light trail following a fingertip); visual feedback of a “C” shape to show a grasping or “claw” gesture to select icons; and visual feedback of a magnifying glass or loop to illustrate a loop gesture to obtain information regarding what is represented by an icon.
I/O controller 840 represents hardware devices and software components related to interaction with a user. I/O controller 840 can operate to manage hardware that is part of audio subsystem 820 and hardware that is part of the display subsystem 830. Additionally, I/O controller 840 illustrates a connection point for additional devices that connect to computing system 800 through which a user might interact with the system. For example, devices that can be attached to computing system 800 might include microphone devices, speaker or stereo systems, video systems or other display device, keyboard or keypad devices, or other I/O devices for use with specific applications such as card readers or other devices.
As mentioned above, I/O controller 840 can interact with audio subsystem 820, display subsystem 830, or both. For example, input through a microphone or other audio device can provide input or commands for one or more applications or functions of computing system 800. Additionally, audio output can be provided instead of or in addition to display output. In another example, if display subsystem includes a touchscreen, the display device also acts as an input device, which can be at least partially managed by I/O controller 840. There can also be additional buttons or switches on computing system 800 to provide I/O functions managed by I/O controller 840.
In one embodiment, I/O controller 840 manages devices such as accelerometers, cameras, light sensors or other environmental sensors, or other hardware that can be included in computing system 800. The input can be part of direct user interaction, as well as providing environmental input to the system to influence its operations (such as filtering for noise, adjusting displays for brightness detection, applying a flash for a camera, or other features).
In one embodiment, computing system 800 includes power management 850 that manages battery power usage, charging of the battery, and features related to power saving operation. Memory subsystem 860 includes memory devices for storing information in computing system 800. Memory can include nonvolatile (state does not change if power to the memory device is interrupted) memory devices and volatile (state is indeterminate if power to the memory device is interrupted) memory devices. Memory 860 can store application data, user data, music, photos, documents, or other data, as well as system data (whether long-term or temporary) related to the execution of the applications and functions of system 800. In particular, memory may include gesture detection data 862 for use in detecting and interpreting gestures by a user of the computing system 800.
In some embodiments, computing system 800 includes one or more user sensing elements 890 to sense presence and motion, wherein may include one or more cameras or other visual sensing elements, one or more microphones or other audio sensing elements, one or more infrared or other heat sensing elements, or any other element for sensing the presence or movement of a user.
Connectivity 870 includes hardware devices (such as wireless and wired connectors and communication hardware) and software components (such as drivers and protocol stacks) to enable computing system 800 to communicate with external devices. The computing system could include separate devices, such as other computing devices, wireless access points or base stations, as well as peripherals such as headsets, printers, or other devices.
Connectivity 870 can include multiple different types of connectivity. To generalize, computing system 800 is illustrated with cellular connectivity 872 and wireless connectivity 874. Cellular connectivity 872 refers generally to cellular network connectivity provided by wireless carriers, such as provided via GSM (global system for mobile communications) or variations or derivatives, CDMA (code division multiple access) or variations or derivatives, TDM (time division multiplexing) or variations or derivatives, or other cellular service standards. Wireless connectivity 874 refers to wireless connectivity that is not cellular, and can include personal area networks (such as Bluetooth), local area networks (such as WiFi), wide area networks (such as WiMax), or other wireless communication. Connectivity 870 may include an omnidirectional or directional antenna for transmission of data, reception of data, or both.
Peripheral connections 880 include hardware interfaces and connectors, as well as software components (for example, drivers and protocol stacks) to make peripheral connections. It will be understood that computing system 800 could both be a peripheral device (“to” 882) to other computing devices, as well as have peripheral devices (“from” 884) connected to it. Computing system 800 commonly has a “docking” connector to connect to other computing devices for purposes such as managing (such as downloading, uploading, changing, and synchronizing) content on computing system 800. Additionally, a docking connector can allow computing system 800 to connect to certain peripherals that allow computing system 800 to control content output, for example, to audiovisual or other systems.
In addition to a proprietary docking connector or other proprietary connection hardware, computing system 800 can make peripheral connections 880 via common or standards-based connectors. Common types can include a Universal Serial Bus (USB) connector (which can include any of a number of different hardware interfaces), DisplayPort including MiniDisplayPort (MDP), High Definition Multimedia Interface (HDMI), Firewire, or other type.
Processing by the one or more processors include processing for perceptual computing 911, where such processing includes sensing and interpretation of gestures in relation to a virtual boundary of the computing system.
In some embodiments, the computing system 900 further comprises a random access memory (RAM) or other dynamic storage device or element as a main memory 912 for storing information and instructions to be executed by the processors 910. RAM memory includes dynamic random access memory (DRAM), which requires refreshing of memory contents, and static random access memory (SRAM), which does not require refreshing contents, but at increased cost. In some embodiments, main memory may include active storage of applications including a browser application for using in network browsing activities by a user of the computing system. DRAM memory may include synchronous dynamic random access memory (SDRAM), which includes a clock signal to control signals, and extended data-out dynamic random access memory (EDO DRAM). In some embodiments, memory of the system may include certain registers or other special purpose memory.
The computing system 900 also may comprise a read only memory (ROM) 916 or other static storage device for storing static information and instructions for the processors 910. The computing system 900 may include one or more non-volatile memory elements 918 for the storage of certain elements.
In some embodiments, the computing system 900 includes one or more input devices 930, where the input devices include one or more of a keyboard, mouse, touch pad, voice command recognition, gesture recognition, or other device for providing an input to a computing system.
The computing system 900 may also be coupled via the interconnect 905 to an output display 940. In some embodiments, the display 940 may include a liquid crystal display (LCD) or any other display technology, for displaying information or content to a user. In some environments, the display 940 may include a touch-screen that is also utilized as at least a part of an input device. In some environments, the display 940 may be or may include an audio device, such as a speaker for providing audio information.
One or more transmitters or receivers 945 may also be coupled to the interconnect 905. In some embodiments, the computing system 900 may include one or more ports 950 for the reception or transmission of data. The computing system 900 may further include one or more omnidirectional or directional antennas 955 for the reception of data via radio signals.
The computing system 900 may also comprise a power device or system 960, which may comprise a power supply, a battery, a solar cell, a fuel cell, or other system or device for providing or generating power. The power provided by the power device or system 960 may be distributed as required to elements of the computing system 900.
In the description above, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form. There may be intermediate structure between illustrated components. The components described or illustrated herein may have additional inputs or outputs which are not illustrated or described.
Various embodiments may include various processes. These processes may be performed by hardware components or may be embodied in computer program or machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor or logic circuits programmed with the instructions to perform the processes. Alternatively, the processes may be performed by a combination of hardware and software.
Portions of various embodiments may be provided as a computer program product, which may include a computer-readable medium having stored thereon computer program instructions, which may be used to program a computer (or other electronic devices) for execution by one or more processors to perform a process according to certain embodiments. The computer-readable medium may include, but is not limited to, floppy diskettes, optical disks, compact disk read-only memory (CD-ROM), and magneto-optical disks, read-only memory (ROM), random access memory (RAM), erasable programmable read-only memory (EPROM), electrically-erasable programmable read-only memory (EEPROM), magnet or optical cards, flash memory, or other type of computer-readable medium suitable for storing electronic instructions. Moreover, embodiments may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer.
Many of the methods are described in their most basic form, but processes can be added to or deleted from any of the methods and information can be added or subtracted from any of the described messages without departing from the basic scope of the present invention. It will be apparent to those skilled in the art that many further modifications and adaptations can be made. The particular embodiments are not provided to limit the invention but to illustrate it. The scope of the embodiments of the present invention is not to be determined by the specific examples provided above but only by the claims below.
If it is said that an element “A” is coupled to or with element “B,” element A may be directly coupled to element B or be indirectly coupled through, for example, element C. When the specification or claims state that a component, feature, structure, process, or characteristic A “causes” a component, feature, structure, process, or characteristic B, it means that “A” is at least a partial cause of “B” but that there may also be at least one other component, feature, structure, process, or characteristic that assists in causing “B.” If the specification indicates that a component, feature, structure, process, or characteristic “may”, “might”, or “could” be included, that particular component, feature, structure, process, or characteristic is not required to be included. If the specification or claim refers to “a” or “an” element, this does not mean there is only one of the described elements.
An embodiment is an implementation or example of the present invention. Reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments. The various appearances of “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments. It should be appreciated that in the foregoing description of exemplary embodiments of the present invention, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims are hereby expressly incorporated into this description, with each claim standing on its own as a separate embodiment of this invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US11/67289 | 12/23/2011 | WO | 00 | 6/24/2013 |