PATENT DOCUMENT

Publication Number: US-9030498-B2
Application Number: US-201213584831-A
Country: US
Kind Code: B2

Title: Combining explicit select gestures and timeclick in a non-tactile three dimensional user interface

Abstract:
A method including presenting, by a computer, multiple interactive items on a display coupled to the computer, and receiving, from a depth sensor, a sequence of three-dimensional (3D) maps containing at least a hand of a user of the computer. An explicit select gesture performed by the user toward one of the interactive items is detected in the maps, and the one of the interactive items is selected responsively to the explicit select gesture. Subsequent to selecting the one of the interactive items, a TimeClick functionality is actuated for subsequent interactive item selections to be made by the user.

Claims:
We claim: 
     
       1. A method, comprising:
 presenting, by a computer, multiple interactive items on a display coupled to the computer; 
 receiving, from a depth sensor, a sequence of three-dimensional (3D) maps containing at least a hand of a user of the computer at a variable distance from the depth sensor; 
 detecting, in the maps, an explicit select gesture performed by the user toward one of the interactive items; 
 selecting the one of the interactive items responsively to the explicit select gesture; 
 actuating, subsequent to selecting the one of the interactive items, a TimeClick functionality for subsequent interactive item selections to be made by the user; and 
 detecting, after actuating the TimeClick functionality, a TimeClick gesture directed at one of the subsequent interactive items, wherein the TimeClick gesture comprises the user keeping the hand relatively steady for a specific period of time, and wherein the specific time period is adjusted in response to the distance between the user and the depth sensor. 
 
     
     
       2. The method according to  claim 1 , and comprising presenting a cursor on the display, the cursor having a visual effect, and decreasing the visual effect upon detecting the user keeping the hand relatively steady for the specific period of time. 
     
     
       3. The method according to  claim 1 , and comprising adjusting the specific time period in response to a proficiency of the user. 
     
     
       4. The method according to  claim 1 , wherein the multiple interactive items comprise alphanumeric keys for an on-screen keyboard presented on the display, and comprising adjusting the specific time period in response to a predictive text algorithm. 
     
     
       5. The method according to  claim 1 , wherein one of the multiple interactive items comprises a TimeClick timer icon, and comprising adjusting the specific time period upon detecting, in the subsequent sequence of 3D maps a subsequent select gesture performed by the user toward the TimeClick timer icon. 
     
     
       6. The method according to  claim 5 , wherein the subsequent select gesture is selected from a list comprising the explicit select gesture and the TimeClick gesture. 
     
     
       7. The method according to  claim 1 , wherein one of the multiple interactive icons comprises a mode icon, and comprising actuating the TimeClick functionality upon detecting, in the sequence of 3D maps, the explicit select gesture toward the mode icon. 
     
     
       8. The method according to  claim 1 , wherein the explicit select gesture is selected from a list comprising a Push gesture, a Pull gesture, and a Grab gesture. 
     
     
       9. The method according to  claim 1 , and comprising prior to detecting the select gesture, defining coordinates for an interactive surface positioned in space in proximity to the user, and wherein completing the explicit select gesture comprises the hand crossing the interactive surface. 
     
     
       10. The method according to  claim 9 , wherein actuating the TimeClick functionality comprises redefining the coordinates of the interactive surface. 
     
     
       11. An apparatus, comprising:
 a depth sensor; and 
 a computer executing a non-tactile three dimensional (3D) user interface and configured to present, multiple interactive items on a display coupled to the computer, to receive, from the depth sensor, a sequence of three-dimensional (3D) maps containing at least a hand of a user of the computer at a variable distance from the depth sensor, to detect, in the maps, an explicit select gesture performed by the user toward one of the interactive items, to select the one of the interactive items responsively to the explicit select gesture, and to actuate, subsequent to selecting the one of the interactive items, a TimeClick functionality for subsequent interactive item selections to be made by the user, 
 wherein the computer is configured to detect, after actuating the TimeClick functionality, a TimeClick gesture directed at one of the subsequent interactive items, wherein the TimeClick gesture comprises the user keeping the hand relatively steady for a specific period of time, and wherein the specific time period is adjusted in response to the distance between the user and the depth sensor. 
 
     
     
       12. The apparatus according to  claim 11 , wherein the computer is configured to present a cursor on the display, the cursor having a visual effect, and to decrease the visual effect upon detecting the user keeping the hand relatively steady for the specific period of time. 
     
     
       13. The apparatus according to  claim 11 , wherein the computer is configured to adjust the specific time period in response to a proficiency of the user. 
     
     
       14. The apparatus according to  claim 11 , wherein the multiple interactive items comprise alphanumeric keys for an on-screen keyboard presented on the display, and wherein the computer is configured to adjust the specific time period in response to a language model. 
     
     
       15. The apparatus according to  claim 11 , wherein one of the multiple interactive items comprises a TimeClick timer icon, and wherein the computer is configured to adjust the specific time period upon detecting, in the subsequent sequence of 3D maps a subsequent select gesture performed by the user toward the TimeClick timer icon. 
     
     
       16. The apparatus according to  claim 15 , wherein the computer is configured to select the subsequent select gesture from a list comprising the explicit select gesture and the TimeClick gesture. 
     
     
       17. The apparatus according to  claim 11 , wherein one of the multiple interactive icons comprises a mode icon, and wherein the computer is configured to actuate the TimeClick functionality upon detecting, in the sequence of 3D maps, the explicit select gesture toward the mode icon. 
     
     
       18. The apparatus according to  claim 11 , wherein the computer is configured to select the explicit select gesture from a list comprising a Push gesture, a Pull gesture, and a Grab gesture. 
     
     
       19. The apparatus according to  claim 11 , wherein the computer is configured to the define, prior to detecting the select gesture, coordinates for an interactive surface positioned in space in proximity to the user, and wherein completing the explicit select gesture comprises the hand crossing the interactive surface. 
     
     
       20. The apparatus according to  claim 19 , wherein the computer is configured to actuate the TimeClick functionality by redefining the coordinates of the interactive surface. 
     
     
       21. A computer software product comprising a non-transitory computer-readable medium, in which program instructions are stored, which instructions, when read by a computer executing a non-tactile user interface, cause the computer to present multiple interactive items on a display coupled to the computer, to receive, from a depth sensor, a sequence of three-dimensional (3D) maps containing at least a hand of a user of the computer at a variable distance from the depth sensor, to detect, in the maps, an explicit select gesture performed by the user toward one of the interactive items, to select the one of the interactive items responsively to the explicit select gesture, and to actuate, subsequent to selecting the one of the interactive items, a TimeClick functionality for subsequent interactive item selections to be made by the user,
 wherein the computer is configured to detect, after actuating the TimeClick functionality, a TimeClick gesture directed at one of the subsequent interactive items, wherein the TimeClick gesture comprises the user keeping the hand relatively steady for a specific period of time, and wherein the specific time period is adjusted in response to the distance between the user and the depth sensor.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of U.S. Provisional Patent Application 61/523,404 filed on Aug. 15, 2011, and of U.S. Provisional Patent Application 61/526,692 filed on Aug. 24, 2011, which are both incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     This invention relates generally to user interfaces for computerized systems, and specifically to user interfaces that are based on three-dimensional sensing. 
     BACKGROUND OF THE INVENTION 
     Many different types of user interface devices and methods are currently available. Common tactile interface devices include the computer keyboard, mouse and joystick. Touch screens detect the presence and location of a touch by a finger or other object within the display area. Infrared remote controls are widely used, and “wearable” hardware devices have been developed, as well, for purposes of remote control. 
     Computer interfaces based on three-dimensional (3D) sensing of parts of the user&#39;s body have also been proposed. For example, PCT International Publication WO 03/071410, whose disclosure is incorporated herein by reference, describes a gesture recognition system using depth-perceptive sensors. A 3D sensor provides position information, which is used to identify gestures created by a body part of interest. The gestures are recognized based on a shape of a body part and its position and orientation over an interval. The gesture is classified for determining an input into a related electronic device. 
     As another example, U.S. Pat. No. 7,348,963, whose disclosure is incorporated herein by reference, describes an interactive video display system, in which a display screen displays a visual image, and a camera captures 3D information regarding an object in an interactive area located in front of the display screen. A computer system directs the display screen to change the visual image in response to changes in the object. 
     Documents incorporated by reference in the present patent application are to be considered an integral part of the application except that to the extent any terms are defined in these incorporated documents in a manner that conflicts with the definitions made explicitly or implicitly in the present specification, only the definitions in the present specification should be considered. 
     The description above is presented as a general overview of related art in this field and should not be construed as an admission that any of the information it contains constitutes prior art against the present patent application. 
     SUMMARY OF THE INVENTION 
     There is provided, in accordance with an embodiment of the present invention a method including presenting, by a computer, multiple interactive items on a display coupled to the computer, receiving, from a depth sensor, a sequence of three-dimensional (3D) maps containing at least a hand of a user of the computer, detecting, in the maps, an explicit select gesture performed by the user toward one of the interactive items, selecting the one of the interactive items responsively to the explicit select gesture, and actuating, subsequent to selecting the one of the interactive items, a TimeClick functionality for subsequent interactive item selections to be made by the user. 
     There is also provided, in accordance with an embodiment of the present invention an apparatus including a depth sensor, and a computer executing a non-tactile three dimensional (3D) user interface and configured to present, multiple interactive items on a display coupled to the computer, to receive, from the depth sensor, a sequence of three-dimensional (3D) maps containing at least a hand of a user of the computer, to detect, in the maps, an explicit select gesture performed by the user toward one of the interactive items, to select the one of the interactive items responsively to the explicit select gesture, and to actuate, subsequent to selecting the one of the interactive items, a TimeClick functionality for subsequent interactive item selections to be made by the user 
     There is additionally provided, in accordance with an embodiment of the present invention a computer software product including a non-transitory computer-readable medium, in which program instructions are stored, which instructions, when read by a computer, cause the computer to present multiple interactive items on a display coupled to the computer, to receive, from a depth sensor, a sequence of three-dimensional (3D) maps containing at least a hand of a user of the computer, to detect, in the maps, an explicit select gesture performed by the user toward one of the interactive items, to select the one of the interactive items responsively to the explicit select gesture, and to actuate, subsequent to selecting the one of the interactive items, a TimeClick functionality for subsequent interactive item selections to be made by the user. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The disclosure is herein described, by way of example only, with reference to the accompanying drawings, wherein: 
         FIG. 1  is a schematic, pictorial illustration of a computer system implementing a non-tactile three dimensional (3D) user interface, in accordance with an embodiment of the present invention; 
         FIG. 2  is a schematic, pictorial illustration showing visualization and interaction regions associated with the non-tactile 3D user interface, in accordance with an embodiment of the present invention; 
         FIG. 3  is a flow diagram that schematically illustrates a method of activating TimeClick functionality, in accordance with an embodiment of the present invention. 
         FIG. 4  is a schematic pictorial illustration of an on-screen keyboard for use with the non-tactile 3D user interface, in accordance with an embodiment of the present invention; 
         FIG. 5  is a state diagram that schematically illustrates states and transitions of the computer executing the non-tactile 3D user interface, in accordance with an embodiment of the present invention. 
         FIGS. 6A and 6B  are schematic pictorial illustrations of the computer presenting a flashlight cursor, in accordance with an embodiment of the present invention; and 
         FIG. 7  is a state diagram that schematically illustrates states and transitions of the computer implementing the flashlight cursor, in accordance with an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     When using a tactile input device such as a mouse, the user typically manipulates the physical device in a two-dimensional plane comprising a horizontal X-axis and a vertical Y-axis. However, when interacting with a non-tactile 3D user interface (also referred to herein as a 3D user interface), the user may perform gestures in mid-air, and perform the gestures from different positions within a field of view of a 3D sensor coupled to the interface. 
     While interacting with a non-tactile 3D user interface, a user can perform a Find gesture in order to highlight (e.g., via a cursor) a given interactive item presented on a display, and then select the highlighted item by performing an explicit select gesture with a part of the user&#39;s body such as a hand. Examples of explicit select gestures described hereinbelow include Push, Pull and Grab gestures. In addition to performing the explicit select gestures described herein, the user can select the highlighted interactive item via TimeClick (also referred to herein as a TimeClick gesture). To select a highlighted item via TimeClick, the user keeps his hand relatively steady so that the given interactive item is highlighted for a specific period of time by user  22 . The specific period is also referred to herein as the hold-time. 
     Embodiments of the present invention provide methods and systems for combining explicit select gestures and TimeClick in a non-tactile 3D user interface. In some embodiments, a computer may present multiple interactive items on a display, and upon the user selecting a first interactive item using an explicit select gesture, the computer activates a TimeClick engaged mode, wherein subsequent items can be selected using TimeClick. In an alternative embodiment, the computer may present a TimeClick icon (i.e., a mode key) on the display, and upon the user performing an explicit select gesture to select the TimeClick icon, the 3D user interface activates the TimeClick engaged mode. 
     System Description 
       FIG. 1  is a schematic, pictorial illustration of a non-tactile three dimensional (3D) user interface  20  for operation by a user  22  of a computer  26 , in accordance with an embodiment of the present invention. The 3D user interface is based on a 3D sensing device  24  (also referred to herein as a depth sensor) coupled to the computer, which captures 3D scene information of a scene that includes the body (or at least a body part, such as one or more of hands  30 ) of the user. Device  24  or a separate camera (not shown in the figures) may also capture video images of the scene. The information captured by device  24  is processed by computer  26 , which drives a display  28  so as to present and manipulate on-screen interactive items  38 . Details of the operation of 3D sensing device  24  are described in U.S. Patent Application 2010/0007717, filed on Mar. 4, 2009, whose disclosure is incorporated herein by reference. 
     Computer  26 , executing 3D user interface  20 , processes data generated by device  24  in order to reconstruct a 3D map of user  22 . The term “3D map” refers to a set of 3D coordinates measured, by way of example, with reference to a generally horizontal X-axis  32  in space, a generally vertical Y-axis  34  in space and a depth Z-axis  36  in space, based on device  24 . The 3D coordinates represent the surface of a given object, in this case the user&#39;s body. In one embodiment, device  24  projects a pattern of spots onto the object and captures an image of the projected pattern. Computer  26  then computes the 3D coordinates of points on the surface of the user&#39;s body by triangulation, based on transverse shifts of the spots in the pattern. Methods and devices for this sort of triangulation-based 3D mapping using a projected pattern are described, for example, in PCT International Publications WO 2007/043036, WO 2007/105205 and WO 2008/120217, whose disclosures are incorporated herein by reference. Alternatively, interface  20  may use other methods of 3D mapping, using single or multiple cameras or other types of sensors, as are known in the art. 
     Computer  26  typically comprises a general-purpose computer processor, which is programmed in software to carry out the functions described hereinbelow. The software may be downloaded to the processor in electronic form, over a network, for example, or it may alternatively be provided on non-transitory tangible media, such as optical, magnetic, or electronic memory media. Alternatively or additionally, some or all of the functions of the image processor may be implemented in dedicated hardware, such as a custom or semi-custom integrated circuit or a programmable digital signal processor (DSP). Although computer  26  is shown in  FIG. 1 , by way of example, as a separate unit from sensing device  24 , some or all of the processing functions of the computer may be performed by suitable dedicated circuitry within the housing of the sensing device or otherwise associated with the sensing device. 
     As another alternative, these processing functions may be carried out by a suitable processor that is integrated with display  28  (in a television set, for example) or with any other suitable sort of computerized device, such as a game console or media player. The sensing functions of device  24  may likewise be integrated into the computer or other computerized apparatus that is to be controlled by the sensor output. 
     Actuating Timeclick Functionality 
       FIG. 2  is a schematic, pictorial illustration showing how user  22  may interact with visualization and interaction regions associated with 3D user interface  20 , in accordance with an embodiment of the present invention. For the purpose of this illustration, an X-Y plane  40  is taken to be parallel to the plane of display screen  28 , with distance (depth) perpendicular to this plane corresponding to the Z-axis, and the origin located at device  24 . Computer  26  creates a depth map of objects within a field of view  42  of device  24 , including the parts of the user&#39;s body that are in the field of view. 
     The operation of 3D user interface  20  is based on an artificial division of the space within field of view  42  into a number of regions:
         A visualization surface  44  defines the outer limit of a visualization region. Objects beyond this limit (such as the user&#39;s head in  FIG. 2 ) are ignored by user interface  20 . When a body part of the user is located within the visualization surface, the user interface detects it and provides visual feedback to the user regarding the location of that body part, typically in the form of an image or icon on display screen  28 . In  FIG. 2 , both of the user&#39;s hands are in the visualization region.   An interaction surface  46 , which is typically located within the visualization region, defines the outer limit of the interaction region. When a part of the user&#39;s body crosses the interaction surface, computer  26  can responsively execute control instructions, as would occur, for instance, if the user made physical contact with an actual touch screen. In this case, however, no physical contact is required to trigger the action. In the example shown in  FIG. 2 , the user&#39;s left hand has crossed the interaction surface and may thus interact with application objects.       

     The interaction and visualization surfaces may have any suitable shapes. In some embodiments, the inventors have found spherical surfaces to be convenient, as shown in  FIG. 2 . In alternative embodiments, one or both of the surfaces may be planar. 
     Various methods may be used to determine when a body part has crossed interaction surface  46  and where it is located. For simple tasks, static analysis of the 3D locations of points in the depth map of the body part may be sufficient. Alternatively, dynamic, velocity-based detection may provide more timely, reliable results, including prediction of and adaptation to user gestures as they occur. Thus, when a part of the user&#39;s body moves toward the interaction surface for a sufficiently long time, it is assumed to be located within the interaction region and may, in turn, result in objects being moved, resized or rotated, or otherwise controlled depending on the motion of the body part. 
     In operation, upon computer  26  detecting a given hand  30  between visualization surface  44  and display  28 , the computer may responsively highlight a given interactive item  38  in response to the given hand&#39;s location. In instances where user  22  positions both hands  30  between visualization surface  44  and display  28 , computer  26  may select the hand that is closer to the display as the given hand. 
     If user  22  wants to highlight a different interactive item  38 , the user can perform a Find gesture, by moving hand  30  along X-Y plane  40 . In some embodiments, computer  26  may highlight a given interactive item  38  by presenting a visual effect. For example, computer  26  can highlight the given interactive item by increasing the brightness of the given interactive item on display  28  or changing the color of the given interactive item. In alternative embodiments (as shown in  FIG. 4  hereinbelow), computer  26  may highlight a given interactive item by presenting a cursor in proximity to the given interactive item. The Find gesture is described in U.S. patent application Ser. No. 13/314,207, filed on Dec. 8, 2011, whose disclosure is incorporated herein by reference. 
       FIG. 3  is a flow diagram that schematically illustrates a method of activating TimeClick functionality (also referred to herein as a TimeClick engaged mode), in accordance with an embodiment of the present invention. In an initial step  50 , computer  26  presents multiple interactive items  38  on display  28 , and in a definition step  52 , the computer defines initial coordinates in space in proximity to the user for interaction surface  46 . 
     In a receive step  54 , computer  26  receives, from sensing device  24 , a sequence of 3D maps containing at least hand  30 , which is positioned within field of view  42 . In a detect step  56 , computer  26  detects, in the received 3D maps, an explicit select gesture directed toward a given interactive item  38 , and in a select step  58 , the computer selects the given interactive item responsively to the explicit select gesture. In the disclosure and in the claims, an explicit select gesture is assumed to comprise a movement or series of movements of a body part (typically hand  30 ) which computer  26  has been programmed to recognize as causing an interaction with the computer. 
     Examples of explicit select gestures that can be used to select the highlighted interactive item include, but are not limited to Grab, Pull and Push gestures. The Grab, Pull and Push gestures are described in U.S. patent application Ser. No. 13/423,314, filed on Mar. 19, 2012, whose disclosure is incorporated herein by reference. While the explicit select gestures described herein comprise the Grab, Pull and Push gestures, other explicit select gestures performed by hand  30  (or any other body part of user  22 ), corresponding to the definition hereinabove, are considered to be within the spirit and scope of the present invention. 
     To select the highlighted interactive item using a Pull gesture, hand  30  is initially positioned between interaction surface  46  and display  28 . To perform the Pull gesture, user  22  moves hand  30  away from display, and computer  26  selects the highlighted interactive item upon hand  30  crossing the interactive surface. To perform a Grab gesture user  22  closes at least some fingers of hand  30  (i.e., “grabbing” the item). In some embodiments user  22  can combine a Grab gesture with a Pull gesture (i.e., the user first performs a Grab gesture and then performs a Pull gesture while some fingers of the hand remain closed). 
     To select the highlighted interactive item using a Push gesture, hand  30  is initially positioned between visualization surface  44  and interaction surface  46 . To perform the Push gesture, user  22  moves hand  30  toward display  28 , and computer selects the highlighted interactive item upon hand  30  crossing the interactive surface. 
     Returning to the flow diagram, in a TimeClick step  60 , computer  26  switches to a TimeClick engaged mode that actuates TimeClick functionality for subsequent selection of interactive items  38  to be made by the user, and the method ends. Upon entering the TimeClick engaged mode, user  22  can select subsequent interactive items  38  via either an explicit select gesture or TimeClick. 
     To select a subsequent interactive item using a TimeClick gesture, computer  26  receives a subsequent sequence of 3D maps containing at least hand  30 , and detects, in the subsequent sequence of 3D maps, a TimeClick gesture directed at the subsequent interactive item. As explained supra, the TimeClick gesture comprises user  22  keeping hand  30  relatively steady for a specific period of time while computer  26  is highlighting the subsequent interactive item. The specific period of time is also referred to herein as a hold-time or a hold-time parameter. 
     In some embodiments (i.e., while the TimeClick functionality is actuated), computer  26  can adjust the hold-time parameter in response to a distance between user  22  and sensing device  24 . For example, as user  22  moves farther away from 3D sensing device  24 , computer  26  can increase the hold-time, since the quality of data collected by the 3D sensing device typically deteriorates as the distance increases between the user and the 3D sensing device. 
     In some embodiments, selecting a given interactive item  38  comprises executing a software application associated with the given interactive item. In further embodiments the given interactive item is associated with a media item (e.g., a music track or a movie), and selecting a given interactive item  38  comprises playing a media file associated with the given interactive item. In alternative embodiments, computer  26  may present a virtual input device on display  28 , and user can interact with the virtual input device using the embodiments described herein. Examples of virtual input devices include but are not limited to on-screen keyboards, keypads and game controls. 
       FIG. 4  is a schematic pictorial illustration of an on-screen keyboard  70 , in accordance with an embodiment of the present invention. In the description of  FIG. 4  herein, some of interactive items  38  may be differentiated by appending a letter to the identifying numeral, so that keyboard  70  comprises interactive items  38 A- 38 G. 
     In the configuration shown in  FIG. 4 , keyboard  70  comprises alphanumeric keys  38 A, a spacebar  38 B, an Enter key  38 C (also known as a Return key), and a Backspace key  38 D. In some embodiments, while interacting with 3D user interface  20 , computer  26  positions a hand-shaped cursor  72  on display  28  responsively to user  22  performing a Find gesture. In alternative embodiments (as described supra), computer  26  can highlight a given alphanumeric key  38  in response to the Find gesture. Upon the user selecting one of the alphanumeric keys (i.e., via an explicit select gesture or via TimeClick), computer  26  can present a corresponding alphanumeric character in a text box  74 . 
     For example, to type the word “THE” (as shown in text box  74 ), user  22  first performs a Find gesture to position cursor  72  over the alphanumeric key “T”, and then performs a Push gesture. Upon presenting “T” in text box  72 , computer  26  transitions to the TimeClick engaged mode. To complete typing “THE”, user  22  performs a Find gesture to position cursor  80  over the alphanumeric key “H”, and keeps hand  30  steady until computer  26  accepts the alphanumeric key “H” as input. Finally, user  22  performs a Find gesture to position cursor  80  over the alphanumeric key “E”, and keeps hand  30  steady until computer  26  accepts the alphanumeric key “E” as input. While in TimeClick mode, user  22  may also select alphanumeric keys “H” and “E” using an explicit select gesture such as the Push, the Pull and the Grab gestures described supra. 
     In some embodiments, while in the TimeClick engaged mode, computer  26  may be configured to alter explicit select gesture parameters. For example, if user  22  can perform a Push gesture to select a highlighted interactive item  38  (e.g., one of the alphanumeric keys) by moving hand  30  forward along Z-axis  36  until the hand crosses interaction surface  46 . To enable user to more easily select a highlighted item (e.g., one of alphanumeric keys  38 ) while in the TimeClick engaged mode, computer  26  may redefine the coordinates of the interaction surface, so that the interaction surface is positioned closer to the user (e.g., so that a closest distance of the interactive surface to a pre-selected portion of user  22  moves from eight inches to four inches.). Likewise, if user  22  is performing a Pull gesture to select the highlighted interactive item while in TimeClick engaged mode, computer  26  may redefine the coordinates of the interaction surface so that the interaction surface is positioned further from the user. 
     In some embodiments, computer  26  can convey visual feedback to user  22  while the user is selecting a given alphanumeric key using TimeClick. As the example in  FIG. 4  shows, in response to user  22  performing a Find gesture, computer  26  positions cursor  72  over the alphanumeric key “X”. As the user keeps hand  30  steady and thereby maintaining the cursor over the alphanumeric key “X” (i.e., before the amount of time specified by the hold-time parameter), the computer can increase shading in the alphanumeric key, or fill a border surrounding the alphanumeric key, or break a border (as shown in the Figure for letters “X” and “I”). Another example of visual feedback, using the letter “T”, is described below. 
     In some embodiments, while in the TimeClick engaged mode, computer  26  can be configured to adjust the hold-time parameter in response to a proficiency of user  22  as follows:
         If computer  26  detects that user  22  selected a specified number of alphanumeric keys  38  without selecting backspace key  38 D (i.e., without any errors), the computer can shorten the hold-time parameter.   If computer  26  detects that the user spends less time performing Find gestures while selecting alphanumeric keys  38 , the computer can shorten the hold-time parameter. For example, while interacting with on-screen keyboard  70 , if the user is spending 50% of the time performing Find gestures and 50% of the time holding the cursor steady to select a given alphanumeric key via TimeClick, the 3D user interface can shorten the hold-time parameter to make text entry less cumbersome (e.g., an optimal breakdown of the time to select a given alphanumeric key  38  may be 90% for the Find gesture and 10% for TimeClick).       

     On-screen keyboard  70  may also include a TimeClick timer icon  38 F that user  22  can select in order to change the hold-time parameter. For example, a novice user can set the hold-time parameter to a longer time period such as three seconds, while a more experienced user can set the hold-time parameter to a shorter time period such as one second. In operation, computer  26  can adjust the hold-time parameter upon detecting, in a subsequent sequence of 3D maps (i.e., subsequent to the 3D maps received in step  54  hereinabove) a subsequent select gesture (i.e., either an explicit select gesture or a TimeClick gesture) performed by the user toward the timer icon  38 F. 
     In addition to the TimeClick mode, computer  26  may include one or more additional Select modes that enable user  22  to select a given alphanumeric key  38  using explicit select gestures. In some configurations, computer  26  may include separate Select modes for each of the explicit select gestures recognized by the computer. 
     In the configuration shown in  FIG. 4 , computer  26  presents a mode icon  38 E that enables user  22  to toggle between the TimeClick mode and a given Select mode. In operation, computer  26  can actuate the TimeClick functionality upon detecting an explicit select gesture (e.g., a Pull, Push or Grab gesture) in the sequence of 3D maps received in step  54 . While 3D user interface  20  is in the TimeClick mode, computer  26  can convey visual feedback such as illuminating mode icon  38 E in a different color, or have the mode key blink on and off. 
     In some embodiments, computer  26  can implement a predictive text algorithm (also known as a language model) to aid user  22  in entering text via on-screen keyboard  70 . The predictive text algorithm can implement techniques known in the art that predict the next alphanumeric key  38  to be selected by user  22  based on previously selected keys. For example, if user  22  has already selected the alphanumeric keys “N”, “E” and “X”, the predictive text algorithm may identify “T” as the next alphanumeric key to be selected. 
     Examples for integrating the predictive text algorithm for use with virtual keyboard  70  include:
         Increasing the active area for a given alphanumeric key  38  of a character identified by the predictive text algorithm. Using the example described supra,  FIG. 4  shows the alphanumeric key “T” larger than the other alphanumeric keys. Increasing the active area can ease alphanumeric key selection in both the select mode and the TimeClick mode.   Adjusting the position of interaction surface  46  for one or more characters identified (e.g., the letter “T” in the example described supra) by the predictive text algorithm. For example, if user  22  is performing a Push gesture, computer  26  can reposition interaction surface  46  closer to the user for the alphanumeric key “T”. Likewise, if user  22  is performing a Pull gesture, computer  26  can reposition interaction surface  46  closer to display  28  for the alphanumeric key “T”. Moving the interaction surface for specific alphanumeric keys  38  corresponding to characters identified by the predictive text algorithm can help the user enter text faster via the on-screen keyboard.   Shortening the hold-time parameter for the alphanumeric keys corresponding to characters identified by the predictive text algorithm. In the example described supra, if the regular hold-time parameter is one second, the hold-time parameter for the alphanumeric key “T” can be shortened to 0.5 seconds, thereby enabling a proficient user to rapidly select the alphanumeric key “T”.       

     While interacting with traditional user interfaces such as keyboards, maintaining pressure on a particular alphanumeric key typically results in the particular key being repeated (e.g., pressing the “C” key results in “CCCCCCCC . . . ” being presented on the display). Due to the nature of interacting with the 3D user interface, user  22  may keep hand  30  steady after selecting one of alphanumeric keys  38 . To reduce input errors, embodiments of the present invention may limit the repeating described supra to a subset of the alphanumeric keys, such as spacebar  38 B, Backspace key  38 D and arrow keys (not shown). Additionally or alternatively, keyboard  70  may comprise a clear key  38 G, and computer  26  can be configured to clear any text in text box  74  when the clear key is selected. 
       FIG. 5  is a state diagram  80  that schematically illustrates the states and the transitions of computer  26  executing 3D user interface  20 , in accordance with an embodiment of the present invention. Prior to user  22  selecting any interactive items  38  on display  28  using an explicit select gesture, computer  26  is in a TimeClick disengaged state  82 . Upon user  22  performing an explicit select gesture in order to select given interactive item  38 , computer  26  transitions to a TimeClick engaged state  84  via a touch transition  86 . 
     While in state  84 , user  22  can select interactive items  38  via TimeClick or via an explicit select gesture (i.e., using parameters for both the TimeClick and the select modes described supra). If, while in state  84 , computer  26  repositions cursor  72  (or highlights a different interactive item  38 ) in response to a Find gesture performed by user  22 , then the computer transitions to a timer active state  88  via a reposition cursor transition  90 . 
     Alternatively, while in state  84 , if computer  26  detects that user  22  has moved hand  30  to either a specific region within field of view  42  or outside field of view  42  (i.e., the computer cannot detect the hand), then the computer transitions back to state  82  via a release transition  92 . For example, computer  26  can transition from the TimeClick engaged state to the TimeClick disengaged state via the release transition upon repositioning cursor  72  outside on-screen keyboard  70  in response to a Find gesture performed by the user. 
     Upon transitioning to timer active state  88 , computer  26  may start a timer (typically a software module executing on the computer) upon presenting cursor  72  on a given interactive item (or highlighting the given interactive item) in response to a Find gesture performed by user  22 . The timer keeps incrementing as long as computer  26  presents cursor  72  on the given interactive item (i.e., since user  22  is keeping hand  30  relatively steady). Computer  26  can select the given alphanumeric key upon the timer incrementing to a preset hold-time period (e.g., three seconds). 
     Alternatively, while in timer active state  88 , computer  26  can select a given interactive item  38  in response to detecting user  22  performing an explicit select gesture while the computer presents cursor  72  on the given interactive item (or highlights the given interactive item if the cursor is not presented). As discussed supra, while in TimeClick mode (i.e., states  84  and  88 ), computer  26  may reposition reference interaction surface  46 , thereby reducing the distance that user  22  needs to move hand  30  (and reducing or eliminating the wait time associated with TimeClick) in order to select the given interactive item via an explicit select gesture. 
     Upon selecting a given interactive item  38 , computer  26  transitions back to state  84  via a select item transition  94 . Alternatively, if computer  26  detects that user  22  has moved hand  30  to either a specific region within field of view  42  (e.g., so that the computer presents cursor  72  outside on-screen keyboard  70 ) or outside field of view  42  (i.e., the computer cannot detect the hand), then the computer transitions back to state  82  via a release transition  96 . Further alternatively, upon computer  26  positioning cursor  72  on a different interactive item  38  (or highlighting a different interactive item  38 ) in response to user  22  performing a Find gesture, then computer  26  transitions to state  88  (i.e., from state  88 ) via a reposition cursor transition  98 , and thereby restarts the timer. 
     Flashlight Cursor 
       FIGS. 6A and 6B  are schematic pictorial illustrations of computer  26  presenting a flashlight cursor  100 , in accordance with an embodiment of the present invention. In the description of  FIGS. 6A and 6B  herein, some of interactive items  38  may be differentiated by appending a letter to the identifying numeral, so that the interactive items presented on display  28  in  FIG. 6A and 6B  comprise interactive items  38 H- 38 M. 
     The inventors selected a flashlight metaphor for cursor  100  since positioning the flashlight cursor is similar to aiming a flashlight. Typically, when an individual wants to illuminate a given physical region (e.g., an area on a wall) with a flashlight, the individual first turns on the flashlight, repositions the flashlight so that the given region is illuminated, and then holds the flashlight steady in order to keep the given region illuminated. 
     In embodiments of the present invention, user  22  can select a given interactive item  38  in a similar manner, by first pointing hand  30  toward display  28  in order to activate flashlight cursor  100 , and then moving the hand in a transverse motion (i.e., along X-Y plane  40 ) in order to reposition the flashlight cursor over a given interactive item  38 . 
     In the configuration shown in  FIG. 6A , computer  26  presents items  38 H- 38 M on display  28 . In operation, if computer detects user  22  pointing hand  30  toward display  28 , the computer determines the position (location and orientation) of the hand, and responsively presents flashlight cursor  100  at a corresponding location on display  28 . In the example shown in  FIG. 6A , computer  26  initially presents flashlight cursor  100  as a small shaded circle. Upon detecting, in the maps, user  22  moving hand  30  along X-Y plane  40 , computer  26  repositions cursor  100  accordingly. 
     After positioning cursor  110  over a given interactive item  38 , computer  26  can select the given interactive item upon detecting user  22  performing a TimeClick gesture while the flashlight cursor is positioned over the given interactive item. To select a given interactive item  38  using TimeClick, user  22  keeps hand  30  relatively still for a specific period of time (i.e., the hold-time described supra) while computer  26  positions cursor  110  over the given interactive item. 
       FIG. 6B  is a schematic pictorial illustrations of user  22  selecting item  68  using TimeClick, in accordance with an embodiment of the present invention. In the example shown in  FIG. 6B , as computer  26  presents flashlight cursor over interactive item  38 K for the hold-time, the computer can gradually remove the shading from cursor  100  (i.e., terminating the animation effect), thereby bringing the interactive item  38 K into focus. 
     While repositioning cursor  100 , computer  26  can animate cursor  100  with a visual effect such as changing the color and/or shading presented within the cursor. Upon detecting, in the maps, user performing a TimeClick gesture, computer  26  can gradually change the appearance of cursor  100  by decreasing the visual effect during the hold-time period. In other words, computer  26  can select interactive item  38 K as the interactive item “comes into focus” behind flashlight cursor  100 . 
       FIG. 7  is a state diagram  110  that schematically illustrates the states and the transitions of computer  26  implementing flashlight cursor  100 , in accordance with an embodiment of the present invention. Prior to user  22  performing a pointing gesture toward display  28 , computer  26  is in a flashlight cursor off state  112 . 
     Upon detecting, in the sequence of 3D maps, user  22  pointing hand  30  toward display  28 , computer  26  transitions to flashlight cursor animated state  114  via a transition  116 . While in state  114 , computer  26  has not yet selected any of the interactive items presented on display  28 , and the computer can present flashlight cursor  100  with a visual effect (e.g., animation), as shown in  FIG. 6A . For example (i.e., while in state  114 ), computer  26  may detect, in the 3D maps, a transverse motion of hand  30  (i.e., along X-Y plane  40 ), and reposition flashlight cursor  100  on display  28  in response to the transverse motion. 
     While in state  114 , if computer  26  detects (e.g., in the maps) that user  22  stops moving hand  30  for the hold-time, the computer can illuminate (i.e., “turns on”) flashlight cursor  100  upon transitioning to a flashlight cursor on state  118  via a transition  122 . Upon transitioning to state  118  via transition  122 , computer  26  can select a given interactive item  38  positioned “behind” the flashlight cursor. In the example shown in  FIG. 6B , computer  26  selects interactive item  38 K in response to detecting, in the maps, user  22  pointing hand  30  toward interactive item  38 K and subsequently keeping hand  30  steady for the hold-time period. However, if computer  26  detects, user  22  no longer pointing hand  30  toward display  28  (e.g., by dropping the hand) while the computer is in state  114 , then the computer transitions back to state  112  via a transition  120 . 
     Returning to state  118 , if computer  26  selects a given interactive item  38 , and detects, user  22  still pointing hand  30  toward display  28 , then the computer transitions back to state  114  via a transition  124 . Alternatively (i.e., while in state  118 ), if computer  26  detects, user  22  ending the pointing gesture, then the computer transitions back to state  112  via a transition  126 . 
     It will be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features, including the transformations and the manipulations, described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.

Metadata:
Filing Date: 20120814
Publication Date: 20150512
Grant Date: 20150512
Priority Date: 20110815
Inventors: GALOR MICHA
POKRASS JONATHAN
HOFFNUNG AMIR
OR OFIR
Assignee: APPLE INC
CPC Classifications: [{"code": "G06F3/017", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F3/017", "inventive": true, "first": true, "tree": "[]"}]
Family ID: 47712297