The teachings in accordance with the exemplary embodiments of this invention relate generally to user interfaces to electronic devices and, more specifically, relate to manually activated user input devices, methods, systems and computer program products.
Input devices employed in the converging multimedia electronics industry are becoming increasingly important. The human-computing terminal interface has long challenged systems designers, yet has not significantly evolved since the advent of the mouse several decades ago. This is a particularly challenging problem in the area of mobile and wireless devices, where the objectives of device miniaturization and usability directly conflict with one another. A natural and intelligent interaction between humans and computing terminals (CT) can be achieved if the simplest modalities, such as finger movement and/or user gestures, are used to provide basic input information to the CT (non-limiting examples of which can include multimedia terminals, communication terminals, display dominated systems (DDS) and devices, gaming devices and laptop computers).
Technology related to input devices has conventionally relied on a set of electro-mechanical switches (such as the classic keyboard). Such an approach requires a relatively large area for a set of switches (keyboard keys), which are usually dedicated to only one operation. A more advanced solution is offered by touch screen displays where touch sensitive switches are embedded into the display itself, such as in Active Matrix LCD with Integrated Optical Touch Screen (AMLCD) technology. In this approach the “single button” trend is evolving towards that of a “distributed sensor system” that may be embedded into the device and/or even directly into the display itself (AMLCD). The physical operation of such a sensor-based input device can be based on mechanical movement of different materials, change of electrical conductivity/capacity, influences by electrostatic field or optical properties (made by finger shadow/reflection from the surface). Reference with regard to AMLCD technology may be made to documents: 56.3, W. den Boer et al., “Active Matrix LCD with Integrated Optical Touch Screen”, SID 03 Digest (Baltimore, 2003) pgs. 1494-1497, and to 59.3, A. Abileah et al., “Integrated Optical Touch Panel in a 14.1” AMLCD″, SID 04 Digest, v. 35, Issue 1, pgs. 1544-1547, and incorporated by reference herein in their entireties.
Reference may also be made to U.S. Pat. No. 7,009,663 B2 (Mar. 7, 2006), entitled “Integrated Optical Light Sensitive Active Matrix Liquid Crystal display”, A. Abileah et al., and U.S. Pat. No. 7,053,967 B2 (May 30, 2006), entitled “Light Sensitive Display”, A. Abileah et al. (both assigned to Planar Systems, Inc.), which are incorporated by reference herein in their entireties.
The current trend in the development of multimedia device equipment involves hardware miniaturization together with a demand to provide a large input capacity. If the input device can be miniaturized then more space can be allocated for the visualization component(s), particularly in display dominated concept (DDC) devices. The situation in gaming devices is even more challenging, since improvements in the input devices may provide new design freedom and additional game-related functionalities.
Examples of current user input devices include those based on touch-motion, as in certain music storage and playback devices, and certain personal digital assistant (PDA) and similar devices that are capable of recognizing handwritten letters and commands.
Also of interest may be certain structured light based systems, such as those described in U.S. Pat. No. 6,690,354 B2 (Feb. 10, 2004), entitled “Method for Enhancing Performance in a System Utilizing an Array of Sensors that Sense at Least Two Dimensions”, Sze; U.S. Pat. No. 6,710,770 (Mar. 23, 2004), entitled “Quasi-Three-Dimensional Method and Apparatus to Detect and Localize Interaction of User-Object and Virtual Transfer Device”, Tomasi et al.; and U.S. Pat. No. 7,050,177 B2 (May 23, 2006), entitled “Method and Apparatus for Approximating Depth of an Object's Placement Onto a Monitored Region with Applications to Virtual Interface Devices”, Tomasi et al. (all assigned to Canesta, Inc.), which are incorporated by reference herein in their entireties.
SUMMARY OF THE EXEMPLARY EMBODIMENTS
The foregoing and other problems are overcome, and other advantages are realized, in accordance with the non-limiting and exemplary embodiments of this invention.
In accordance with one aspect thereof the exemplary embodiments of this invention provide a method that includes executing a gesture with a user-manipulated physical object in the vicinity of a device; generating data that is descriptive of the presence of the user-manipulated object when executing the gesture; and interpreting the data as pertaining to at least one object displayed by the device.
In accordance with another aspect thereof the exemplary embodiments of this invention provide computer program product embodied in a computer readable medium, execution of the computer program product by at least one data processor resulting in operations that comprise, in response to a user executing a gesture with a user-manipulated physical object in the vicinity of a device, generating data that is descriptive of the presence of the user-manipulated object when executing the gesture; and interpreting the data as pertaining to information displayed to the user.
In accordance with a further aspect thereof the exemplary embodiments of this invention provide a device that comprises a unit to display information; an imaging system to generate data that is descriptive of the presence of a user-manipulated object when executing a gesture; and a data processor to interpret the data as pertaining to displayed information.
In accordance with a further aspect thereof the exemplary embodiments of this invention provide a method that includes, in response to a user employing at least one finger to form a gesture in the vicinity of a device, generating data that is descriptive of a presence of the at least one finger in forming the gesture; and interpreting the data as pertaining to at least one object that appears on a display screen.
In accordance with a still further aspect thereof the exemplary embodiments of this invention provide an apparatus that includes a display to visualize information; a sensor arrangement that is responsive to the user executing a gesture with a user-manipulated physical object in the vicinity of a surface of the apparatus, the sensor arrangement having an output to provide data descriptive of the presence of the user-manipulated object when executing the gesture; and a unit having an input coupled to the output of the sensor arrangement and operating to interpret the data to identify the executed gesture, and to interpret the identified gesture as pertaining in some manner to visualized information.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other aspects of the teachings of this invention are made more evident in the following Detailed Description, when read in conjunction with the attached Drawing Figures, wherein:
FIG. 1A shows a device that incorporates a plurality of ultrasonic transducers (USTs) as user input devices;
FIG. 1B is a simplified block diagram of the device of FIG. 1A;
FIG. 2A shows a further exemplary embodiment of this invention where the USTs are incorporated into a device that embodies a mini-projector;
FIG. 2B is a simplified block diagram of the mini-projector device of FIG. 2A;
FIGS. 3A, 3B, collectively referred to as FIG. 3, FIGS. 4A-4D, collectively referred to as FIG. 4, FIGS. 5A, 5B, collectively referred to as FIG. 5, and FIG. 6 depict exemplary finger-based gestures that may be used to select various commands for execution in accordance with exemplary embodiments of this invention;
FIG. 7 shows the principles of the ultrasonic observation of finger distance;
FIGS. 8A-8D, collectively referred to as FIG. 8, show exemplary finger-based gestures that may be used to select various commands for execution in accordance with further exemplary embodiments of this invention;
FIG. 9 is a logic flow diagram depicting an exemplary finger detection process executed by the device shown in FIG. 10B, and that is suitable for capturing the finger-based gestures shown in FIGS. 8 and 10A;
FIG. 10A shows an example of the sensing of multiple points of simultaneous touch detected by device of FIG. 10B;
FIG. 10B is a simplified block diagram of a device having a display capable of generating an image of one or more fingertips; and
FIG. 11 is a logic flow diagram that depicts a method in accordance with the exemplary embodiments of this invention.
Reference is made to FIGS. 1A and 1B, collectively referred to as FIG. 1, that show a device 10, such as a display dominated device having at least one visual display 12 capable of visualizing information, that incorporates a plurality of ultrasonic transducers (USTs) 14A, 14B and 14C (collectively referred to as USTs 14) as user input devices, while FIG. 1B is a simplified block diagram of the device of FIG. 1A. Note in FIG. 1B that the device 10 is assumed to include a data processor (DP) coupled to a memory (MEM) 18 that stores a program 18A that is suitable for use in implementing this exemplary embodiment of the invention. The device 10 may be or may include, as non-limiting examples, a PDA, a wireless communications device, a gaming device, an Internet appliance, a remote control device (such as one suitable for use with a TV set or with public interactive billboards), a music storage and playback device, projectors, a video storage and playback device, a multimedia device, a computer such as a desktop or a laptop computer, or in general any type of electronic device that includes a user interface for presenting information to a user (such as a display screen or display surface) and for receiving commands and/or input information from the user.
In the exemplary embodiment of FIG. 1 the three USTs 14 are arrayed on a surface 10A of the device 10 and enable the use of triangulation to detect the locations in three dimensional space of the user's fingers 20A, 20B (referred to also as finger a, finger b). The device 10 exploits the ultrasonic field established in the vicinity of the surface of the device 10 by the USTs 14 to provide a perception technology that enables the device 10 to perceive and react to finger position, and possibly movement, in real time.
In general, a given UST 14 uses high frequency sound energy to conduct examinations and make measurements. To illustrate the general principle, a typical pulse/echo set-up configuration is shown in FIG. 7. A typical UST system includes several functional units, such as a pulser/receiver 15A and the ultrasonic transducer 15B. The pulser/receiver 15A is an electronic device that can produce mechanical movement and/or an electrical pulse, respectively. Driven by the pulser portion the transducer 15B generates high frequency ultrasonic energy. The sound energy is introduced and propagates through the air in the form of waves. When there is a discontinuity (such as a finger movement) in the wave path, part of the energy is reflected back from the discontinuity. The reflected wave signal is transformed into an electrical signal by the transducer 15B and is processed to provide distance from the transducer 15B to the discontinuity (based on a round trip time-of-flight measurement, as is well known). The reflected signal strength may be displayed versus the time from signal generation to when an echo was received. Both phase and intensity change of the reflected signal may also be exploited to measure finger-transducer distances.
When the user's finger(s) or more generally hand(s) enter the scanned field in front of the device 10 the UST 14 system measures the distances to the individual fingers. The three UST 14 sensors (which in some exemplary embodiments may have a fixed relative position on the CT) are capable of providing individual finger-sensor distance measurements (a1, a2, a3, b1, b2, b3). Note that the device 10 may be implemented with less than three UST 14 sensors, however by providing the third UST sensor it is possible to use finger movement for execution and basic operational commands (such as, but not limited to, Select; Copy; Paste; Move; Delete) by observation of a change in direction of the finger movement in three dimensional (3D) space. The device 10 may also be implemented using more than three UST 14 sensors in form of, for example, a UST sensor array when/if higher spatial detection resolution is needed.
In general, it is typically desirable to limit the range of the detection mechanism so that it encompasses a fairly limited volume of space (which may be considered to define a ‘working envelope’) in the vicinity of the sensing surface (whether the sensors be UST sensors or other types of sensors) of the device 10 so as not to, for example, generate unintended inputs due to the presence and/or movement of background objects, such as other parts of the user's body. Typically the sensing range will be less than about a meter, and more typically the value will be about, for example, 10-20 cm (or less). The maximum sensing range may typically be a function of the sensor technology. For example, the UST embodiments of this invention may typically have a greater detection/sensing range than the AMLCD embodiments discussed below. As can be appreciated, when the user places a finger or fingers, or a hand or hands, within the vicinity of the device 10, “within the vicinity of the device” or sensing surface will be a volume of space, or a plane or more generally a surface, contained within the maximum useful sensing range of the sensing device(s) both in depth (away from the sensing surface) and lateral extent (within an area capable of being sensed from the sensing surface).
Note in FIG. 1A that the detected finger position may be translated and presented to the user by displaying two pointers (e.g., two crosses) 12A, 12B on the display 12.
The described UST 14 system may serve to track the finger position of the user in 3D space and in real time. Visualization of the tracking (which may be used to provide perceptual feedback to the user) can be performed by showing one or more of the pointers 12A, 12B on the display 12. This technique provides visual coordination to the user, and facilitates the manipulation of objects presented on the display 12 (such as icons and command bars). Furthermore, if a standard set of characters is shown on the display 12 the user may be provided with typewriting (keyboarding) capabilities, where a classical keyboard is replaced by a virtual keyboard. Tactile feedback (which appears in mechanical keyboards) can be replaced by, for example, short blinking of a finger “shadow” on the display 12 for indicating that a particular key has been accepted and the character inputted or a corresponding command executed. Furthermore, sound effects may be added to confirm that a certain command has been accepted.
In some applications, instead of detecting particular fingers, all or some of the entire hand can be detected. In other words, a displayed pointer (e.g., 12A) can be associated to the center of gravity of the hand and used to drive/navigate the pointer. Such a configuration may significantly simplify the overall requirements (of hardware and software), and is particularly suitable in those cases when only a single pointer navigation/control is required.
FIG. 2 shows a further exemplary embodiment of this invention where the UST 14 system is incorporated into a device that embodies a mini-projector 30, while FIG. 2B is a simplified block diagram of the mini-projector device 30 of FIG. 2A. Components that are found as well in FIG. 1 are numbered accordingly. The mini-projector device 30 includes a projector or projection engine 32 coupled to the DP 16 and projects an image 34 for viewing by the user. For the purposes of this invention the image 34 may be considered to be on a “display screen” or a “display surface”. Pointers 34A, 34B corresponding to the locations of the user's fingers 20A, 20B can be displayed as well. The mini-projector device 30 may be linked via some wired or a wireless interface 36, such as a Bluetooth transceiver, to a phone or other multimedia device 38, and may display data sourced by the device 38. The same or a similar UST 14 scanning concept may be employed as in FIG. 1. Furthermore, the resulting user input system based on finger/hand placement and/or movement, combined with the projector engine 32, may be exploited for use in, for example, advanced gaming concepts that combine a large projected image and user gesture-based input. The use of a gesture-based language with the larger format displayed image 34 enables enhancements to be made to gaming concepts, as well as the design of games based on dynamical user movements in 3D.
The use of real-time finger tracing and the presentation of attributed pointers on the display/projector image 12/34 can be used to determine basic object-oriented or gesture-oriented commands. Commands such as: Select, Copy, Paste, Move, Delete and Switch may be applied on different displayed objects (such as icons, boxes, scroll-bars and files). These may be classified as object-oriented and gesture/browsing oriented operations, as follows in accordance with several non-limiting examples.
Select: Finger 1 at a display corner or some reserved area
Finger 2 moves slowly under a displayed object to be selected
Copy: when selected click by single finger on the object
Paste: fast double click by a single finger
Move: move slowly two fingers located on the moving object
Delete: double (fast) click by two fingers on previously selected object
Switch: switching (on/off) is based on change in direction of fingers movement or, alternatively, on a change in finger acceleration.
Select object attributed to the pointer position: Open/closed hand (see FIGS. 3A, 3B) Forward/Backward Browsing: anticlockwise/clockwise cyclic rotation by a single finger (see FIGS. 4A-4D)
Zoom In/Out: expand/close two fingers (see FIGS. 5A, 5B and 8D)
Run/Execute pre-selected icon/command: make a circle with two fingers (see FIG. 6). The exemplary gesture protocols described above enabling manipulation of objects on the display 14 (or the projected display 34, by finger movements or gestures. These exemplary protocols provide a large capacity and design freedom for gesture-based commands and language, and may be used to exploit the full spectrum of the multimedia device 10 capabilities, while also providing enhancements for gaming and other similar applications. The use of exemplary embodiments of this invention are also well suited for use with Internet browser and similar applications, such as when scrolling through HTML pages and selecting links within a displayed page.
Note that while the use of one or more fingers has been described above, it is also within the scope of the exemplary embodiments to employ at least in part a stylus or some other object that is held and manipulated by the user in the energy field of the USTs 14. All such objects, including a human finger or fingers, hand or hands, stick or stylus may be referred to for convenience as a user-manipulated physical object.
It should be appreciated that the exemplary embodiments of this invention can be used with, as several non-limiting examples, gesture-based gaming devices, wireless communications devices, computers and appliances containing computers, robotics communication systems, communication systems for handicapped persons and navigation tables. Note that the ability provided by the exemplary ultrasonic-based embodiments of this invention to significantly reduce the physical size of the user input device(s) enables a corresponding increase in the surface are of the user display device, which is beneficial in small, handheld and portable devices, such as PDAs and cellular telephones as two non-limiting examples.
Note further that the use of the foregoing exemplary embodiments of this invention does not require the user to wear any additional hardware on the hands or fingers. Further, the scalability is improved since the size of a “finger/hand” can be reduced arbitrarily and is not limited to any certain finger/stylus size.
Described now are further exemplary embodiments of this invention, that also use user-manipulated object (e.g., finger-based) gestures, wherein the gestures are detected through the use of an imaging-type device or system, such as one incorporated into the display device, such as one constructed in accordance with the Active Matrix LCD with Integrated Optical Touch Screen (AMLCD) display device technology referenced above. These exemplary embodiments also provide for command/data definition and communication with a computation platform by exploiting finger gestures attributed to predefined commands and protocols, and are suitable for use with DDC devices that employ a minimal number of keymat/keyboards and maximized size of visual display in current and future devices. In these various embodiments, the following exemplary and non-limiting gestures and attributed commands may be employed.
FIG. 10B shown a block diagram of an exemplary device 50 having a display 52 that is capable of recording an image of the user\'s finger tip(s), such as the images depicted in FIGS. 8 and/or 10A. The display 52 in this case may be one constructed in accordance with the Active Matrix LCD with Integrated Optical Touch Screen (AMLCD) display device technology referenced above. Note that advanced scanning (e.g., text and bar codes) is possible to accomplish. In other embodiments a separate camera or cameras may be provided so as to image the user\'s finger(s)/hand(s), such as through the transparent surface of the display 52.
In the example shown in FIG. 10A the display 52 simultaneously captures images of the user\'s fingertips at five discrete locations on the surface of the display 52. Note that this particular pattern may be interpreted as being one particular gesture, whereas the presence of four fingertips (e.g., not the thumb) may be interpreted as being another particular gesture. The spacing between five or fewer fingertips may be varied to encode a plurality of different gestures, as can differences in angular orientations of the fingertips one to another.
The program 18A may be adapted to execute a program in accordance with the logic flow diagram shown in FIG. 9 (see also FIG. 6 of the above-referenced publication: 59.3, A. Abileah et al., “Integrated Optical Touch Panel in a 14.1” AMLCD″).
In general, the tips of fingers are extracted from the captured image and the extraction results are recorded. Based on these records, the system decides whether to begin the recognition process. Regardless of whether the recognition process begins, the system also needs to determine whether to and when to delete stored records (this may be timer based). Whenever a new image is captured, all or at least some of the steps are repeated.
The fingertip in the captured image (feature 40 in FIG. 8) can be considered as an object described by data expressive of, as non-limiting examples, a center of gravity, a bounding edge, and a different brightness than the background. There are many image segmentation methods that may be used for fingertip image extraction. One exemplary and non-limiting segmentation method is the Watershed method.
Briefly, the Watershed is a function that applies a morphological watershed operator to an image (a grayscale image typically). The watershed operator segments images into watershed regions and their boundaries. Considering the gray scale image as a surface, each local minimum can be thought of as the point to which water falling on the surrounding region drains. The boundaries of the watersheds lie on the tops of the ridges. The operator labels each watershed region with a unique index, and sets the boundaries to zero. Typically, morphological gradients, or images containing extracted edges are used for input to the watershed operator. Noise and small unimportant fluctuations in the original image can produce spurious minima in the gradients, which can lead to oversegmentation. The use of a smoothing operator, or manually marking seed points, are two exemplary approaches to avoiding oversegmentation. Further reference with regard to the Watershed function can be made to, for example, Dougherty, “An Introduction to Morphological Image Processing”, SPIE Optical Engineering Press, 1992.
A set with three members can be used to represent the state of one fingertip: two for the coordinates of the tip and one to represent whether it touches the surface or not (touch state). A stack or queue is a suitable data structure for recording the coordinates when the finger tip touches the surface. A timer or counter may be used to record when the finger tip leaves the surface.
The task of gesture recognition in accordance with the exemplary embodiments of this invention is to select the correct command/operation from a set of candidates, according to the input gesture. The conditions for starting the gesture recognition step may depend on the content of the set. For example, if only the X mark and check mark (see FIGS. 8B, 8C) are included in the set, the condition can be set as a threshold for the number of continuous images which do not contain fingertips. If the zoom in/out gestures are added to the set, a new condition, when two fingertips are detected in one image (see FIG. 8D), can be used to initiate the gesture recognition process.
There are many different pattern recognition methods that may be employed for gesture recognition. For example, one based on statistical methods may be used as it is inherently its robust. Normalization and/or smoothing techniques may be included as part of the gesture recognition process.
The ability to record the states of fingertip images facilitates gesture recognition. However, these records should be deleted when they are not useful. For example, the records indicating the trace of the fingertip can be deleted as soon as the trace is recognized as a check mark (see FIG. 8C). However, for the zoom in/out gesture (see FIG. 8D), the trace may be deleted, preferably, only after the fingertips have left the surface of the display 52.
In general, it can be appreciated that an aspect of this invention is the sequential creation of individual ones of a plurality of records, where individual ones of the plurality of records comprise data descriptive of a location of the user-manipulated physical object at a corresponding point in time while the gesture is executed.
Note that in the various exemplary embodiments discussed above the DP 16 may be any type of suitable data processor, such as one embodied within an integrated circuit, and the memory 18 may be any type of suitable data storage device, including semiconductor-based and magnetic disk- or tape-based data storage devices.
In FIG. 8 is depicted the “image” recorded by the image-capable display 52 of the user\'s finger(s) in contact with the top surface of the display 52 when making the corresponding gesture. The feature labeled as 40 in FIG. 8 represents the current location (current image) of the user\'s finger tip(s), while the feature labeled as 42 represents the prior images made during motion of the user\'s finger tip(s), i.e., the finger tip trace that was referred to above. The arrows generally indicate the direction of motion of the finger tip 40.
The use of the display 52 can provide for one finger and multiple finger-based gestures to be recorded and processed in accordance with the exemplary embodiments of this invention. Several non-limiting examples are now provided.
One Finger-Based Commands/Protocols:
1. Gesture: Clockwise (CW)—Contra Clockwise (CCW) Circular Rotations (see FIG. 8A)
Attributed command: Browsing/Scrolling/Listing applications
2. Gesture: Subsequent tapping by a single finger (Tap1-Tap1 . . . )
Attributed command: Activate device/phone, Run/Execute pre-selected option
3. Gesture: Finger stays motionless (over certain time threshold) above some object/icon
Attributed command: Select the object/icon