Patent Publication Number: US-9836201-B2

Title: Zoom-based gesture user interface

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 13/541,786, filed Jul. 5, 2012, which claims the benefit of U.S. Provisional Patent Application 61/504,339, filed Jul. 5, 2011, of U.S. Provisional Patent Application 61/521,448, filed Aug. 9, 2011, and of U.S. Provisional Patent Application 61/523,349, filed Aug. 14, 2011, all of which are 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 user interface method, including presenting by a computer executing a user interface, multiple interactive items on a display, capturing a first sequence of images indicating a position in space of a hand of a user in proximity to the display, responsively to the position, associating one of the interactive items with the hand, after associating the item, capturing a second sequence of images indicating a movement of the hand, and responsively to the movement, changing a size of the one of the items on the display. 
     There is also provided, in accordance with an embodiment of the present invention, a user interface method, including presenting by a computer executing a user interface, multiple interactive items on a display, capturing a first sequence of images indicating a position in space of a hand of a user in proximity to the display, capturing a second sequence of images indicating a movement of the hand transverse to the display in a first direction, and responsively to the movement, panning the interactive items on the display in a second direction, which is different from the first direction. 
     There is further provided, in accordance with an embodiment of the present invention, a user interface method, including presenting by a computer executing a user interface, multiple interactive items on a display, receiving, from a handheld remote control device coupled to the computer, a first signal indicating a position in space of a hand of a user in proximity to the handheld remote control device, responsively to the position, associating one of the interactive items with the hand, after associating the item, receiving from the handheld remote control device a second signal indicating a movement of the hand relative to the handheld remote control device, and responsively to the movement, changing a size of the one of the interactive items on the display. 
     There is additionally provided, in accordance with an embodiment of the present invention, an apparatus, including a sensing device, and a computer executing a user interface and configured to present multiple interactive items on a display coupled to the computer, to capture a first sequence of images indicating a position in space of a hand of a user in proximity to the display, to associate, responsively to the position, a given one of the interactive items with the hand, to capture, after associating the given interactive item, a second sequence of images indicating a movement of the hand and to change a size of, responsively to the movement, the given interactive item on the display. 
     There is also provided, in accordance with an embodiment of the present invention, an apparatus, including a sensing device, and a computer executing a user interface and configured to present multiple interactive items on a display coupled to the computer, to capture a first sequence of images indicating a position in space of a hand of a user in proximity to the display, to capture a second sequence of images indicating a movement of the hand transverse to the display in a first direction, and responsively to the movement, to pan the interactive items on the display in a second direction, which is different from the first direction. 
     There is further provided, in accordance with an embodiment of the present invention, an apparatus, including a sensing device, and a computer executing a user interface and configured to present multiple interactive items on a display coupled to the computer, to receive, from a handheld remote control device coupled to the computer, a first signal indicating a position in space of a hand of a user in proximity to the handheld remote control device, to associate, responsively to the position, one of the interactive items with the hand, to receive from the handheld remote control device, after associating the item, a second signal indicating a movement of the hand relative to the handheld remote control device, to change, responsively to the movement, a size of the one of the interactive items on the display. 
     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, to capture a first sequence of images indicating a position in space of a hand of a user in proximity to the display, to associate, responsively to the position, a given one of the interactive items with the hand, to capture, after associating the given interactive item, a second sequence of images indicating a movement of the hand, and to change, responsively to the movement, a size of the given interactive item on the display. 
     There is also 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, to capture a first sequence of images indicating a position in space of a hand of a user in proximity to the display, to capture a second sequence of images indicating a movement of the hand transverse to the display in a first direction, and to pan, responsively to the movement, the interactive items on the display in a second direction, which is different from the first direction. 
     There is further 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, to receive, from a handheld remote control device coupled to the computer, a first signal indicating a position in space of a hand of a user in proximity to the handheld remote control device, to associate, responsively to the position, one of the interactive items with the hand, to receive from the handheld remote control device, after associating the item, receiving, a second signal indicating a movement of the hand relative to the handheld remote control device, and to change, responsively to the movement, a size of the one of the interactive items on the display. 
    
    
     
       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 zoom-based user interface, in accordance with an embodiment of the present invention; 
         FIG. 2  is a flow diagram that schematically illustrates a method of interacting with the zoom-based user interface and selecting a given on-screen interactive item, in accordance with an embodiment of the present invention; 
         FIG. 3  is a schematic pictorial illustration of a virtual keyboard presented on a display, in accordance with an embodiment of the present invention; 
         FIG. 4A  is a schematic pictorial illustration of multiple interactive items presented in a one-dimensional horizontal grid, in accordance with an embodiment of the present invention; 
         FIG. 4B  is a schematic pictorial illustration of the multiple interactive items presented in a one-dimensional vertical grid, in accordance with an embodiment of the present invention; 
         FIG. 4C  is a schematic pictorial illustration of the multiple interactive items presented in a two-dimensional horizontal grid, in accordance with an embodiment of the present invention; 
         FIG. 5  is a flow diagram that schematically illustrates a method of selecting a given on-screen interactive item from the two-dimensional grid, in accordance with an embodiment of the present invention; 
         FIGS. 6A-6D  are schematic pictorial illustrations of different zoom levels of the two-dimensional grid, in accordance with an embodiment of the present invention; 
         FIG. 7  is a schematic pictorial illustration of a first example of a ZoomGrid based media player control, in accordance with an embodiment of the present invention; 
         FIG. 8  is a schematic pictorial illustration of a second example of a ZoomGrid based media player control, in accordance with an embodiment of the present invention; 
         FIG. 9  is an schematic illustration of a tree data structure that the computer can present as a series of hierarchical ZoomGrid surfaces, in accordance with an embodiment of the present invention; and 
         FIGS. 10A-10D  are schematic pictorial illustrations showing the hierarchical ZoomGrid surfaces based on the tree data structure, in accordance with an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     When using physical tactile input devices such as buttons, rollers or touch screens, a user typically engages and disengages control of a user interface by touching and/or manipulating the physical device. Embodiments of the present invention describe methods and mechanism for interacting with a display coupled to a computer executing a non-tactile zoom-based user interface that includes three-dimensional (3D) sensing, by a 3D sensor, of motion or change of position of one or more body parts, typically a hand or a finger, of the user. 
     In some embodiments the zoom-based user interface utilizes a ZoomGrid control scheme that enables the user to select a given interactive item from multiple interactive items presented on a display. The ZoomGrid control scheme described hereinbelow enables the user to select a specific interactive item from any size pile of interactive items (also called a ZoomGrid surface), by performing continuous gestures using the user&#39;s hands and/or fingers. The ZoomGrid paradigm described herein is not limited to selection of interactive items and can be easily extended to selection of actions on a given interactive item. 
     In some embodiments, the user identifies one of the multiple presented items, and reaches out a hand toward the identified item. As the user starts to pull the ZoomGrid surface that includes the identified item, the zoom-based user interface zooms in to the region where the desired interactive item is presented. Finally, the user continues to pull, and adjust his/her hand&#39;s movement until the computer zooms in on the identified item, and the identified item is large enough (e.g., covering the entire display) to be regarded as selected. 
     As explained hereinbelow, the user typically does not need to aim accurately when initially reaching out toward the region that includes the identified item. While pulling on the ZoomGrid surface, the user can “zero in” on the identified item by moving his/her hand transversely along a horizontal X-axis and/or a vertical Y-axis. 
     Embodiments of the current invention described herein provide methods and mechanisms for users to “dive” into piles of hierarchical information that are presented on a display. In some embodiments, a Multi-Level ZoomGrid control scheme enables users to dive into a subject by literally pulling interesting topics (presented as interactive items) further and further out of piles of presented topics that are hierarchically presented to them. 
     System Description 
       FIG. 1  is a schematic, pictorial illustration of a non-tactile zoom-based interface  20  (also referred to herein as the zoom-based interface) for operation by a user  22  of a computer  26 , in accordance with an embodiment of the present invention. The non-tactile zoom-based interface is based on a 3D sensing device  24  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 zoom-based 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. 
     Zoomgrid Surfaces 
       FIG. 2  is a flow diagram that schematically illustrates a method of selecting a given interactive item  38  via zoom-based user interface  20 , in accordance with an embodiment of the present invention. In a presentation step  40 , computer  26  presents multiple interactive items on display  28 . Computer  26  can present the interactive items in either an organized or unorganized form. Examples of organized forms are described in  FIGS. 4A-4C  hereinbelow. 
     In an association step  42 , computer  26  associates hand  30  with a given interactive item  38  presented on display  28 . To associate given interactive item, computer  26  captures a first sequence of images indicating a position of hand  30  in space, and associates hand  30  with the given interactive item (also referred to herein as the active item). Upon capturing the first sequence of images from sensing device  24 , computer  26  may generate corresponding 3D maps of at least a body part of user  22  (including hand  30 ) in proximity to display  28 . 
     In some embodiments, the active item comprises the interactive item in closest proximity to a center of display  28 . In alternative embodiments, computer  26  can identify a given interactive item  38  based on the user&#39;s gaze or on a pointing gesture performed by hand  30 , and associate hand  30  with the given interactive item. Identifying a given interactive item presented on display  28  based on a gaze and/or a pointing gesture is described in PCT International Application PCT/IB2012/050577, filed Feb. 9, 2012, whose disclosure is incorporated herein by reference. 
     In some embodiments, computer  26  can initiate the association of hand  30  with a given interactive item  38  upon the first sequence of images indicating a first specific gesture performed by the user. For example, the first gesture may comprise the user raising hand  30  or moving hand  30  toward display  28 . The first gesture may also include a Grab gesture, which comprises the user closing at least some fingers of hand  30 . Likewise, computer  26  can cancel the association of hand  30  with a given interactive item  38 , upon detecting a second specific gesture performed by the user. For example, the second specific gesture may comprise a Release gesture, which comprises the user opening the fingers of the hand. The Grab and the Release 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. 
     Incorporating the Grab and the Release gestures into zoom-based user interface  20  can be particularly useful when there are multiple users positioned within a field of view of sensing device  24 . For example, a first given user can engage zoom-based user interface  20  by performing a Grab gesture, and disengage from the user interface by performing a Release gesture, thereby enabling a second given user to engage the user interface. 
     As user  22  performs the first gesture (e.g., the user keeps the fingers of the hand closed after initiating the Grab gesture), computer  26  may respond to any additional movement of hand  30  that was indicated in the first sequence of images. For example, if computer  26  detects user  22  moving hand  30  in a transverse motion (i.e., a side-to-side motion along X-axis  32 , or an upward or downward motion along Y-axis  34 ) while hand  30  is “open” (i.e., the user has not closed the fingers of hand  30  to perform a Grab gesture), the computer can associate the hand with a different interactive item  38  presented on the display. In some embodiments (as described hereinbelow), if the user moves hand  30  in a transverse motion while performing a Grab gesture, computer  26  can scroll the interactive items presented on display  28 . 
     In a first comparison step  44 , computer  26  captures a second sequence of images until the computer detects a movement of hand  30 . Upon detecting a movement of hand  30 , in a resizing step  46 , computer  26  responsively changes the size of the given interactive item associated with the hand. In some embodiments, changing the size of the given interactive item comprises enlarging the given interactive item on display  28 . For example, computer  26  can enlarge the associated interactive item upon detecting a specific movement of the hand, such a Pull gesture that comprises user  22  moving hand  30  away from display along Z-axis  36 . The Pull gesture is described in U.S. patent application ser. No. 13/423,314, filed on Mar. 19, 2012, whose disclosure is incorporated herein by reference. 
     In a second comparison step  48 , if the size of the active item is greater than or equal to a predetermined threshold size, then computer  26  proceeds to a selection step  50 , wherein the computer selects the active item. The computer may then activate a function associated with the active item. The method then ends. Returning to step  48 , if the active item&#39;s size is less than the threshold size, then the method reverts to step  44 . 
     In some embodiments, activating the function comprises presenting an image over a full area of display  28 . In additional embodiments, activating the function comprises executing a software application associated with the active item. In further embodiments the active item is associated with a media item (e.g., a music track or a movie), and activating the function comprises playing a media file associated with the active item. 
     In alternative embodiments, computer  26  may present a virtual input device on display  28 , and the item selection method described in the flow diagram of  FIG. 2  can be used to control the virtual input device. Examples of virtual input devices include but are not limited to virtual keyboards, virtual numeric keypads and virtual game controls. 
       FIG. 3  is a schematic pictorial illustration of a virtual keyboard  60  presented on display  28 , in accordance with an embodiment of the present invention. Keyboard  60  comprises multiple virtual keys  62  and a text box  64 . As user  22  moves hand  30  towards a given key  62 , computer  26  highlights the given key (e.g., the “I” key shown in  FIG. 3 ). If user  22  wants to select the given key, the user can perform a Grab gesture, followed by a Pull gesture. As user  22  pulls back hand  30 , computer  26  responsively enlarges the given virtual key. Upon the presented size of the given virtual key meeting a specific threshold, computer  26  accepts the given virtual key as input and presents the character associated with the virtual key in text box  64 . Prior to performing the Grab and the Pull gestures (i.e., while the hand is extended toward display  28 ), user  22  can highlight a different virtual key  62  by moving his/her hand transversely. In response to the transverse motion, computer  26  can highlight the virtual key to which the user is pointing. 
     As described supra, computer  26  can be configured to capture sequences of images indicating movements of hand  30 , where the hand can be moving toward display  28 , away from the display, or in a transverse motion relative to the display. For example, while interacting with virtual keyboard  60 , computer  26  highlights a given virtual key  62  in response to detecting a transverse motion of hand  30 , and selects a given virtual key in response to a Pull gesture. However, there are instances when user  22  inadvertently moves hand  30  in a transverse motion while performing a Pull gesture. 
     To accommodate the inadvertent transverse motion, computer can be configured to assign less significance to any hand motion detected along X-axis  32  and/or Y-axis  34  while user  22  is performing a Pull gesture. Limiting the significance of any transverse motion as computer  26  enlarges (i.e., “zooms in” on) the active interactive item as the user performs a Pull gesture can create a “funnel” like sensation towards a given interactive item  38  that the user intends to select. 
     The significance of the transverse motion can be inversely related to a location of hand  30  while performing a Pull gesture. In other words, computer  26  can assign less significance to any detected transverse motion of hand  30  as the distance between the hand and display  28  increases. In operation, if computer  26  “suspects” that user  22  has identified a given interactive item and detects the user starting to perform a Pull gesture, the computer can start to limit the significance of any detected transverse motion of hand  30 . As the Pull gesture progresses (and computer  26  further zooms in on the given interactive item) the computer can responsively decrease the significance of any detected transverse motion. 
     In some embodiments, the “funnel” paradigm can be extended to inhibit the association of hand  30  with a different interactive item  38  (or virtual key  62 ) when the associated interactive item has been enlarged beyond a predetermined threshold size, responsively to user  22  moving hand  30  away from display  28 . In other words, upon computer  26  presenting the associated item at a size equal or greater to the predetermined size, the computer can substantially ignore any transverse movement of hand  30  along X-axis  32  and/or Y-axis  34 . 
     As described supra, computer  26  can present interactive items  38  in an organized layout. For example, computer  26  can organize interactive items  38  as a grid on display  28 . In some embodiments, computer  26  can organize interactive items  38  as a one-dimensional grid comprising either a single horizontal row of the interactive items or a single vertical column of the interactive items. In alternative embodiments, computer  26  can organize interactive items  38  as a two-dimensional grid on display  28 . 
       FIG. 4A  is a schematic pictorial illustration of computer presenting interactive items  38  in a one-dimensional horizontal grid  70 , in accordance with an embodiment of the present invention,  FIG. 4B  is a schematic pictorial illustration of computer  26  presenting interactive items  38  in a one-dimensional vertical grid  72 , in accordance with an embodiment of the present invention, and  FIG. 4C  is a schematic pictorial illustration of computer  26  presenting interactive items  38  in a two-dimensional grid  74 , in accordance with an embodiment of the present invention. In some embodiments, grids  70 ,  72  and  74  may comprise additional interactive items that (e.g., for space reasons) are not presented on display  28 . In other words computer  26  can present a “window” into the one or the two-dimensional grids that can be scrolled using embodiments described hereinbelow. Grids  70 ,  72  and  74  are also referred to herein as ZoomGrids or ZoomGrid surfaces. 
       FIG. 5  is a flow diagram that schematically illustrates a method of selecting a given on-screen interactive item  38  from grid  74 , and  FIGS. 6A-6D  are schematic pictorial illustrations of user  22  interacting with grid  74 , in accordance with an embodiment of the present invention. In the description of  FIGS. 6A-6D  herein, some of interactive items  38  may be differentiated by appending a letter to the identifying numeral, so that grid  74  comprises interactive items  38 A- 38 I. 
     In a presentation step  80 , computer  26  presents multiple interactive items  38  in grid  74  on display  28 , and in a first capture step  82 , computer  26  captures a first sequence of images indicating a motion of hand  30  toward display  28 , followed by a Grab gesture. In a first association step  84 , computer  26  associates a given interactive item  38  with hand  30 . In the example shown in  FIGS. 6A-6D , computer  26  associates interactive item  38 H with hand  30 . Alternatively, computer  26  can associate hand  30  with the interactive item presented at a center of grid  74  (e.g., interactive item  38 E). 
     In a first comparison step  86 , if computer  26  captures a second sequence of images indicating a transverse motion of hand (i.e., a horizontal motion along X-axis  32  and/or a vertical motion of the hand along Y-axis  34 ) in a first direction relative to display  28 , then in a scrolling step  88 , computer  26  scrolls grid  74  in a second direction, which is different from the first direction of the hand. For example, if user  22  moves hand  30  from left to right, then computer  26  scrolls grid  74  in an opposite direction from right to left. Likewise, if user  22  moves hand  30  in an upward vertical motion, then computer  26  scrolls grid  74  downward. 
     In some embodiments, as user  22  moves hand  30  towards a given interactive item  38  presented off-center on display  28 , computer  26  can reposition the off-center interactive item to the center of the display  28 , and associate hand  30  with the centered interactive item. Thus, in contrast to existing touch screen paradigms that are well known in the art, the interactive items on display  28  pan in a direction that is generally opposite to the direction of transverse movement of the user&#39;s hand. (For example, reaching toward a given interactive item  38  at the right of the screen causes the interactive items on screen to shift left.) This sort of scan control is easily learned and internalized by users after only a short orientation period, and can facilitate rapid, intuitive interaction with the display. 
     In a second comparison step  90 , if computer  26  captures a third sequence of images indicating that user  22  is performing a Pull gesture by moving hand  30  away from display  28  (i.e., along Z-axis  36 ), then in a zooming step  92 , the computer enlarges both the associated interactive item and the interactive items surrounding the associated interactive item, as space allows. Alternatively, computer  26  can enlarge only the associated interactive item. 
       FIG. 6A  shows display  28  presenting all of the interactive items (including items  38 A- 38 I) in grid  74 .  FIGS. 6B and 6C  shows display  28  presenting a subset of the interactive items as user  22  pulls hand  30  away from display  28 , and computer  26  zooms in on respective subsets of grid  74 . In  FIG. 6B , computer  26  zooms in and fills display  28  with items  38 A- 38 I as user  22  starts performing a Pull Gesture.  FIG. 38C  shows interactive items  38 E and  38 H filling most of display  28  as user  22  continues the Pull gesture and moves hand  30  further from the display. 
     In a third comparison step  94 , if computer  26  is presenting the associated interactive item at a size greater than or equal to a specific threshold, then in a selection step  96 , the computer selects the associated item, and the method ends. As described supra, selecting the associated interactive item may comprise presenting an image over a full area of display  28 .  FIG. 6D  shows interactive item  38 I presented as a full-screen image on display  28 . 
     Returning to step  94 , if computer  26  is presenting the associated interactive item at a size less than the specific threshold, then the method continues with step  90 . Returning to step  90 , if the third sequence of images do not indicate a Pull gesture, then the method continues with step  86 . Finally, returning to step  86 , if the second sequence of images do not indicate a transverse motion of hand  30 , then the method continues with step  96 . 
     While playing a media file, computer  26  can present media controls that user  22  can engage using embodiments described herein. Media player controls may consist of controls for actions such as play/pause, seek, mute, volume up/down, next/prey track, fast-forward, rewind and so on. In embodiments of the present invention, while a media is playing (either in the foreground or in the background), the player controls can be placed on an invisible ZoomGrid surface. During the playback, when the user performs a Pull gesture, the ZoomGrid surface containing the imaginary controls gradually becomes visible. The controls can then be selected in the same way as any other interactive items  38  presented on a ZoomGrid surface. 
     A special behavior of the ZoomGrid based player controls mechanism is that upon selecting a given control, the controls surface can retract back and “disappear” (i.e., as if a spring connects it to the surface on which the media is playing). Toggle controls like mute/unmute or pause/play or buttons can be easily implemented again by the same embodiments as those used to select the interactive items (i.e., the item selection triggers a given operation). Continuous controls such as volume or seek can be implementing by transverse movements after selection of the control, and a Release gesture can be used to disengage from the control. 
       FIG. 7  is a schematic pictorial illustration of a first example of a ZoomGrid based media player control, in accordance with an embodiment of the present invention. While playing a movie  100 , computer  26  presents a one-dimensional ZoomGrid  102  in response to the user moving hand  30  toward display  28 . ZoomGrid  102  comprises a pause control  104 , a stop control  106 , play control  108 , and a seek control  110 . In the example shown in  FIG. 7 , user  22  has selected a volume control  112  using embodiments described herein, and can manipulate a volume slider icon  114  via transverse hand motions along X-axis  32 . 
       FIG. 8  is a schematic pictorial illustration of a second example of a ZoomGrid based media player control, in accordance with an embodiment of the present invention. In response to user  22  selecting seek control  110  using embodiments described herein, computer  26  presents a one-dimensional ZoomGrid  120  that comprises scrub points  122 ,  124 ,  126 ,  128 ,  130 ,  132  and  134 . The scrub points comprise specific scenes in movie  100  that user  22  can directly skip to by selecting one of the scrub points using the embodiments described herein. In the example shown in  FIG. 8 , user  22  has selected scrub point  122 , and the computer responsively presents a given scene in movie  100  that corresponds to the selected scrub point. 
     In some embodiments, the ZoomGrid mechanisms described herein can be used to control television channel selection (i.e., “surfing” and/or “zapping” channels). In a ZoomGrid channel surfing system all of the channels can be organized on a two-dimensional ZoomGrid surface. If the user is viewing a certain channel and wants to look for an alternative channel, the user starts pulling at the ZoomGrid surface (e.g., by perform a Grab gesture followed by a Pull gesture), computer  26  “pushes back” (i.e., zooms out) the ZoomGrid, thereby revealing additional channels that surround the channel currently being viewed. As the user pulls or pushes the ZoomGrid (zooming out), computer  26  can reveal additional channels. When the user identifies an interesting channel, the user can start pulling back on the ZoomGrid surface in order to select the channel using embodiments described herein. 
     An extension to this embodiment is to organize the channels on ZoomGrid according to their popularity. For example, computer  26  can present the most popular channel at a center of display  28 , and surround the most popular channel with “rings” of channels, where the more popular channels are presented in rings closer to the center. In some embodiments, computer  26  can measure popularity based on a specific user&#39;s viewing habits. Alternatively, computer  26  can measure channel popularity based on viewing habits of all users of the computer. 
     In further embodiments, the ZoomGrid mechanisms described herein can be used by computer  26  to simulate an interaction between the user and a handheld remote control device. Although most handheld touchscreen-based remote control devices require actual contact between the user&#39;s fingers and the device, some new types of remote control devices are capable of sensing the locations of the user&#39;s fingers in space, in proximity to the device. For example, the type of optical depth sensor that is described in the above-referenced U.S. Patent Application Publication 2010/0007717 may be implemented on a small scale in a handheld device (not shown) in order to reconstruct 3D maps of hand  30  in proximity to the device, and detect motion of the hand and fingers in three dimensions. As another example, the TeleTouch™ device, produced by ZRRO Ltd. (Tel Aviv, Israel) comprises a “3D Multi-Touch” device, which detects movement of the hand and fingers in both touching and “hovering” positions. 
     The principles of the zooming interface that are described supra may be implemented, mutatis mutandis, in the handheld 3D remote control devices depicted herein. In other words, rather than moving hand  30  in space in front of the display  28 , the user moves the hand (or fingers) in the same way relative to the remote control device. The device can sense transverse (along X-axis  32  and/or Y-axis  34 ) and lateral (along Z-axis  36 ) motion, as well as Grab and Release gestures, and convey control signals accordingly to the computer. 
     In operation, computer  26  presents multiple interactive items on display  28 , and receives, from the handheld remote control device, a first signal indicating a position in space of hand  30  in proximity to the handheld remote control device. Responsively to the position, computer  26  associates a given interactive item  38  with hand  30 . After associating the item, computer  26  receives, from the handheld remote control device, a second signal indicating a movement of the hand relative to the handheld remote control device, and responsively to the movement, changes a size of (e.g., enlarges) the one of the interactive items on the display. 
     This sort of use of a remote control device permits the same sort of versatile, intuitive control that is offered by the full-scale ZoomGrid described above, while relieving the user of a need to sit up (or stand) and make large arm motions in order to interact with the display. 
     Multi-Level Zoomgrid 
     In some embodiments, the ZoomGrid mechanisms described supra can be extended to a multi-level ZoomGrid control scheme that allows user  22  to “pull” a ZoomGrid surface loaded with interactive items  38 . In addition to the embodiments described supra (i.e., media items software applications and virtual input devices), the interactive items in a given ZoomGrid surface may comprise folders (i.e., directories) of sub-items  38 . As explained hereinbelow, while presenting a given folder on a ZoomGrid surface, the computer may not present the sub-items associated with the given folder unless the given folder is presented at a predetermined size. In other words, in response to gestures described herein, when zooming in to a given folder  38 , computer  26  can present interactive items  38  that are associated with the folder, and enable the user to continue zooming in to select a given interactive item  38 . 
     The multi-level ZoomGrid mechanism described herein enables the user to dig inside multi-level folder data structures, and to select a given interactive item  38  all in one single continuous three dimensional movement, typically a Pull gesture. Alternatively the user can use the Grab and Release gestures in order to intermittently grab and release control of each of the folders along a hierarchical path to the given interactive item, and then select the given interactive item. 
       FIG. 9  is an schematic illustration of a tree data structure  140  that computer  26  can present as a series of hierarchical ZoomGrid surfaces  142 ,  144 ,  146 ,  148  and  150 , in accordance with an embodiment of the present invention. Each of the ZoomGrid surface comprises one or more interactive items  38 . In operation, as user  22  traverses tree  140  and accesses a given interactive item  38 , computer  26  presents a ZoomGrid surface comprising sub-items  38  (i.e., children nodes in tree  140 ) of the given interactive item. In the example shown in  FIG. 9 , the sub-items can comprise menus, media items or media player controls. 
       FIGS. 10A-10D  are schematic pictorial illustrations showing a multi-level ZoomGrid control scheme based on tree  140 , in accordance with an embodiment of the present invention. Using embodiments described herein, a user gradually zooms in from viewing a menu of media types (ZoomGrid Surface  142  in  FIG. 10A ), to types categories of movies (ZoomGrid Surface  146  in  FIG. 10B ), to viewing the movies in a particular category (ZoomGrid Surface  148  in  FIG. 10C ), and then zooming in to select a given interactive item  38  (e.g., movie  100 ) for viewing ( FIG. 10D ). When the user zooms in on the interactive item representing the chosen movie so that it grows beyond a certain threshold size, the movie starts to play automatically, without the user having to explicitly select the movie or activate a “play” control. As shown in  FIGS. 7 and 8 , once the movie is playing, user  22  can control various playback controls using the ZoomGrid media control embodiments described supra. 
     While interacting with a multi-level ZoomGrid, computer  26  can define certain zoom levels as “comfort zones,” because they present content in a desirable way (for example, with an integer number of rows and columns of icons, with no icons cut off at the edges of the display). If user  22  transversely moves hand (i.e., along X-axis  32  and/or Y-axis  34 ) while display  28  is in a comfort zone, the zoom may be locked, so that only significant motions along Z-axis  36  motions changes the zoom level. In other situations, the zoom levels can be biased in order to drive the display into a comfort zone in response to relatively small movement of hand  30  along Z-axis  36 . For example, if a given interactive item  38  comprises a folder of sub-items, then computer  26  will enlarge the folder (and thereby display the sub-items) upon detecting significant motion of hand  30  away from display  28 . 
     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 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.