Motion pattern recognition for device power policies
Through human activity recognition technology, the user activity status is detected and the interaction time is predicted, and the problem of user-defined planning routines relying on absolute time in the prior art is solved, and flexible power management and user-friendly interaction of the device are realized.
Patent Information
- Application Number
- CN202411347811.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-29
- Filing Date
- 2024-09-26
- Publication Date
- 2025-04-01
AI Technical Summary
The power management characteristics of existing electronic devices rely on user-defined planning routines, which typically rely on absolute time information, cannot automatically handle schedule deviations, and are cumbersome to configure.
Through human activity recognition technology, the user's activity status is detected and the current sequence of the activity status is generated, the database with the past sequence is compared, and when the user starts interacting with the device, wake up the device in advance.
It realizes interaction with the device without waiting or setting time, dynamically learns user routines, reduces dependence on absolute time information, and improves the flexibility and user experience of power management.
Smart Images

Figure CN119739276A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to context awareness for electronic devices. Background Art
[0002] Electronic devices typically support a comprehensive set of system-wide power management features to improve the user experience, extend battery life, save energy, and reduce device heat and noise. Power management features are especially important for portable devices such as laptops, tablets, and mobile devices because they have limited power sources.
[0003] Power management features often include the option to transition a device between several different power states. For example, many devices support intermediate power states between an off state (e.g., the device is completely off) and an on state (e.g., the device is turned on and ready for use by a user). Intermediate power states may include: a sleep state, in which the device is at reduced power; an idle state; and a hibernation state, similar to the off state, that is capable of restoring system context when the device is turned on again. Intermediate power states allow the device to quickly return to the on state when the device is ready for use by a user.
[0004] Many devices utilize user-defined scheduling routines to customize transitions between power states. For example, a laptop computer utilizes a user-defined scheduling routine to automatically enable or disable device features at certain times of the day based on absolute time information. Unfortunately, these types of user-defined scheduling routines rely on absolute time information and have fixed schedules that cannot automatically handle deviations from the user-defined schedule due to unexpected events (e.g., unexpected delays in the user's schedule, traffic, holidays, and schedule changes). In addition, user-defined schedules are often cumbersome because the user must manually configure the scheduling routine. Summary of the invention
[0005] The present disclosure relates to routine identification for adjusting the power state of a device. For example, in response to detecting that a user brings a laptop computer from home to work, the laptop computer changes from a sleep state to a power-on state.
[0006] Human activity recognition is performed to detect certain activity states, such as stationary state, walking state, and transport state. As more activities are detected, a current sequence of activity states is created. The current sequence of activity states represents a unique signature of the user's current routine.
[0007] In response to detecting a new activity state, a routine comparison is performed in which the current sequence is compared to a database of past sequences. A database sequence is a sequence in which the user has performed certain activities and ends with the user beginning to interact with the device. A variety of techniques may be used to compare sequences, such as duration distance calculations, unique distance calculations, and histogram distance calculations. If the current sequence is similar or identical to a sequence in the database, the device is pre-activated.
[0008] Simultaneously and separately from the routine comparison, the device detects when the user begins to interact with the device. If the user begins to interact with the device, the current sequence will be saved to the database. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] In the drawings, the same reference numerals identify similar features or elements. The sizes and relative positions of features in the drawings are not necessarily drawn to scale.
[0010] Figure 1 is a device according to one embodiment disclosed herein.
[0011] Figure 2 is a flowchart of a method for performing pattern recognition according to one embodiment disclosed herein.
[0012] Figure 3 An example of a current sequence of activity states and a database sequence of activity states according to one embodiment disclosed herein is shown.
[0013] Figure 4 An activity status according to one embodiment disclosed herein is shown. DETAILED DESCRIPTION
[0014] In the following description, certain specific details are set forth in order to provide a comprehensive understanding of various aspects of the disclosed subject matter. However, the disclosed subject matter can be practiced without these specific details. In some cases, well-known structures and methods of manufacturing electronic devices, electronic components, and sensors are not described in detail to avoid obscuring the description of other aspects of the present disclosure.
[0015] Unless the context requires otherwise, throughout the specification and the appended claims, the word "comprise" and variations such as "have" and "comprising" are to be interpreted in an open, inclusive sense, ie, "including, but not limited to."
[0016] Throughout the specification, references to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in conjunction with the embodiment is included in at least one embodiment. Thus, the phrases "in one embodiment" or "in an embodiment" appearing in various places throughout the specification are not necessarily all referring to the same aspect. Furthermore, in one or more aspects of the present disclosure, the particular features, structures, or characteristics may be combined in any suitable manner.
[0017] As described above, many devices utilize user-defined scheduled routines to customize transitions between power states. However, such user-defined scheduled routines typically rely on absolute time information and have a fixed schedule that cannot automatically handle deviations from the user-defined schedule. Furthermore, user-defined schedules are typically cumbersome because the user must manually configure the scheduled routine.
[0018] The present disclosure relates to devices and methods for customizing transitions between power states. The device is woken up in advance by predicting when a user typically begins interacting with the device. Actions considered to indicate that the user is actively interacting with the device may include opening a lid, typing on a keyboard, plugging into a docking station, pressing a power button, etc. Thus, the user is able to interact with the device without waiting or setting time (e.g., power on, resource management, device configuration, process runtime).
[0019] Prediction is performed by identifying patterns of activities that are performed multiple times by the user, which terminate when the user begins to interact with the device. The activities can be detected based on human activity recognition (HAR) models based on motion sensor data, and then the pattern or sequence of activities can be used to create a unique signature of the user's routine. Specific routines (such as a user's trip from home to work) are detected by comparing the routine to routines previously stored in a database.
[0020] Figure 1 is a device 10 according to one embodiment disclosed herein.
[0021] Device 10 is an electronic device that is configured to perform pattern recognition to transition between power states of device 10. Device 10 may be any type of electronic device that can benefit from contextual awareness of power management policies, such as a laptop, tablet, mobile device, and smart wearable device. Device 10 includes a processor 12 and a multi-sensor device 14.
[0022] Processor 12 is a general-purpose processor that performs various functions of device 10. For example, processor 12 executes various applications, controls and coordinates hardware components of device 10 and any peripheral devices communicatively coupled to device 10, and adjusts the power state of device 10. Processor 12 may include one or more processors.
[0023] The multi-sensor device 14 is communicatively coupled to the processor 12. The multi-sensor device 14 includes one or more types of motion sensors, including but not limited to accelerometers and gyroscopes that generate motion measurements. Accelerometers and gyroscopes measure acceleration and angular velocity or rate along one or more axes, respectively.
[0024] The multi-sensor device 14 also includes its own onboard memory, and a processor or processing circuit device coupled to the onboard memory. The processor is configured to receive and process data generated by the sensors; and execute programs stored in the onboard memory. The processor may include one or more processors.
[0025] Compared to a general purpose processor such as processor 12, multi-sensor device 14 is an energy-efficient, low-power device (such as a smart sensor) that consumes, for example, between 100 microamps and 300 microamps of current for the computational requirements during processing. Thus, in the case where the power source is a rechargeable battery, the battery life of device 10 is improved.
[0026] Figure 2 is a flow chart of a method 16 for performing pattern recognition according to one embodiment disclosed herein.
[0027] The method 16 is performed by the device 10. More specifically, the method 16 is implemented as a program or set of instructions that can be downloaded and stored in an onboard memory of the multi-sensor device 14 and executed by a processor included in the multi-sensor device 14. The program for the method 16 can also be stored in a memory of the device 10 and executed by the processor 12 of the device 10.
[0028] In one embodiment, method 16 is performed when device 10 is in an off state (e.g., the device is completely turned off) or an intermediate power state (e.g., a sleep, idle, or hibernation state). Note that method 16 can be performed in both the off and intermediate power states because method 16 is performed by multi-sensor device 14, which is an energy-saving, low-power device that can always remain on.
[0029] In box 18, activity recognition is performed to detect or predict various activity states of the device 10. For example, the super-stationary state (SS), the stationary state (S), the walking state (W), and the transport state (T) of the device 10 are detected. In the super-stationary state, the device 10 remains completely stationary on a stable surface (for example, in a bag left on a table at night). In other words, the device 10 does not move. In the stationary state, the device 10 remains stationary, with some slight movement (for example, in a bag held by a user waiting for transportation). In other words, the device 10 has a certain amount of movement (for example, the device 10 has more movement than the super-stationary state, but has less movement than the walking state and the transport state). In the walking state, the user walks or runs with the device 10. In the transport state, the user travels in a vehicle with the device 10. Other types of states are also possible.
[0030] Activity status is detected at a certain interval. For example, one activity status is detected every minute. Other intervals are also possible.
[0031] Activity states are detected using human activity recognition (HAR), which classifies motion measurements detected by the multi-sensor device 14 as being a super-stationary state, a stationary state, a walking state, or a transport state. The motion measurements include, for example, acceleration measurements, angular velocity measurements, another type of motion measurement, or a combination thereof.
[0032] The multi-sensor device 14 can use machine learning techniques (such as decision trees, neural networks, and support vector machines) to classify motion measurements into super-stationary states, stationary states, walking states, or transport states. For example, the multi-sensor device 14 calculates a set of features to match the current motion measurement results with the expected motion measurement results for one of a plurality of predefined target activity categories of interest. This method utilizes labeled training data for each of the activities that need to be identified in order to generate a classifier. In addition, a deep neural network model can be used and implemented for human activity recognition. The deep neural network model is capable of performing automatic feature learning based on raw sensor data. Statistical models (e.g., Markov models, etc.) can also be used.
[0033] In one embodiment, the multi-sensor device 14 extracts one or more features from the motion measurement results; and classifies the motion measurement results into a super-stationary state, a stationary state, a walking state, or a transport state based on the extracted features. These features may include, for example, one or more of the following calculations: energy calculation (e.g., the total energy of the motion measurement signal over a period of time), variance calculation (e.g., the variance of the motion measurement signal over a period of time), zero crossing calculation (e.g., the number of times the motion measurement signal crosses zero over a period of time), peak-to-peak calculation (e.g., the difference between the maximum amplitude and the minimum amplitude of the motion measurement signal over a period of time), peak count calculation (e.g., the total number of peaks in the motion measurement signal over a period of time), average calculation (e.g., the average value of the motion measurement signal over a period of time), maximum calculation (e.g., the maximum value of the motion measurement signal over a period of time) or minimum calculation (e.g., the minimum value of the motion measurement signal over a period of time). Other types of calculations are also possible.
[0034] In box 20, a current sequence or pattern of activity states is collected and constructed simultaneously with box 18. The current sequence of activity states is the subsequent activity states detected over time in box 18. Each newly detected activity state detected in box 18 is added to the end of the sequence of activity states. The sequence of activity states represents a unique signature of the user's current routine.
[0035] As will be discussed in further detail below, after a hyperstatic state has been detected continuously for a configurable amount of time (e.g., 2-4 hours), a sequence is generated when a transition is detected from a hyperstatic state to another activity state other than the hyperstatic state (e.g., a stationary state, a walking state, or a transport state). Thus, the first activity state of the sequence is an activity state other than the hyperstatic state that is detected immediately following a series of activity states that have been continuously detected as hyperstatic states for a configurable amount of time.
[0036] Furthermore, the sequence ends or stops when a user interaction is detected with the device 10. Thus, the last activity state of the sequence is the activity state detected immediately before the user interaction with the device 10 is detected. The current sequence of activity states continues to grow over time until a user interaction with the device 10 is detected.
[0037] In box 22, the current sequence of activity states detected in box 20 is compared to a database sequence of activity states stored in sequence database 24. The comparison determines whether the current sequence of activity states is substantially similar to the database sequence of activity states.
[0038] Block 22 may be performed concurrently with block 20 so that the comparison is made when the current sequence is generated. In one embodiment, block 22 is performed in response to adding a new activity to the current sequence of activity states in block 22. In other words, block 22 is performed in response to a change in the current sequence of activity states.
[0039] The sequence database 24 stores a plurality of database sequences of activity states. Each database sequence of activity states stored in the sequence database 24 is a previous pattern of activity performed by a user that terminates when the user begins interacting with the device 10. For example, a database sequence may represent a sequence of activities performed when a user carries the device 10 from home to a place of work and turns on the device 10 at the place of work. Thus, a plurality of different routine sequences may be stored in the sequence database 24. As described above, each sequence of activity states begins when a transition from a hyper-static state to another activity state other than the hyper-static state is detected after a hyper-static state is continuously detected for a configurable amount of time, and ends when an interaction of the user with the device 10 is detected. Updating of the database 24 will be discussed in more detail below.
[0040] Various techniques may be used to compare the current sequence of detected activity states to multiple database sequences of activity states stored in sequence database 24. Typically, the comparison incorporates differences in duration of the activity sequences, differences in the duration of each activity individually, and uniqueness of the activity sequences.
[0041] Figure 3 An example of a current sequence S1 of activity states and a database sequence S2 of activity states according to one embodiment disclosed herein is shown.
[0042] In one embodiment, the current sequence of activity states is compared to a database sequence of activity states using a duration distance calculation. The duration distance is the absolute difference between the duration or length (e.g., the total number of activity states) of the current sequence of activity states and the database sequence of activity states divided by the sum of the durations. That is, the duration distance is calculated using the following equation:
[0043]
[0044] Where S1 is the current sequence of the active state, and S2 is the database sequence of the active state. For example, refer to Figure 3 , the duration distance is calculated as follows:
[0045]
[0046] Other indicators that indicate differences in duration of activity sequences may be used.
[0047] In one embodiment, the current sequence of activity states is compared to the database sequence of activity states using a unique distance calculation. The unique distance is a normalized version of a metric sometimes referred to as the Levenshtein distance. The unique distance is the number of changes (e.g., substitutions, insertions, or deletions) in the activity state that convert the current sequence of activity states to the database sequence of activity states, normalized by the length of the longest sequence in the current sequence of activity states and the database sequence. That is, the unique distance is calculated using the following formula:
[0048]
[0049] Where S1 is the current sequence of active states, and S2 is the database sequence of active states. For example, refer to Figure 3 , the unique distance is calculated as follows:
[0050]
[0051] Other indicators indicating uniqueness of the activity sequence may be used.
[0052] In one embodiment, the current sequence of activity states is compared to the database sequence of activity states using a histogram distance calculation. The histogram distance is the sum of the absolute differences between the total number of each activity state type in the current sequence of activity states and the database sequence of activity states, normalized by the sum of the durations of the current sequence of activity states and the database sequence of activity states. That is, in the case where the types of activity states include, for example, stationary states, walking states, and transport states, the histogram distance is calculated using the following formula:
[0053]
[0054] Where S1 is the current sequence of active states, and S2 is the database sequence of active states. For example, refer to Figure 3 , the histogram distance is calculated as follows:
[0055]
[0056] Other indicators that individually indicate the difference in duration of each activity may be used.
[0057] In block 26 , following block 22 , device 10 determines whether the current sequence of activity states corresponds to the database sequence of activity states based on the comparison in block 22 .
[0058] In one embodiment, when the duration distance is less than the duration distance threshold, the unique distance is less than the unique distance threshold, the histogram distance is less than the histogram distance threshold, or a combination thereof, the device 10 determines that the current sequence of activity states corresponds to the database sequence of activity states.
[0059] In one embodiment, if the duration distance is less than the duration distance threshold, the unique distance is less than the unique distance threshold, and the histogram distance is less than the histogram distance threshold, device 10 determines that the current sequence of activity states corresponds to a database sequence of activity states.
[0060] In the event that the device 10 determines that the current sequence of activity states does not correspond to a database sequence of activity states, another database sequence of activity states is retrieved from the sequence database 24, and the method 16 returns to box 22, where the current sequence of activity states is compared with the retrieved database sequence of activity states.
[0061] In the event that the device 10 determines that the current sequence of activity states corresponds to a database sequence of activity states, the method 16 moves to block 28 .
[0062] In block 28, device 10 is awakened, for example, by being set to an on state (e.g., the device is turned on and is ready for use by the user). Thus, the user is able to interact with device 10 without waiting or setting time (e.g., power-up, resource management, device configuration, process runtime). In one embodiment, multi-sensor device 14 instructs processor 12 to set device 10 to an on state. Method 16 may then terminate until the next time device 10 is set to an off state or an intermediate state, in which case method 16 may be performed again.
[0063] As described above, the current sequence of activity states is generated in block 20. Concurrently with block 20, in block 30, device 10 monitors whether a user begins to interact with device 10. User interaction may be any action by a user to interact with or use device 10. For example, device 10 may monitor whether a user opens a lid of device 10, presses a key of device 10, types on a keyboard of device 10, inserts device 10 into a docking station, presses a power button of device 10, etc.
[0064] In the event that device 10 determines that no user is interacting with device 10 , method 16 returns to block 30 to continue monitoring for user interaction.
[0065] In the event that device 10 determines that the user has begun interacting with device 10 , method 16 moves to block 32 .
[0066] In block 32, generation of the current sequence in block 20 is stopped, and sequence database 24 is updated. That is, the current sequence of active states generated in block 20 is saved to sequence database 24. Thus, the current sequence of active states will be used for comparison in subsequent executions of block 22. Method 16 may then terminate until the next time device 10 is set to an off state or an intermediate state, in which case method 16 may be executed again.
[0067] In one embodiment, the oldest database sequence stored in the sequence database 24 is deleted when the sequence database 25 is updated. In other words, in response to a new database sequence being stored in the sequence database 24, the first, oldest database sequence stored in the sequence database 24 is removed.
[0068] As a result of blocks 20, 30, and 32, each database sequence of activity states stored in sequence database 24 is a pattern of activity performed by a user that terminates with the user commencing interaction with the device. More specifically, the first activity state of each of the database sequences is an activity state, other than a hyper-static state, detected immediately following a series of activity states that are continuously detected as hyper-static states for a configurable amount of time, and the last activity state of each of the database sequences is an activity state detected immediately before an interaction of the user with device 10 is detected.
[0069] As an example, Figure 4 The activity state according to one embodiment disclosed herein is shown. The activity state is as described above with respect to Figure 2 The activity state detected in box 18 is discussed.
[0070] If multiple subsequent hyper-inactivity states are detected over a longer period of time (e.g., 2-4 hours), the method 16 is placed into a reset phase. In the reset phase, the sequence of activity states collected in block 20 is deleted. The reset phase typically occurs when the device 10 is not in use at night.
[0071] Subsequently, the method 16 is placed in the sleep stage. In the sleep stage, the device 10 continues to monitor the activity state. As long as the hyper-quiescent state is detected, the method 16 continues to be in the sleep stage and waits for the first activity state different from the hyper-quiescent state before entering the run stage.
[0072] In response to detecting the first activity state different from the super-quiescent state, the method 16 is placed in the run phase. In the run phase, the current sequence of activity states begins to be collected in block 20, as described above with respect to Figure 2In other words, after the hyper-static state is detected continuously for a configurable amount of time, when a transition from the hyper-static state to another active state other than the hyper-static state (e.g., Figure 4 The current sequence begins when the user enters the walking state (shown in FIG. 1 ). During the running phase, each newly detected activity state is appended to the end of the current sequence. The method 16 continues in the running phase until the user begins to interact with the device 10.
[0073] In response to the user starting to interact with the device 10, the method 16 is placed in the logging state. In the logging state, the current sequence of activity states stops being collected in box 20 and is stored in the sequence database 24 in boxes 30 and 32, as described above with respect to Figure 2 In other words, upon detecting a user interaction with the device 10, the current sequence ends and is stored.
[0074] The variability of different user routines is accounted for by tuning various parameters of the device 10. For example, the total number of database sequences stored in the sequence database 24 can be adjusted, different types of comparison algorithms can be used in block 22 of the method 16, the thresholds used in the comparison algorithm in block 22 of the method 16 can be adjusted, and priority weights can be assigned to different types of activity states in the comparison algorithm in block 22 (e.g., a walking or transport state can be assigned a higher priority than a stationary state). Thus, the method 16 is able to detect a variety of different user routines (e.g., a user carrying the device 10 from home to work), as well as adjust for unexpected events (e.g., unexpected delays in the user's schedule, traffic, vacations, and schedule changes).
[0075] Various embodiments disclosed herein provide user routine recognition for customizing transitions between power states. By predicting when the user typically starts interacting with the device, the device can be woken up in advance. Therefore, the user can interact with the device without waiting or setting a time. Since human activity recognition is used to detect activity states, user routines can be dynamically learned on the device based on user activity patterns, replacing user-defined scheduled routines that rely on absolute time information. In addition, human activity recognition allows detection of multiple different user routines that change over time and is robust to variability in activity patterns. In addition, a lightweight routine comparison algorithm is used to compare the current routine with a previous routine stored in a database without the need for intensive machine learning algorithms trained with models.
[0076] The device can be summarized as including: a motion sensor configured to generate motion measurement results; and a processor coupled to the motion sensor, the processor configured to: detect multiple activity states based on the motion measurement results; generate a current sequence of activity states based on the multiple activity states; compare the current sequence of activity states with a database sequence of activity states stored in a database; and set the device to an on state when the current sequence of activity states corresponds to the database sequence of activity states.
[0077] The plurality of activity states may include a stationary state, in which the device has a determined amount of movement; a walking state, in which the user is walking with the device; and a transport state, in which the user is traveling in a vehicle with the device.
[0078] A database sequence of active states may be a sequence that ends with a user interacting with the device.
[0079] A database sequence of activity states may be a sequence that begins when a transition from a super-stationary state to another activity state is detected after the device has been continuously detected in a super-stationary state remaining stationary for a determined amount of time, and the database sequence of activity states may be a sequence that terminates with a user interacting with the device.
[0080] The processor may be configured to determine that the current sequence of activity states corresponds to a database sequence of activity states based on a duration distance, a uniqueness distance, or a histogram distance.
[0081] The processor may be configured to determine that the current sequence of activity states corresponds to a database sequence of activity states if the duration distance is below a first threshold, the uniqueness distance is below a second threshold, and the histogram distance is below a third threshold.
[0082] The multiple activity states may include: a super-stationary state, in which the device remains stationary; a stationary state, in which the device has a determined amount of movement; a walking state, in which the user walks with the device; and a transport state, in which the user travels in a vehicle with the device, and the current sequence of activity states may be a sequence that begins when a transition from a super-stationary state to another activity state is detected after the super-stationary state is continuously detected for a determined amount of time.
[0083] The processor may be configured to store a current sequence of activity states in a database in the event of a user interacting with the device.
[0084] The current sequence of activity states may be activity states detected in sequential order among the plurality of activity states.
[0085] A method can be summarized as including: generating motion measurement results of a device; based on the motion measurement results, detecting multiple activity states; based on the multiple activity states, generating a current sequence of activity states; comparing the current sequence of activity states with a database sequence of activity states stored in a database; and setting the device to an on state when the current sequence of activity states corresponds to the database sequence of activity states.
[0086] The plurality of activity states may include a stationary state, in which the device has a determined amount of movement; a walking state, in which the user is walking with the device; and a transport state, in which the user is traveling in a vehicle with the device.
[0087] The method may also include detecting a transition from a hyper-static state in which the device remains stationary; in response to detecting the transition from the hyper-static state after continuously detecting the hyper-static state for a determined amount of time, starting generation of a database sequence of activity states; detecting user interaction with the device; terminating generation of the database sequence of activity states in response to detecting user interaction with the device; and storing the database sequence of activity states in a database in response to terminating generation of the database sequence of activity states.
[0088] The method may also include determining that the current sequence of activity states corresponds to a database sequence of activity states based on a duration distance, a unique distance, or a histogram distance.
[0089] The method may further include determining that the current sequence of activity states corresponds to a database sequence of activity states if the duration distance is below a first threshold, the uniqueness distance is below a second threshold, and the histogram distance is below a third threshold.
[0090] The multiple activity states may include: a super-stationary state, in which the device remains stationary; a stationary state, in which the device has a determined amount of movement; a walking state, in which the user walks with the device; and a transport state, in which the user travels in a vehicle with the device, and the method may also include: after the super-stationary state is detected continuously for a determined amount of time, in response to detecting a transition from the super-stationary state to another activity state, generating a current sequence of activity states.
[0091] The method may further include storing the current sequence of activity states in a database while the user is interacting with the device.
[0092] A method can be summarized as including: detecting multiple activity states of a device; generating a current sequence of activity states, the current sequence including active states from multiple activity states; determining whether the current sequence of activity states corresponds to a previous sequence of activity states that terminated with user interaction with the device; if the current sequence of activity states corresponds to the previous sequence of activity states, setting the device to an on state; and if the current sequence of activity states does not correspond to the previous sequence of activity states, determining whether the current sequence of activity states corresponds to another previous sequence of activity states that terminated with user interaction with the device.
[0093] The plurality of activity states may include a stationary state, in which the device has a determined amount of movement; a walking state, in which the user is walking with the device; and a transport state, in which the user is traveling in a vehicle with the device.
[0094] The multiple activity states may include: a super-stationary state, in which the device remains stationary; a stationary state, in which the device has a determined amount of movement; a walking state, in which the user walks with the device; and a transport state, in which the user travels in a vehicle with the device, and the method may also include: after the super-stationary state is detected continuously for a determined amount of time, in response to detecting a transition from the super-stationary state to another activity state, generating a current sequence of activity states.
[0095] The method may further include storing, in the event of a user interacting with the device, a current sequence of activity states in a database, a previous sequence of activity states being stored in the database.
[0096] The various embodiments described above can be combined to provide further embodiments. These and other changes can be made to the embodiments in light of the above detailed description. In general, in the appended claims, the terms used should not be interpreted as limiting the claims to the specific embodiments disclosed in the specification and claims, but should be interpreted as including all possible embodiments and the full range of equivalents to which such claims are entitled. Therefore, the claims are not limited by the disclosure.
Claims
1. A device comprising: a motion sensor configured to generate a motion measurement; as well as a processor, coupled to the motion sensor, the processor being configured to: detecting a plurality of activity states based on the motion measurement results; Based on the plurality of activity states, generating a current sequence of activity states; comparing the current sequence of activity states to a database sequence of activity states stored in a database; as well as In case the current sequence of activity states corresponds to the database sequence of activity states, the device is set to an on state.
2. The apparatus of claim 1, wherein the plurality of activity states comprises: a stationary state in which the device has a determined amount of movement; a walking state, in which the user walks with the device; and a transport state in which the user is traveling in a vehicle with the device.
3. The device of claim 1, wherein the database sequence of activity states is a sequence that terminates as a user interacts with the device.
4. The device according to claim 1, wherein The database sequence of activity states is a sequence that begins when a transition from a hyper-static state to another activity state is detected after a hyper-static state in which the device remains stationary is detected continuously for a determined amount of time, and The database sequence of activity states is a sequence that terminates as a user interacts with the device. 5 . The apparatus of claim 1 , wherein the processor is configured to determine that the current sequence of activity states corresponds to a database sequence of activity states based on a duration distance, a uniqueness distance, or a histogram distance.
6. The apparatus of claim 1 , wherein the processor is configured to determine that the current sequence of activity states corresponds to a database sequence of activity states if the duration distance is below a first threshold, the uniqueness distance is below a second threshold, and the histogram distance is below a third threshold.
7. The device according to claim 1, wherein The multiple activity states include: a super-stationary state in which the device remains stationary; a stationary state in which the device has a determined amount of movement; a walking state, in which the user is walking with the device; and a transport state, in which the user is traveling in a vehicle with the device, and The current sequence of activity states is a sequence that begins when a transition from the hyperstatic state to another activity state is detected after the hyperstatic state has been detected continuously for a determined amount of time.
8. The apparatus of claim 1, wherein the processor is configured to: In case a user interacts with the device, the current sequence of activity states is stored in the database.
9. The apparatus of claim 1, wherein the current sequence of activity states is activity states detected in sequential order among the plurality of activity states.
10. A method comprising: generating motion measurements of the device; detecting a plurality of activity states based on the motion measurement results; Based on the plurality of activity states, generating a current sequence of activity states; comparing the current sequence of activity states to a database sequence of activity states stored in a database; as well as In case the current sequence of activity states corresponds to the database sequence of activity states, the device is set to an on state.
11. The method of claim 10, wherein the plurality of activity states comprises: a stationary state in which the device has a determined amount of movement; a walking state, in which the user walks with the device; and a transport state in which the user is traveling in a vehicle with the device.
12. The method according to claim 10, further comprising: detecting a transition from a hyperstatic state in which the device remains stationary; initiating generation of the database sequence of activity states in response to detecting the transition from the hyper-static state after the hyper-static state has been detected continuously for a determined amount of time; detecting user interaction with the device; terminating said generating of said database sequence of activity states in response to detecting said user interaction with said device; as well as In response to terminating the generating of the database sequence of activity states, the database sequence of activity states is stored in the database.
13. The method according to claim 10, further comprising: Based on a duration distance, a unique distance, or a histogram distance, it is determined that the current sequence of activity states corresponds to a database sequence of activity states.
14. The method according to claim 10, further comprising: In case the duration distance is below a first threshold, the uniqueness distance is below a second threshold, and the histogram distance is below a third threshold, it is determined that the current sequence of activity states corresponds to a database sequence of activity states.
15. The method according to claim 10, wherein The multiple activity states include: a super-stationary state in which the device remains stationary; a stationary state in which the device has a determined amount of movement; a walking state, in which the user walks with the device; and a transport state, in which the user is traveling in a vehicle with the device, and The method further includes generating a current sequence of the activity states in response to detecting a transition from the hyperstatic state to another activity state after the hyperstatic state is detected continuously for a determined amount of time.
16. The method according to claim 10, further comprising: In case a user interacts with the device, the current sequence of activity states is stored in the database.
17. A method comprising: Detect multiple activity states of the device; generating a current sequence of activity states, the current sequence of activity states comprising activity states from among the plurality of activity states; determining whether the current sequence of activity states corresponds to a previous sequence of activity states, the previous sequence of activity states terminating as a result of a user interacting with the device; setting the device to an on state if the current sequence of activity states corresponds to a previous sequence of activity states; as well as In a case where the current sequence of activity states does not correspond to a previous sequence of activity states, determining whether the current sequence of activity states corresponds to another previous sequence of activity states, the other previous sequence of activity states terminating as the user interacts with the device.
18. The method of claim 17, wherein the plurality of activity states comprises: a stationary state in which the device has a determined amount of movement; a walking state, in which the user walks with the device; and a transport state in which the user is traveling in a vehicle with the device.
19. The method according to claim 17, wherein The multiple activity states include: a super-stationary state in which the device remains stationary; a stationary state in which the device has a determined amount of movement; a walking state, in which the user walks with the device; and a transport state, in which the user is traveling in a vehicle with the device, and The method further includes generating a current sequence of the activity states in response to detecting a transition from the hyperstatic state to another activity state after the hyperstatic state is detected continuously for a determined amount of time.
20. The method of claim 17, further comprising: In case the user interacts with the device, a current sequence of the activity states is stored in the database and a previous sequence of the activity states is stored in the database.