# Patent

## Title
Zoom-based gesture user interface

## Abstract

A user interface method, including presenting by a computer executing a user interface, multiple interactive items on a display. A first sequence of images is captured indicating a position in space of a hand of a user in proximity to the display, and responsively to the position, one of the interactive items is associated with the hand. After associating the item, a second sequence of images is captured indicating a movement of the hand, and responsively to the movement, a size of the one of the items is changed on the display.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application 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'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'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'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 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'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'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 38 on display 28. Computer 28 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'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'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 38A-38I.
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 38H 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 38E).
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'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 38A-38I) 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 38A-38I as user 22 starts performing a Pull Gesture. FIG. 38C shows interactive items 38E and 38H 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 38I 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/prev 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'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's fingers and the device, some new types of remote control devices are capable of sensing the locations of the user'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 TeleTouchTM 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 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 38, then computer 26 will enlarge folder 36 (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.

## Claims

1. A user interface method, comprising:
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 a given interactive item with the hand,
wherein associating the given interactive item comprises detecting, in the first sequence of images, a predetermined gesture of the hand, wherein the predetermined gesture comprises closing at least some of the fingers of the hand, and initiating association of the given interactive item with the hand responsively to the gesture;
after associating the item, capturing a second sequence of images indicating a movement of the hand;
responsively to the movement, changing a size of the one of the items on the display; and
releasing the association of the given interactive item from the hand upon detecting that the fingers have opened.

2. The method according to claim 1, wherein the given interactive item is enlarged in response to the movement of the hand comprising motion away from the display.

3. The method according to claim 1, wherein the given interactive item is associated with a function of the computer, and wherein the method comprises activating the function when the given interactive item has been enlarged, in response to the movement, to at least a predetermined threshold size.

4. The method according to claim 3, wherein activating the function comprises playing a media item associated with the given interactive item.

5. The method according to claim 3, wherein activating the function comprises executing a software application.

6. The method according to claim 3, wherein activating the function comprises displaying an image over a full area of the display.

7. The method according to claim 1, wherein associating the given interactive item comprises choosing the interactive item that is presented at a center of the display.

8. A user interface method, comprising:
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 a given interactive item with the hand,
wherein associating the given interactive item comprises detecting, in the first sequence of images, a predetermined gesture of the hand, and initiating association of the given interactive item with the hand responsively to the gesture;
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,
wherein associating the given interactive item comprises detecting, in the first sequence of images, a transverse motion of the hand while the hand maintains the gesture, and associating a different one of the interactive items with the hand responsively to the transverse motion.

9. The method according to claim 8, wherein the predetermined gesture comprises closing at least some of the fingers of the hand.

10. The method according to claim 8, wherein the movement of the hand comprises motion away from the display, and wherein associating the different one of the interactive items with the hand is inhibited when the given interactive item has been enlarged, responsively to the motion, beyond a predetermined threshold size.

11. The method according to claim 10, and comprising assigning less significance to motion along a plane comprising vertical and horizontal axes, upon detecting the motion away from the display.

12. The method according to claim 1, wherein at least some of the interactive items contain sub-items, which are not displayed as long as the interactive items presented on the display are smaller than a predetermined size, and wherein enlarging the given interactive item comprises displaying the sub-items contained by the given interactive item when the given interactive item is enlarged to at least the predetermined size.

13. The method according to claim 12, wherein the given interactive item is enlarged in response the movement comprising significant motion away from the display.

14. The method according to claim 1, wherein sensing the position comprises generating a three-dimensional (3D) map of at least a part of body of the user, including the hand.

15. The method according to claim 1, wherein associating the item with the hand comprises identifying the item based on a gaze of the user.

16. The method according to claim 1, wherein associating the item with the hand comprises identifying the item based on a pointing gesture performed the user.

17. The method according to claim 1, wherein presenting the multiple interactive items comprises organizing the multiple interactive items as a grid on the display.

18. The method according to claim 1, wherein changing the size of the one of the items comprises enlarging the one of the items on the display.

19. An apparatus, comprising:
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,
wherein the computer is configured to associate the given interactive item by detecting, in the first sequence of images, a predetermined gesture of the hand, and initiating association of the given interactive item with the hand responsively to the gesture, and to detect, in the first sequence of images, a transverse motion of the hand while the hand maintains the gesture, and to associate a different one of the interactive items with the hand responsively to the transverse motion.

20. The apparatus according to claim 19, wherein the computer is configure to enlarge the given interactive item in response to the movement of the hand comprising motion away from the display.

21. The apparatus according to claim 19, wherein the computer is configured to associated the given interactive item with a function of the computer, and wherein the method comprises activating the function when the given interactive item has been enlarged, in response to the movement, to at least a predetermined threshold size.

22. The apparatus according to claim 21, wherein the computer is configured to activate the function by playing a media item associated with the given interactive item.

23. The apparatus according to claim 21, wherein the computer is configured to activate the function by executing a software application.

24. The apparatus according to claim 21, wherein the computer is configured to activate the function by displaying an image over a full area of the display.

25. The apparatus according to claim 19, wherein the computer is configured to associate the given interactive item by choosing the interactive item that is presented at a center of the display.

26. The apparatus according to claim 19, wherein the predetermined gesture comprises closing at least some of the fingers of the hand.

27. An apparatus, comprising:
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,
wherein the computer is configured to associate the given interactive item by detecting, in the first sequence of images, a predetermined gesture of the hand comprising closing at least some of the fingers of the hand, and initiating association of the given interactive item with the hand responsively to the gesture, and
to release the association of the given interactive item from the hand upon detecting that the fingers have opened.

28. The apparatus according to claim 19, wherein the movement of the hand comprises motion away from the display, and wherein the computer is configured to inhibit associating the different one of the interactive items with the hand when the given interactive item has been enlarged, responsively to the motion, beyond a predetermined threshold size.

29. The apparatus according to claim 28, wherein the computer is configured to assign less significance to motion along a plane comprising vertical and horizontal axes, upon detecting the motion away from the display.

30. The apparatus according to claim 19, wherein at least some of the interactive items contain sub-items, which are not displayed as long as the interactive items presented on the display are smaller than a predetermined size, and wherein the computer is configured to enlarge the given interactive item by displaying the sub-items contained by the given interactive item when the given interactive item is enlarged to at least the predetermined size.

31. The apparatus according to claim 30, wherein the computer is configured to enlarge the given interactive item in response the movement comprising significant motion away from the display.

32. The apparatus according to claim 19, wherein the computer is configured to sense the position by generating a three-dimensional (3D) map of at least a part of body of the user, including the hand.

33. The apparatus according to claim 19, wherein the computer is configured to associate the item with the hand by identifying the item based on a gaze of the user.

34. The apparatus according to claim 19, wherein the computer is configured to associate the item with the hand by identifying the item based on a pointing gesture performed the user.

35. The apparatus according to claim 19, wherein the computer is configured to present the multiple interactive items by organizing the multiple interactive items as a grid on the display.

36. The apparatus according to claim 19, wherein the computer is configured to change the size of the one of the items by enlarging the one of the items on the display.

37. 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 user interface, 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,
wherein the instructions cause the computer to associate the given interactive item by detecting, in the first sequence of images, a predetermined gesture of the hand comprising closing at least some of the fingers of the hand, and initiating association of the given interactive item with the hand responsively to the gesture, and to release the association of the given interactive item from the hand upon detecting that the fingers have opened.

38. 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 user interface, 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,
wherein the instructions cause the computer to associate the given interactive item by detecting, in the first sequence of images, a predetermined gesture of the hand, and initiating association of the given interactive item with the hand responsively to the gesture, and to detect, in the first sequence of images, a transverse motion of the hand while the hand maintains the gesture, and to associate a different one of the interactive items with the hand responsively to the transverse motion.