Electronic devices such as smartphones, wearable computers, and tablets, are regularly relied upon for both business and personal use. Users communicate with them via voice and touch and treat them like a virtual assistant to schedule meetings and events, consume digital media, and share presentations and documents. The processing power of these devices is augmented by machine-learning, which helps the devices anticipate their users' preferences. For all this computing power and artificial intelligence, however, these devices are still reactive communicators. That is, however “smart” a smartphone is, and however much the user talks to it like it is a person, the electronic device is still dependent on being activated before it can provide feedback. To activate the mobile device, the user typically has to first pick up the device to make it aware of the user's intention to use the electronic device. Only after this physical interaction can the device make applications and functionality available for the user. Consequently, many electronic devices provide poor user experiences prior to explicit interaction by the user.
This document describes techniques and systems that provide methods for reliable acceptance of user non-contact gesture inputs for a mobile device. The techniques and systems use a radar field to enable an electronic device to accurately determine the presence or absence of a user near the electronic device and to detect a reach or other gesture the user makes. Further, the electronic device can determine whether an application that can receive input through radar-based touch-independent gestures (radar gestures) is stored or operating on the electronic device. Using these techniques, the electronic device can present a gesture-confirmation element on a display of the electronic device when the user successfully makes a radar gesture while the user's hand is within a gesture zone around the electronic device. The gesture-confirmation element lets the user know that the radar gesture has been successfully received. This allows the device to provide the user with feedback, which can educate the user about what the electronic device is capable of and allow the user to take advantage of the additional functionality and features provided by the availability of the radar gesture.
Aspects described below include a method implemented in an electronic device that includes a display and a radar system. The method comprises receiving radar data from the radar system, the radar data determined based on reflections of a portion of the user moving within a gesture zone of the electronic device and determining a radar gesture based on the radar data, or receiving a radar gesture. The method also includes determining that the radar gesture corresponds to a control input of an application on the electronic device. The method additionally includes providing a gesture-confirmation element on the display of the electronic device, the gesture-confirmation element indicating that the movement of the portion of the user within the gesture zone of the electronic device is determined to comprise the radar gesture and that the radar gesture corresponds to the control input of the application. The method also includes causing the application to respond to the control input.
Aspects described below also include an electronic device comprising a computer processor, a radar system, and a computer-readable media. The radar system is implemented at least partially in hardware and provides a radar field. The radar system also senses reflections from a user in the radar field, analyzes the reflections from the user in the radar field, and provides radar data based on the analysis of the reflections. The computer-readable media include stored instructions that can be executed by the computer processors to implement a radar-based gesture-feedback manager. The radar-based gesture-feedback manager receives the radar data from the radar system, the radar data determined based on reflections of a portion of the user moving within a gesture zone of the electronic device and determine a radar gesture based on the radar data, or receives a radar gesture. The radar-based gesture-feedback manager also determines that the radar gesture corresponds to a control input of an application on the electronic device. The radar-based gesture-feedback manager also provides a gesture-confirmation element on a display of the electronic device, the gesture-confirmation element indicating that the movement of the portion of the user within the gesture zone of the electronic device is determined to comprise the radar gesture and that the radar gesture corresponds to the control input of the application. The radar-based gesture-feedback manager further causes the application to respond to the control input.
Aspects described below include a system comprising a display, and an electronic device that includes, or is associated with means for providing a radar field that provides radar data, the radar data based on sensing and analyzing reflections from an object in the radar field. The system also includes means for receiving the radar data from the radar system, the radar data determined based on reflections of a portion of the user moving within a gesture zone of the electronic device and determine a radar gesture based on the radar data, or means for receiving a radar gesture. The system also includes means for determining that the radar gesture corresponds to a control input of an application on the electronic device. The system also includes means for providing a gesture-confirmation element on the display of the electronic device, the gesture-confirmation element indicating that the movement of the portion of the user within the gesture zone of the electronic device is determined to comprise the radar gesture and that the radar gesture corresponds to the control input of the application. The system also includes means for causing the application to respond to the control input.
This summary is provided to introduce simplified concepts concerning the methods for reliable acceptance of user non-contact gesture inputs for a mobile device, which is further described below in the Detailed Description and Drawings. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.
The details of one or more aspects of methods for reliable acceptance of user non-contact gesture inputs for a mobile device are described in this document with reference to the following drawings. The same numbers are used throughout the drawings to reference like features and components:
Overview
This document describes techniques and systems that enable methods for reliable acceptance of user non-contact gesture inputs for a mobile device. The described techniques employ a radar system that detects and determines radar-based touch-independent gestures made by the user. The techniques also determine when the device is running an application that can receive input through radar-based touch-independent gestures. When the device is running one of these applications (or has one stored that can be run) and a user is present, the techniques provide a gesture-confirmation element, giving the user feedback when a radar gesture has been successfully made or received to control an application on the electronic device.
In this description, the terms “radar-based touch-independent gesture,” “3D gesture,” or “radar gesture” refer to the nature of a gesture in space, away from the electronic device (e.g., the gesture does not require the user to touch the device, though the gesture does not preclude touch). The radar gesture itself may often only have an active informational component that lies in two dimensions, such as a radar gesture consisting of an upper-left-to-lower-right swipe in a plane, but because the radar gesture also has a distance from the electronic device (a “third” dimension), the radar gestures discussed herein can be generally be considered three-dimensional.
Using these techniques, the electronic device can provide feedback and a notification to make the user aware of the available radar gestures and their corresponding ability to control an application, and provide feedback regarding the use, success, failure, and results of the radar gestures. In some cases, a determination of the user's absence, presence, or location can also be used to provide a more-responsive and more-efficient authentication process. For example, the techniques enable the device to anticipate when the user is ready to be authenticated and to more-accurately determine when to lock the device when the user is away. Because the described techniques allow the electronic device to provide the user with useful feedback about available input modes, interactions may be more convenient and less frustrating because the user is aware of the input modes and can be confident about different ways in which the device can interact and receive input.
Consider an example smartphone that includes the described radar system. In this example, an application that has a capability to receive input through radar gestures is operating on the electronic device. This type of application will be referred to as a radar-gesture application. Examples of radar-gesture applications include music players, media players, and applications or features of an electronic device that provide alerts or a reminder, such as a calendar. In this example, a gesture-feedback manager causes the electronic device to present a gesture-confirmation element on a display of the device when the user successfully performs a radar gesture. The radar gesture is determined to be successful based on various criteria that may change depending on factors such as the type of radar-gesture application or the type of radar gesture. For example, the criteria may include the shape of the radar gesture, the velocity of the radar gesture, or whether the user's hand is within a gesture zone around the electronic device during the completion of the radar gesture. Similarly, when the gesture-feedback manager detects a user's motion in the gesture zone that does not meet the criteria for a successful radar gesture, the gesture-feedback manager causes the electronic device to present a visual feedback element on the display to indicate the failed gesture.
The gesture zone is a volume around the electronic device within which the gesture-feedback manager can determine a radar gesture (e.g., using radar data to determine various parameters of a user' motion within the gesture zone). The gesture zone may be a threshold distance, such as within three, five, seven, or nine inches. In some cases, the gesture zone may extend different threshold distances from the electronic device in different directions (e.g., it can have a wedged, oblong, ellipsoid, or asymmetrical shape). The size or shape of the gesture zone can also vary over time or be based on other factors such as a state of the electronic device (e.g., battery level, orientation, locked or unlocked), or an environment (such as in a pocket or purse, in a car, or on a flat surface).
The gesture-confirmation element, and the visual feedback element indicating a failed gesture, are user-perceivable elements (e.g., visual elements that are presented on the display of the electronic device) that indicate whether the user successfully performed a radar gesture. These elements can be used to inform the user that a radar gesture has been detected and whether the radar gesture was successful for interacting with a radar-gesture application. For example, when a radar-gesture application is running on the electronic device, the display may present an icon, a contrasted lighting area (e.g., an area that is brighter or dimmer than the surrounding area), or an area of different or contrasting color (including in some cases, a combination of one or more of these features). When a radar gesture is successfully completed, the gesture-confirmation element is presented and when the radar gesture fails, the visual feedback element indicating a failed gesture is presented.
The described techniques and systems employ a radar system, along with other features, to provide a useful and rewarding user experience, including visual feedback, based on the user's gestures and the operation of a radar-gesture application on the electronic device. Rather than relying only on the user's knowledge and awareness of a particular radar-gesture application, the electronic device can provide feedback to the user to indicate the success or failure of a radar gesture the user made.
Some conventional electronic devices may include sensors, such as cameras, proximity sensors (e.g., capacitive or infra-red sensors), or accelerometers to determine the location of the user and adjust various functions of the electronic device based on the proximity of the user. For example, the electronic device may provide additional privacy or aesthetic value by turning off a display unless the user is within a predetermined distance. The conventional electronic device, however, typically cannot provide a useful and rich ambient experience that can educate the user about the capabilities of the electronic device and the user's interactions with the electronic device. These are but a few examples of how the described techniques and devices may be used to enable the methods for reliable acceptance of user non-contact gesture inputs for a mobile device, other examples and implementations of which are described throughout this document. The document now turns to an example operating environment, after which example devices, methods, and systems are described.
Operating Environment
In the example environment 100, the radar system 104 provides a radar field 110 by transmitting one or more radar signals or waveforms as described below with reference to
In some cases, the recognition zone may be dynamically and automatically adjustable by the gesture-feedback manager 106 based on various factors, such as the velocity or location of the electronic device 102, a time of day, or a state of an application running on the electronic device 102. The threshold distance or recognition zone can be determined based on a number of relevant factors, such as battery level, location of the electronic device, velocity of the electronic device, or data received from one or more of the radar system, other sensors, or applications running on the electronic device.
Some implementations of the radar system 104 are particularly advantageous as applied in the context of smartphones, such as the electronic device 102, for which there is a convergence of issues such as a need for low power, a need for processing efficiency, limitations in a spacing and layout of antenna elements, and other issues, and are even further advantageous in the particular context of smartphones for which radar detection of fine hand gestures is desired. Although the implementations are particularly advantageous in the described context of the smartphone for which fine radar-detected hand gestures are required, it is to be appreciated that the applicability of the features and advantages of the present invention is not necessarily so limited, and other implementations involving other types of electronic devices (e.g., as described with reference to
The object may be any of a variety of objects from which the radar system 104 can sense and analyze radar reflections, such as wood, plastic, metal, fabric, a human body, or a portion of a human body (e.g., a foot, hand, or finger of a user of the electronic device 102). As shown in
The radar data can be continuously or periodically provided over time, based on the sensed and analyzed reflections from the object (e.g., the hand 112 in the radar field 110). A position of the hand 112 can change over time (e.g., the hand 112 may move within the radar field 110) and the radar data can thus vary over time corresponding to the changed positions, reflections, and analyses. Because the radar data may vary over time, the radar system 104 provides radar data that includes one or more subsets of radar data that correspond to different periods of time. For example, the radar system 104 can provide a first subset of the radar data corresponding to a first time-period, a second subset of the radar data corresponding to a second time-period, and so forth. In some cases, different subsets of the radar data may overlap, entirely or in part (e.g., one subset of the radar data may include some or all of the same data as another subset).
The electronic device 102 can also include a display 114 and an application manager 116. The display 114 can include any suitable display device, such as a touchscreen, a liquid crystal display (LCD), thin film transistor (TFT) LCD, an in-place switching (IPS) LCD, a capacitive touchscreen display, an organic light emitting diode (OLED) display, an active-matrix organic light-emitting diode (AMOLED) display, super AMOLED display, and so forth. The display 114 is used to display visual elements that are associated with various modes of the electronic device 102, which are described in further detail with reference to
The gesture-feedback manager 106 can be used to interact with or control various components of the electronic device 102 (e.g., modules, managers, systems, interfaces, or one or more of the non-radar sensors 108). For instance, the gesture-feedback manager 106 (independently or through the application manager 116) can determine that an application on the electronic device has a capability to receive input through radar gestures (e.g., is a radar-gesture application). The radar-gesture application may be currently executing or operating on the electronic device or not currently executing or operating, but stored on the electronic device (e.g., by a memory device) or stored at another location that can be accessed by the electronic device. The radar gesture may be determined based on the radar data and received through the radar system 104 (e.g., based on radar data that is determined based on reflections of a portion of the user moving within a gesture zone of the electronic device). For example, the gesture-feedback manager 106 can use one or more subsets of the radar data received from the radar system 104 to detect a motion performed by the portion of the user, such as the hand 112 or an object, that is within a gesture zone 118 of the electronic device 102. The gesture-feedback manager 106 then determines, based on the radar data, whether the user's motion is a radar gesture. In other cases, another component of, or associated with, the electronic device can determine the radar gesture, or radar data that represents the radar gesture, and the gesture-feedback manager 106 can receive the radar gesture, or radar data that represents the radar gesture, from the other component.
The gesture zone 118 is a region or volume around the electronic device 102 within which the radar system 104 (or another module or application) can detect radar gestures and determine that the radar gesture corresponds to a control input of the application on the electronic device. For example, the gesture zone 118 can be a fixed volume around the electronic device that has a static size and/or shape (e.g., a threshold distance around the electronic device 102, such as within three, five, seven, nine, or twelve inches) that is predefined, user-selectable, or determined via another method (e.g., based on power requirements, remaining battery life, or another factor). In some other cases, the gesture zone 118 may be a volume around the electronic device that is dynamically and automatically adjustable by the interaction manager 106, based on factors such as the velocity or location of the electronic device 102, a time of day, a state of an application running on the electronic device 102, or another factor. While the radar system 104 can detect objects within the radar field 110 at greater distances, the gesture zone 118 helps the electronic device 102 and the radar-gesture applications to distinguish between intentional radar gestures by the user and other kinds of motions that may resemble radar gestures, but are not intended as such by the user.
The gesture-feedback manager 106 can determine whether the motion is a radar gesture in any suitable manner. For example, the gesture-feedback manager 106 can use radar data (e.g., one or more subsets of the radar data) to determine whether the motion meets one or more criteria to be considered a radar gesture. The criteria can include various parameters of the motion, such as a path, shape, length, velocity, or distance from the electronic device. In some cases, the gesture-feedback manager 106 determines the parameters for the motion and compares them to gesture data in a gesture library 120 to determine whether the user's motion matches a known radar gesture.
When the motion meets the criteria, (e.g., is determined to be a radar gesture), the gesture-feedback manager 106 (or another component associated with the electronic device 102) determines whether the radar gesture corresponds to a control input of the application. The control input is an input, such as control signal, that corresponds to an action of the application. For example, the control input can correspond to an instruction to dismiss an alert or notification on the display of the electronic device, silence a ringer or alarm, or skip to a next or previous media item. In some cases, the gesture library 120, or another component, can store relationships between control inputs and radar gestures, and the gesture-feedback manager 106 can use the relationships in the gesture library 120 to determine whether the radar gesture corresponds to a control input of the application. Thus, a radar gesture may be successful if it is properly made (e.g., meets the criteria), when it corresponds to a control input of the application, or when the application receives and responds to the control input.
The gesture-feedback manager 106 also provides a gesture-confirmation element 122 on the display 114. The appearance of the gesture-confirmation element 122 indicates that the movement of the portion of the user within the gesture zone of the electronic device is the radar gesture and/or that the radar gesture corresponds to the control input of the application on the electronic device. In some cases, the gesture-confirmation element 122 can also or instead indicate that the application received the radar gesture, control input, and/or the control signal. In a similar way, when the user's motion does not meet the criteria (e.g., is determined not to be a radar gesture) or if the radar gesture is not one used by the application on the electronic device, the gesture-feedback manager 106 causes the display 114 to present another visual feedback element on the display 114. The appearance of the other visual feedback element indicates that the movement of the portion of the user within the gesture zone of the electronic device is determined not to be the radar gesture and/or that the radar gesture does not correspond to the control input of the application (or that the application did not receive the control signal).
In some implementations, the gesture-feedback manager 106 provides the gesture-confirmation element 122 on the display 114 (or causes the display 114 to present the gesture-confirmation element 122) in response to the determination that the motion of the portion of the user is a radar gesture. In this implementation, the feedback element may be presented just after, or simultaneously with, the determination that the motion of the portion of the user is a radar gesture.
In some implementations, the gesture-feedback manager 106 may also cause the application to respond to the control input. For example, in implementations in which the application is currently executing, the gesture-feedback manager 106 can send the control input to the application. In implementations in which the application is not currently executing, gesture-feedback manager 106 can cause the application to begin executing and send the control input to the application.
The described techniques can inform the user when a motion, such as a reach, a swipe gesture (a motion that is generally horizontal or vertical with respect to content on the display 114), or an “omni-gesture” (a gesture without a particular orientation with respect to the content) is successful. When a radar gesture is attempted, the gesture-feedback manager 106 provides the user with visual feedback that indicates whether the user's motion was determined to be a radar gesture or whether the application successfully received the radar gesture. This can help the user understand how radar gestures can be used to interact with applications and whether the gesture was successful.
The gesture-confirmation element 122 is a user-perceivable element, such as a visual element that appears on an active area of the display 114. The gesture-confirmation element 122 can also be (or include) a light element that is not on the display (e.g., a light-emitting diode (LED) or an LED array mounted on a housing or bezel of the electronic device), a haptic element (e.g., a vibration element), and/or an audio element (e.g., a user-perceivable sound). In some cases, the gesture-confirmation element 122 may be presented at or along an edge of the display 114. In this document, the phrases “at an edge” and “along an edge” refer to being near or adjacent to an edge (e.g., adjacent to the edge with no gap or with a gap such as one pixel, two pixels, three pixels, and so forth). The gesture-confirmation element 122 may have any of a variety of shapes, sizes, colors, and other visual parameters or properties. Examples of the other visual parameters or properties include luminosity, color, contrast, shape, saturation, or opaqueness. Luminosity refers to the brightness of an object as perceived by a human. Modifying the luminosity may include modifying luminance (e.g., brightness), contrast, and/or opaqueness.
The visual element may have an area that is a portion of the active area of the display 114 that has a luminosity or other visual property that is different from a luminosity or other visual property of another portion of the display 114 that is proximate to the visual element. In this case, the visual element may also have a segment of an exterior border that is within a threshold distance from an edge of the active area of the display (e.g., adjacent to the edge with no gap or with a gap such as one pixel, two pixels, three pixels, one millimeter, two millimeters, three millimeters). While some of these examples describe the gesture-confirmation element 122 as presented at or along an edge of the display 114, the gesture-confirmation element 122 may appear at a location on the display 114 that is not an edge. For example, the edge of the display 114 may include an area beginning at a border of the active area of the display 114 and extending a distance from the border that is no more than approximately 15 percent of a total length of the border of the display 114.
In some implementations, the luminosity (or other visual parameter) of the gesture-confirmation element 122 may vary as the gesture-confirmation element 122 extends across a distance from the edge of the active area of the display 114 (e.g., have a luminosity at or along the edge of the display 114 that decreases as the shape extends away from the edge, or vice versa). For example, the gesture-confirmation element 122 may be presented as an area of the display 114 that has a different luminosity than another area of the display 114 (e.g., an area surrounding or near to the gesture-confirmation element 122) and that is adjacent to the edge of the display 114. In another example, the gesture-confirmation element 122 may be presented as a line, with a predetermined thickness, that has a different luminosity than the display 114 and that is adjacent to the edge of the display 114.
As described above, the gesture-confirmation element 122 can indicate that the application received the radar gesture. In some implementations, the gesture-confirmation element 122 can also provide feedback indicating the kind of radar gesture that was detected and accepted. Consider a radar-gesture application that can receive radar gestures that are directional and/or proportional. For example, the application can receive left-to-right, right-to-left, top-to-bottom, and bottom-to-top gestures (e.g., a swipe gesture). In some cases, the interaction with the application that is associated with the gesture can depend on the criteria described above. Thus, a gesture that goes from left to right within the gesture zone may skip to the next song or photo if it meets some criteria for distance and velocity. The same kind of gesture may instead adjust the volume or zoom if it meets other criteria. Similarly, the velocity of a gesture may determine whether the resultant interaction is to scroll within a webpage or move to a different level of a website.
In these cases, the gesture-confirmation element 122 may also be presented in a different way to indicate the type of interaction or the specific interaction that is associated with the gesture. For example, the visual element (e.g., the gesture-confirmation element 122) can move on the active area of the display in a way that corresponds to the radar gesture (or the movement of the user within the gesture zone). Thus, if the radar gesture is a swipe from left to right or bottom to top, the visual element can move on the display, from left to right or bottom to top, respectively. Other examples of how the gesture-confirmation element 122 can indicate the type of gesture are described in additional detail with reference to
Further, when the user's motion does not meet the criteria (e.g., is determined not to be a radar gesture), the gesture-feedback manager 106 causes the display 114 to present another visual feedback element on the display 114. The other visual feedback element indicates that the motion was determined not be a radar gesture or that the application did not receive the control input. Examples of how the gesture-confirmation element 122 can indicate the type of gesture are described with additional details below with reference to
Consider an example illustrated in
Another detail view 100-2 shows the display 114 in response to the motion of the hand 112. In the detail view 100-2, the gesture-confirmation element 122 is presented on an example display 114-2. The gesture-confirmation element 122 has started to move to the right relative to the position of the visual feedback element 124, corresponding to the movement of the hand 112. The detail view 100-2 also shows an example display 114-3, in which the gesture-confirmation element 122 has started to move around a corner of the example display 114-3. While not shown in the detail view 100-2, the gesture-confirmation element 122 may continue down the edge of the example display 114-3 and disappear or reappear at the top of the example display 114-3 (e.g., in a similar position as the visual feedback element 124). In other implementations (not shown in
In the example shown in
In some implementations, the gesture-confirmation element 122 and the visual feedback element 124 may be the same visual element (e.g., the visual properties are the same or similar, and only the feedback functions are different). In other implementations, the gesture-confirmation element 122 may be presented as an adjustment to a visual element that is already being presented at or along the edge of the active area of the display (e.g., the visual feedback element 124). For example, in the example shown in
The color of the gesture-confirmation element 122 may be any suitable color that can be visually differentiated from the background of the display 114 on which it is presented. The color of the gesture-confirmation element 122 may change based on any of a variety of factors, such as an operational state of the electronic device 102 or an ambient background color of the display 114. In some implementations, the gesture-feedback manager 106 can determine a background color of a region of the display 114 on which the gesture-confirmation element 122 is, or will be, displayed. In response to determining the background color, the gesture-feedback manager 106 can cause the display 114 to present the gesture-confirmation element 122 in another color that is different from the background color. The different color of the gesture-confirmation element 122 can provide human-discernable contrast between the gesture-confirmation element 122 and the background color to make it easier for the user to see the gesture-confirmation element 122. In some cases, the gesture-feedback manager 106 can continuously, automatically, and dynamically adjust the color of the gesture-confirmation element 122, based on changes to the background color.
The gesture-confirmation element 122, in some implementations, may appear, at least in part, as a brief animation. For example, the gesture-confirmation element 122 may appear at the edge of the active display and then grow or shrink before taking on a default appearance. Similarly, the color, luminosity, or shape may change as the gesture-confirmation element 122 appears or disappears (e.g., if the radar-gesture application stops operating) before taking on the default appearance.
In some cases, the gesture-confirmation element 122 may be an image that appears on the display 114, rather than an element that appears in a region of the display 114. The image may have visual parameters that are different from the parameters of an ambient background of the display 114, such as luminosity, saturation, color, and so forth. In other cases, the ambient background may be an image, and the gesture-confirmation element 122 is the same image, with different visual parameters, such as luminosity, saturation, color, and so forth. In this way, the gesture-confirmation element 122 can improve the user's experience by communicating to the user that the electronic device is operating in a mode in which radar gestures are available for interacting with the electronic device 102. Additional details and examples of the gesture-confirmation element 122 are described with reference to
The location of the gesture-confirmation element 122 may be determined based on an orientation of content on the display 114. For example, the gesture-feedback manager 106 may obtain the orientation of the content on the display 114 from the application manager 116 (or from another source). The gesture-feedback manager 106 can also determine, based on the orientation of the content, a direction of the radar gesture that can be used to interact with the content. Based on the direction of the radar gesture, the gesture-feedback manager 106 can cause the display to present the gesture-confirmation element 122 at a particular edge of the active area of the display 114 that corresponds to the direction of the radar gesture. Thus, if the context of the displayed content is horizontal (e.g., the direction of the radar gesture would be left-to-right or right-to-left), the gesture-confirmation element 122 is displayed at a top or bottom edge, to help indicate to the user that the radar gestures are horizontal. Similarly, if the context of the displayed content is vertical (e.g., the direction of the radar gestures would be bottom-to-top or top-to-bottom), the gesture-confirmation element 122 is displayed at a side edge (e.g., a left edge), to help indicate to the user that the radar gestures are vertical.
Further, the gesture-feedback manager 106 may also be able to detect a change in an orientation of the electronic device 102 with respect to the user. For example, the user may rotate the device from a vertical to a horizontal orientation to watch a video or from a horizontal to a vertical orientation to read an article. Based on the change in orientation, the gesture-feedback manager 106 can cause the display 114 to present the gesture-confirmation element 122 on a different edge of the active display. This different edge can maintain an orientation and location of the gesture-confirmation element 122 with respect to the user (e.g., the gesture-confirmation element 122 moves or relocates as the orientation of the user to the device changes). Thus, if the gesture-confirmation element 122 is positioned on a top edge of the display 114 and the user rotates the electronic device 102, the location of the gesture-confirmation element 122 changes from one edge to another so that it remains on “top” with reference to the user. As noted, the gesture-feedback manager 106 also takes into account the orientation of the content, and these features can be used in conjunction with each other to present the gesture-confirmation element 122 on the display 114 at the location appropriate for the orientation of both the content on the display 114 and the orientation of the display 114 with respect to the user.
In some implementations, the gesture-feedback manager 106 can determine that the radar-gesture application that is operating on the electronic device 102 is operating in an immersive mode, such as a full-screen mode without any presented controls. In response to this determination, the gesture-feedback manager 106 can cause the display 114 to periodically present the gesture-confirmation element 122. For example, the display 114 can present the gesture-confirmation element 122 for a presentation time duration and then stop presenting the gesture-confirmation element 122 for a non-presentation time duration. Both the presentation time duration and the non-presentation time duration may be predetermined or selectable. In some cases, the time durations may be user-selectable (e.g., by the user) or selected by the gesture-feedback manager 106 based on various factors, such as the type of radar-gesture application running in the immersive mode (e.g., a game or a streaming media player), the status of the radar-gesture application, or the frequency with which the user employs a radar gesture.
The gesture-confirmation element 122 may fade or disappear entirely when the user interacts with the electronic device 102 using input other than a radar gesture (e.g., a touch or voice input). For example, while a radar-gesture application is operating on the electronic device 102, the user may decide to start another application using a touch command. In this case, the gesture-confirmation element 122 may fade or disappear when the user picks up the electronic device 102 or touches the display 114. When the user stops touching the display 114 or puts down the electronic device 102, the gesture-confirmation element 122 reappears (or brightens) if one or more radar-gesture applications are operating on the electronic device 102. The gesture-confirmation element 122 may reappear or brighten immediately when the touch or voice input ends, or after a selectable time duration. Similarly, when the radar-gesture application is an application that provides an alert or notification, the gesture-confirmation element 122 appears when an alert or notification is displayed, such as when a calendar reminder is displayed. When the user interacts with the alert or notification using a radar gesture (e.g., dismisses or resets the alert or notification), the gesture-confirmation element 122 disappears, unless other radar-gesture applications are running.
The gesture-confirmation element 122 may be presented while the electronic device 102 is in a locked state or an unlocked state. For example, the electronic device 102 may present the gesture-confirmation element 122 (to indicate that the hand 112 is within the gesture zone 118 and that the radar-gesture application is running) when a user is nearby (e.g., within the recognition zone), but not authenticated, or when an authenticated user is nearby. The locked and unlocked states refer to a level of access to the electronic device 102. A locked state may be a state in which no user in authenticated and anyone using the device will have less than full rights or access (e.g., no access or rights, or limited access or rights). Examples of the locked state may include the aware and engaged modes of the electronic device 102 as described herein. Similarly, an unlocked state can be a state in which at least one user is authenticated and that user has full rights and/or access to the device. An example of the unlocked state is the active mode of the electronic device 102, as described herein. In some cases, the locked or unlocked state may have varying characteristics, depending on the type, configuration, or status (e.g., a battery level or a connectivity status) of the electronic device 102. Accordingly, characteristics of the locked and unlocked states for different devices or for the same device in different contexts may overlap, or include similar features, depending on those factors.
When the user is interacting with a radar-gesture application operating on the electronic device 102 and the user receives a phone call, alarm, or notification, the gesture-feedback manager 106 (or another component) can manage the way the radar gestures and visual feedback are processed. For example, the most recent application may take priority for a reach or swipe. Thus, if the ringer, alert, or alarm is played while the user is interacting, and the user reaches or swipes, the gesture is interpreted as a direction-independent gesture (e.g., an omni-gesture), which mutes or dims the volume or dismisses the ringer, alarm, or notification. The priority for gestures then returns to the radar-gesture application that was operating.
In these cases, the described techniques can provide visual feedback that can enhance the user's experience with the electronic device 102. For example, if a user receives a phone call while the ringer is on or if an application plays an audible alarm, the user can simply reach for the electronic device 102. The radar system 104 can detect the reach and the gesture-feedback manager 106 can lower the volume of the ringer or alarm. Optionally, the user can make a radar gesture, such as a swipe, to mute the ringer or alarm. Similarly, when an application presents a notification on the display of the electronic device (e.g., a calendar reminder), the radar system 104 can detect the user's reach and keep the incoming notification on the display (e.g., rather than the notification disappearing after a time-out period). In some cases, the notification can become interactive when the reach is detected (e.g., the size of the notification can increase and interactive options, such as “reply” or “snooze” may be displayed).
When an application provides an alert that can be dismissed or muted (e.g., a ring, alarm, or notification), the gesture-feedback manager 106 can also present the gesture-confirmation element 122 (or another visual feedback element) when the user reaches for the device. When the muting or dismissing is complete, or when the user stops reaching or withdraws the reach, the gesture-confirmation element 122 ceases to be presented. In this way, the user's experience with alarms and ringers can be enhanced by detection of a reach or swipe, which can improve the user's experience with the electronic device. Additionally, the user receives feedback (e.g., the gesture-confirmation element 122) that the radar system and gesture-feedback manager 106 are operating to modify the alert or alarm, rather than merely dismissing or muting the alarm or ringer, which further improves the user's experience.
In more detail, consider
In some implementations, exemplary overall lateral dimensions of the electronic device 102 can be approximately eight centimeters by approximately fifteen centimeters. Exemplary footprints of the radar system 104 can be even more limited, such as approximately four millimeters by six millimeters with antennas included. This requirement for such a limited footprint for the radar system 104 is to accommodate the many other desirable features of the electronic device 102 in such a space-limited package (e.g., a fingerprint sensor, the non-radar sensor 108, and so forth). Combined with power and processing limitations, this size requirement can lead to compromises in the accuracy and efficacy of radar-gesture detection, at least some of which can be overcome in view of the teachings herein.
The electronic device 102 also includes one or more computer processors 202 and one or more computer-readable media 204, which includes memory media and storage media. Applications and/or an operating system (not shown) implemented as computer-readable instructions on the computer-readable media 204 can be executed by the computer processors 202 to provide some or all of the functionalities described herein. For example, the processors 202 can be used to execute instructions on the computer-readable media 204 to implement the radar-based gesture-feedback manager 106 and/or the application manager 116. The electronic device 102 may also include a network interface 206. The electronic device 102 can use the network interface 206 for communicating data over wired, wireless, or optical networks. By way of example and not limitation, the network interface 206 may communicate data over a local-area-network (LAN), a wireless local-area-network (WLAN), a personal-area-network (PAN), a wide-area-network (WAN), an intranet, the Internet, a peer-to-peer network, point-to-point network, or a mesh network.
Various implementations of the radar system 104 can include a System-on-Chip (SoC), one or more Integrated Circuits (ICs), a processor with embedded processor instructions or configured to access processor instructions stored in memory, hardware with embedded firmware, a printed circuit board with various hardware components, or any combination thereof. The radar system 104 can operate as a monostatic radar by transmitting and receiving its own radar signals.
In some implementations, the radar system 104 may also cooperate with other radar systems 104 that are within an external environment to implement a bistatic radar, a multistatic radar, or a network radar. Constraints or limitations of the electronic device 102, however, may impact a design of the radar system 104. The electronic device 102, for example, may have limited power available to operate the radar, limited computational capability, size constraints, layout restrictions, an exterior housing that attenuates or distorts radar signals, and so forth. The radar system 104 includes several features that enable advanced radar functionality and high performance to be realized in the presence of these constraints, as further described below with respect to
These and other capabilities and configurations, as well as ways in which entities of
Using the communication interface 302, the radar system 104 can provide radar data to the gesture-feedback manager 106. The communication interface 302 may be a wireless or wired interface based on the radar system 104 being implemented separate from, or integrated within, the electronic device 102. Depending on the application, the radar data may include raw or minimally processed data, in-phase and quadrature (I/Q) data, range-Doppler data, processed data including target location information (e.g., range, azimuth, elevation), clutter map data, and so forth. Generally, the radar data contains information that is usable by the gesture-feedback manager 106 for the methods for reliable acceptance of user non-contact gesture inputs for a mobile device.
The antenna array 304 includes at least one transmitting antenna element (not shown) and at least two receiving antenna elements (as shown in
Due to a size or layout constraint of the electronic device 102, an element spacing between the receiving antenna elements 402 or a quantity of the receiving antenna elements 402 may not be ideal for the angles at which the radar system 104 is to monitor. In particular, the element spacing may cause angular ambiguities to be present that make it challenging for conventional radars to estimate an angular position of a target. Conventional radars may therefore limit a field of view (e.g., angles that are to be monitored) to avoid an ambiguous zone, which has the angular ambiguities, and thereby reduce false detections. For example, conventional radars may limit the field of view to angles between approximately −45 degrees to 45 degrees to avoid angular ambiguities that occur using a wavelength of 5 millimeters (mm) and an element spacing of 3.5 mm (e.g., the element spacing being 70% of the wavelength). Consequently, the conventional radar may be unable to detect targets that are beyond the 45-degree limits of the field of view. In contrast, the radar system 104 includes the digital beamformer 316 and the angle estimator 318, which resolve the angular ambiguities and enable the radar system 104 to monitor angles beyond the 45-degree limit, such as angles between approximately −90 degrees to 90 degrees, or up to approximately −180 degrees and 180 degrees. These angular ranges can be applied across one or more directions (e.g., azimuth and/or elevation). Accordingly, the radar system 104 can realize low false-alarm rates for a variety of different antenna array designs, including element spacings that are less than, greater than, or equal to half a center wavelength of the radar signal.
Using the antenna array 304, the radar system 104 can form beams that are steered or un-steered, wide or narrow, or shaped (e.g., as a hemisphere, cube, fan, cone, or cylinder). As an example, the one or more transmitting antenna elements (not shown) may have an un-steered omnidirectional radiation pattern or may be able to produce a wide beam, such as the wide transmit beam 406. Either of these techniques enable the radar system 104 to illuminate a large volume of space. To achieve target angular accuracies and angular resolutions, however, the receiving antenna elements 402 and the digital beamformer 316 can be used to generate thousands of narrow and steered beams (e.g., 2000 beams, 4000 beams, or 6000 beams), such as the narrow receive beam 408. In this way, the radar system 104 can efficiently monitor the external environment and accurately determine arrival angles of reflections within the external environment.
Returning to
The transceiver 306 can generate radar signals within a range of frequencies (e.g., a frequency spectrum), such as between 1 gigahertz (GHz) and 400 GHz, between 4 GHz and 100 GHz, or between 57 GHz and 63 GHz. The frequency spectrum can be divided into multiple sub-spectra that have a similar bandwidth or different bandwidths. The bandwidths can be on the order of 500 megahertz (MHz), 1 GHz, 2 GHz, and so forth. As an example, different frequency sub-spectra may include frequencies between approximately 57 GHz and 59 GHz, 59 GHz and 61 GHz, or 61 GHz and 63 GHz. Multiple frequency sub-spectra that have a same bandwidth and may be contiguous or non-contiguous may also be chosen for coherence. The multiple frequency sub-spectra can be transmitted simultaneously or separated in time using a single radar signal or multiple radar signals. The contiguous frequency sub-spectra enable the radar signal to have a wider bandwidth while the non-contiguous frequency sub-spectra can further emphasize amplitude and phase differences that enable the angle estimator 318 to resolve angular ambiguities. The attenuation mitigator 314 or the angle estimator 318 may cause the transceiver 306 to utilize one or more frequency sub-spectra to improve performance of the radar system 104, as further described with respect to
A power manager 320 enables the radar system 104 to conserve power internally or externally within the electronic device 102. In some implementations, the power manager 320 communicates with the gesture-feedback manager 106 to conserve power within either or both of the radar system 104 or the electronic device 102. Internally, for example, the power manager 320 can cause the radar system 104 to collect data using a predefined power mode or a specific gesture-frame update rate. The gesture-frame update rate represents how often the radar system 104 actively monitors the external environment by transmitting and receiving one or more radar signals. Generally speaking, the power consumption is proportional to the gesture-frame update rate. As such, higher gesture-frame update rates result in larger amounts of power being consumed by the radar system 104.
Each predefined power mode can be associated with a particular framing structure, a particular transmit power level, or particular hardware (e.g., a low-power processor or a high-power processor). Adjusting one or more of these affects the radar system's 104 power consumption. Reducing power consumption, however, affects performance, such as the gesture-frame update rate and response delay. In this case, the power manager 320 dynamically switches between different power modes such that gesture-frame update rate, response delay, and power consumption are managed together based on the activity within the environment. In general, the power manager 320 determines when and how power can be conserved, and incrementally adjusts power consumption to enable the radar system 104 to operate within power limitations of the electronic device 102. In some cases, the power manager 320 may monitor an amount of available power remaining and adjust operations of the radar system 104 accordingly. For example, if the remaining amount of power is low, the power manager 320 may continue operating in a lower-power mode instead of switching to a higher-power mode.
The lower-power mode, for example, may use a lower gesture-frame update rate on the order of a few hertz (e.g., approximately 1 Hz or less than 5 Hz) and consume power on the order of a few milliwatts (mW) (e.g., between approximately 2 mW and 4 mW). The higher-power mode, on the other hand, may use a higher gesture-frame update rate on the order of tens of hertz (Hz) (e.g., approximately 20 Hz or greater than 10 Hz), which causes the radar system 104 to consume power on the order of several milliwatts (e.g., between approximately 6 mW and 20 mW). While the lower-power mode can be used to monitor the external environment or detect an approaching user, the power manager 320 may switch to the higher-power mode if the radar system 104 determines the user is starting to perform a gesture. Different triggers may cause the power manager 320 to dynamically switch between the different power modes. Example triggers include motion or the lack of motion, appearance or disappearance of the user, the user moving into or out of a designated region (e.g., a region defined by range, azimuth, or elevation), a change in velocity of a motion associated with the user, or a change in reflected signal strength (e.g., due to changes in radar cross section). In general, the triggers that indicate a lower probability of the user interacting with the electronic device 102 or a preference to collect data using a longer response delay may cause a lower-power mode to be activated to conserve power.
Each power mode can be associated with a particular framing structure. The framing structure specifies a configuration, scheduling, and signal characteristics associated with the transmission and reception of the radar signals. In general, the framing structure is set up such that the appropriate radar data can be collected based on the external environment. The framing structure can be customized to facilitate collection of different types of radar data for different applications (e.g., proximity detection, feature recognition, or gesture recognition). During inactive times throughout each level of the framing structure, the power-manager 320 can turn off the components within the transceiver 306 in
Consider an example framing structure (not illustrated) for the lower-power mode that consumes approximately 2 mW of power and has a gesture-frame update rate between approximately 1 Hz and 4 Hz. In this example, the framing structure includes a gesture frame with a duration between approximately 250 ms and 1 second. The gesture frame includes thirty-one pulse-mode feature frames. One of the thirty-one pulse-mode feature frames is in the active state. This results in the duty cycle being approximately equal to 3.2%. A duration of each pulse-mode feature frame is between approximately 8 ms and 32 ms. Each pulse-mode feature frame is composed of eight radar frames. Within the active pulse-mode feature frame, all eight radar frames are in the active state. This results in the duty cycle being equal to 100%. A duration of each radar frame is between approximately 1 ms and 4 ms. An active time within each of the active radar frames is between approximately 32 μs and 128 μs. As such, the resulting duty cycle is approximately 3.2%. This example framing structure has been found to yield good performance results. These good performance results are in terms of good gesture recognition and presence detection while also yielding good power efficiency results in the application context of a handheld smartphone in a low-power state. Based on this example framing structure, the power manager 320 can determine a time for which the radar system 104 is not actively collecting radar data. Based on this inactive time period, the power manager 320 can conserve power by adjusting an operational state of the radar system 104 and turning off one or more components of the transceiver 306, as further described below.
The power manager 320 can also conserve power by turning off one or more components within the transceiver 306 (e.g., a voltage-controlled oscillator, a multiplexer, an analog-to-digital converter, a phase lock loop, or a crystal oscillator) during inactive time periods. These inactive time periods occur if the radar system 104 is not actively transmitting or receiving radar signals, which may be on the order of microseconds (μs), milliseconds (ms), or seconds (s). Further, the power manager 320 can modify transmission power of the radar signals by adjusting an amount of amplification provided by a signal amplifier. Additionally, the power manager 320 can control the use of different hardware components within the radar system 104 to conserve power. If the processor 308 comprises a lower-power processor and a higher-power processor (e.g., processors with different amounts of memory and computational capability), for example, the power manager 320 can switch between utilizing the lower-power processor for low-level analysis (e.g., implementing the idle mode, detecting motion, determining a location of a user, or monitoring the environment) and the higher-power processor for situations in which high-fidelity or accurate radar data is requested by the gesture-feedback manager 106 (e.g., for implementing the aware mode, the engaged mode, or the active mode, gesture recognition or user orientation).
Further, the power manager 320 can determine a context of the environment around the electronic device 102. From that context, the power manager 320 can determine which power states are to be made available and how they are configured. For example, if the electronic device 102 is in a user's pocket, then although the user is detected as being proximate to the electronic device 102, there is no need for the radar system 104 to operate in the higher-power mode with a high gesture-frame update rate. Accordingly, the power manager 320 can cause the radar system 104 to remain in the lower-power mode, even though the user is detected as being proximate to the electronic device 102, and cause the display 114 to remain in an off or other lower-power state. The electronic device 102 can determine the context of its environment using any suitable non-radar sensor 108 (e.g., gyroscope, accelerometer, light sensor, proximity sensor, capacitance sensor, and so on) in combination with the radar system 104. The context may include time of day, calendar day, lightness/darkness, number of users near the user, surrounding noise level, speed of movement of surrounding objects (including the user) relative to the electronic device 102, and so forth).
Assuming a transmit power of the radar system 104 is limited, and re-designing the exterior housing is not desirable, one or more attenuation-dependent properties of the radar signal 506 (e.g., a frequency sub-spectrum 508 or a steering angle 510) or attenuation-dependent characteristics of the attenuator 502 (e.g., a distance 512 between the attenuator 502 and the radar system 104 or a thickness 514 of the attenuator 502) are adjusted to mitigate the effects of the attenuator 502. Some of these characteristics can be set during manufacturing or adjusted by the attenuation mitigator 314 during operation of the radar system 104. The attenuation mitigator 314, for example, can cause the transceiver 306 to transmit the radar signal 506 using the selected frequency sub-spectrum 508 or the steering angle 510, cause a platform to move the radar system 104 closer or farther from the attenuator 502 to change the distance 512, or prompt the user to apply another attenuator to increase the thickness 514 of the attenuator 502.
Appropriate adjustments can be made by the attenuation mitigator 314 based on pre-determined characteristics of the attenuator 502 (e.g., characteristics stored in the computer-readable media 204 of the electronic device 102 or within the system media 310) or by processing returns of the radar signal 506 to measure one or more characteristics of the attenuator 502. Even if some of the attenuation-dependent characteristics are fixed or constrained, the attenuation mitigator 314 can take these limitations into account to balance each parameter and achieve a target radar performance. As a result, the attenuation mitigator 314 enables the radar system 104 to realize enhanced accuracy and larger effective ranges for detecting and tracking the user that is located on an opposite side of the attenuator 502. These techniques provide alternatives to increasing transmit power, which increases power consumption of the radar system 104, or changing material properties of the attenuator 502, which can be difficult and expensive once a device is in production.
The transceiver 306 produces raw data 602 based on individual responses of the receiving antenna elements 402 to a received radar signal. The received radar signal may be associated with one or more frequency sub-spectra 604 that were selected by the angle estimator 318 to facilitate angular ambiguity resolution. The frequency sub-spectra 604, for example, may be chosen to reduce a quantity of sidelobes or reduce an amplitude of the sidelobes (e.g., reduce the amplitude by 0.5 dB, 1 dB, or more). A quantity of frequency sub-spectra can be determined based on a target angular accuracy or computational limitations of the radar system 104.
The raw data 602 contains digital information (e.g., in-phase and quadrature data) for a period of time, different wavenumbers, and multiple channels respectively associated with the receiving antenna elements 402. A Fast-Fourier Transform (FFT) 606 is performed on the raw data 602 to generate pre-processed data 608. The pre-processed data 608 includes digital information across the period of time, for different ranges (e.g., range bins), and for the multiple channels. A Doppler filtering process 610 is performed on the pre-processed data 608 to generate range-Doppler data 612. The Doppler filtering process 610 may comprise another FFT that generates amplitude and phase information for multiple range bins, multiple Doppler frequencies, and for the multiple channels. The digital beamformer 316 produces beamforming data 614 based on the range-Doppler data 612. The beamforming data 614 contains digital information for a set of azimuths and/or elevations, which represents the field of view for which different steering angles or beams are formed by the digital beamformer 316. Although not depicted, the digital beamformer 316 may alternatively generate the beamforming data 614 based on the pre-processed data 608 and the Doppler filtering process 610 may generate the range-Doppler data 612 based on the beamforming data 614. To reduce a quantity of computations, the digital beamformer 316 may process a portion of the range-Doppler data 612 or the pre-processed data 608 based on a range, time, or Doppler frequency interval of interest.
The digital beamformer 316 can be implemented using a single-look beamformer 616, a multi-look interferometer 618, or a multi-look beamformer 620. In general, the single-look beamformer 616 can be used for deterministic objects (e.g., point-source targets having a single phase center). For non-deterministic targets (e.g., targets having multiple phase centers), the multi-look interferometer 618 or the multi-look beamformer 620 are used to improve accuracies relative to the single-look beamformer 616. Humans are an example of a non-deterministic target and have multiple phase centers 622 that can change based on different aspect angles, as shown at 624-1 and 624-2. Variations in the constructive or destructive interference generated by the multiple phase centers 622 can make it challenging for conventional radars to accurately determine angular positions. The multi-look interferometer 618 or the multi-look beamformer 620, however, perform coherent averaging to increase an accuracy of the beamforming data 614. The multi-look interferometer 618 coherently averages two channels to generate phase information that can be used to accurately determine the angular information. The multi-look beamformer 620, on the other hand, can coherently average two or more channels using linear or non-linear beamformers, such as Fourier, Capon, multiple signal classification (MUSIC), or minimum variance distortion less response (MVDR). The increased accuracies provided via the multi-look beamformer 620 or the multi-look interferometer 618 enable the radar system 104 to recognize small gestures or distinguish between multiple portions of the user.
The angle estimator 318 analyzes the beamforming data 614 to estimate one or more angular positions. The angle estimator 318 may utilize signal-processing techniques, pattern-matching techniques, or machine-learning. The angle estimator 318 also resolves angular ambiguities that may result from a design of the radar system 104 or the field of view the radar system 104 monitors. An example angular ambiguity is shown within an amplitude plot 626 (e.g., amplitude response).
The amplitude plot 626 depicts amplitude differences that can occur for different angular positions of the target and for different steering angles 510. A first amplitude response 628-1 (illustrated with a solid line) is shown for a target positioned at a first angular position 630-1. Likewise, a second amplitude response 628-2 (illustrated with a dotted line) is shown for the target positioned at a second angular position 630-2. In this example, the differences are considered across angles between −180 degrees and 180 degrees.
As shown in the amplitude plot 626, an ambiguous zone exists for the two angular positions 630-1 and 630-2. The first amplitude response 628-1 has a highest peak at the first angular position 630-1 and a lesser peak at the second angular position 630-2. While the highest peak corresponds to the actual position of the target, the lesser peak causes the first angular position 630-1 to be ambiguous because it is within some threshold for which conventional radars may be unable to confidently determine whether the target is at the first angular position 630-1 or the second angular position 630-2. In contrast, the second amplitude response 628-2 has a lesser peak at the second angular position 630-2 and a higher peak at the first angular position 630-1. In this case, the lesser peak corresponds to the target's location.
While conventional radars may be limited to using a highest peak amplitude to determine the angular positions, the angle estimator 318 instead analyzes subtle differences in shapes of the amplitude responses 628-1 and 628-2. Characteristics of the shapes can include, for example, roll-offs, peak or null widths, an angular location of the peaks or nulls, a height or depth of the peaks and nulls, shapes of sidelobes, symmetry within the amplitude response 628-1 or 628-2, or the lack of symmetry within the amplitude response 628-1 or 628-2. Similar shape characteristics can be analyzed in a phase response, which can provide additional information for resolving the angular ambiguity. The angle estimator 318 therefore maps the unique angular signature or pattern to an angular position.
The angle estimator 318 can include a suite of algorithms or tools that can be selected according to the type of electronic device 102 (e.g., computational capability or power constraints) or a target angular resolution for the gesture-feedback manager 106. In some implementations, the angle estimator 318 can include a neural network 632, a convolutional neural network (CNN) 634, or a long short-term memory (LSTM) network 636. The neural network 632 can have various depths or quantities of hidden layers (e.g., three hidden layers, five hidden layers, or ten hidden layers) and can also include different quantities of connections (e.g., the neural network 632 can comprise a fully-connected neural network or a partially-connected neural network). In some cases, the CNN 634 can be used to increase computational speed of the angle estimator 318. The LSTM network 636 can be used to enable the angle estimator 318 to track the target. Using machine-learning techniques, the angle estimator 318 employs non-linear functions to analyze the shape of the amplitude response 628-1 or 628-2 and generate angular probability data 638, which indicates a likelihood that the user or a portion of the user is within an angular bin. The angle estimator 318 may provide the angular probability data 638 for a few angular bins, such as two angular bins to provide probabilities of a target being to the left or right of the electronic device 102, or for thousands of angular bins (e.g., to provide the angular probability data 638 for a continuous angular measurement).
Based on the angular probability data 638, a tracker module 640 produces angular position data 642, which identifies an angular location of the target. The tracker module 640 may determine the angular location of the target based on the angular bin that has a highest probability in the angular probability data 638 or based on prediction information (e.g., previously-measured angular position information). The tracker module 640 may also keep track of one or more moving targets to enable the radar system 104 to confidently distinguish or identify the targets. Other data can also be used to determine the angular position, including range, Doppler, velocity, or acceleration. In some cases, the tracker module 640 can include an alpha-beta tracker, a Kalman filter, a multiple hypothesis tracker (MHT), and so forth.
A quantizer module 644 obtains the angular position data 642 and quantizes the data to produce quantized angular position data 646. The quantization can be performed based on a target angular resolution for the gesture-feedback manager 106. In some situations, fewer quantization levels can be used such that the quantized angular position data 646 indicates whether the target is to the right or to the left of the electronic device 102 or identifies a 90-degree quadrant the target is located within. This may be sufficient for some radar-based applications, such as user proximity detection. In other situations, a larger number of quantization levels can be used such that the quantized angular position data 646 indicates an angular position of the target within an accuracy of a fraction of a degree, one degree, five degrees, and so forth. This resolution can be used for higher-resolution radar-based applications, such as gesture recognition, or in implementations of the gesture zone, recognition zone, aware mode, engaged mode, or active mode as described herein. In some implementations, the digital beamformer 316, the angle estimator 318, the tracker module 640, and the quantizer module 644 are together implemented in a single machine-learning module.
These and other capabilities and configurations, as well as ways in which entities of
Example Methods
The method 700 is shown as a set of blocks that specify operations performed but are not necessarily limited to the order or combinations shown for performing the operations by the respective blocks. Further, any of one or more of the operations may be repeated, combined, reorganized, or linked to provide a wide array of additional and/or alternate methods. In portions of the following discussion, reference may be made to the example operating environment 100 of
At 702, radar data is received from the radar system. A radar gesture is determined, based on the radar data. The radar data is determined based on reflections of a portion of the user moving within a gesture zone of the electronic device. Alternatively, the radar gesture based on the radar data is received. For example, the gesture-feedback manager 106 can use one or more subsets of the radar data received from the radar system 104 to detect a motion performed by the portion of the user, such as the hand 112 or an object, that is within a gesture zone 118 of the electronic device 102, as described with reference to
As described with reference to
The gesture-feedback manager (e.g., the gesture-feedback manager 106) can use any of a variety of techniques to determine the radar gesture based on the radar data (e.g., one or more subsets of the radar data). For example, based on the radar data, the gesture-feedback manager 106 can determine whether the motion of the portion of the user meets one or more criteria to be considered a radar gesture. The criteria can include various parameters of the motion, such as a path, shape, length, velocity, or distance from the electronic device. In some cases, the gesture-feedback manager 106 determines the parameters for the motion and compares them to gesture data in a gesture library 120, as described with reference to
At 704, it is determined that the radar gesture corresponds to a control input of an application on the electronic device. The application may be currently executing or operating on the electronic device or not currently executing, but stored on the electronic device (e.g., by a memory device) or stored at another location that can be accessed by the electronic device. For example, as described with reference to
At 706, a gesture-confirmation element is provided on the display of the electronic device. The gesture-confirmation element indicates that the movement of the portion of the user within the gesture zone of the electronic device is determined to be the radar gesture and that the radar gesture corresponds to the control input of the application. For example, the gesture-feedback manager 106 can provide the gesture-confirmation element 122 on the display 114. In some cases, the gesture-confirmation element 122 can also or instead indicate that the application received the radar gesture, control input, and/or the control signal. In some implementations, as described with reference to
At 708, the application is caused to respond to the control input. For example, in implementations in which the application is currently executing, the gesture-feedback manager 106 can send the control input to the application. In implementations in which the application is not currently executing, gesture-feedback manager 106 can cause the application to begin executing and send the control input to the application.
Generally, as described with reference to
In some implementations, as described with reference to
In some implementations of the method 700, the gesture-confirmation element may be presented as an adjustment to a visual element that is already being presented at or along the edge of the active area of the display (e.g., a previously presented visual element indicating that the application operating on the electronic device has the capability to receive a radar gesture). For example, in the example shown in
The color of the gesture-confirmation element may be any suitable color that can be visually differentiated from the background of the display on which it is presented. The color may change based on any of a variety of factors, as described with reference to
As described with reference to
In some implementations of the method 700, the location of the gesture-confirmation element may be determined based on an orientation of content on the display and/or a direction of the radar gesture that is used to interact with the content. For example, as described with reference to
Further, a change in an orientation of the electronic device with respect to the user may be detected and, based on the change in orientation, the gesture-confirmation element may be provided on a different edge of the display, in order to maintain the orientation and location of the gesture-confirmation element with respect to the user. For example, as described with reference to
In some cases, it can be determined that the radar-gesture application running on the electronic device is operating in an immersive mode (e.g., in a full-screen mode without any presented controls). In response to this determination, the display can periodically provide the gesture-confirmation element. For example, as described with reference to
The gesture-confirmation element may fade or disappear entirely when the user interacts with the electronic device using input other than a radar gesture (e.g., a touch or voice input). For example, as described with reference to
The gesture-confirmation element can be provided while the electronic device 102 is in a locked state or an unlocked state. Thus, the electronic device may provide the gesture-confirmation element when a part of the user is within the gesture zone (and a radar-gesture application is running), whether the user is authenticated or not authenticated. As described with reference to
These techniques for the methods for reliable acceptance of user non-contact gesture inputs for a mobile device may be more secure than other authentication and feedback techniques. For example, a user's position, orientation, or use of radar gestures (especially user-defined gestures, micro-gestures, and posture or position-based gestures) are typically not duplicable or obtainable by an unauthorized person (unlike, for example, a password). Further, a radar image of the user (e.g., based on the radar data described above), even if it includes the user's face, does not visually identify the user like a photograph or video may do. Even so, further to the descriptions above, the user may be provided with controls allowing the user to make an election as to both whether and when any of the systems, programs, managers, modules, or features described in this document may enable collection of user information (e.g., images of the user, radar data describing the user, information about a user's social network, social actions or activities, profession, a user's preferences, or a user's current location), and whether and when the user is sent content or communications from a server. In addition, certain data may be treated in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a user's identity may be treated so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as to a city, zip/postal code, or state level), so that a particular location of a user cannot be determined. Thus, the user may have control over what information is collected about the user, how that information is used, and what information is provided to or about the user.
Example Visual Elements
As noted, the techniques and systems described herein can enable the electronic device 102 to provide feedback and notification to make the user aware that at least one application on the electronic device can receive input via radar gestures, and, in some cases, provide additional feedback regarding the use and results of the radar gestures. The feedback and notification are provided by one or more user-perceivable elements, such as visual elements that are presented on the display 114. The techniques and systems can also enable a determination of the user's absence, presence, and location, which can be used to provide a more-responsive and more-efficient authentication process. For example, the techniques enable the electronic device to anticipate when the user is ready to be authenticated and to more-accurately determine when to lock the device when the user is away. The feedback, visual elements, and other features enable interactions that are more convenient and less frustrating because the user is aware of the input modes and can be confident about different ways in which the device can interact and receive input.
Consider
In some implementations, the electronic device 102 can also provide more-detailed visual feedback that is related to the availability of radar gestures. For example, the gesture-feedback manager 106 may cause the display 114 to present other visual elements that provide feedback regarding input received through radar gestures.
For instance, consider
In
As shown in
In some implementations (not shown in
As described with reference to
Generally, a visual feedback element, such as the gesture-confirmation element 122 can be used to provide feedback when the radar gesture is a left-to-right or right-to-left swipe (or when the radar gesture is a motion that includes a component in a left-to-right or right-to-left direction). In the case of a left-to-right motion, the movement of the gesture-confirmation element 122 that corresponds to the radar gesture is a movement from an initial position on the active display to another position on the active display, in which the other position is to a right side of the initial position. Similarly, in the case of a right-to-left motion, the movement of the gesture-confirmation element 122 that corresponds to the radar gesture is a movement from an initial position on the active display to another position on the active display, in which the other position is to a left side of the initial position.
The gesture-confirmation element 122 can also provide feedback when the radar gesture is a top-to-bottom or bottom-to-top swipe (or when the radar gesture is a motion that includes a component in a top-to-bottom direction or in a bottom-to-top direction). In the case of a top-to-bottom motion, the movement of the gesture-confirmation element 122 that corresponds to the radar gesture is a movement from an initial position on the active display to another position on the active display, in which the other position is to a lower side of the initial position. In the case of a bottom-to-top motion, the movement of the gesture-confirmation element 122 that corresponds to the radar gesture is a movement from an initial position on the active display to another position on the active display, in which the other position is to an upper side of the initial position.
In some implementations, the movement of the gesture-confirmation element 122 from the initial position on the active display to the other position on the active display (e.g., left-to-right, right-to-left, top-to-bottom, or bottom-to-top) includes a movement around a corner of the active area of the display. For example, the gesture-confirmation element 122 can start at an initial position along a top edge of the display and the movement can be a movement to the left or right and around a corner of the display. After moving around the corner, the gesture-confirmation element 122 may disappear indefinitely or disappear temporarily and reappear near the initial position (e.g., as if the gesture-confirmation element 122 went around the display).
Consider
The sequence 1008 continues in another example display 114-13, in which the visual element 1004 bends around a corner of the example display 114-13, as shown by an arrow 1012. The visual element 1004 can continue down a side of the display 114 for a variable distance (e.g., as soon as a trailing end of the visual element completes the bend or after the trailing end has traveled a particular distance along the side) and then disappear. Continuing the sequence 1008 in another example display 114-14, the visual element 1004 reappears or regenerates from the left side of the example display 114-14 and moves toward the center position, as shown by an arrow 1014.
In some implementations, the visual element 1004 can reappear or regenerate at the initial position (as shown in the example display 114-11), rather than from the left side. When the sequence 1008 is complete, the display returns to the state as shown in the example display 114-11, with the visual element 1004 displayed near the top of the display 114 and may subtly track the user's hand 1002 while the hand remains within the boundary of the gesture zone. Note that in the example of
Further, while the visual element 1004 of
The sequence 1108 continues in another example display 114-16, in which the visual element 1102 bends around a corner of the example display 114-16, as shown by an arrow 1112. As noted, the visual element 1102 may continue down a side of the display for a variable distance and then disappear. Continuing the sequence 1108 in another example display 114-17, the visual element 1102 reappears or regenerates from the left side of the example display 114-17 (or reappears at the initial position) and moves toward the center position, as shown by an arrow 1114. When the sequence 1108 is complete, the display returns to a state in which the visual element 1102 is displayed near the top of the display 114.
In some implementations, the visual elements 1004 and 1102 can move in the horizontal direction (e.g., as shown in the example displays 114-12 and 114-15) while the radar gesture is being processed. When the radar gesture is successfully received (e.g., the control signal is sent and/or the application responds), the motion of the visual elements 1004 and 1102 changes direction (e.g., goes around the corner as shown in the example displays 114-13 and 114-16). This is particularly advantageous for the human visual system as the change in direction registers very quickly as compared, for example, to the element simply reaching the right edge of the screen.
Consider another example (not illustrated), in which a user is listening to music with a radar-gesture application on a smartphone (e.g., the electronic device 102). Assume the user decides to skip a track and makes a radar gesture over the smartphone. The radar gesture may be a swipe in either direction (e.g., left-to-right to skip to the next track or right-to-left to restart the current track or skip to a previous track). When the user's hand enters the gesture zone, a visual element, such as the gesture-confirmation element 122, is presented. As the user begins the radar gesture, the smartphone (e.g., through the gesture-feedback manager 106) presents the visual element in the sequence 1008 or 1108, as described with reference to
Other examples of visual feedback elements that can indicate a successful radar gesture include a visual element that bends or flexes (e.g., at one end, both ends, in the middle, or at another location) to show a successful radar gesture, such as a gesture made in a direction perpendicular to the display 114 or a gesture with a component that is perpendicular to the display 114. In other cases, the visual element 1004 may disappear at or before it reaches the corner, or it may continue down a side of the display 114 around the corner, or even move all the way around the display 114.
In some implementations, a visual feedback element, such as the gesture-confirmation element 122, can provide feedback that is independent of the motion of the radar gesture. For example, the feedback can be a sequence of changes to the gesture-confirmation element 122. Consider an example sequence in which the gesture-confirmation element 122 increases from an initial size to another size (e.g., become larger) and a luminosity (or other visual property) of at least a part of the gesture-confirmation element 122 increases from an initial luminosity to another luminosity (e.g., become brighter). Continuing the sequence, the gesture-confirmation element 122 then decreases in size until the gesture-confirmation element 122 is not visible. The gesture-confirmation element 122 then returns to the initial size and initial luminosity. Other sequences are also possible. For instance, the gesture-confirmation element 122 can begin the sequence with a decrease from an initial size to another size and have a corresponding increase or decrease in luminosity for at least a part of the gesture-confirmation element 122. The gesture-confirmation element 122 then changes in size again, becoming larger until it returns to the initial size.
In response to the motion 1206 of the user's hand 1202, the visual element 1204 changes, as shown in a sequence 1208 (shown within a dashed-line rectangle). An example display 114-19 illustrates the beginning of the sequence 1208, as the visual element 1204 becomes larger and brighter (e.g., increases in luminosity), and includes a bright line 1210 proximate to the edge of the display 114-19. The sequence 1208 continues in another example display 114-20, in which the visual element 1204 begins to decrease in size, as shown by a double-ended arrow 1212. Continuing the sequence 1208 in another example display 114-21, the visual element 1204 continues to decrease in size, shrinking toward the center of the upper edge example display 114-21, as shown by a double-ended arrow 1214. The sequence 1208 continues until the visual element 1204 disappears (not illustrated).
When the sequence 1208 is complete, the display returns to the state as shown in the example display 114-18, with the visual element 1204 displayed near the top of the display 114 and subtly tracking the user's hand 1202 while the hand remains within the boundary of the gesture zone. Note that while the sequence 1208 in the example of
In the example of
Continuing the sequence 1308 in another example display 114-24, the visual element 1304 has stopped before reaching an opposite edge of the example display 114-24. In some cases, when the visual element 1304 stops, it may also shrink in size compared to its starting length as shown in the example display 114-22. The sequence 1308 continues in another example display 114-25, in which the visual element 1304 reverses direction and begins to move back toward its original location (the center in this example), as shown by another arrow 1312. If the visual element 1304 decreased in size as it stopped its movement to the right, then it also begins to grow back to its original length in this step of the example sequence 1308. In other implementations, rather than stopping (and, in some cases, shrinking), the visual element 1304 may slow and bounce before reversing direction.
When the sequence 1308 is complete, the display returns to the state as shown in the example display 114-22, with the visual element 1304 displayed near the top of the example display 114 and subtly tracking the user's hand 1302 while it remains within the boundary of the gesture zone (e.g., as shown in
Note that the sequence 1308 may begin when the electronic device 102 (or the gesture-feedback manager 106) detects (e.g., using one or more subsets of the radar data) that the user has attempted a radar gesture, but also determines that the gesture fails to meet at least one criterion that is necessary for acceptance. Accordingly, the attempted gesture and the sequence 1308 may be completed at different times, depending on the nature of the attempted gesture and the speed of the sequence 1308. Further, as described above, while the visual element 1304 is shown as a glowing area near the top of the display 114, the visual element 1304 may be presented at another location or as another shape or type of element (e.g., an illuminated line, as shown in the detail view 800-1 of
In some implementations, the electronic device 102 includes a gesture-paused mode that can turn off or suspend the radar-gesture capabilities of the electronic device 102 when conditions indicate that the system may be inefficient or ineffective at receiving or interpreting the gestures. For example, when the electronic device 102 is moving at a velocity above a threshold, or when the direction in which the electronic device 102 is moving changes rapidly and repeatedly, the electronic device can enter the gesture-paused mode and provide visual feedback to the user. The electronic device 102 may determine to enter the gesture-paused mode based on input from any of a variety of sensors, including a radar sensor (e.g., the radar system 104), an inertial measurement unit (IMU), a proximity sensor (e.g., an active infrared proximity sensor), and so forth. For example, if the user is walking and listening to audio content with the electronic device 102 in the user's hand, swinging back and forth, the motion may be similar to a radar-based swipe gesture, but the user does not intend to skip tracks or adjust the volume. Accordingly, because the motion of the electronic device 102 can introduce ambiguity into the gesture interpretation process, the electronic device 102 may determine to enter the gesture-paused mode until the ambiguity is resolved (e.g., the user stops walking).
An example display 114-27 illustrates the beginning of the sequence 1406 as another visual element 1408 replaces the visual element 1402, in response to the electronic device 102 detecting the movement 1404. As shown on the example display 114-27, the visual element 1408 is another line that is shorter and dimmer than the visual element 1402. In implementations in which the visual element 1402 has a particular color, the visual element 1408 may have a different color from that of the visual element 1402 (e.g., the color may change from the particular color to another color, such as grey or white). The sequence 1406 continues in another example display 114-28, in which the visual element 1408 begins moving to the right, as shown by an arrow 1410. Continuing the sequence 1406 in another example display 114-29, the visual element 1408 moves to the left as shown by an arrow 1412. In the sequence 1406, the visual element 1408 may stop and reverse direction before it reaches a side of the display or go all the way to the edge before reversing direction. In some implementations, the visual element 1408 may further shrink when it stops to reverse directions and then return to another size when, after, or as, it begins moving in the opposite direction. Further, the oscillation of the visual element 1408 may match the condition upon which the gesture-paused mode is based. For example, in the case of the user's arms swinging, the velocity or frequency of the oscillation of the visual element 1408 may approximately match the velocity or frequency of the user's hand moving.
As described above, while the visual element 1408 is shown as an illuminated line near the top of the display 114, the visual element 1408 can be presented at another location or as another shape or type of element (e.g., as shown in
For example,
In some cases, the example visual element 1504 can have a color (e.g., blue, green, or a combination of more than one color). In these cases, the step described with reference to the example display 114-31 includes a change in color. The change may be to another color, such as blue to yellow. In other cases, the visual element 1504 becomes colorless, and is merely a contrasting glowing area, so that against a dark background it is a lighter area and against a light background it is a darker area.
When the electronic device 102 exits the gesture-paused mode, the sequence 1406 (or 1502) is complete and the display 114 returns to an appropriate state, depending on whether there are radar-gesture applications running and on the location of the user's hand. The sequence 1406 (or 1502) can help the user understand when gestures may be paused and allow the user to adjust how the electronic device 102 is used to avoid or take advantage of the gesture-paused mode, which can improve the user's experience with the electronic device 102.
In some cases (not shown in
In some implementations, the electronic device 102 can determine that the radar-gesture application running on the electronic device 102 is operating in an immersive mode (e.g., in a full-screen mode without any presented controls). In response to this determination, the display can periodically provide the visual elements described with reference to
Further, the visual elements described above with reference to
In some cases, as described herein, the visual element may be hidden even when radar gestures are available (e.g., because the user interacted with a voice or touch input, or in order to reduce the risk of screen burn-in). In this situation, the visual element (e.g., the example visual elements illustrated in
The user's location and movements can also be used to detect user actions that are categorized as indications of the user's intention to interact (or not interact) with the electronic device. For example, the electronic device may have access to a library (e.g., in a memory device) of actions that are categorized as indicators of a user's intent to interact or not interact with the device (e.g., reaching for the electronic device, turning or walking toward or away from the electronic device, leaning toward or looking at the electronic device). In some cases, the electronic device may also include machine-learning technology that can add, remove, or modify the actions stored in the library. Based on the detection of the user's presence, movements, and intention, the electronic device can cause the electronic device to enter and exit different modes of functionality and present different visual elements on a display, based on the modes. These modes can enable different functionalities for the electronic device, and help the user understand the mode the electronic device is operating in, and the services and functions that are available.
For instance, when the user is not detected near the electronic device (e.g., within the radar field 110 or the recognition zone), the device operates in a dormant mode. In the dormant mode, the display (e.g., the display 114) may present fewer visual elements than in other modes, or no visual elements and the display may be on or off. When the electronic device determines the presence of the user within the recognition zone (e.g., using radar data, or one or more subsets of the radar data, from the radar system 104), the electronic device exits the dormant mode and enters an aware mode. In the aware mode, the display presents one or more visual elements that can indicate a status or functionality level of the electronic device.
While the electronic device is in the aware mode, the electronic device can detect a user action that is categorized as an indication of a user intent to interact with the electronic device. In response to detecting this user action, the electronic device can prepare an authentication system to perform an authentication process. In some implementations, when the electronic device detects the indication of the user's intent to interact, the electronic device also exits the aware mode and enters an engaged mode. In the engaged mode, the display presents additional or alternate visual elements that can indicate changes in the status or functionality level of the electronic device. The electronic device can also detect a trigger event and, based on the trigger event, cause the authentication system to authenticate the user. In response to the user being authenticated, the electronic device exits the aware or engaged mode and enters an active mode. In the active mode, the display presents additional or alternate visual elements that can indicate changes in the status or functionality level of the electronic device.
In the detail view 1600-2, multiple visual elements are presented on an example display 114-34. For example, in the aware mode, the example display 114-34 presents a time-of-day element 1608 (a clock), a date element 1610, a connectivity status element 1612 (e.g., Wi-Fi, cellular, or other network connectivity), and a battery-level indicator element 1614 (including a graphical element and a percentage indicator). In the detail view 1600-2, the remainder of the example display 114-34 is blank. In some implementations, however, additional elements may be displayed, including a background image, such as a wallpaper or other image. Though not shown in
In the detail view 1700-2, additional visual elements are presented on an example display 114-36. For example, in the engaged mode, the example display 114-36 presents a background image 1704 (in this case, an image of the Golden Gate Bridge). The background image 1704 may have dynamic features that adjust with the context of the user, such as animation, or varying brightness or transparency levels that change depending on the distance or speed of the reach. While in the engaged mode, the electronic device 102 also prepares an authentication system to perform an authentication process (note that in some cases, the electronic device 102 does not enter the engaged mode and instead prepares the authentication system while in the aware mode, in response to the user action that indicates user intent). Accordingly, the example display 114-36 also presents a lock icon 1706, which indicates that full access to the electronic device 102 is unavailable until the user 1602 is authenticated. In some implementations, additional visual elements may be displayed on the example display 114-36, and some or all of the visual elements presented on the example display 114-35 may cease being presented. Though not shown in
Additional visual elements associated with the active mode may also be presented on an example display 114-38, as shown in the detail view 1800-2. For example, in the active mode, the example display 114-38 continues to present the visual elements associated with the aware mode, but the background image 1704 (associated with the engaged mode) has changed to another background image 1804, a beach silhouette (note that because the background image 1804 has a different color scheme, some of the visual elements have changed contrast or color so that they remain visible to the user 1602). Additionally, the engaged mode lock icon 1706 has transitioned to an unlock icon 1806, which indicates that the user 1602 is authenticated. In some implementations, the unlock icon 1806 may be presented for a duration of time and then fade. While not illustrated in
In some implementations, the user 1602 may remain authenticated as long as the user 1602 remains within the recognition zone (e.g., the recognition zone 1604) or within another defined area within which the radar system can detect the presence of the user 1602. In these implementations, the display 114 may remain powered and able to receive input and present content, or the screen may turn off to save battery power. Because the user 1602 remains authenticated, even if the screen is off, the user can access the electronic device 102 by touching the screen, picking up the device, or another action, without having to be re-authenticated. In this way, the user's enjoyment and experience with the electronic device 102 can be improved while preserving battery power.
Further, the described progression between modes (e.g., from the dormant mode, through the aware and engaged modes, to authentication and the active mode), may instead run in an opposite direction. For example, when the electronic device 102 is in the active mode and the user 1602 sets it down (e.g., another trigger event occurs), the electronic device may enter a locked state (e.g., de-authenticate the user 1602), and/or place the electronic device 102 in the engaged or aware mode, as described above. Accordingly, if the user's hand remains near the electronic device 102 (e.g., remains in a “reach” position), the electronic device 102 may remain in the engaged mode. Conversely, if the user's hand is withdrawn, the electronic device 102 may enter the aware mode. Then, as noted, the electronic device 102 may remain in the aware mode while the user is in the recognition zone. During this progression between zones, the display 114 may present the visual elements described above for each zone, to indicate the changing status of the electronic device 102 to the user 1602.
As noted, in some implementations, applications running on the electronic device 102 may be able to receive input through radar-based touch-independent gestures (radar gestures). In these cases, the radar system 104 may detect a reach by the user and perform actions, based on the context of the electronic device 102. For example, when the electronic device is in any of the modes described above, the user may receive a phone call, receive an alarm, alert, or notification, or play music through the electronic device. In these situations, the user may reach toward the electronic device to respond to the action. Thus, a reach may reduce or silence the ringer or notification during an incoming call or an alarm. Further, if the user notices an alert or notification is being displayed, and reaches toward the electronic device, the notification may be dismissed or become interactive. For example, upon detecting the user's reach, the electronic device may display the notification in a mode that allows the user to respond by dismissing or postponing the alert/notification, replying (in the case of a message or email notification), or in another manner. In some cases, the displayed notification may change color or size as well. In the example of the user listening to music, a reach may cause the electronic device to present a control screen for the music player, so that the user can control the track, volume, or other parameter.
Some or all of these features may be available in different modes, and which features are available may be user-selectable. For example, the user may allow volume silencing and music control in all modes but allow responding to alerts and notifications only in the active mode (e.g., when the user has been authenticated and has not left the recognition zone). Other combinations of features and permission levels may also be selected by the user.
Among the advantages of the described implementations, including implementations in which radar sensing is used to detect the presence of the user within a recognition zone, and further including implementations in which radar is used to detect user action that is categorized as an indication of a user intent to interact with the electronic device, either of which might alternatively be achievable using the on-device camera that is provided with most modern smartphones, is that the power usage of the radar facility is substantially less than the power usage of the camera facility, while the propriety of the results can often be better with the radar facility than with the camera facility. For example, using the radar facility described hereinabove, the desired user-state or user-intention detection can be achieved at average power ranging from single-digit milliwatts to just a few dozen milliwatts (e.g., 10 mW, 20 mW, 30 mW or 40 mW), even including the processing power for processing the radar vector data to make the determinations. At these low levels of power, it would be readily acceptable to have the radar facility in an always-on state. As such, for example, with the smartphone radar facility in the always-on state, the desired delightful and seamless experience presently described can still be provided for a user that has been sitting across the room from their smartphone for many hours.
In contrast, the optical cameras provided with most of today's smartphones typically operate at hundreds of milliwatts of power (e.g., an order of magnitude higher than 40 mW, which is 400 mW). At such power rates, optical cameras would be disadvantageous because they would significantly reduce the battery life of most of today's smartphones, so much so as to make it highly impractical, if not prohibitive, to have the optical camera in an always-on state. An additional advantage of the radar facility is that the field of view can be quite large, readily enough to detect a user walking up from any direction even when lying flat and face-up on a table (for many typical implementations in which the radar chip is facing outward in the same general direction as the selfie camera) and, furthermore, by virtue of its Doppler processing ability can be highly effective (especially at operating frequencies near 60 GHz) in detecting even relatively subtle movements of moving bodies from the variety of directions.
Additionally, the radar facility can operate in environments in which the performance of the camera facility is reduced or restricted. For example, in lower-light environments, the camera facility may have a reduced ability to detect shape or movement. In contrast, the radar facility performs as well in lower-light as in full light. The radar facility can also detect presence and gestures through some obstacles. For instance, if the smartphone is in a pocket of a jacket or pair of pants, a camera facility cannot detect a user or a gesture. The radar facility, however, can still detect objects in its field, even through a fabric that would block the camera facility. An even further advantage of using a radar facility over an onboard video camera facility of a smartphone is privacy, because a user can have the advantages of the herein described delightful and seamless experiences while at the same time not needing to be worried that there is a video camera taking video of them for such purposes.
Example Computing System
The computing system 1900 includes communication devices 1902 that enable wired and/or wireless communication of device data 1904 (e.g., radar data, authentication data, reference data, received data, data that is being received, data scheduled for broadcast, and data packets of the data). The device data 1904 or other device content can include configuration settings of the device, media content stored on the device, and/or information associated with a user of the device (e.g., an identity of a person within a radar field or customized gesture data). Media content stored on the computing system 1900 can include any type of radar, biometric, audio, video, and/or image data. The computing system 1900 includes one or more data inputs 1906 via which any type of data, media content, and/or inputs can be received, such as human utterances, interactions with a radar field (e.g., a radar gesture), touch inputs, user-selectable inputs or interactions (explicit or implicit), messages, music, television media content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source.
The computing system 1900 also includes communication interfaces 1908, which can be implemented as any one or more of a serial and/or a parallel interface, a wireless interface, any type of network interface, a modem, and as any other type of communication interface. The communication interfaces 1908 provide a connection and/or communication links between the computing system 1900 and a communication network by which other electronic, computing, and communication devices communicate data with the computing system 1900.
The computing system 1900 includes one or more processors 1910 (e.g., any of microprocessors, controllers, or other controllers) that can process various computer-executable instructions to control the operation of the computing system 1900 and to enable techniques for, or in which can be implemented, the methods for reliable acceptance of user non-contact gesture inputs for a mobile device. Alternatively or additionally, the computing system 1900 can be implemented with any one or combination of hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits, which are generally identified at 1912. Although not shown, the computing system 1900 can include a system bus or data transfer system that couples the various components within the device. The system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures. Also not shown, the computing system 1900 can include one or more non-radar sensors, such as the non-radar sensors 108.
The computing system 1900 also includes computer-readable media 1914, such as one or more memory devices that enable persistent and/or non-transitory data storage (e.g., in contrast to mere signal transmission), examples of which include random access memory (RAM), non-volatile memory (e.g., any one or more of a read-only memory (ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. A disk storage device may be implemented as any type of magnetic or optical storage device, such as a hard disk drive, a recordable and/or rewriteable compact disc (CD), any type of a digital versatile disc (DVD), and the like. The computing system 1900 can also include a mass storage media device (storage media) 1916.
The computer-readable media 1914 provides data storage mechanisms to store the device data 1904, as well as various device applications 1918 and any other types of information and/or data related to operational aspects of the computing system 1900. For example, an operating system 1920 can be maintained as a computer application with the computer-readable media 1914 and executed on the processors 1910. The device applications 1918 may include a device manager, such as any form of a control application, software application, signal-processing and control modules, code that is native to a particular device, an abstraction module, a gesture recognition module, and/or other modules. The device applications 1918 may also include system components, engines, modules, or managers to implement the methods for reliable acceptance of user non-contact gesture inputs for a mobile device, such as the radar system 104, the gesture-feedback manager 106, the application manager 116, or the gesture library 120. The computing system 1900 may also include, or have access to, one or more machine-learning systems.
Several examples are described below.
A method implemented in an electronic device comprising a display and a radar system, the method comprising: receiving radar data from the radar system, the radar data determined based on reflections of a portion of a user moving within a gesture zone of the electronic device and determining a radar gesture based on the radar data, or receiving a radar gesture; determining that the radar gesture corresponds to a control input of an application on the electronic device; providing a gesture-confirmation element on the display of the electronic device, the gesture-confirmation element indicating that the movement of the portion of the user within the gesture zone of the electronic device is determined to comprise the radar gesture and that the radar gesture corresponds to the control input of the application; and causing the application to respond to the control input.
The method of example 1, wherein the application on the electronic device is currently executing and causing the application to respond to the control input comprises sending the control input to the application.
The method of example 1, wherein the application on the electronic device is not currently executing and wherein causing the application to respond to the control input comprises: executing the application; and sending the control input to the application.
The method of any of examples 1-3, wherein the gesture-confirmation element is a visual element that appears on an active area of the display.
The method of example 4, wherein the visual element moves on the active area of the display, the movement of the visual element corresponding to the movement of the portion of the user within the gesture zone.
The method of example 5, wherein the radar gesture is a first motion that includes a component in a left-to-right direction and the movement of the gesture-confirmation element comprises moving from a first position on the active display to a second position on the active display, the second position to a right side of the first position; or the a radar gesture is a second motion that includes a component in a right-to-left direction and the movement of the gesture-confirmation element comprises moving from a third position on the active display to a fourth position on the active display, the fourth position to a left side of the third position.
The method of example 5, wherein: the radar gesture is a first motion that includes a component in a top-to-bottom direction and the movement of the gesture-confirmation element comprises moving from a first position on the active display to a second position on the active display, the second position to a lower side of the first position; or the radar gesture is a second motion that includes a component in a bottom-to-top direction and the movement of the gesture-confirmation element comprises moving from a third position on the active display to a fourth position on the active display, the fourth position to an upper side of the third position.
The method of example 6 or example 7, wherein the moving from the first position on the active display to the second position on the active display or from the third position on the active display to the fourth position on the active display, includes: moving around a corner of the active area of the display; and disappearing from the active area of the display.
The method of example 5, wherein the movement of the gesture-confirmation element comprises: an increase from a first size of the gesture-confirmation element to a second size of the gesture-confirmation element, the second size larger than the first size; an increase from a first luminosity of at least part of the gesture-confirmation element to a second luminosity of the at least part of the gesture-confirmation element, the second luminosity greater than the first luminosity; a decrease from the second size of the gesture-confirmation element, the decrease continuing until the gesture-confirmation element is not visible; and a return to the first size and first luminosity of the gesture-confirmation element.
The method of example 4, wherein the gesture-confirmation element is a visual element that includes: a visual property, the visual property comprising at least one of a luminosity, a color, a contrast, a shape, a saturation, or an opaqueness that is different from the visual property of another portion of the display that is proximate to the visual element; and a segment of an exterior border that is within a threshold distance of an edge of the active area of the display.
The method of example 10, wherein the visual property of the visual element varies across the area of the visual element.
The method of any of the preceding examples, further comprising: determining a background color of a region of the display on which the gesture-confirmation element is displayed; and responsive to determining the background color of the region of the display on which the gesture-confirmation element is displayed, causing the display to present the gesture-confirmation element in another color that is different from the background color, the different color effective to provide human-discernable contrast between the gesture-confirmation element and the region of the display on which the gesture-confirmation element is displayed.
An electronic device comprising: a computer processor; a radar system, implemented at least partially in hardware, configured to: provide a radar field; sense reflections from a user in the radar field; analyze the reflections from the user in the radar field; and provide, based on the analysis of the reflections, radar data; and a computer-readable media having instructions stored thereon that, responsive to execution by the computer processor, implement a radar-based gesture-feedback manager configured to: receive the radar data from the radar system, the radar data determined based on reflections of a portion of the user moving within a gesture zone of the electronic device and determine a radar gesture based on the radar data, or receive a radar gesture; determine that the radar gesture corresponds to a control input of an application on the electronic device; provide a gesture-confirmation element on a display of the electronic device, the gesture-confirmation element indicating that the movement of the portion of the user within the gesture zone of the electronic device is determined to comprise the radar gesture and that the radar gesture corresponds to the control input of the application; and cause the application to respond to the control input.
The electronic device of example 13, wherein the application on the electronic device is currently executing and causing the application to respond to the control input comprises sending the control input to the application.
The electronic device of example 13, wherein the application on the electronic device is not currently executing and wherein causing the application to respond to the control input comprises: executing the application; and sending the control input to the application.
The electronic device of any of examples 13-15, wherein the gesture-confirmation element is a visual element that appears on an active area of the display of the electronic device.
The electronic device of example 16, wherein the visual element moves on the active area of the display, the movement corresponding to the movement of the portion of the user within the gesture zone.
The electronic device of example 17, wherein: the radar gesture is a first motion that includes a component in a left-to-right direction and the movement of the gesture-confirmation element comprises moving from a first position on the active display to a second position on the active display, the second position to a right side of the first position; or the radar gesture is a second motion that includes a component in a right-to-left direction and the movement of the gesture-confirmation element comprises moving from a third position on the active display to a fourth position on the active display, the fourth position to a left side of the third position.
The electronic device of example 17, wherein: the radar gesture is a first motion that includes a component in a top-to-bottom direction and the movement of the gesture-confirmation element comprises moving from a first position on the active display to a second position on the active display, the second position to a lower side of the first position; or the radar gesture is a second motion that includes a component in a bottom-to-top direction and the movement of the gesture-confirmation element comprises moving from a third position on the active display to a fourth position on the active display, the fourth position to an upper side of the third position.
The electronic device of example 18 or example 19, wherein the moving from the first position on the active display to the second position on the active display or from the third position on the active display to the fourth position on the active display, includes: moving around a corner of the active area of the display; and disappearing from the active area of the display.
The electronic device of example 17, wherein the movement of the gesture-confirmation element comprises: an increase from a first size of the gesture-confirmation element to a second size of the gesture-confirmation element, the second size larger than the first size; an increase from a first luminosity of at least part of the gesture-confirmation element to a second luminosity of the at least part of the gesture-confirmation element, the second luminosity greater than the first luminosity; a decrease from the second size of the gesture-confirmation element, the decrease continuing until the gesture-confirmation element is not visible; and a return to the first size and first luminosity of the gesture-confirmation element.
The electronic device of example 16, wherein the gesture-confirmation element is a visual element that includes: a visual property, the visual property comprising at least one of a luminosity, a color, a contrast, a shape, a saturation, or an opaqueness that is different from the visual property of another portion of the display that is proximate to the visual element; and a segment of an exterior border that is within a threshold distance of the edge of the active area of the display.
The electronic device of example 22, wherein the visual property of the visual element varies across the area of the visual element.
The electronic device of any of examples 13-23, wherein the control input of the application is effective to cause the application to respond by: dismissing an alert or notification on the display of the electronic device; silencing a ringer or alarm; or skipping to a next or previous media item.
Although implementations of techniques for, and apparatuses enabling, methods for reliable acceptance of user non-contact gesture inputs for a mobile device have been described in language specific to features and/or methods, it is to be understood that the subject of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as example implementations enabling the methods for reliable acceptance of user non-contact gesture inputs for a mobile device.
This application is a continuation application of International Application No. PCT/US2019/049225, filed Aug. 30, 2019, and titled “Methods for Reliable Acceptance of User Non-Contact Gesture Inputs for a Mobile Device,” the disclosure of which is incorporated in its entirety by reference herein.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/US2019/049225 | Aug 2019 | US |
Child | 16912534 | US |