System and method for managing motion detection of electronic device, and associated electronic device

By managing sensor operation modes and algorithms in electronic devices, buffering sensor data and switching to high sensitivity mode when necessary, the problems of resource consumption and noise increase are solved, and the effects of reducing hardware costs and extending equipment life are achieved.

JP2025015531AActive Publication Date: 2025-01-30GOOGLE LLC
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
JP2024165338
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-01-08
Filing Date
2024-09-24
Publication Date
2025-01-30
Estimated Expiration
2042-01-06

AI Technical Summary

Technical Problem

When existing electronic devices integrate more sensors to improve functionality, they face problems such as increased resource consumption, increased noise, thermal management difficulties and increased hardware costs, resulting in increased equipment size and decreased user experience.

Method used

By managing the operating modes and algorithms of multiple sensors, initial and auxiliary motion recognition algorithms are used to cache sensor data and initiate auxiliary algorithms when necessary to reduce resource consumption, including operating the sensor in low sensitivity mode and switching to high sensitivity mode when needed to confirm motion changes.

Benefits of technology

Effectively manage sensor resource consumption, reduce hardware costs, extend device life, reduce noise, and improve device energy efficiency and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025015531000001_ABST
    Figure 2025015531000001_ABST
Patent Text Reader

Abstract

To provide embodiments for managing operations of sensors in an electronic device.SOLUTION: According to certain aspects, an electronic device may detect a change in motion from an initial set of sensor data generated by a sensor(s). A memory cache may store the initial set of sensor data or additional sensor data generated by the sensor(s). The electronic device may initiate a supplemental algorithm that analyzes cached data. On the basis of, the analysis of the cached data and whether the change in motion has been confirmed or whether additional motion has been detected, the electronic device may manage an operation of the supplemental algorithm.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Patent Application No. 17 / 145,007, filed January 8, 2021, and U.S. Patent Application No. 17 / 145,134, filed January 8, 2021, which are hereby incorporated by reference in their entireties.

[0002] Technical Field The present disclosure relates to managing the operation of sensors on electronic devices, and more particularly, to managing the operation of various sensors and algorithms for processing corresponding sensor data. [Background technology]

[0003] 2. Background of the Invention The description of the background of the invention provided herein is intended to generally present the context of the present disclosure. The inventors' work to the extent described in this Background of the Invention section, as well as aspects of the description that do not qualify as prior art at the time of filing, are not admitted, explicitly or implicitly, as prior art to the present disclosure.

[0004] Electronic devices such as smartphones and other devices are constantly improving technologically. Generally, electronic devices incorporate more and / or improved sensors to facilitate various functionalities, modes, and applications associated with the electronic device. In conjunction with improved device capabilities, device resource management becomes more difficult as sensors are added and / or improved. In particular, the use of additional sensors consumes more power and utilizes greater bandwidth of the central processing unit (CPU), among other increased resource usage. Summary of the Invention [Problem to be solved by the invention]

[0005] To accommodate this increased power and CPU demands, electronic devices are typically designed with sufficient CPU and memory capabilities. However, this can increase the hardware costs associated with manufacturing the electronic device. In addition, when the sensor is actively operating in the highest signal-to-noise ratio (SNR) mode, it increases noise in the environment of other devices. Furthermore, devices are often designed with sufficient heat dissipation to compensate for worst-case operating conditions, which often results in devices that are larger than necessary, which can limit physical design, increase user expectations, and reduce the market. [Means for solving the problem]

[0006] overview According to implementations, the electronic device may manage multiple algorithms that process data from one or more sensors, e.g., radar and / or ultrasonic sensors. The sensor(s) may continually generate a set of sensor data that an initial motion recognition algorithm may analyze and, based on the analysis, detect a change in the motion of a target in the vicinity of the electronic device. When a change in motion is detected, the electronic device may cache the set of sensor data in memory and initiate a supplemental motion recognition algorithm that processes the data from the sensors. The electronic device may facilitate "clutter removal." , in which portions of the sensor data cached in memory that do not indicate motion may be removed.

[0007] The auxiliary motion recognition algorithm may analyze the set of sensor data cached in memory and, based on this analysis, confirm the change in motion initially detected by the initial motion recognition algorithm If the auxiliary motion recognition algorithm does not confirm the change in motion, then the change in motion initially detected by the initial motion recognition algorithm may be considered a false positive.

[0008] In situations where a false positive is detected, the electronic device may stop the auxiliary motion recognition algorithm, so that the electronic device reverts to running only the initial motion recognition algorithm, conserving computational, memory, power, and / or thermal resources.

[0009] In situations where a change in motion is identified, the auxiliary motion recognition algorithm may process additional sensor data generated by the sensors to facilitate various functionality For example, the auxiliary motion recognition algorithm may be a gesture recognition algorithm that may detect user gestures performed in the vicinity of the electronic device.

[0010] In other implementations, the sensor may operate in a first mode to generate a corresponding first set of first mode sensor data. An initial algorithm may analyze the first set of first mode sensor data to detect changes in target movement in the vicinity of the electronic device. In response, the sensor may further operate in a second mode to generate a corresponding set of second mode sensor data that may be cached in memory.

[0011] The electronic device may initiate an auxiliary algorithm that retrieves and analyzes the cached sensor data. The electronic device may continue operation of the auxiliary algorithm or terminate it based on any movement detected in the cached sensor data.

[0012] In additional implementations, the sensor may operate in a low-sensitivity mode to generate a corresponding set of low-sensitivity sensor data, and an initial algorithm may analyze the set of low-sensitivity sensor data to detect changes in the movement of targets in the vicinity of the electronic device.

[0013] The electronic device may initiate a timeout window during which the same sensor or another sensor may operate in high sensitivity mode to generate a corresponding set of high sensitivity sensor data, and the electronic device may further initiate a supplemental algorithm that processes the set of high sensitivity sensor data to confirm the change in the originally detected motion.

[0014] In addition, the initial algorithm may analyze the additional low sensitivity sets generated during the timeout window to determine that no further motion was detected during the timeout window. As a result, the electronic device may determine that the motion change initially identified by the high sensitivity set of sensor data was in fact a false positive.

[0015] In some embodiments of the disclosed subject matter, a computer-implemented method for managing motion detection functionality on an electronic device is provided, the computer-implemented method including the steps of obtaining, by a processor, a set of sensor data from a sensor of the electronic device, detecting a change in the motion of a target relative to the electronic device based on an analysis of the set of sensor data by the processor, caching the set of sensor data in a memory of the electronic device, initiating, by the processor, an auxiliary motion recognition algorithm based on detecting the change in motion, and caching the set of sensor data cached in the memory. The method includes analyzing the set of data with an auxiliary motion recognition algorithm initiated by the processor, and identifying a change in motion with the auxiliary motion recognition algorithm based on an analysis of the set of sensor data cached in the memory.

[0016] In some embodiments, the computer-implemented method further includes removing at least a portion of the set of sensor data cached in the memory that does not indicate motion.

[0017] In some embodiments, analyzing the set of sensor data cached in memory includes analyzing the set of sensor data from which at least portions not indicative of motion have been removed using an auxiliary motion recognition algorithm initiated by the processor.

[0018] In some embodiments, the computer-implemented method further includes obtaining, by the processor, an additional set of sensor data from a sensor of the electronic device and analyzing the additional set of sensor data with an auxiliary motion recognition algorithm.

[0019] In some embodiments, the computer-implemented method further includes attempting to detect further changes in motion based on analysis of an additional set of sensor data by an auxiliary motion recognition algorithm and if no changes are detected, terminating the auxiliary motion recognition algorithm.

[0020] In some embodiments, the computer-implemented method further includes obtaining, by the processor, an additional set of sensor data from an additional sensor of the electronic device and analyzing the additional set of sensor data with an auxiliary motion recognition algorithm.

[0021] In some embodiments, detecting a change in motion includes detecting a change in motion of the target relative to the electronic device based on analysis of the set of sensor data by an initial motion recognition algorithm executed by the processor.

[0022] In some embodiments of the disclosed subject matter, an electronic device is provided, the electronic device comprising: a sensor, a memory, and a processor interfaced to the sensor and the memory, the processor configured to: obtain a set of sensor data from the sensor, detect a change in a movement of a target relative to the electronic device based on an analysis of the set of sensor data, cache the set of sensor data by the memory, initiate an auxiliary motion recognition algorithm based on the detecting the change in movement, obtain the set of cached sensor data from the memory, analyze the set of sensor data cached in the memory by the auxiliary motion recognition algorithm, and ascertain the change in movement by the auxiliary motion recognition algorithm based on the analysis of the set of sensor data cached in the memory.

[0023] In some embodiments, the processor is further configured to remove at least a portion of the set of sensor data cached in the memory, where the at least a portion of the set of sensor data does not indicate motion.

[0024] In some embodiments, the processor analyzes the set of sensor data from which at least the portion not indicative of motion has been removed with a supplemental motion recognition algorithm.

[0025] In some embodiments, the processor is further configured to obtain an additional set of sensor data from the sensor and analyze the additional set of sensor data with a supplemental motion recognition algorithm.

[0026] In some embodiments, the processor is further configured to fail to detect further changes in motion based on analysis of the additional set of sensor data by the auxiliary motion recognition algorithm and terminate the auxiliary motion recognition algorithm.

[0027] In some embodiments, the electronic device further comprises an additional sensor, and the processor is further configured to obtain an additional set of sensor data from the additional sensor and analyze the additional set of sensor data with the auxiliary motion recognition algorithm.

[0028] In some embodiments, the processor analyzes the set of sensor data through an initial motion recognition algorithm to detect changes in the motion of the target relative to the electronic device.

[0029] In some embodiments of the disclosed subject matter, a computer-implemented method for managing motion detection functionality on an electronic device is provided, the computer-implemented method including: acquiring, by a processor, a first set of first mode sensor data from a sensor of the electronic device operating in a first sensitivity mode; detecting, by an initial motion recognition algorithm, a change in motion of a target relative to the electronic device based on an analysis of the first set of first mode sensor data; acquiring, by the processor, a second set of second mode sensor data from a sensor operating in a second sensitivity mode based on detecting the change in motion; caching the second mode set of sensor data in a memory of the electronic device; acquiring, by the processor, a second set of first mode sensor data from the sensor operating in the first sensitivity mode; initiating, by the processor, an auxiliary motion recognition algorithm; and analyzing the set of second mode sensor data cached in the memory by the auxiliary motion recognition algorithm initiated by the processor.

[0030] In some embodiments, the computer-implemented method further includes analyzing a second set of the first mode sensor data with an initial motion recognition algorithm.

[0031] In some embodiments, the computer-implemented method further includes acquiring, by the processor, an additional set of second mode sensor data from the sensor operating in the second sensitivity mode, and analyzing the additional set of second mode sensor data with an auxiliary motion recognition algorithm.

[0032] In some embodiments, the computer-implemented method further includes removing at least a portion of the set of second mode sensor data cached in the memory, where the at least a portion of the set of second mode sensor data does not indicate motion, and analyzing the set of second mode sensor data from which the at least a portion has been removed using a processor-initiated auxiliary motion recognition algorithm.

[0033] In some embodiments, the computer-implemented method further comprises terminating, by the processor, the auxiliary motion recognition algorithm.

[0034] In some embodiments, terminating the auxiliary motion recognition algorithm includes attempting to detect a change in motion relative to the electronic device based on an analysis by the auxiliary motion recognition algorithm of the set of second mode sensor data cached in memory and detecting no change in motion, and terminating the auxiliary motion recognition algorithm.

[0035] In some embodiments of the disclosed subject matter, a method for managing sensor activity in an electronic device is provided. A computer-implemented method is provided that includes the steps of: acquiring, by a processor, a set of low sensitivity sensor data from at least one sensor of an electronic device operating in a low sensitivity mode, detecting a change in motion of a target relative to the electronic device based on analysis of the set of low sensitivity sensor data by the processor, acquiring, by the processor, a set of high sensitivity sensor data from at least one sensor operating in a high sensitivity mode for a set time period based on detecting the change in motion, acquiring, by the processor, an additional set of low sensitivity sensor data from at least one sensor operating in the low sensitivity mode, analyzing, by the processor, the set of high sensitivity sensor data and the additional set of low sensitivity sensor data, confirming a change in motion relative to the electronic device based on analysis of the set of high sensitivity sensor data, and determining that no further changes in motion relative to the electronic device have been detected based on analysis of the additional set of low sensitivity sensor data after the set time period has elapsed, and considering the confirmation of the change in motion based on analysis of the set of high sensitivity sensor data to be a false positive.

[0036] In some embodiments, obtaining the set of low sensitivity sensor data includes obtaining, by the processor, the set of low sensitivity sensor data from a first sensor of the at least one sensor operating in the low sensitivity mode, obtaining the set of high sensitivity sensor data includes obtaining, by the processor, the set of high sensitivity sensor data from a second sensor of the at least one sensor operating in the high sensitivity mode, and obtaining an additional set of low sensitivity sensor data includes obtaining, by the processor, the additional set of low sensitivity sensor data from the first sensor operating in the low sensitivity mode.

[0037] In some embodiments, ascertaining a change in motion relative to the electronic device includes detecting a subsequent change in motion relative to the electronic device based on analysis of the set of high sensitivity sensor data.

[0038] In some embodiments, the computer-implemented method further includes initiating, by the processor, an algorithm for consuming a set of high sensitivity sensor data acquired from at least one sensor operating in a high sensitivity mode for a set time period based on detecting a change in motion. In some embodiments, the algorithm for consuming the set of high sensitivity sensor data is inactive until initiated based on the time period. In some embodiments, the computer-implemented method further includes terminating the algorithm for consuming the set of high sensitivity sensor data to request the at least one sensor to cease generating the set of high sensitivity sensor data.

[0039] In some embodiments, analyzing the set of high sensitivity sensor data and the additional set of low sensitivity sensor data includes analyzing, by the processor, the additional set of low sensitivity sensor data using an initial algorithm, and analyzing, by the processor, the set of high sensitivity sensor data using a subsequent algorithm.

[0040] In some embodiments, obtaining the set of high sensitivity sensor data includes requesting, by the processor, at least one sensor to generate the set of high sensitivity sensor data; and receiving, by the processor, the set of high sensitivity sensor data from the at least one sensor.

[0041] In some embodiments of the disclosed subject matter, an electronic device is provided, the electronic device including a first sensor configured to operate in a low sensitivity mode, a second sensor configured to operate in a high sensitivity mode, and an interface to the first sensor and the second sensor. and a processor configured to: acquire a set of low sensitivity sensor data from a first sensor; detect a change in movement of a target relative to the electronic device based on an analysis of the set of low sensitivity sensor data; based on the detected change in movement, initiate a timeout window; while the timeout window is active, acquire a set of high sensitivity sensor data from a second sensor; acquire an additional set of low sensitivity sensor data from the first sensor; analyze the set of high sensitivity sensor data and the additional set of low sensitivity sensor data; detect further changes in movement relative to the electronic device based on the analysis of the set of high sensitivity sensor data; and after the timeout window has elapsed, determine that no movement relative to the electronic device has been detected based on the analysis of the additional set of low sensitivity sensor data; and consider the detection of the further change in movement based on the analysis of the set of high sensitivity sensor data to be a false positive.

[0042] In some embodiments, the first sensor is a radar sensor and the second sensor is an ultrasonic sensor.

[0043] In some embodiments, the processor is further configured to initiate an algorithm that consumes the set of high sensitivity sensor data obtained from the second sensor. In some embodiments, the algorithm that the processor consumes the set of high sensitivity sensor data is inactive until initiated based on the time of day. In some embodiments, the processor is further configured to terminate the algorithm that consumes the set of high sensitivity sensor data and request the second sensor to cease generating the set of high sensitivity sensor data.

[0044] In some embodiments, to analyze the set of high sensitivity sensor data and the additional set of low sensitivity sensor data, the processor is further configured to analyze the additional set of low sensitivity sensor data using an earlier algorithm and to analyze the set of high sensitivity sensor data using a subsequent algorithm.

[0045] In some embodiments, to obtain the set of high sensitivity sensor data, the processor is further configured to request a second sensor to generate a set of high sensitivity sensor data, and obtain the set of high sensitivity sensor data from the second sensor.

[0046] In some embodiments of the disclosed subject matter, a non-transitory computer readable memory having instructions stored thereon is provided, wherein one or more processors of the electronic device execute the instructions to obtain a set of low sensitivity sensor data from at least one sensor of the electronic device operating in a low sensitivity mode, analyze the set of low sensitivity sensor data to detect a change in motion of a target relative to the electronic device, obtain a set of high sensitivity sensor data from at least one sensor operating in a high sensitivity mode for a set period of time based on the detecting the change in motion, obtain an additional set of low sensitivity sensor data from the at least one sensor operating in the low sensitivity mode, analyze the set of high sensitivity sensor data and the additional set of low sensitivity sensor data to detect further changes in motion relative to the electronic device based on the analysis of the set of high sensitivity sensor data, and after the set period of time has elapsed, based on the analysis of the additional set of low sensitivity sensor data, determine that the additional set of low sensitivity sensor data does not indicate further changes in motion relative to the electronic device, and consider the detection of the further change in motion based on the analysis of the set of high sensitivity sensor data to be a false positive.

[0047] In some embodiments, to obtain the set of low sensitivity sensor data, the one or more processors are instructed to obtain a set of low sensitivity sensor data from a first sensor of the at least one sensor operating in the low sensitivity mode, and to obtain a set of high sensitivity sensor data from the first sensor of the at least one sensor operating in the low sensitivity mode. To obtain the set of high-sensitivity sensor data, the one or more processors are instructed to obtain a set of high-sensitivity sensor data from a second sensor of the at least one sensor operating in the high-sensitivity mode, and to obtain the additional set of low-sensitivity sensor data, the one or more processors are instructed to obtain an additional set of low-sensitivity sensor data from a first sensor operating in the low-sensitivity mode.

[0048] In some embodiments, based on detecting a change in motion, during the configured time period, the one or more processors further initiate, upon instruction, an algorithm that consumes a set of high sensitivity sensor data obtained from at least one sensor operating in the high sensitivity mode.

[0049] In some embodiments, the instructions further cause the one or more processors to terminate an algorithm that consumes the set of high sensitivity sensor data and request at least one sensor to cease generating the set of high sensitivity sensor data.

[0050] In some embodiments, to analyze the set of high sensitivity sensor data and the additional set of low sensitivity sensor data, the one or more processors are instructed to analyze the additional set of low sensitivity sensor data using an earlier algorithm and to analyze the set of high sensitivity sensor data using a subsequent algorithm.

[0051] In the accompanying drawings, in which like reference numerals throughout the different views refer to identical or functionally similar elements, the accompanying drawings, together with the following detailed description, are incorporated into and form a part of this specification and serve to illustrate embodiments of concepts, including the claimed embodiments, and to further explain various principles and advantages of those embodiments. [Brief description of the drawings]

[0052] [Figure 1] FIG. 1 illustrates an example electronic device that can facilitate the described functionality, according to some embodiments. [Diagram 2] FIG. 2 is an exemplary diagram relating to a technique for managing sensor operation using a memory cache, according to some embodiments. [Diagram 3] FIG. 2 is an example diagram relating to another technique for managing sensor operation using a memory cache, according to some embodiments. [Figure 4] FIG. 1 illustrates an example diagram associated with managing the operation of one or more sensors, according to some embodiments. [Figure 5A] 1A-1C are diagrams illustrating example representations of interactions between an electronic device and a user, as well as example representations of operations of various sensors based on the interactions, according to some embodiments. [Figure 5B] 1A-1C are diagrams illustrating example representations of interactions between an electronic device and a user, as well as example representations of operations of various sensors based on the interactions, according to some embodiments. [Figure 5C] 1A-1C are diagrams illustrating example representations of interactions between an electronic device and a user, as well as example representations of operations of various sensors based on the interactions, according to some embodiments. [Figure 5D] 1A-1C are diagrams illustrating example representations of interactions between an electronic device and a user, as well as example representations of operations of various sensors based on the interactions, according to some embodiments. [Figure 5E] 1A-1C are diagrams illustrating example representations of interactions between an electronic device and a user, as well as example representations of operations of various sensors based on the interactions, according to some embodiments. [Figure 5F] 1A-1C are diagrams illustrating example representations of interactions between an electronic device and a user, as well as example representations of operations of various sensors based on the interactions, according to some embodiments. [Figure 6] 1 is a flowchart of a method for an electronic device to manage motion sensing functionality, according to some embodiments. [Figure 7] 1 is a flowchart of another method for an electronic device to manage motion sensing functionality, according to some embodiments. [Figure 8]1 is a flowchart of a method for an electronic device to manage sensor activity, according to some embodiments. [Figure 9] FIG. 1 is a block diagram of an electronic device according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0053] Detailed Description A system and method for managing motion sensing functions in an electronic device are described. According to certain aspects, the electronic device may be configured with one or more sensors, such as radar sensor(s), ultrasonic sensor(s), and / or other sensors. The sensor(s) may operate in various modes depending on various circumstances and instructions. Similarly, the electronic device may execute various algorithms and applications to process sensor data from the sensor(s) operating in various modes. In general, various sensor modes and various algorithms consume different amounts of device resources. Thus, the described aspects are configured to manage the operation of the sensor(s) and the device's algorithms to reduce / improve the efficiency of resource consumption.

[0054] In general, the electronic device may execute an initial algorithm to detect motion or other events in the vicinity of the electronic device based on sensor data generated by a given sensor. The electronic device may initiate a subsequent algorithm based on the detected motion to process the original sensor data and / or additional sensor data. Alternatively, or in addition, the electronic device may activate additional sensors to process the resulting data generated by the additional sensors. The electronic device may utilize a memory cache to more efficiently and effectively determine whether to continue execution of a subsequent algorithm. The electronic device may terminate a subsequent algorithm if it determines that the subsequent algorithm is not necessary.

[0055] By managing the sensor operation, sensor modes, and algorithms that process sensor data, resource consumption of the electronic device can be more efficiently and effectively managed. Thus, more affordable hardware components can be used in the electronic device, and fewer hardware components may be required, lowering the cost of manufacturing such electronic devices. In addition, the battery life and lifespan of the electronic device may be longer. Furthermore, sensor noise in the environment of such electronic devices may be reduced. It should be understood that still other benefits are envisioned.

[0056] The described embodiments may be incorporated and / or facilitated or practiced in the exemplary electronic device 100 shown in Figure 1. The electronic device 100 may be any type of electronic device, such as a mobile device (e.g., a smartphone), a display assistant device, a desktop computer, a notebook computer, a tablet, a phablet, a GPS (Global Positioning System) or GPS-enabled device, a watch, glasses, a bracelet, other wearable electronic devices, a PDA (Personal Digital Assistant), a pager, and / or the like.

[0057] Electronic device 100 may include a user interface 101, which may be embodied as a touch screen or other type of display that may display or present visual content. In embodiments in which user interface 101 is a touch screen, user interface 101 may incorporate a set of touch-sensitive input panels that allow a user to select or interface with electronic device 100. Electronic device 100 may further include a housing 102 in which various components (including user interface 101) may be incorporated or contained. Additionally, electronic device 100 may include an alternating current (AC) power supply configured to power electronic device 100 and its components. ) power components 116, which may provide power or receive power from a power source. It should be understood that additional or alternative power sources are envisioned, such as, for example, one or more batteries or other power sources.

[0058] According to an embodiment, the electronic device 100 may include various sensors, user interface components, and / or the like. In particular, as depicted in FIG. 1, the electronic device 100 may include a pair of infrared image sensors 103, 109 as well as an image sensor 104. In addition, the electronic device 100 may include a speaker 106 that may be configured to output audio. Furthermore, the electronic device 100 may include a dot projector 108 and a flood illuminator 110. According to an embodiment, the pair of infrared image sensors 103, 109, the dot projector 108, and the flood illuminator 110 may be used alone or in combination by the electronic device 100 to unlock various features of the electronic device 100 (e.g., unlock the user interface 101), among other functionality. Furthermore, the electronic device 100 may include an ambient light sensor (ALS) 105 that may support various proximity sensing functions. It is understood that alternative and additional sensors are envisioned. For example, one of the sensors may be an ultrasonic sensor configured to emit ultrasonic waves. Additionally, it should be understood that the sensors and components may be arranged in a variety of configurations and combinations.

[0059] The electronic device 100 may further include a radar chip 107. In general, the radar chip 107 may detect and measure characteristics of objects based on the interaction of radio waves with distant and / or nearby objects. The radar chip 107 may include a set of transmitter components that emit radio waves that are scattered or redirected by objects in their path, and some portion of the energy is reflected back or blocked by a set of receiver components. The radar chip 107 may be bidirectional and configured to emit signals in two or more directions (e.g., in front of and behind the electronic device 100), or may be directional and configured to emit signals in one direction (e.g., in front of the electronic device 100). The processor 115 or controller may examine or analyze the received waveforms to detect the presence of objects and may also estimate the distance and size, among other characteristics, of these objects.

[0060] Conventional radar designs rely on fine spatial resolution relative to target size to resolve various objects and identify their spatial structure. Such spatial resolution typically requires wide transmission bandwidth, narrow antenna beam width, and large antenna arrays. According to an embodiment, the radar chip 107 can be integrated on top of the electronic device 100 (or at another location or part of the electronic device 100) by employing a sensing paradigm that may be based on motion rather than spatial structure. Thus, the electronic device 100 may support algorithms, applications, and the like (generally "algorithms") that do not need to form a clearly defined image of the target's spatial structure, as opposed to, for example, an optical imaging sensor. Thus, the algorithm does not need to generate or use a distinguishable image of the target for a certain purpose, such as presence detection and / or gesture detection.

[0061] The processor 115 may perform various signal processing functions and functionality to process temporal variations in the received radar signal, such as to detect and resolve minute movements. In operation, the radar chip 107 transmits a frequency modulated signal at a particular frequency or range of frequencies (e.g., 50-70 GHz, or other frequency or range) and receives a superposition of reflections from nearby object(s) or person(s) (generally "targets"). The processor 115 detects sub-millimeter variations in the target's location, which may induce a discernible timing shift in the received signal from one transmission to the next. The radar chip 107 may detect displacements on the meter scale. These shifts may appear as Doppler frequencies proportional to the target's velocity over a window of transmissions. The signal processing functions may distinguish different targets moving with different motion patterns by resolving the different Doppler frequencies. According to an embodiment, the signal processing functions may include a combination of custom filters and coherent integrators that may increase the underlying signal-to-noise ratio (SNR), attenuate unwanted interference, and distinguish target reflections from noise and clutter. These signal processing functions allow the radar chip 107 to operate at low power within the constraints of the electronic device 100.

[0062] The electronic device 100 may support various modes or algorithms for processing data from the radar chip 107 and / or other sensors as described herein. In general, one mode may process and analyze signals having a first frequency (or frequency range), and another mode may process and analyze signals having a second frequency (or frequency range) different from the first frequency. For example, one of the modes may be a "presence mode" that may be configured to detect the presence of a target (e.g., a person) in the vicinity of the electronic device 100. In this example, the presence of a target may be detected when the target enters a space in which the electronic device 100 is present. Another mode may be a "gesture mode" that may be configured to detect and recognize gestures performed by a person in the vicinity of the electronic device 100 (e.g., in front of the user interface 101). In this example, the gestures may be "macro" gestures (e.g., hand movements to switch active applications) or "micro" gestures (e.g., simulating the rotation of a dial using an index finger and thumb). In general, the processor 115 may execute various algorithms using various machine learning techniques.

[0063] Each mode may operate differently and therefore have different accuracy, such as varying degrees of resource consumption, such as computation, memory, power, and / or heat. For example, the gesture mode may process short-range radio waves emitted from the radar chip 107, and the presence mode may process long-range radio waves emitted from the radar chip 107. In addition, the short-range radio waves may have a higher SNR and be more accurate, while the long-range radio waves have a lower SNR and are less accurate. However, the gesture mode processing the short-range radio waves may be more resource-intensive, and the presence mode processing the long-range radio waves may be less resource-intensive.

[0064] The radar chip 107 may operate in multiple modes simultaneously (i.e., radiate both short-range and long-range radio waves over a period of time), and similarly, the processor 115 of the electronic device 100 may simultaneously execute algorithms to process the received waveforms resulting from the radiated short-range and long-range radio waves. According to an embodiment, long-range radar sensing may be achieved by a frequency-modulated continuous wave (FMCW) radar using a slow frequency sweep from a first frequency to a second frequency. In contrast, a short-range radar mode may use a faster frequency sweep from a first frequency to a second frequency. In order to conserve resource usage, it may be advantageous to limit the amount and type of algorithms that the processor 115 executes. For example, when a person is not actually performing gestures in the vicinity of the electronic device 100, it may be advantageous to deactivate the processor 115 or not execute the gesture mode, etc., in order to conserve various resources.

[0065] According to embodiments, different sensor modes and device algorithms may be operational based on different conditions. In particular, sensor modes and / or algorithms may be disabled or enabled based on time of day, day of the week / month / day of the year, date of the month, time since last motion detection, and / or other conditions. For example, gesture mode may be disabled between 1:00 AM and 5:00 AM. As yet another example, a sleep detection mode may be deactivated between 9:00 AM and 9:00 PM. As an additional example, a high sensitivity sensor mode may be disabled if the time since the last motion detection is more than 10 minutes. Thus, resources may be conserved based on selectively disabling these modes and algorithms. It should be understood that these conditions may be static or may be adjusted depending on usage of electronic device 100, or may be explicitly activated or deactivated by a user, among other factors or conditions.

[0066] Furthermore, according to an embodiment, detection by a particular sensor or sensors may trigger activation or initiation of other particular sensor modes and device algorithms. In general, a low-sensitivity mode with low resource usage for a given sensor may detect motion in the vicinity of the electronic device 100 and initiate a high-sensitivity mode with high resource usage, which may operate on the given sensor or another sensor. The electronic device 100 may also initiate algorithms that process the high-sensitivity sensor data. Furthermore, the sensor data generated as a result of the high-sensitivity mode may be used to confirm (or not confirm) the initially detected motion. If further motion is indicated in the high-sensitivity data, the electronic device 100 may continue operation of the initiated algorithms and facilitate operation and functionality accordingly.

[0067] The electronic device 100 may include a memory 120 to which the processor 115 may interface. The memory 120 may include a main memory portion as well as a cache portion for temporarily storing certain data that the processor 115 may access. According to an embodiment, the processor 115 may store certain sensor data (e.g., sensor data from the radar chip 107) in the cache portion so that a certain detected action or movement can be confirmed. Additionally or alternatively, the processor 115 may initiate a certain algorithm that accesses and analyzes the data stored in the cache portion to enable more accurate detection or recognition of the movement or action. Since the machine learning algorithm requires a certain amount of time before it can accurately detect the target and the movement, the cache portion of the memory 120 allows the algorithm to access the required data before the target arrives in the zone and / or before the target performs a certain movement or gesture in the zone.

[0068] 2 is a signal diagram 200 associated with various embodiments of the system and method. The signal diagram 200 includes a memory 220 (such as the memory 120 described with reference to FIG. 1), a processor 215 (such as the processor 115 described with reference to FIG. 1), and one or more sensors 225 (such as one or more of the various sensors discussed with reference to FIG. 1). In an embodiment, the sensor(s) 225 may include a single sensor (e.g., a single radar sensor) or multiple sensors (e.g., a radar sensor and an ultrasonic sensor). Furthermore, the memory 220, the processor 215, and the sensor(s) 225 may be embodied in or integrated into a single electronic device. In addition, the memory 220 may be a hardware cache accessible to the processor 215 configured to cache data for rapid access by the processor 215. It should be understood that the various functionalities illustrated in the signal diagram 200 may appear at different times or in different orders in relation to other functionalities.

[0069] The signal diagram 200 may begin with the sensor(s) 225 generating (230) sensor data. For example, if the sensor 225 is a radar sensor, the radar sensor may emit radio waves and detect the resulting waveform. According to an embodiment, the sensor(s) 225 may operate in a first mode of operation in generating the sensor data. For example, if the sensor 225 is a radar sensor, the sensor may detect the presence of a target in the vicinity of the electronic device. The sensor 225 may emit radio waves having a long-range frequency, such as to detect a target object. The processor 215 may obtain 232 the generated sensor data from the sensor(s) 225. It should be appreciated that the sensor(s) 225 may generate the sensor data continuously, and the processor 215 may obtain it continuously.

[0070] The processor 215 may analyze the acquired sensor data to determine whether motion has been detected (234). In particular, the processor 215 may analyze the sensor data (e.g., a received waveform) to determine whether motion is indicated in the sensor data. In analyzing the sensor data, the processor 215 may execute an initial algorithm, such as a motion detection algorithm, configured to process the sensor data resulting from the sensor(s) 225 operating in the first mode of operation. If the processor 215 does not detect motion ("NO"), processing may return to (230 / 232), may terminate, or may proceed to other functionality. Otherwise, upon detecting motion ("YES"), the processor 215 may provide the sensor data to the memory 220 (236). After receiving the sensor data, the memory 220 may store (cache) the sensor data for later access by the processor 215 (240). It should be appreciated that as the sensor(s) 225 generate additional sensor data, the memory 220 may cache the sensor data on a rolling basis and the processor 215 obtains the additional sensor data.

[0071] The processor 215 may also initiate an auxiliary motion recognition algorithm (238) after detecting motion. According to an embodiment, the auxiliary motion recognition algorithm may be different from the initial algorithm that the processor 215 executes at (234) when it detects motion. For example, the processor 215 may detect motion at (234) while operating in a presence mode, and the auxiliary motion recognition algorithm may be associated with a gesture mode. In general, the auxiliary motion recognition algorithm may consume more resources (e.g., computational, memory, electrical, and / or thermal) than the initial algorithm.

[0072] The processor 215 may also retrieve (242) sensor data cached in the memory 220. In certain embodiments, the processor 215 may perform a "clutter removal" or background subtraction technique on the sensor data retrieved from the memory 220 (244). In performing clutter removal, the processor 215 may analyze the acquired sensor data to remove a portion of the data from the acquired sensor data that is not indicative of motion. Thus, the remaining data may include data that is indicative (or may be indicative of) motion.

[0073] When executing the auxiliary motion recognition algorithm, the processor 215 may analyze the cached sensor data with or without removing background data (i.e., data in which no motion is detected) (246). The processor 215 may determine whether the detected motion was confirmed at (234) in conjunction with the analysis of the cached sensor data by the auxiliary motion recognition algorithm. The auxiliary motion recognition algorithm may determine whether the initial algorithmic motion detection at (234) was a false positive by analyzing the cached sensor data. If the auxiliary motion recognition algorithm does not confirm the detected motion ("NO", i.e., the initial algorithmic motion detection was a false positive), processing may return to (230 / 232), may terminate, or may proceed to other functionality.

[0074] If the auxiliary motion recognition algorithm confirms the detected motion ("YES", i.e., the motion detection by the initial algorithm was not a false positive), the processor may continue operation of the auxiliary motion recognition algorithm. In particular, the processor 215 may request (249) the sensor(s) 225 to generate and provide additional sensor data. The sensor(s) 225 may request (249) the additional sensor data after receiving the request. According to an embodiment, the sensor(s) 225 may generate the additional sensor data while operating in a different mode than the operating mode that generated the sensor data at (230). For example, the initial sensor data generated at (230) may come from the sensor(s) 225 operating in a presence mode that generates long-range radio waves, and the additional sensor data generated at (250) may come from the sensor(s) 225 operating in a gesture mode that generates short-range radio waves. The sensor(s) 225 may provide the additional sensor data to the processor 215 (251).

[0075] It should be appreciated that additional sensors other than the sensor that generated the sensor data in (230) may generate additional sensor data. Thus, in this implementation, the processor 215 may request (249) the additional sensors to generate additional sensor data, and the additional sensors may generate (250) and provide (251) the additional sensor data to the processor 215.

[0076] An auxiliary motion recognition algorithm executed by the processor 215 may analyze the additional sensor data after it is received (252). The auxiliary motion recognition algorithm may facilitate various functionality in analyzing the additional sensor data. For example, if the auxiliary motion recognition algorithm is associated with a gesture mode, it may detect a particular gesture (e.g., a clockwise turning gesture on a dial) and facilitate a particular action based on the particular gesture (e.g., increasing the volume of a music playing application).

[0077] If the auxiliary motion recognition algorithm attempts to detect further changes in motion from the additional sensor data and does not detect any further changes in motion, the processor 215 may terminate the auxiliary motion recognition algorithm. Thus, the processor 215 may revert to executing an initial algorithm, such as to conserve various resources of the electronic device. It should be appreciated that the processor 215 may execute the initial algorithm continuously throughout the signal diagram 200, or may terminate the initial algorithm in response to the auxiliary motion recognition algorithm confirming motion detection at (248).

[0078] 3 is a signal diagram 300 associated with various embodiments of the system and method. The signal diagram 300 includes a memory 320 (such as the memory 120 described with reference to FIG. 1), a processor 315 (such as the processor 115 described with reference to FIG. 1), and one or more sensors 325 (such as one or more of the various sensors discussed with reference to FIG. 1). In an embodiment, the sensor(s) 325 may include a single sensor (e.g., a single radar sensor) or multiple sensors (e.g., a radar sensor and an ultrasonic sensor). Furthermore, the memory 320, the processor 315, and the sensor(s) 325 may be embodied in or integrated into a single electronic device. In addition, the memory 320 may be a hardware cache accessible to the processor 315 configured to cache data for rapid access by the processor 315. It should be understood that the various functionalities illustrated in the signal diagram 300 may appear at different times or in different orders in relation to other functionalities.

[0079] The signal diagram 300 may begin with the sensor(s) 325 generating (330) sensor data for a first mode. For example, if the sensor 325 is a radar sensor, the radar sensor may emit radio waves and detect a resulting waveform. According to an embodiment, the sensor(s) 325 may operate in a first operational mode having a first sensitivity when generating the sensor data for the first mode. For example, if the sensor 325 is a radar sensor, it may emit radio waves having a long-range frequency, such as to detect the presence of a target in the vicinity of the electronic device. The processor 315 may receive from the sensor(s) 325 the generated signal (330). The processor 315 may acquire 332 the generated first mode sensor data. It should be appreciated that the sensor(s) 325 may continuously generate and the processor 315 may continuously acquire the first mode sensor data.

[0080] The processor 315 may analyze the acquired first mode sensor data to determine whether motion is detected (334). In particular, the processor 315 may analyze the first mode sensor data (e.g., received waveforms) to determine whether motion is indicated in the first mode sensor data. In analyzing the first mode sensor data, the processor 315 may execute an initial motion recognition algorithm configured to process the first mode sensor data resulting from the sensor(s) 325 operating in the first mode of operation. If the processor 315 does not detect motion ("NO"), processing may return to (330 / 332), may end, or may proceed to other functionality.

[0081] Otherwise, upon detecting motion ("YES"), the processor 315 may request the sensor(s) 325 to generate and provide second mode sensor data (336). The sensor(s) 325 may generate second mode sensor data after receiving the request (338). According to an embodiment, the sensor(s) 325 may generate the second mode sensor data while operating in a second mode that is different from the first operating mode in which the sensor(s) generated the first mode sensor data at (330). For example, the first mode sensor data generated at (330) may result from the sensor(s) 325 operating in a presence mode generating long-range radio waves, and the second mode sensor data generated at (338) may result from the sensor(s) 325 operating in a gesture mode generating short-range radio waves. The sensor(s) 325 may provide the second mode sensor data to the processor 315 (340).

[0082] In some scenarios, the determination at (334) may be based on the processor 315 determining whether the first mode sensor data includes movement above a certain speed, which may represent a minimum speed of movement that may include a gesture. If the processor 315 determines that the first mode sensor data includes movement above a certain speed ("YES"), processing may continue (336). If the processor 315 determines that the first mode sensor data does not include movement above a certain speed ("NO"), processing may return to (330 / 332), may end, or may proceed to other functionality.

[0083] It should be appreciated that additional sensors other than the sensor that generated the sensor data in (330) may generate sensor data in the second mode. Thus, in this implementation, the processor 315 may request (336) the additional sensors to generate sensor data in the second mode, and the additional sensors may generate (338) and provide (340) the second mode sensor data to the processor 315.

[0084] Additionally, the processor 315 may provide the second mode sensor data to the memory 320 (342). After receiving the second mode sensor data, the memory 320 may store (cache) the second mode sensor data for later access by the processor 315 (348). It should be appreciated that as the sensor(s) 325 generate the second mode sensor data, the memory 320 may cache the second mode sensor data in a rolling manner and the processor 315 retrieves the second mode sensor data.

[0085] The processor 315 may obtain (344) additional first mode sensor data generated by the sensor(s) 325 operating in the first mode of operation. In addition, the processor 315 may initiate (346) a supplemental motion recognition algorithm. According to an embodiment, the supplemental motion recognition algorithm is initiated when the processor 315 detects (334) motion. For example, the processor 315 may detect motion at (334) while operating in a presence mode, and the auxiliary motion recognition algorithm may be associated with a gesture mode. In general, the auxiliary motion recognition algorithm may consume more resources (e.g., computational, memory, electrical, and / or thermal) than the initial motion recognition algorithm.

[0086] The processor 315 may also retrieve (350) second mode sensor data cached in the memory 320. In a particular embodiment, the processor 315 may perform a "clutter removal" or background subtraction technique on the retrieved second mode sensor data from the memory 320 (352). In performing clutter removal, the processor 315 may analyze the retrieved second mode sensor data to remove a portion of data from the retrieved second mode sensor data that is not indicative of motion. Thus, the remaining data may include data that is indicative (or may be indicative of) motion.

[0087] The processor 315 executing the auxiliary motion recognition algorithm may analyze the cached second mode sensor data (354), with or without removing background data (i.e., data in which no motion is detected). In an embodiment, this step allows the auxiliary motion recognition algorithm to access motion data that was initially detected before the target entered a zone adapted to the auxiliary motion recognition algorithm, which may improve the motion detection and recognition capabilities of the auxiliary motion recognition algorithm. In addition, the processor 315 may analyze additional first mode sensor data (356) while executing the initial motion recognition algorithm. Thus, the processor 315 may execute the initial motion recognition algorithm and the auxiliary motion recognition algorithm simultaneously.

[0088] The processor 315 may obtain additional second mode sensor data generated by the sensor(s) 325 from the sensor(s) operating in the second mode (358). The processor 315 may also execute an auxiliary motion recognition algorithm to analyze the additional second mode sensor data and determine whether motion is detected based on the analysis (360). According to an embodiment, if the processor 315 detects motion based on the additional second mode sensor data, the target may be in a zone adapted to the auxiliary motion recognition algorithm. For example, the auxiliary motion recognition algorithm may be associated with a gesture mode, and the detected motion may be related to a gesture performed by the target. By analyzing both the initial (cached) second mode sensor data and the additional second mode sensor data, the accuracy of motion detection and recognition of the auxiliary motion recognition algorithm may be improved. In some scenarios, for example, the first motion algorithm may initiate the second algorithm upon detecting motion above a certain speed, which may represent a minimum speed of motion that may include a gesture. Additionally, the second algorithm, once activated, may search / analyze the cached data to determine whether the cached data includes the gesture.

[0089] If the processor 315 detects motion ("YES"), it may continue to acquire and analyze additional second mode sensor data. If the processor 315 does not detect motion ("NO"), it may terminate the auxiliary motion recognition algorithm (362). Thus, by not running the auxiliary motion recognition algorithm when the second mode sensor data does not indicate motion that the auxiliary motion recognition algorithm would normally process, resource conservation of the electronic device is improved. Thus, the processor 315 may revert to simply running the initial motion recognition algorithm, such as to conserve various resources of the electronic device.

[0090] 4 is a signal diagram 400 associated with various embodiments of the systems and methods. 400 includes a processor 415 (such as processor 115 described with reference to FIG. 1) and one or more sensors 425 (such as one or more of the various sensors discussed with reference to FIG. 1). In an embodiment, the processor 415 and the sensor(s) 425 may be embodied in or incorporated into a single electronic device. It should be understood that the various functionalities illustrated in signal diagram 400 may appear at different times or orders in relation to other functionalities.

[0091] In a first implementation, the sensor(s) 425 may be two separate sensors. For example, the sensor 425 may include a radar sensor configured to detect gross body motion and an ultrasonic sensor configured to detect respiration rate. In this implementation, the first sensor of the sensor(s) 425 may be a low-sensitivity sensor and correspondingly may generate low-sensitivity sensor data with a low false positive rate, and the second sensor of the sensor(s) 425 may be a high-sensitivity sensor and correspondingly may generate high-sensitivity sensor data with a high false positive rate. Furthermore, in this implementation, the first sensor may be bidirectional and thus configured to emit signals in two or more directions (e.g., in front of and behind the electronic device), and the second sensor may be directional and thus configured to emit signals in one direction (e.g., toward the front of the electronic device). It should be understood that both sensors may be bidirectional or directional.

[0092] In a second implementation, the sensor(s) 425 may be a single sensor (e.g., a radar sensor). In this implementation, the single sensor may operate in multiple modes, such as a first mode (e.g., a long-range radar configuration) that generates low-sensitivity data with a low false positive rate, and a second mode (e.g., a short-range radar configuration) that generates high-sensitivity data with a high false positive rate. Thus, while FIG. 4 shows a single sensor interfaced with the processor 415 to generate both low-sensitivity and high-sensitivity sensor data, it should be understood that multiple sensors may interface with the processor 415 to generate respective sensor data.

[0093] The signal diagram 400 may begin with the sensor(s) 425 generating (430) a set of low sensitivity sensor data. For example, if the sensor 425 is a radar sensor, the radar sensor may emit radio waves and detect a resulting waveform. According to an embodiment, the sensor(s) 425 may operate in a first mode of operation when generating the sensor data. For example, if the sensor 425 is a radar sensor, the sensor 425 may emit radio waves having a long-range frequency, such as to detect the presence of a target in the vicinity of the electronic device. The processor 415 may obtain (432) the generated low sensitivity sensor data from the sensor(s) 425. It should be appreciated that the sensor(s) 425 may generate the low sensitivity sensor data continuously, and the processor 415 may obtain it continuously.

[0094] The processor 415 may analyze the acquired low sensitivity sensor data to determine whether motion has been detected (434). In particular, the processor 415 may analyze the low sensitivity sensor data (e.g., a received waveform) to determine whether motion is indicated in the low sensitivity sensor data. In analyzing the low sensitivity sensor data, the processor 415 may execute an initial algorithm, such as a motion detection algorithm, configured to process the low sensitivity sensor data resulting from the sensor(s) 425 operating in the first mode of operation. If the processor 415 does not detect motion ("NO"), processing may return to (430 / 432), may terminate, or may proceed to other functionality.

[0095] Otherwise, if the processor 415 detects motion ("YES"), it may start 435 a timeout window, which may be of various lengths (e.g., 10 seconds, 20 seconds, or other lengths of time). The sensor(s) 425 may then be requested to generate and provide the high sensitivity sensor data (436). The sensor(s) 425 may generate (438) the high sensitivity sensor data after receiving the request.

[0096] According to an embodiment, the sensor(s) 425 may generate the high sensitivity sensor data while operating in a subsequent mode that is different from the first operating mode that generated the low sensitivity sensor data at (430). For example, the low sensitivity sensor data generated at (430) may result from the sensor(s) 425 operating in a presence mode that generates long-range radio waves, and the high sensitivity sensor data generated at (438) may result from the sensor(s) 425 operating in a gesture mode that generates short-range radio waves. It should be understood that the low sensitivity sensor data and the high sensitivity sensor data may be generated from separate sensors.

[0097] The sensor(s) 425 may provide (442) high sensitivity sensor data to the processor 415. In addition, the processor 425 may obtain (444) additional low sensitivity sensor data from the sensor(s) 425. According to an embodiment, the sensor(s) 425 may continue to operate in the first mode of operation to continually generate low sensitivity sensor data that the processor 415 may obtain.

[0098] The processor 415 may analyze the additional low sensitivity sensor data and the high sensitivity sensor data (446). In analyzing the additional low sensitivity sensor data, the processor 415 may execute an initial algorithm configured to process the low sensitivity sensor data resulting from the sensor(s) 425 operating in the first mode of operation. Additionally, in analyzing the high sensitivity sensor data, the processor 415 may execute a subsequent algorithm configured to process the high sensitivity sensor data resulting from the sensor(s) 425 operating in the subsequent mode of operation. The processor 415 may analyze the high sensitivity sensor data to confirm the change in motion that the processor 415 detected (434) (447). According to an embodiment, the processor 415 may confirm the change in motion by detecting a separate or subsequent change in motion indicated in the high sensitivity sensor data, which may be a continuation or related movement of the movement detected in (434).

[0099] At (448), the processor 415 may determine whether the timeout window initiated at (435) has expired. For example, if the timeout window is 10 seconds, the timeout window expires after 10 seconds have passed. If the timeout window has not expired ("NO"), processing returns to (442), where additional low sensitivity sensor data and high sensitivity sensor data may be acquired and analyzed. According to an embodiment, the sensor(s) 425 may continue to generate, and the processor 415 may continue to analyze, high sensitivity sensor data and low sensitivity sensor data.

[0100] Once the timeout window has expired ("YES"), the processor 415 may determine whether further motion has been detected (450). According to an embodiment, the processor 415 may analyze additional sets of low sensitivity sensor data in determining whether further motion has been detected. That is, the processor 415 may determine whether further motion has been detected from additional low sensitivity sensor data acquired after the timeout window began (444). If the processor 415 detects further motion ("YES"), the process may end, repeat, or proceed to other functionality. In one embodiment, the processor 415 may continue to acquire and analyze high sensitivity sensor data generated by the sensor(s) 425 operating in the subsequent mode of operation, thus facilitating functionality. Additionally, the processor 415 may continually determine whether further motion has been detected and proceed to (452) if not.

[0101] The processor 415 may consider the confirmation of the change in motion from (447) a false positive (452) if no further motion is detected ("NO"). In other words, the processor 415 may consider the confirmed motion from the high sensitivity sensor data to be a false positive due to no further motion being detected from the additional low sensitivity sensor data. The processor 415 may also terminate subsequent algorithms that process the high sensitivity sensor data (454). In addition, the processor 415 may request the sensor(s) 225 to stop generating high sensitivity sensor data (456). Processing may then end, repeat, or proceed to other functionality.

[0102] 5A-5F show example representations of interactions between an electronic device and a user, as well as example representations of the operation of various sensors based on the interactions. In each of FIGS. 5A-5F, a user 503 is shown at a certain relative distance from the device 502, and a distance scale 504 generally indicates how far the user 503 is from the device 502 (e.g., short, medium, long, out of range, or somewhere in between). In addition, each of FIGS. 5A-5F represents the frequency(es) of radio waves emitted by the radar sensor as well as the amplitude of ultrasonic waves emitted by the ultrasonic sensor. The representations of FIGS. 5A-5F may be interpreted as the user 503 moving sequentially from out of range of the device 502 to within a short distance of the device 502. It should be understood that the representations depicted in FIGS. 5A-5F are merely examples, and additional or alternative representations are envisioned.

[0103] 5A shows a representation 500 of a user 503 that is out of range of a device 502. In this configuration, the radar sensor emits (501) long-range radio waves that generally have a lower SNR (i.e., are less accurate) and are capable of detecting objects farther away from the device 502. In addition, the ultrasonic sensor may be turned off (505).

[0104] 5B illustrates a representation 506 of a user 503 at a long distance from the device 502. In this configuration, the radar sensor continues to emit long-range radio waves (507) because the user 503 is still at a long distance from the device 502. Additionally, the ultrasonic sensor may remain off (508).

[0105] 5C illustrates a representation 510 of a user 503 approaching a medium distance from the device 502. In this configuration, the radar sensor emits both long-range and medium-range radio waves (511). According to an embodiment, the radar sensor may emit long-range and medium-range radio waves within a transmission window in an alternating or sequential manner, etc. By the radar sensor emitting medium-range radio waves before the user 503 comes within a medium distance from the device 502, the device 502 may begin to analyze the resulting sensed data in association with an algorithm (e.g., gesture mode) that processes the medium-range radio waves. In addition, the device 502 may activate an ultrasonic sensor that can emit high-amplitude ultrasonic waves (512).

[0106] 5D illustrates a representation 515 of a user 503 at a medium distance from the device 502. In this configuration, the radar sensor emits long-range, medium-range, and short-range radio waves (516). According to an embodiment, the radar sensor may emit long-range, medium-range, and short-range radio waves within a transmission window, such as in an alternating or sequential manner. With the radar sensor emitting both short-range and medium-range radio waves, the device 502 may begin analyzing the resulting sensed data in association with algorithm(s) that process the medium-range and / or short-range radio waves (e.g., a "gross" gesture mode and / or a "micro" gesture mode). Additionally, the ultrasonic sensor may emit high-amplitude ultrasonic waves (517).

[0107] FIG. 5E illustrates a representation 520 of a user 503 approaching a short distance from the device 502. In this configuration, the radar sensor emits (521) long-range, medium-range, and short-range radio waves. The emissions (521) of FIG. 5E may include more short-range radio waves (and / or fewer long-range and / or medium-range radio waves) compared to the emissions (516) of FIG. 5D. According to an embodiment, the radar sensor may emit long-range, medium-range, and short-range radio waves within a transmission window, such as in an alternating or sequential manner. With the radar sensor emitting both short-range and medium-range radio waves, the device 502 may begin analyzing the resulting sensed data in association with algorithm(s) that process the medium-range and / or short-range radio waves (e.g., a "gross" gesture mode and / or a "micro" gesture mode). Additionally, the ultrasonic sensor may emit (522) medium amplitude ultrasonic waves.

[0108] FIG. 5F illustrates a representation 525 of a user 503 at a short distance from the device 502. In this configuration, the radar sensor emits (526) long-range and short-range radio waves. The radiation (526) in FIG. 5F may include more short-range radio waves (and / or fewer or no long-range and / or medium-range radio waves) compared to the radiation (516) in FIG. 5D and the radiation (521) in FIG. 5E. According to an embodiment, the radar sensor may emit long-range and short-range radio waves within a transmission window in an alternating or sequential manner, etc. The radar sensor's emission of short-range radio waves may cause the device 502 to begin analyzing the resulting sensed data in conjunction with an algorithm(s) that process the short-range radio waves (e.g., a "micro" gesture mode). Additionally, if the user 503 retreats from the device 502, the radar sensor's emission of long-range radio waves may cause the device 502 to continue operating in a presence mode configured to detect additional objects and consuming sensor data. Furthermore, the ultrasonic sensor may emit small amplitude ultrasonic waves (527).

[0109] 6 is a flow chart of a method 600 for an electronic device to manage motion detection functionality. Method 600 begins with the electronic device obtaining a set of sensor data from a sensor of the electronic device (block 605). According to an embodiment, the sensor may be a radar sensor, an ultrasonic sensor, or another type of sensor. The electronic device may analyze the set of sensor data to determine whether motion has been detected (i.e., whether the set of sensor data indicates a change in the motion of a target relative to the electronic device) (block 610). In analyzing the set of sensor data, the electronic device may perform an earlier motion recognition algorithm, which is generally less resource intensive.

[0110] If the electronic device does not detect motion ("NO"), processing may return to block 605, may end, or may proceed to other functionality. If the electronic device detects motion ("YES"), it may cache the set of sensor data in memory (block 615). Generally, as the sensor generates a set of sensor data, the electronic device may acquire and cache the set of sensor data in a rolling manner. In addition, the electronic device may remove at least a portion of the cached set of sensor data (block 620), for example, using techniques of background subtraction or clutter removal. The removed sensor data may be sensor data that does not indicate motion.

[0111] The electronic device may initiate an auxiliary motion recognition algorithm (block 625). According to an embodiment, the auxiliary motion recognition algorithm may generally consume more resources than the initial motion recognition algorithm. The electronic device may analyze the set of sensor data, which has been cached and then removed at least from portions that are not indicative of motion, with the auxiliary motion recognition algorithm (block 630).

[0112] The electronic device may then analyze the detected movement in block 610 based on the analysis in block 630. The electronic device may then determine whether a change in motion has been identified (i.e., that the change in motion detected in block 610 is not a false positive) (block 635). If the electronic device determines that a change in motion has not been identified ("NO"), processing may return to block 605, may end, or may proceed to other functionality. In addition, the electronic device may terminate the auxiliary motion recognition algorithm.

[0113] If the electronic device determines that a change in motion has been confirmed ("YES"), the electronic device may obtain an additional set of sensor data from the sensor (block 640). In another implementation, the electronic device may obtain an additional set of sensor data from an additional (i.e., different) sensor. The electronic device may analyze the additional set of sensor data with a supplemental motion recognition algorithm (block 645) and facilitate various functionality of the electronic device accordingly.

[0114] The electronic device may determine whether further changes in motion have been detected (block 650) based on the analysis of block 645. According to an embodiment, further changes in motion may indicate a gesture that has been performed or other user actions that have been performed in the vicinity of the electronic device. If the electronic device detects further changes in motion ("YES"), processing may return to block 640 or may proceed to other functionality. If the electronic device does not detect further changes in motion ("NO"), processing may end, repeat, or proceed to other functionality. In addition, the electronic device may terminate the auxiliary motion recognition algorithm if it does not detect further changes in motion.

[0115] 7 is a flow chart of another method 700 for an electronic device to manage motion detection capabilities. Method 700 begins with the electronic device acquiring a first set of first mode sensor data (block 705) from a sensor of the electronic device operating in a first sensitivity mode. According to an embodiment, the sensor may be a radar sensor, an ultrasonic sensor, or another type of sensor. The electronic device may analyze the first set of first mode sensor data to determine whether motion has been detected (i.e., whether the first set of first mode sensor data indicates a change in the motion of a target relative to the electronic device) (block 710). In analyzing the first set of first mode sensor data, the electronic device may perform an initial motion recognition algorithm that is generally less resource intensive.

[0116] If the electronic device does not detect motion ("NO"), processing may return to block 705, may end, or may proceed to other functionality. If the electronic device detects motion ("YES"), it may obtain a set of second mode sensor data from the sensor operating in the second sensitivity mode (block 715). In addition, the electronic device may cache the set of second mode sensor data in memory (block 720). Furthermore, the electronic device may remove at least a portion of the cached set of second mode sensor data (block 725), for example, using background subtraction or clutter removal techniques. The removed sensor data may be sensor data that does not indicate motion.

[0117] The electronic device may obtain a second set of first mode sensor data from the sensor operating in the first sensitivity mode (block 730). Further, the electronic device may analyze the second set of first mode sensor data with the initial motion recognition algorithm. Thus, the sensor may continue to operate in the first sensitivity mode, and the initial motion recognition algorithm may continue to analyze the resulting sensor data.

[0118] The electronic device may also start an auxiliary motion recognition algorithm (block 735). According to an embodiment, the auxiliary motion recognition algorithm may generally consume more resources than the initial motion recognition algorithm. The electronic device may start at least one of the following motion recognition algorithms after the motion recognition algorithm is cached: The set of second mode sensor data, with the portion not indicative of motion removed, may be analyzed by the auxiliary motion recognition algorithm (block 740). Additionally, the electronic device obtains an additional set of second mode sensor data from the sensor operating in the second sensitivity mode (block 745) and analyzes the additional set of second mode sensor data using the auxiliary motion recognition algorithm.

[0119] Based on this analysis, the electronic device may determine whether further motion has been detected (i.e., whether an additional set of second mode sensor data indicates motion) (block 750). If the electronic device determines that further motion has been detected ("YES"), processing may return to block 745, may end, or may proceed to other functionality. If the electronic device determines that further motion has not been detected ("NO"), it may terminate the auxiliary motion recognition algorithm (block 755).

[0120] 8 is a flow chart of a method 800 for an electronic device to manage sensor activity. The method 800 begins with the electronic device acquiring a set of low-sensitivity sensor data (block 805) from a sensor of the electronic device operating in a low-sensitivity mode. According to an embodiment, the sensor may be a radar sensor, an ultrasonic sensor, or another type of sensor. The electronic device may analyze the set of low-sensitivity sensor data to determine whether motion has been detected (i.e., whether the set of low-sensitivity sensor data indicates a change in the movement of a target relative to the electronic device) (block 810). The electronic device may execute an earlier algorithm, which is generally less resource-intensive, in analyzing the set of low-sensitivity sensor data.

[0121] If the electronic device does not detect motion ("NO"), processing may return to block 805, may end, or may proceed to other functionality. If the electronic device detects motion ("YES"), it may initiate a timeout window of variable length (e.g., 10 seconds, 1 minute, etc.) (815). Additionally, the electronic device may obtain a set of high sensitivity sensor data from the sensor operating in high sensitivity mode (block 820). According to an embodiment, the electronic device may request the sensor to generate a set of high sensitivity sensor data to initiate a subsequent algorithm that processes the set of high sensitivity sensor data, which may generally be more resource-intensive than the initial algorithm. Additionally, the sensor may continue to operate in low sensitivity mode, and the electronic device may obtain an additional set of low sensitivity sensor data from the sensor operating in low sensitivity mode (block 825).

[0122] The electronic device may analyze the set of high sensitivity sensor data and the additional set of low sensitivity sensor data (block 830). In particular, the electronic device may analyze the set of high sensitivity sensor data using the subsequent algorithm and may analyze the additional set of low sensitivity sensor data using the initial algorithm. The electronic device may confirm the change in motion detected in block 810 based on the analysis of the set of high sensitivity sensor data (block 835). In confirming the change in motion, the electronic device may detect a subsequent change in motion for the electronic device, which may be a continuation or distinct from the change in motion detected in block 810 and may be associated with the same target or a different target. In some circumstances, the electronic device may not confirm a change in motion as a result of the analysis of the set of high sensitivity sensor data.

[0123] At block 840, the electronic device may determine whether the timeout window has expired. If the timeout window has not expired ("NO"), processing may return to block 820, may end, or may proceed to other functionality. If the timeout window has expired ("YES"), processing may proceed to block 845, where the electronic device may determine whether the timeout window has expired based on analysis of an additional set of low sensitivity sensor data. , it may be determined whether any further changes in motion have been detected for the electronic device. If the electronic device detects any further changes in motion ("YES"), the process may end, repeat, or proceed to other functionality.

[0124] The electronic device may consider the confirmation of the change in motion from block 835 a false positive (block 850) if no further change in motion is detected ("NO"). In addition, the electronic device may terminate subsequent algorithms that process the high sensitivity sensor data (block 855). Further, in an embodiment, the electronic device may request the sensor to cease generating sets of high sensitivity sensor data.

[0125] 8 as operating with a single sensor, it should be understood that the method 800 may operate with multiple sensors. In particular, a first sensor may operate in a low sensitivity mode to generate low sensitivity sensor data, and a second, distinct sensor may operate in a high sensitivity mode to generate high sensitivity sensor data.

[0126] 9 illustrates an example electronic device 945 in which the functionality discussed herein may be implemented. The electronic device 945 may include a processor 981 or other similar type of controller module or microcontroller, as well as a memory 978. The electronic device 945 may further include an AC power component 963 or other type of power source (e.g., one or more batteries) configured to deliver or provide power to the electronic device 945 and its components.

[0127] The memory 978 may store an operating system 979 that can facilitate the functionality discussed herein, as well as a cache 980 configured to store / cache various sensor data and / or other data. The processor 981 interfaces with the memory 978 to execute the operating system 979 and retrieve data from the cache 980, as well as execute a set of applications 971, such as one or more motion sensing applications 972, which the memory 978 may also store. For example, the motion sensing application 972 may include a number of motion sensing algorithms configured to analyze various types of sensor data. The memory 978 may include one or more forms of volatile and / or non-volatile fixed and / or removable storage, such as read only memory (ROM), electronically programmable read only memory (EPROM), random access memory (RAM), erasable electronically programmable read only memory (EEPROM), and / or other hard disks, flash memory, MicroSD cards, and the like.

[0128] The electronic device 945 may further include a communication module 975 configured to interface with one or more external ports 973 for communicating data over one or more networks 950. For example, the communication module 975 may utilize the external port 973 to establish a TCP connection connecting the electronic device 945 to other electronic devices through a Wi-Fi direct connection. According to some embodiments, the communication module 975 may include one or more transceiver functions according to IEEE, 3GPP, or other standards and configured to transmit and receive data via the one or more external ports 973. More specifically, the communication module 975 may include one or more WWAN transceivers configured to communicate with a wide area network including one or more cell sites or base stations for communicatively connecting the electronic device 945 to additional devices or components. Additionally, the communication module 945 may include one or more WLAN and / or WPAN transceivers configured to connect the electronic device 945 to a local area network and / or a personal area network such as a Bluetooth network.

[0129] The electronic device 945 may further include a set of sensors 964. In particular, the set of sensors 964 may include one or more radar sensors 965, one or more ultrasonic sensors 966, one or more proximity sensors 967, one or more image sensors 969, and / or one or more other sensors 969 (e.g., accelerometers, touch sensors, NFC elements, etc.). The electronic device 945 may include an audio module 977 including hardware components such as a speaker 985 for outputting audio and a microphone 986 for detecting or receiving audio. The electronic device 945 may further include a user interface 974 for presenting information to and / or receiving input from a user. As shown in FIG. 9, the user interface 974 includes a display screen 987 and I / O components 988 (e.g., a capacitive or resistive touch-sensitive input panel, keys, buttons, lights, LEDs, cursor control devices, haptic devices, etc.). The user interface 974 may also include a speaker 985 and a microphone 986. In an embodiment, the display screen 987 is a touch screen using a single display technology or a combination of display technologies and may include a thin transparent touch-sensitive component overlaid over the display portion visible to the user. For example, such displays include capacitive displays, resistive displays, surface acoustic wave (SAW) displays, optical image displays, etc.

[0130] In general, a computer program product according to one embodiment includes a computer usable storage medium (e.g., standard random access memory (RAM), an optical disk, a universal serial bus (USB) drive, or the like) having computer readable program code adapted to be executed by a processor 981 (e.g., operating in conjunction with an operating system 979) to facilitate the functions described herein. In this regard, the program code may be implemented in any desired language and may be implemented as machine code, assembler code, bytecode, interpreted language source code, or the like (e.g., C, C++, Java, Actionscript, Objective-C, Javascript, CSS, XML, and / or others).

[0131] Throughout this specification, multiple instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are shown and described as separate operations, one or more of the individual operations may be performed simultaneously, and the operations need not be performed in the order shown. Structures and functionality presented as separate components in example configurations may be implemented as combined structures or components. Similarly, structures and functionality presented as single components may be implemented as separate components. These and other changes, modifications, additions, and improvements are within the scope of the subject matter of this disclosure.

[0132] Additionally, certain embodiments are described herein as including logic or multiple components, modules, or mechanisms. A module may constitute either a software module (e.g., code stored on a machine-readable medium) or a hardware module. A hardware module is a tangible unit that can perform certain operations and may be configured or arranged in a certain manner. In an example embodiment, one or more computer systems (e.g., a stand-alone computer system, a client computer system, or a server computer system) or one or more hardware modules (e.g., a processor or group of processors) of a computer system may be configured as a hardware module that operates by software (e.g., an application or application portion) to perform certain operations described herein.

[0133] In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or permanently configured logic to perform certain operations (e.g., as a special purpose processor such as a field programmable gate array (FPGA) or application specific integrated circuit (ASIC)). A hardware module may also include programmable logic or circuitry (e.g., within the scope of general purpose processors or other programmable processors) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision as to whether a hardware module is implemented mechanically with permanently configured dedicated circuitry or with temporarily configured (e.g., software) circuitry is determined by cost and time considerations.

[0134] Thus, the term hardware should be understood to encompass tangible entities that are permanently configured (e.g., wired), physically configured, or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, a "hardware-implemented module" refers to a hardware module. Given an embodiment in which the hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance at the same time. For example, if the hardware modules include a general-purpose processor that is configured using software, the general-purpose processor may be configured as separate hardware modules at different times. Thus, the processor may be configured by software, for example, to configure a particular hardware module at one instance and another hardware module at another instance.

[0135] Hardware modules can communicate with other hardware. Thus, each of the described hardware modules can be considered to be communicatively coupled. When multiple such hardware modules are present simultaneously, communication can be achieved by signal transmission (e.g., through appropriate circuits and buses) connecting the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at separate times, communication between such hardware modules can be achieved, for example, by storing and retrieving information in a memory structure accessed by the multiple hardware modules. For example, one hardware module may perform an operation and store an output of the operation in a communicatively coupled memory device. Still other hardware modules may then later access the memory device to retrieve and process the stored output. Hardware modules can also initiate communication with input or output devices to operate on resources (e.g., gather information).

[0136] The methods 600, 700, 800 may include one or more function blocks, modules, individual functions, or routines in the form of explicit computer-executable instructions stored in a non-transitory computer-readable storage medium and executed using a processor of a computing device (e.g., a server device described herein, a personal computer, a smartphone, a tablet computer, a watch, a mobile computing device, or other client computing device). The methods 600, 700, 800 may be included, for example, as part of any back-end server, client computing device module of the illustrated environment, or as part of a module external to such an environment. Although the figures may be described with reference to other figures for ease of explanation, the methods 600, 700, 800 may be utilized with other objects and user interfaces. Moreover, the above description may be modified in various ways to suit the needs of the present invention. Although the disclosure describes steps of methods 600, 700, and 800 as being performed by particular devices, this is for illustrative purposes only, as the blocks of methods 600, 700, and 800 may be performed by one or more devices or other parts of the environment.

[0137] Various operations of the example methods described herein may be performed at least in part by one or more processors, temporarily or permanently configured (e.g., by software) to perform the associated operations. Such processors, whether temporarily or permanently configured, may constitute processor-implemented modules that operate to perform one or more operations or functions. Modules referenced herein may include processor-implemented modules in some example embodiments.

[0138] Similarly, the methods or routines described herein may be at least partially implemented in a processor. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented hardware modules. Performance of a particular operation may be distributed across one or more processors that are not only present within a single machine, but also deployed across multiple machines. The processor(s) may be in a single location (e.g., within a home environment, within an office environment, or as a server farm) in some example embodiments and distributed across multiple locations in other embodiments.

[0139] The one or more processors may also operate to support performance of related operations in a "cloud computing" environment, or as a software as a service (SaaS). For example, at least some of the operations indicated above may be performed by a group of computers (as examples of machines that include processors), which operations are accessible over a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., APIs (application programming interfaces)).

[0140] Furthermore, the figures depict several embodiments of example environments for purposes of illustration only. Those skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods shown herein may be employed without departing from the principles described herein.

[0141] Those skilled in the art will recognize, upon reading this disclosure, further and additional alternative structural and functional designs for managing the operation of sensors through the principles disclosed herein. Thus, while specific embodiments and applications have been shown and described, it should be understood that the disclosed embodiments are not limited to the precise structures and components disclosed herein. Various modifications, changes and variations, which will be apparent to those skilled in the art, may be made in the organization, operation and details of the methods and apparatus disclosed herein without departing from the spirit and scope as defined by the appended claims.

Claims

1. 1. A computer-implemented method for managing a motion sensing function on an electronic device, the computer-implemented method comprising: a processor obtaining a set of sensor data from a sensor of the electronic device; detecting a change in a movement of a target relative to the electronic device based on an analysis of the set of sensor data by the processor; caching the set of sensor data in a memory of the electronic device; based on detecting the change in motion, the processor initiating an auxiliary motion recognition algorithm; analyzing the set of sensor data cached in the memory by the processor initiated auxiliary motion recognition algorithm; and ascertaining the change in movement with the auxiliary movement recognition algorithm based on an analysis of the set of sensor data cached in the memory.

2. The computer-implemented method of claim 1 , further comprising removing at least a portion of the set of sensor data cached in the memory, the portion including a portion that does not exhibit motion.

3. The step of analyzing the set of sensor data cached in the memory includes: The computer implemented method of claim 2 , further comprising analyzing the set of sensor data from which at least the portion has been removed by the processor initiated auxiliary motion recognition algorithm.

4. the processor acquiring an additional set of sensor data from the sensor of the electronic device; The computer-implemented method of claim 1 , further comprising: analyzing the additional set of sensor data by the auxiliary motion recognition algorithm.

5. attempting to detect additional changes in motion based on analysis of the additional sets of sensor data by the auxiliary motion recognition algorithm and finding no changes; The computer-implemented method of claim 4 , further comprising the step of: exiting the auxiliary motion recognition algorithm.

6. the processor acquiring an additional set of sensor data from an additional sensor of the electronic device; The computer-implemented method of claim 1 , further comprising: analyzing the additional set of sensor data by the auxiliary motion recognition algorithm.

7. The step of detecting a change in motion includes:

2. The computer-implemented method of claim 1, further comprising detecting a change in the movement of the target relative to the electronic device based on an analysis of the set of sensor data by an initial movement recognition algorithm executed by the processor.

8. 1. An electronic device comprising: A sensor; Memory, a processor interfaced to the sensor and the memory, the processor Sessa is obtaining a set of sensor data from the sensor; Detecting a change in a movement of a target relative to the electronic device based on an analysis of the set of sensor data; caching the set of sensor data in the memory based on the detection of the change in motion; Initiate auxiliary motion recognition algorithms, Retrieving the set of cached sensor data from the memory; analyzing the set of sensor data cached in the memory with the auxiliary motion recognition algorithm; and determining, based on an analysis of the set of sensor data cached in the memory, whether the motion change is detected by the auxiliary motion recognition algorithm.

9. 10. The electronic device of claim 8, wherein the processor is further configured to remove at least a portion of the set of sensor data cached in the memory, the portion of the set of sensor data not indicative of motion.

10. The electronic device of claim 9 , wherein the processor is configured to analyze the set of sensor data from which at least the portion has been removed by the auxiliary motion recognition algorithm.

11. The processor, acquiring an additional set of sensor data from the sensor; The electronic device of claim 8 , further configured to analyze the additional set of sensor data by the auxiliary motion recognition algorithm.

12. The processor, failing to detect further changes in motion based on analysis of the additional sets of sensor data by the auxiliary motion recognition algorithm; The electronic device of claim 11 , further configured to terminate the auxiliary motion recognition algorithm.

13. Further comprising an additional sensor; The processor, acquiring an additional set of sensor data from the additional sensor; The electronic device of claim 8 , further configured to analyze the additional set of sensor data by the auxiliary motion recognition algorithm.

14. The electronic device of claim 8 , wherein the processor analyzes the set of sensor data through an initial motion recognition algorithm to detect changes in the motion of the target relative to the electronic device.

15. 1. A computer-implemented method for managing a motion sensing function on an electronic device, the computer-implemented method comprising: a processor acquiring a first set of first mode sensor data from a sensor of the electronic device operating in a first sensitivity mode; detecting, by an initial motion recognition algorithm, a change in a motion of a target relative to the electronic device based on an analysis of a first set of sensor data of the first mode; Based on detecting the change in the motion, obtaining a set of second mode sensor data from the sensor operating in a second sensitivity mode; caching the set of second mode sensor data in a memory of the electronic device; obtaining a second set of first mode sensor data from the sensor operating in the first sensitivity mode; and said processor initiating an auxiliary motion recognition algorithm, said method comprising: A computer-implemented method comprising: analyzing the set of second mode sensor data cached in the memory with the processor initiated auxiliary motion recognition algorithm.

16. 16. The computer-implemented method of claim 15, further comprising analyzing a second set of the first mode sensor data with the initial motion recognition algorithm.

17. acquiring, by the processor, an additional set of second mode sensor data from the sensor operating in the second sensitivity mode; 16. The computer-implemented method of claim 15, further comprising: analyzing an additional set of sensor data of the second mode by the auxiliary motion recognition algorithm.

18. 16. The computer-implemented method of claim 15, further comprising removing at least a portion of the set of second mode sensor data cached in the memory that is not indicative of the motion, and wherein the at least a portion of the set of second mode sensor data is not indicative of the motion, and further comprising analyzing the at least a portion of the removed second mode sensor data by the auxiliary motion recognition algorithm initiated by the processor.

19. The computer-implemented method of claim 15 , further comprising the processor terminating the auxiliary motion recognition algorithm.

20. The step of terminating the auxiliary motion recognition algorithm comprises: failing to detect a change in motion relative to the electronic device based on analysis by the auxiliary motion recognition algorithm of the set of second mode sensor data cached in the memory; and c) terminating the auxiliary motion recognition algorithm.

Citation Information

Patent Citations

  • DEVICE AND METHOD FOR RECOGNIZING DRIVING BEHAVIOR BASED ON MOTION DATA - Patent application

    JP2020522798A

  • Low-power ambient computing system using machine learning

    JP2020532779A

  • SYSTEM AND METHOD FOR MANAGING MOTION DETECTION IN AN ELECTRONIC DEVICE AND ASSOCIATED ELECTRONIC DEVICE - Patent application

    JP2024508351A

  • Gesture recognition method, gesture input system, and electronic device

    JP5980879B2

  • Method for operating a sensor device, sensor device, and computer program for implementing the method

    JP6498310B2