Location-Based Activity Tracking
Patent Information
- Application Number
- JP2024512002
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-08-24
- Filing Date
- 2022-08-23
- Publication Date
- 2025-08-01
AI Technical Summary
Traditional activity tracking techniques in wearable devices are inadequate as they often fail to accurately detect the start and end of physical activities, leading to inaccurate calculations of activity parameters due to the reliance on user confirmation and potential omission of pre- and post-activity data.
A system that utilizes physiological data from wearable devices, combined with location information, to automatically identify activity segments, prompt user confirmation, and determine activity parameters, including start and end points, without requiring continuous user input.
Enhances the accuracy and efficiency of activity tracking by automatically detecting activity segments and calculating parameters, reducing errors associated with user confirmation delays and improving the precision of activity duration and intensity measurements.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] [Cross reference] This patent application claims the benefit of commonly assigned U.S. non-provisional patent application Ser. No. 17 / 410,858, by Singleton et al., entitled "LOCATION-BASED ACTIVITY TRACKING," filed Aug. 24, 2021, which is expressly incorporated by reference herein.
[0002] [Technical field] The following relates generally to wearable devices and data processing, including location-based activity tracking. [Background technology]
[0003] Some wearable devices may be configured to collect data from a user associated with movement and other activities. For example, some wearable devices may be configured to detect when a user is engaged in physical activity. However, conventional activity tracking techniques implemented by some wearable devices are inadequate. [Brief description of the drawings]
[0004] [Figure 1] FIG. 1 illustrates an example system that supports techniques for location-based activity tracking according to aspects of the present disclosure.
[0005] [Diagram 2] FIG. 1 illustrates an example system that supports techniques for location-based activity tracking according to aspects of the present disclosure.
[0006] [Diagram 3] FIG. 1 illustrates an example of a graphical user interface (GUI) supporting techniques for location-based activity tracking according to aspects of the present disclosure.
[0007] [Figure 4] FIG. 1 illustrates an example GUI supporting techniques for location-based activity tracking, according to aspects of the present disclosure.
[0008] [Diagram 5] FIG. 1 is a block diagram of a device supporting techniques for location-based activity tracking according to an aspect of the disclosure.
[0009] [Figure 6] FIG. 1 is a block diagram of a wearable application supporting techniques for location-based activity tracking, according to aspects of the disclosure.
[0010] [Figure 7] FIG. 1 is a diagram of a system including devices supporting techniques for location-based activity tracking, according to aspects of the disclosure.
[0011] [Figure 8] 1 is a flowchart illustrating a method for supporting location-based activity tracking according to an aspect of the present disclosure. [Figure 9] 1 is a flowchart illustrating a method for supporting location-based activity tracking according to an aspect of the present disclosure. [Figure 10] 1 is a flowchart illustrating a method for supporting location-based activity tracking according to an aspect of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Some wearable devices may be configured to collect data from a user associated with movement and other activities. For example, some wearable devices may be configured to detect when a user is engaged in a physical activity and predict the type of physical activity based on measured physiological data, motion data, or both. Such activity tracking devices may detect that a user is engaged in a physical activity after the physiological data or motion data meets a threshold, and may prompt the user to confirm whether they are engaged in the predicted physical activity. These activity tracking devices may only calculate parameters or characteristics of an identified activity from the time the user confirms the respective activity. Such techniques may omit or otherwise ignore physical activity that occurred prior to confirmation of an activity segment, which may lead to inaccurate activity tracking. Similarly, such activity tracking devices may prompt a user to confirm completion of a physical activity after detecting physiological or motion data indicating that the user is no longer engaged in the activity, which may lead to the activity tracking device inaccurately calculating or including characteristics of the activity even after the user has finished the activity.
[0013] According to some aspects of the present disclosure, the techniques described herein may utilize location information to perform activity tracking more efficiently and accurately, such as predicting when an activity is started and stopped. In particular, the techniques described herein may utilize both physiological data collected from a user via a wearable device along with the user's location information to identify periods during which the user is engaged in physical activity, and parameters or characteristics associated with the identified physical activity (e.g., speed, pace, distance, route map, elevation gain).
[0014] According to some aspects of the present disclosure, physiological data collected from a user via a wearable device may be used to identify time intervals during which the user is engaged in a physical activity (e.g., an "activity segment"). In some cases, the system may automatically identify that the user is engaged in a physical activity (e.g., without input from the user). Additionally or alternatively, the system may prompt the user to confirm whether they are (or were) engaged in a physical activity and may identify the activity segment based on the confirmation received from the user. Similarly, in some aspects, the system may automatically detect completion of an identified activity segment (e.g., without input from the user) based on a confirmation of completion of the activity segment received from the user, and / or both. In some aspects, the system may classify the identified activity segment as corresponding to one or more activity types (e.g., running, walking, cycling). Each activity type may be associated with a corresponding confidence value, which may be confirmed or edited by the user.
[0015] In some implementations, the system may utilize location data (e.g., Global Positioning System (GPS) data) associated with the user to more accurately determine parameters (e.g., start time, stop time, start location, stop location, speed, route, distance, etc.) associated with the identified activity segment. In some aspects, the location data may be determined from data generated or collected via a user device corresponding to each given user and / or each given wearable device. The location data may be used to determine one or more parameters associated with the identified activity segment or physical activity. For example, if the system detects that a user has gone for a run (e.g., a running activity segment), the user's location data may be used to determine the start / end point of the run, the duration of the run, a route map for the run, etc. In some implementations, the techniques described herein may perform continuous location tracking. Using continuous location data to derive location (e.g., start location, end location) may be much more accurate compared to some conventional solutions, as the systems and methods described herein may enable retroactively pinpointing when and where an activity (e.g., exercise) occurred. This may allow for more efficient activity detection (e.g., identifying the start / stop of an activity segment within one minute, compared to 10 minutes for some other solutions). Additionally, the location data may be used to determine elevation change, pace, elevation-adjusted pace of a run, etc. In this regard, utilizing location data along with physiological data collected from a wearable device may be used to improve a user's activity tracking.
[0016] Aspects of the present disclosure are first described in the context of a system supporting physical data collection from a user via a wearable device. Additional aspects of the present disclosure are described in the context of an example graphical user interface (GUI) for location-based activity tracking. Aspects of the present disclosure are further illustrated by and described with reference to apparatus diagrams, system diagrams, and flow charts related to location-based activity tracking.
[0017] 1 illustrates an example of a system 100 supporting techniques for location-based activity tracking according to aspects of the present disclosure. System 100 includes multiple electronic devices (e.g., wearable device 104, user device 106) that may be worn and / or operated by one or more users 102. System 100 further includes a network 108 and one or more servers 110.
[0018] The electronic devices may include any electronic devices known in the art, including wearable devices 104 (e.g., ring wearable devices, watch wearable devices, etc.), user devices 106 (e.g., smartphones, laptops, tablets). The electronic devices associated with each user 102 may include one or more of the following functions: 1) measuring physiological data, 2) storing the measured data, 3) processing the data, 4) providing output to the user 102 (e.g., via a GUI) based on the processed data, and 5) communicating data with each other and / or with other computing devices. Different electronic devices may perform one or more of these functions.
[0019] Exemplary wearable devices 104 may include wearable computing devices such as a ring computing device (hereinafter, "ring") configured to be worn on a finger of the user 102, a wrist computing device (e.g., a smart watch, fitness band, or bracelet) configured to be worn on the wrist of the user 102, and / or a head-worn computing device (e.g., glasses / goggles). The wearable devices 104 may also include bands, straps (e.g., flexible or non-flexible bands or straps), stick-on sensors, and the like, which may be placed in other locations such as bands around the head (e.g., a forehead headband), bands around the arms (e.g., a forearm band and / or an upper arm band), and / or bands around the legs (e.g., a thigh or calf band), behind the ear, under the arm, etc. The wearable devices 104 may also be attached to or included in an article of clothing. For example, the wearable devices 104 may be included in a pocket and / or a pouch of the clothing. As another example, the wearable device 104 may be clipped and / or pinned to clothing or otherwise maintained within proximity of the user 102. Exemplary articles of clothing may include, but are not limited to, hats, shirts, gloves, pants, socks, outerwear (e.g., jackets), and underwear. In some implementations, the wearable device 104 may be included with other types of devices, such as training / sports devices used during physical activity. For example, the wearable device 104 may be attached to or included in a bicycle, skis, a tennis racket, a golf club, and / or training weights.
[0020] Much of the present disclosure may be described in the context of a ring wearable device 104. Thus, the terms "ring 104," "wearable device 104," and similar terms may be used interchangeably herein, unless otherwise noted. However, use of the term "ring 104" should not be considered limiting, as it is contemplated herein that aspects of the present disclosure may be implemented using other wearable devices (e.g., watch wearable devices, necklace wearable devices, bracelet wearable devices, earring wearable devices, anklet wearable devices, etc.).
[0021] In some aspects, the user devices 106 may include handheld mobile computing devices such as smartphones and tablet computing devices. The user devices 106 may also include personal computers such as laptops and desktop computing devices. Other exemplary user devices 106 may include server computing devices that may communicate with other electronic devices (e.g., via the Internet). In some implementations, the computing devices may include medical devices such as external wearable computing devices (e.g., Holter monitors). The medical devices may also include implantable medical devices such as pacemakers and cardioverter defibrillators. Other exemplary user devices 106 may include home computing devices such as Internet of Things (IoT) devices (e.g., IoT devices), smart TVs, smart speakers, smart displays (e.g., video calling displays), hubs (e.g., wireless communication hubs), security systems, smart appliances (e.g., thermostats and refrigerators), and fitness equipment.
[0022] Some electronic devices (e.g., wearable device 104, user device 106) may measure physiological parameters of each user 102, such as photoplethysmography waveform, continuous skin temperature, pulse waveform, respiration rate, heart rate, heart rate variability (HRV), actigraphy, galvanic skin response, pulse oximetry, and / or other physiological parameters. Some electronic devices that measure physiological parameters may also perform some / all of the calculations described herein. Some electronic devices may not measure physiological parameters but may perform some / all of the calculations described herein. For example, a ring (e.g., wearable device 104), a mobile device application, or a server computing device may process received physiological data measured by other devices.
[0023] In some implementations, the user 102 may operate or be associated with multiple electronic devices, some of which may measure physiological parameters and some of which may process the measured physiological parameters. In some implementations, the user 102 may have a ring (e.g., wearable device 104) that measures physiological parameters. The user 102 may have or be associated with a user device 106 (e.g., a mobile device, smartphone), where the wearable device 104 and the user device 106 are communicatively coupled to each other. In some cases, the user device 106 may receive data from the wearable device 104 and perform some / all of the calculations described herein. In some implementations, the user device 106 may also measure physiological parameters described herein, such as motion / activity parameters.
[0024] For example, as shown in FIG. 1, a first user 102-a (user 1) may operate or be associated with a wearable device 104-a (e.g., ring 104-a) and a user device 106-a, which may operate as described herein. In this example, the user device 106-a associated with user 102-a may process / store physiological parameters measured by ring 104-a. In comparison, a second user 102-b (user 2) may be associated with a ring 104-b, a watch wearable device 104-c (e.g., watch 104-c) and a user device 106-b, where the user device 106-b associated with user 102-b may process / store physiological parameters measured by ring 104-b and / or watch 104-c. Additionally, an nth user 102-n (user N) may be associated with a configuration of electronic devices (e.g., ring 104, user device 106-n) described herein. In some aspects, wearable devices 104 (e.g., ring 104, watch 104) and other electronic devices may be communicatively coupled to the user device 106 of each user 102 via Bluetooth, Wi-Fi, and other wireless protocols.
[0025] In some implementations, the ring 104 (e.g., wearable device 104) of the system 100 may be configured to collect physiological data from each user 102 based on arterial blood flow in the user's finger. In particular, the ring 104 may utilize one or more LEDs (e.g., red LEDs, green LEDs, etc.) that emit light at the palm side of the user's finger to collect physiological data based on arterial blood flow in the user's finger. In some implementations, the ring 104 may obtain physiological data using a combination of both green and red LEDs. The physiological data may include any physiological data known in the art, including, but not limited to, body temperature data, accelerometer data (e.g., movement / exercise data), heart rate data, HRV data, blood oxygen level data, or any combination thereof.
[0026] The use of both green and red LEDs may provide some advantages over other solutions, since red and green LEDs have been found to have their own advantages, such as when acquiring physiological data under different conditions (e.g., bright / dark, active / inactive) and through different parts of the body. For example, green LEDs have been found to perform better during exercise. Furthermore, the use of multiple LEDs (e.g., green and red LEDs) distributed around the circumference of the ring 104 has been found to perform better compared to wearable devices that utilize LEDs that are placed close to each other, such as in a watch wearable device. Furthermore, the blood vessels (e.g., arteries, capillaries) in the fingers are more accessible via LEDs compared to the blood vessels in the wrist. In particular, the arteries in the wrist are located at the bottom of the wrist (e.g., on the palm side of the wrist), which means that only capillaries are accessible at the top of the wrist (e.g., on the back side of the wrist) where wearable watch devices and similar devices are typically worn. In this manner, utilizing LEDs and other sensors within the ring 104 has been found to provide superior performance compared to wearable devices worn on the wrist, as the ring 104 can have greater access to the arteries (compared to the capillaries), thereby providing a stronger signal and more valuable physiological data.
[0027] The electronic devices (e.g., user device 106, wearable device 104) of the system 100 may be communicatively coupled to one or more servers 110 via wired or wireless communication protocols. For example, as shown in FIG. 1, the electronic devices (e.g., user device 106) may be communicatively coupled to one or more servers 110 via a network 108. The network 108 may implement an Internet-like Transmission Control Protocol and Internet Protocol (TCP / IP) or may implement other network 108 protocols. The network connection between the network 108 and the respective electronic devices may facilitate the transfer of data via e-mail, web, text message, mail, or any other suitable form of interaction within the computer network 108. For example, in some implementations, a ring 104-a associated with a first user 102-a may be communicatively coupled to a user device 106-a, where the user device 106-a is communicatively coupled to the server 110 via the network 108. In additional or alternative cases, the wearable device 104 (eg, ring 104, watch 104) may be communicatively coupled directly to the network 108.
[0028] The system 100 may provide on-demand database services between the user devices 106 and one or more servers 110. In some cases, the servers 110 may receive data from the user devices 106 over the network 108 and may store and analyze the data. Similarly, the servers 110 may provide data to the user devices 106 over the network 108. In some cases, the servers 110 may be located in one or more data centers. The servers 110 may be used for data storage, management, and processing. In some implementations, the servers 110 may provide a web-based interface to the user devices 106 via a web browser.
[0029] In some aspects, the system 100 may detect periods during which the user 102 is asleep and classify (e.g., sleep stage) the periods during which the user 102 is asleep into one or more sleep stages. For example, as shown in FIG. 1, the user 102-a may be associated with a wearable device 104-a (e.g., ring 104-a) and a user device 106-a. In this example, the ring 104-a may collect physiological data associated with the user 102-a, including body temperature, heart rate, HRV, respiration rate, etc. In some aspects, the data collected by the ring 104-a may be input to a machine learning classifier, where the machine learning classifier is configured to determine the time periods during which the user 102-a is asleep (was asleep). Furthermore, the machine learning classifier may be configured to classify the time periods into different sleep stages, including a wakefulness sleep stage, a rapid eye movement (REM) sleep stage, a light sleep stage (non-REM) and a deep sleep stage (NREM). In some aspects, the classified sleep stages may be displayed to the user 102-a via a GUI of the user device 106-a. The sleep stage classification may be used to provide the user 102-a with feedback regarding the user's sleep patterns, such as a recommended bedtime, a recommended wake-up time, etc. Additionally, in some implementations, the sleep stage classification techniques described herein may be used to calculate scores for each user, such as sleep scores, readiness scores, etc.
[0030] In some aspects, the system 100 may utilize circadian rhythm derived features to further improve physiological data collection, data processing procedures, and other techniques described herein. The term circadian rhythm may refer to a natural internal process that regulates an individual's sleep-wake cycle, which repeats approximately every 24 hours. In this regard, the techniques described herein may utilize a circadian rhythm adjustment model to improve physiological data collection, analysis, and data processing. For example, the circadian rhythm adjustment model may be input to a machine learning classifier along with physiological data collected from the user 102 via the wearable device 104-a. In this example, the circadian rhythm adjustment model may be configured to "weight" or adjust the physiological data collected through the user's natural approximately 24-hour circadian rhythm. In some implementations, the system may initially start with a "baseline" circadian rhythm adjustment model and may use physiological data collected from each user 102 to modify the baseline model and generate an adjusted and individualized circadian rhythm adjustment model specific to each user 102.
[0031] In some embodiments, the system 100 may utilize other biological rhythms to further improve the collection, analysis, and processing of physiological data by the phases of these other rhythms. For example, if a weekly rhythm is detected in an individual's baseline data, the model may be configured to adjust the "weight" of the data by day of the week. Biological rhythms that may require adjustment to the model in this manner include: 1) ultradian (faster than daily rhythms, including sleep cycles in sleep states and fluctuations in measured physiological variables during wakefulness from less than an hour to several hours periodicity); 2) circadian rhythms; 3) non-endogenous daily rhythms that have been shown to be imposed on top of circadian rhythms, such as work schedules; 4) weekly rhythms, or other artificial time periods that are exogenously imposed (e.g., in a virtual culture with a 12-day "week," a 12-day rhythm could be used); 5) multi-day ovarian rhythms in women and spermatogenic rhythms in men; 6) lunar rhythms (associated with people living with little or no artificial light); and 7) seasonal rhythms.
[0032] Biological rhythms are not necessarily stationary rhythms. For example, many women experience variability in ovarian cycle length over multiple cycles, and ultradian rhythms are not expected to occur at exactly the same time or periodicity across days, even within a user. Thus, signal processing techniques sufficient to quantify the frequency composition while preserving the time resolution of these rhythms in the physiological data can be used to improve the detection of these rhythms and assign the phase of each rhythm to each measured instant, thereby modifying the adjustment models and comparison of time intervals. Biological rhythm-adjustment models and parameters can be added in linear or non-linear combinations as needed to more accurately capture the dynamic physiological baseline of an individual or group of individuals.
[0033] In some aspects, each device / component of the system 100 may support techniques for location-based activity tracking. In particular, the system 100 shown in FIG. 1 may support techniques for identifying when the user 102 is engaged in a physical activity based on physiological data collected via the wearable device 104 (e.g., the ring 104) and utilizing location data of the user 102 to determine one or more parameters of the detected physical activity.
[0034] For example, as shown in FIG. 1, the ring 104-a may collect physiological data from the user 102-a (e.g., user 1), including temperature data, heart rate data, accelerometer data, respiration rate data, etc. The data collected by the ring 104-a may be used to determine a period of time during which the user 102-a is engaged in a physical activity (e.g., an "activity segment"). For example, the system 100 may determine that the user 102-a exhibits an elevated temperature reading, an elevated heart rate, and an elevated respiration rate, and may therefore determine that the user 102-a is engaged in a physical activity. The identification of an activity segment (e.g., a time interval during which the user 102-a is engaged in a physical activity) may be performed by any of the components of the system 100, including the ring 104-a, the user device 106-a, the server 110, or any combination thereof.
[0035] In some cases, the system 100 may automatically identify the user 102-a as engaged in a physical activity without input from the user 102-a. For example, the system 100 may identify an activity segment for the user 102-a based on physiological data collected via the ring 104-a without receiving any user input from the user 102-a. Additionally or alternatively, the system 100 may prompt the user 102-a to confirm whether they are (or have been) engaged in a physical activity and may identify the activity segment based on a confirmation received from the user 102-a (e.g., via a user input received via the user device 106-a). Similarly, in some aspects, the system 100 may automatically detect the completion of an identified activity segment without input from the user 102-a. For example, in some cases, the system 100 may identify that both the user's body temperature and heart rate are decreasing, and therefore may automatically identify the completion of the activity segment. In other words, the system 100 may utilize physiological data (and / or location data) collected from the ring 104-a to automatically determine that the user 102-a is no longer engaged in physical activity.
[0036] Continuing with the same example, in some implementations, the system 100 may utilize location data (e.g., GPS data) associated with each user 102-a to more accurately determine parameters associated with the identified activity segment. In some aspects, the location data of each respective user 102-a may be generated, received, or otherwise obtained via a corresponding user device 106, ring 104, or other wearable device 104. For example, if the user device 106-a is enabled with GPS functionality, the location data of the first user 102-a may be determined based on data generated / received via the user device 106-a. Additionally or alternatively, the ring 104-a may be enabled with GPS or other positioning functionality. As another example, if the wearable device 104-c (e.g., the watch 104-c) is enabled with GPS functionality, the location data of the second user 102-b may be determined based on data generated / received via the wearable device 104-c.
[0037] The location data may be used to determine one or more parameters associated with the identified activity segment or physical activity. For example, if the system 100 detects that the user 102-a has gone for a run (e.g., a running activity segment), the location data of the user 102-a may be used to determine the start / end point of the run, the duration of the run, a route map of the run, etc. Additionally, the location data may be used to determine the elevation change, pace, elevation adjustment pace, calories burned, etc. of the run. In this regard, leveraging the location data along with physiological data collected via the ring 104-a may be used to improve activity tracking of the user 102-a.
[0038] It should be understood by those skilled in the art that one or more aspects of the present disclosure may be implemented in the system 100 to additionally or alternatively solve other problems other than those mentioned above. Furthermore, the aspects of the present disclosure may provide technical improvements to the "conventional" systems or processes described herein. However, this specification and the accompanying drawings only include exemplary technical improvements resulting from implementing the aspects of the present disclosure, and therefore do not represent all of the technical improvements provided within the scope of the claims.
[0039] 2 illustrates an example of a system 200 supporting techniques for location-based activity tracking according to aspects of the present disclosure. System 200 may implement or be implemented by system 100. In particular, system 200 illustrates an example of a ring 104 (e.g., wearable device 104), a user device 106, and a server 110, as described with reference to FIG.
[0040] In some aspects, the ring 104 may be configured to be worn around a user's finger and may determine one or more physiological parameters of the user when worn around the user's finger. Exemplary measurements and determinations may include, but are not limited to, the user's skin temperature, pulse waveform, respiratory rate, heart rate, HRV, blood oxygen level, etc.
[0041] The system 200 further includes a user device 106 (e.g., a smartphone) in communication with the ring 104. For example, the ring 104 may be in wireless and / or wired communication with the user device 106. In some implementations, the ring 104 may transmit measured and processed data (e.g., body temperature data, photoplethysmogram (PPG) data, motion / accelerometer data, ring input data, etc.) to the user device 106. The user device 106 may also transmit data to the ring 104, such as ring 104 firmware / configuration updates. The user device 106 may process the data. In some implementations, the user device 106 may transmit the data to the server 110 for processing and / or storage.
[0042] The ring 104 may include a housing 205, which may include an inner housing 205-a and an outer housing 205-b. In some aspects, the housing 205 of the ring 104 may store or otherwise contain various components of the ring, including, but not limited to, device electronics, a power source (e.g., battery 210 and / or capacitor), one or more boards (e.g., printed circuit boards) interconnecting the device electronics and / or the power source, etc. The device electronics may include device modules (e.g., hardware / software) such as a processing module 230-a, a memory 215, a communication module 220-a, a power module 225, etc. The device electronics may also include one or more sensors. Exemplary sensors may include one or more temperature sensors 240, a PPG sensor assembly (e.g., a PPG system 235), and one or more motion sensors 245.
[0043] The sensors may include associated modules (not shown) configured to communicate with the respective components / modules of the ring 104 and generate signals associated with the respective sensors. In some aspects, each of the components / modules of the ring 104 may be communicatively coupled to one another via wired or wireless connections. Additionally, the ring 104 may include additional and / or alternative sensors or other components configured to collect physiological data from the user including light sensors (e.g., LEDs), oximeters, etc.
[0044] The ring 104 shown and described with reference to FIG. 2 is provided for illustrative purposes only. As such, the ring 104 may include additional or alternative components such as those shown in FIG. 2. Other rings 104 may be manufactured that provide the functionality described herein. For example, rings 104 may be manufactured with fewer components (e.g., sensors). In a particular example, a ring 104 may be manufactured with a single temperature sensor 240 (or other sensor), a power source, and device electronics configured to read the single temperature sensor 240 (or other sensor). In another example, the temperature sensor 240 (or other sensor) may be attached to a user's finger (e.g., using a clamp, a spring-loaded clamp, etc.). In this case, the sensor may be wired to another computing device, such as a wrist-worn computing device that reads the temperature sensor 240 (or other sensor). In other examples, rings 104 may be manufactured that include additional sensors and processing capabilities.
[0045] The housing 205 may include one or more housing 205 components. The housing 205 may include an outer housing 205-b component (e.g., a shell) and an inner housing 205-a component (e.g., a molding). The housing 205 may include additional components (e.g., additional layers) not explicitly illustrated in FIG. 2. For example, in some implementations, the ring 104 may include one or more insulating layers that electrically insulate the device electronics and other conductive materials (e.g., electrical traces) from the outer housing 205 (e.g., the metallic outer housing 205-b). The housing 205 may provide structural support for the device electronics, the battery 210, the substrate, and other components. For example, the housing 205 may protect the device electronics, the battery 210, and the substrate from mechanical forces such as pressure and impact. The housing 205 may also protect the device electronics, the battery 210, and the substrate from water and / or other chemicals.
[0046] The outer housing 205-b may be manufactured from one or more materials. In some implementations, the outer housing 205-b may include a metal, such as titanium, which may provide strength and wear resistance at a relatively light weight. The outer housing 205-b may also be manufactured from other materials, such as polymers. In some implementations, the outer housing 205-b may be protective as well as decorative.
[0047] The inner housing 205-a may be configured to interface with a user's finger. The inner housing 205-a may be formed from a polymer (e.g., a medical grade polymer) or other material. In some implementations, the inner housing 205-a may be transparent. For example, the inner housing 205-a may be transparent to light emitted by a PPG light emitting diode (LED). In some implementations, the inner housing 205-a may be molded over the outer housing 205-b. For example, the inner housing 205-a may include a polymer that is molded (e.g., injection molded) to fit over the outer housing 205 metal shell.
[0048] The ring 104 may include one or more substrates (not shown). The device electronics and battery 210 may be included on one or more substrates. For example, the device electronics and battery 210 may be mounted on one or more substrates. An exemplary substrate may include one or more printed circuit boards (PCBs), such as a flexible PCB (e.g., polyimide). In some implementations, the electronics / battery 210 may include surface-mounted devices (e.g., surface-mount technology (SMT) devices) on a flexible PCB. In some implementations, the one or more substrates (e.g., one or more flexible PCBs) may include electrical traces that provide electrical communication between the device electronics. The electrical traces may also connect the battery 210 to the device electronics.
[0049] The device electronics, battery 210, and substrate may be arranged in a variety of ways within ring 104. In some implementations, one substrate containing the device electronics may be mounted along the bottom (e.g., bottom half) of ring 104 such that sensors (e.g., PPG system 235, temperature sensor 240, motion sensor 245, and other sensors) interface with the underside of a user's finger. In these implementations, battery 210 may be included (e.g., on a separate substrate) along the top of ring 104.
[0050] The various components / modules of ring 104 represent functionality (e.g., circuits and other components) that may be included in ring 104. A module may include any discrete and / or integrated electronic circuit components implementing analog and / or digital circuits capable of producing the functionality attributed to the module herein. For example, a module may include analog circuitry (e.g., amplification circuitry, filtering circuitry, analog-to-digital conversion circuitry, and / or other signal conditioning circuitry). A module may also include digital circuitry (e.g., combinational or sequential logic circuitry, memory circuitry, etc.).
[0051] The memory 215 (memory module) of the ring 104 may include any volatile, non-volatile, magnetic or electrical media, such as random access memory (RAM), read only memory (ROM), non-volatile RAM (NVRAM), electrically erasable programmable ROM (EEPROM), flash memory or any other memory device. The memory 215 may store any of the data described herein. For example, the memory 215 may be configured to store data (e.g., motion data, temperature data, PPG data) collected by the respective sensors and the PPG system 235. Additionally, the memory 215 may include instructions that, when executed by one or more processing circuits, cause the modules to perform various functions attributed to the modules herein. The device electronics of the ring 104 described herein are only one example of device electronics. Thus, the types of electronic components used to implement the device electronics may vary based on design considerations.
[0052] The functionality attributed to the modules of ring 104 described herein may be embodied as one or more processors, hardware, firmware, software, or any combination thereof. The depiction of different features as modules is intended to highlight different functional aspects and does not necessarily imply that such modules must be implemented by separate hardware / software components. Rather, the functionality associated with one or more modules may be performed by separate hardware / software components or may be integrated within a common hardware / software component.
[0053] The processing module 230-a of the ring 104 may include one or more processors (e.g., processing units), microcontrollers, digital signal processors, systems on chips (SoCs), and / or other processing devices. The processing module 230-a communicates with the modules included in the ring 104. For example, the processing module 230-a may send / receive data to / from modules and other components of the ring 104, such as sensors. As described herein, the modules may be implemented by various circuit components. Thus, the modules may also be referred to as circuits (e.g., communication circuits and power circuits).
[0054] The processing module 230-a may be in communication with the memory 215. The memory 215 may include computer readable instructions that, when executed by the processing module 230-a, cause the processing module 230-a to perform various functions attributed to the processing module 230-a. In some implementations, the processing module 230-a (e.g., a microcontroller) may include additional features associated with other modules, such as communication capabilities provided by the communication module 220-a (e.g., an integrated Bluetooth Low Energy transceiver) and / or additional on-board memory 215.
[0055] The communication module 220-a may include circuitry for providing wireless and / or wired communication with the user device 106 (e.g., the communication module 220-b of the user device 106). In some implementations, the communication modules 220-a, 220-b may include wireless communication circuitry, such as Bluetooth circuitry and / or Wi-Fi circuitry. In some implementations, the communication modules 220-a, 220-b may include wired communication circuitry, such as Universal Serial Bus (USB) communication circuitry. Using the communication module 220-a, the ring 104 and the user device 106 may be configured to communicate with each other. The processing module 230-a of the ring may be configured to send data to / receive data from the user device 106 via the communication module 220-a. Exemplary data may include, but are not limited to, motion data, temperature data, pulse waveforms, heart rate data, HRV data, PPG data, and status updates (e.g., charging status, battery charge level, and / or ring 104 configuration settings). The ring processing module 230-a may also be configured to receive updates (eg, software / firmware updates) and data from the user device 106.
[0056] The ring 104 may include a battery 210 (e.g., a rechargeable battery 210). An exemplary battery 210 may include a lithium ion or lithium polymer type battery 210, although various battery 210 options are possible. The battery 210 may be wirelessly charged. In some implementations, the ring 104 may include a power source other than the battery 210, such as a capacitor. The power source (e.g., the battery 210 or the capacitor) may have a curved shape that matches the curve of the ring 104. In some aspects, the charger or other power source may include additional sensors that may be used to collect data in addition to or supplementing data collected by the ring 104 itself. Additionally, the charger or other power source of the ring 104 may function as a user device 106, in which case the charger or other power source of the ring 104 may be configured to receive data from the ring 104, store and / or process data received from the ring 104, and communicate data between the ring 104 and the server 110.
[0057] In some aspects, the ring 104 includes a power module 225 that may control charging of the battery 210. For example, the power module 225 may interface with an external wireless charger that charges the battery 210 when interfaced with the ring 104. The charger may include a data structure that mates with a datum structure of the ring 104 to generate a specific orientation with the ring 104 while charging the ring 104. The power module 225 may also regulate the voltage of the device electronics, regulate the power output to the device electronics, and monitor the state of charge of the battery 210. In some implementations, the battery 210 may include a protection circuit module (PCM) that protects the battery 210 from high current discharge, over-voltage while charging the ring 104, and under-voltage while discharging the ring 104. The power module 225 may also include electro-static discharge (ESD) protection.
[0058] One or more temperature sensors 240 may be electrically coupled to the processing module 230-a. The temperature sensor 240 may be configured to generate a body temperature signal (e.g., body temperature data) indicative of a body temperature read or sensed by the temperature sensor 240. The processing module 230-a may determine the user's body temperature at the location of the temperature sensor 240. For example, in the ring 104, the body temperature data generated by the temperature sensor 240 may indicate the user's body temperature (e.g., skin temperature) at the user's finger. In some implementations, the temperature sensor 240 may contact the user's skin. In other implementations, a portion of the housing 205 (e.g., the inner housing 205-a) may form a barrier (e.g., a thin thermally conductive barrier) between the temperature sensor 240 and the user's skin. In some implementations, the portion of the ring 104 configured to contact the user's finger may have a thermally conductive portion and a thermally insulating portion. The thermally conductive portion may conduct heat from the user's finger to the temperature sensor 240. The insulating portion may insulate portions of the ring 104 (eg, the temperature sensor 240) from the ambient temperature.
[0059] In some implementations, the temperature sensor 240 may generate a digital signal (e.g., body temperature data) that the processing module 230-a may use to determine the body temperature. As another example, if the temperature sensor 240 includes a passive sensor, the processing module 230-a (or the temperature sensor 240 module) may measure the current / voltage generated by the temperature sensor 240 and determine the body temperature based on the measured current / voltage. An exemplary temperature sensor 240 may include a thermistor, such as a negative temperature coefficient (NTC) thermistor, or other types of sensors including resistors, transistors, diodes, and / or other electrical / electronic components.
[0060] The processing module 230-a may sample the user's temperature over time. For example, the processing module 230-a may sample the user's temperature according to a sampling rate. An exemplary sampling rate may include one sample per second, although the processing module 230-a may be configured to sample the temperature signal at other sampling rates higher or lower than one sample per second. In some implementations, the processing module 230-a may sample the user's temperature continuously throughout the day and night. Sampling at a sufficient rate throughout the day (e.g., one sample per second) may provide sufficient temperature data for the analysis described herein.
[0061] The processing module 230-a may store the sampled body temperature data in the memory 215. In some implementations, the processing module 230-a may process the sampled body temperature data. For example, the processing module 230-a may determine an average body temperature value for a period of time. In one example, the processing module 230-a may determine an average body temperature value per minute by summing all body temperature values collected in one minute and dividing by the number of samples in one minute. In a particular example where the body temperature is sampled at one sample per second, the average body temperature may be the sum of all sampled body temperatures for one minute divided by 60 seconds. The memory 215 may store the average body temperature value over time. In some implementations, the memory 215 may store the average body temperature (e.g., one per minute) instead of the sampled body temperatures to conserve the memory 215.
[0062] The sampling rate, which may be stored in memory 215, may be configurable. In some implementations, the sampling rate may be the same throughout the day and night. In other implementations, the sampling rate may be changed throughout the day / night. In some implementations, the ring 104 may filter / reject temperature readings such as large spikes in body temperature that do not indicate a physiological change (e.g., a temperature spike from a hot shower). In some implementations, the ring 104 may filter / reject temperature readings that may be unreliable due to other factors, such as excessive movement during 104 movement (e.g., as indicated by the motion sensor 245).
[0063] The ring 104 (e.g., a communication module) may transmit the sampled and / or average temperature data to the user device 106 for storage and / or further processing. The user device 106 may forward the sampled and / or average temperature data to the server 110 for storage and / or further processing.
[0064] Although the ring 104 is shown including a single temperature sensor 240, the ring 104 may include multiple temperature sensors 240 at one or more locations, such as disposed along the inner housing 205-a near the user's finger. In some implementations, the temperature sensor 240 may be a stand-alone temperature sensor 240. Additionally or alternatively, one or more temperature sensors 240 may be included (e.g., packaged with other components) such as an accelerometer and / or a processor.
[0065] The processing module 230-a may obtain and process data from multiple temperature sensors 240 in a manner similar to that described for a single temperature sensor 240. For example, the processing module 230 may sample, average, and store body temperature data from each of the multiple temperature sensors 240 individually. In other examples, the processing module 230-a may sample the sensors at different rates and average / store different values for the different sensors. In some implementations, the processing module 230-a may be configured to determine a single body temperature based on an average of two or more body temperatures determined by two or more temperature sensors 240 at different locations on the finger.
[0066] The temperature sensor 240 on the ring 104 may acquire a distal body temperature at a user's finger (e.g., any finger). For example, one or more temperature sensors 240 on the ring 104 may acquire the user's body temperature from the underside of the finger or at different locations on the finger. In some implementations, the ring 104 may acquire the distal body temperature continuously (e.g., at a sampling rate). Although distal temperatures measured by the ring 104 on a finger are described herein, other devices may measure body temperature at the same / different locations. In some cases, the distal body temperature measured on a user's finger may differ from a body temperature measured on the user's wrist or other external body location. In addition, the distal body temperature measured on a user's finger (e.g., "shell" body temperature) may differ from the user's core body temperature. In this way, the ring 104 may provide a useful body temperature signal that may not be acquired at other internal / external locations on the body. In some cases, continuous body temperature measurements on a finger may capture body temperature fluctuations (e.g., small or large fluctuations) that may not be apparent in the core body temperature. For example, continuous temperature measurements at a finger can capture minute-to-minute or hour-to-hour temperature fluctuations, providing additional insight that may not be provided by other temperature measurements at other locations on the body.
[0067] The ring 104 may include a PPG system 235. The PPG system 235 may include one or more optical transmitters to transmit light. The PPG system 235 may also include one or more optical receivers to receive light transmitted by the one or more optical transmitters. The optical receiver may generate a signal (hereinafter, a "PPG" signal) indicative of an amount of light received by the optical receiver. The optical transmitter may illuminate an area of the user's finger. The PPG signal generated by the PPG system 235 may indicate blood perfusion in the illuminated area. For example, the PPG signal may indicate changes in blood volume in the illuminated area caused by the user's pulse pressure. The processing module 230-a may sample the PPG signal and determine the user's pulse waveform based on the PPG signal. The processing module 230-a may determine various physiological parameters, such as the user's respiration rate, heart rate, HRV, oxygen saturation, and other circulatory parameters, based on the user's pulse waveform.
[0068] In some implementations, the PPG system 235 may be configured as a reflective PPG system 235 in which an optical receiver receives transmitted light that is reflected through a region of a user's finger. In some implementations, the PPG system 235 may be configured as a transmissive PPG system 235 in which an optical transmitter and an optical receiver are positioned opposite one another such that light is transmitted directly through a portion of a user's finger to the optical receiver.
[0069] The number and ratio of transmitters and receivers included in the PPG system 235 may vary. Exemplary optical transmitters may include light emitting diodes (LEDs). The optical transmitters may transmit light in the infrared spectrum and / or other spectrums. Exemplary optical receivers may include, but are not limited to, photosensors, phototransistors, and photodiodes. The optical receivers may be configured to generate PPG signals in response to wavelengths received from the optical transmitters. The locations of the transmitters and receivers may vary. Additionally, a single device may include reflective and / or transmissive PPG systems 235.
[0070] 2 may, in some implementations, include a reflective PPG system 235. In these implementations, the PPG system 235 may include a centrally located optical receiver (e.g., at the bottom of the ring 104) and two optical transmitters located on either side of the optical receiver. In this implementation, the PPG system 235 (e.g., the optical receiver) may generate a PPG signal based on light received from one or both of the optical transmitters. In other implementations, other arrangements, combinations, and / or configurations of one or more optical transmitters and / or optical receivers are contemplated.
[0071] The processing module 230-a may control one or both of the optical transmitters to transmit light while sampling the PPG signal generated by the optical receiver. In some implementations, the processing module 230-a may cause the optical transmitter with a stronger received signal to transmit light while sampling the PPG signal generated by the optical receiver. For example, the selected optical transmitter may emit light continuously while the PPG signal is sampled at a sampling rate (e.g., 250 Hz).
[0072] By sampling the PPG signal generated by the system 235, a pulse waveform can be obtained, which may be referred to as a "PPG." The pulse waveform may indicate blood pressure versus time for multiple cardiac cycles. The pulse waveform may include peaks indicative of cardiac cycles. In addition, the pulse waveform may include respiratory induced variations that may be used to determine a respiration rate. In some implementations, the processing module 230-a may store the pulse waveform in the memory 215. The processing module 230-a may process the pulse waveform as it is generated and / or from the memory 215 to determine physiological parameters of the user as described herein.
[0073] The processing module 230-a may determine the user's heart rate based on the pulse waveform. For example, the processing module 230-a may determine the heart rate (e.g., beats per minute) based on the time between peaks of the pulse waveform. The time between peaks may be referred to as the interbeat interval (IBI). The processing module 230-a may store the determined heart rate value and the IBI value in the memory 215.
[0074] The processing module 230-a may determine HRV over time. For example, the processing module 230-a may determine HRV based on the variation of IBl. The processing module 230-a may store the HRV values over time in the memory 215. Additionally, the processing module 230-a may determine the user's respiration rate over time. For example, the processing module 230-a may determine the respiration rate based on a frequency modulation, an amplitude modulation, or a baseline modulation of the user's IBI value over a period of time. The respiration rate may be calculated in breaths per minute or as another respiration rate (e.g., breaths per 30 seconds). The processing module 230-a may store the values of the user's respiration rate over time in the memory 215.
[0075] The ring 104 may include one or more motion sensors 245, such as one or more accelerometers (e.g., 6-D accelerometers) and / or one or more gyroscopes (gyros). The motion sensors 245 may generate motion signals indicative of the motion of the sensor. For example, the ring 104 may include one or more accelerometers that generate acceleration signals indicative of the acceleration of the accelerometer. As another example, the ring 104 may include one or more gyro sensors that generate gyro signals indicative of angular motion (e.g., angular velocity) and / or changes in orientation. The motion sensors 245 may be included in one or more sensor packages. An exemplary accelerometer / gyro sensor is the Bosch® BMI160 inertial micro electro-mechanical system (MEMS) sensor, which may measure angular velocity and acceleration in three perpendicular axes.
[0076] The processing module 230-a may sample the motion signals at a sampling rate (e.g., 50 Hz) and determine the motion of the ring 104 based on the sampled motion signals. For example, the processing module 230-a may sample the acceleration signals to determine the acceleration of the ring 104. As another example, the processing module 230-a may sample the gyro signal to determine the angular motion. In some implementations, the processing module 230-a may store the motion data in the memory 215. The motion data may include sampled motion data as well as calculated motion data based on the sampled motion signals (e.g., acceleration and angle values).
[0077] The ring 104 may store various data as described herein. For example, the ring 104 may store body temperature data, such as raw sampled body temperature data and calculated body temperature data (e.g., average temperature). As another example, the ring 104 may store PPG signal data, such as pulse waveforms and data calculated based on the pulse waveforms (e.g., heart rate values, IBI values, HRV values, and respiration rate values). The ring 104 may also store motion data, such as sampled motion data indicative of linear and angular motion.
[0078] The ring 104 or other computing device may calculate and store additional values based on the sampled / calculated physiological data. For example, the processing module 230 may calculate and store various metrics, such as sleep metrics (e.g., sleep score), activity metrics, and readiness metrics. In some implementations, the additional values / metrics may be referred to as "derived values." The ring 104 or other computing / wearable device may calculate various values / metrics related to movement. Exemplary derived values of movement data may include, but are not limited to, movement count values, regularity values, intensity values, metabolic equivalence of task values (METs), and directional values. The movement counts, regularity values, intensity values, and METs may indicate the amount (e.g., speed / acceleration) of the user's movement over time. The directional values may indicate how the ring 104 is oriented relative to the user's finger and whether the ring 104 is worn on the left or right hand.
[0079] In some implementations, the motion count and regularity value may be determined by counting the number of acceleration peaks within one or more time periods (e.g., one or more 30-second to 1-minute time periods). The intensity value may indicate the number of motions and the associated intensity of the motion (e.g., acceleration value). The intensity values may be classified as low, medium, and high depending on the associated threshold acceleration value. METs may be determined based on the intensity of the motion during the 104 time period (e.g., 30 seconds), the regularity / irregularity of the motion, and the number of motions associated with different intensities.
[0080] In some implementations, the processing module 230-a may compress data stored in the memory 215. For example, the processing module 230-a may perform calculations based on the sampled data and then delete the sampled data. As another example, the processing module 230-a may average the data over a longer period of time to reduce the number of values stored. In a specific example, if the average body temperature of the user over a one-minute period is stored in the memory 215, the processing module 230-a may calculate a five-minute average body temperature for storage and then erase the one-minute average body temperature data. The processing module 230-a may compress the data based on various factors, such as the total amount of memory 215 used / available and / or the time since the ring 104 last transmitted data to the user device 106.
[0081] The physiological parameters of the user may be measured by a sensor included in the ring 104, although other devices may measure the physiological parameters of the user. For example, the body temperature of the user may be measured by a temperature sensor 240 included in the ring 104, although other devices may measure the body temperature of the user. In some examples, other wearable devices (e.g., wrist devices) may include sensors that measure the physiological parameters of the user. In addition, medical devices such as external medical devices (e.g., wearable medical devices) and / or implantable medical devices may measure the physiological parameters of the user. One or more sensors on any type of computing device may be used to implement the techniques described herein.
[0082] Physiological measurements may be taken continuously throughout the day and / or night. In some implementations, physiological measurements may be taken during the day and / or night portions of 104. In some implementations, physiological measurements may be taken in response to determining that the user is in a particular state, such as an active state, a resting state, and / or a sleeping state. For example, the ring 104 may take physiological measurements in a resting / sleeping state to obtain a cleaner physiological signal. In one example, the ring 104 or other device / system may detect when the user is resting and / or sleeping and obtain physiological parameters (e.g., body temperature) for the detected state. The device / system may use the resting / sleeping physiological data and / or other data when the user is in other states to implement the techniques of this disclosure.
[0083] In some implementations, the ring 104 may be configured to collect, store, and / or process data as described herein above, and may forward any of the data described herein to the user device 106 for storage and / or processing. In some aspects, the user device 106 includes a wearable application 250, an operating system (OS), a web browser application (e.g., web browser 280), one or more additional applications, and a GUI 275. The user device 106 may further include other modules and components, including sensors, audio devices, haptic feedback devices, and the like. The wearable application 250 may include examples of applications (e.g., "apps") that may be installed on the user device 106. The wearable application 250 may be configured to obtain data from the ring 104, store the obtained data, and process the obtained data, as described herein. For example, the wearable application 250 may include a user interface (UI) module 255, an acquisition module 260, a processing module 230-b, a communication module 220-b, and a storage module (e.g., a database 265) configured to store application data.
[0084] Various data processing operations described herein may be performed by the ring 104, the user device 106, the server 110, or any combination thereof. For example, in some cases, data collected by the ring 104 may be pre-processed and transmitted to the user device 106. In this example, the user device 106 may perform some data processing operation on the received data, transmit the data to the server 110 for data processing, or both. For example, in some cases, the user device 106 may perform processing operations that require relatively low processing power and / or operations that require relatively low latency, while the user device 106 may transmit data to the server 110 for processing of processing operations that require relatively high processing power and / or operations that can tolerate relatively high latency.
[0085] In some aspects, the ring 104, user device 106 and server 110 of the system 200 may be configured to assess a user's sleep patterns. In particular, each component of the system 200 may be used to collect data from the user via the ring 104 and generate one or more scores (e.g., sleep score, readiness score) for the user based on the collected data. For example, as previously described herein, the ring 104 of the system 200 may be worn by the user to collect data from the user including body temperature, heart rate, HRV, etc. The data collected by the ring 104 may be used to determine when the user is asleep to assess the user's sleep for a given "sleep day." In some aspects, a score may be calculated for the user for each sleep day such that a first sleep day is associated with a first score set and a second sleep day is associated with a second score set. A score may be calculated for each sleep day based on the data collected by the ring 104 during each sleep day. The scores include, but are not limited to, a sleep score, a readiness score, etc.
[0086] In some cases, the "sleep days" may be aligned with traditional calendar days such that a given sleep day lasts from midnight to midnight on the respective calendar day. In other cases, the sleep days may be offset relative to the calendar days. For example, a sleep day may last from 6:00 PM (18:00) on one calendar day to 6:00 PM (18:00) on the next calendar day. In this example, 6:00 PM may serve as a "cutoff time," where data collected from the user before 6:00 PM is counted for the current sleep day, and data collected from the user after 6:00 PM is counted for the next sleep day. By offsetting the sleep days relative to the calendar days, due to the fact that most individuals sleep most at night, the system 200 can evaluate the user's sleep patterns in a manner that is consistent with the user's sleep schedule. In some cases, the user can selectively adjust the timing of the sleep days relative to the calendar days (e.g., via a GUI) to align the sleep days with periods during which the respective user typically sleeps.
[0087] In some implementations, each overall score (e.g., sleep score, readiness score) of a user for each day may be determined / calculated based on one or more “contributors,” “factors,” or “contributing factors.” For example, a user's overall sleep score may be calculated based on a set of contributing factors including total sleep, efficiency, rest, REM sleep, deep sleep, latency, timing, or any combination thereof. A sleep score may include any amount of contributing factors. A “total sleep” contributing factor may refer to the sum of all sleep periods of a sleep day. An “efficiency” contributing factor may reflect the percentage of time spent sleeping compared to time spent awake while in bed and may be calculated using an efficiency average of the long sleep periods (e.g., primary sleep period) of a sleep day, weighted by the duration of each sleep period. A “rest” contributing factor may indicate how restful a user's sleep is and may be calculated using an average of all sleep periods of a sleep day, weighted by the duration of each period. The rest contribution factor can be based on "wake up count" (e.g., the sum of all wake ups (when the user wakes up) detected during different sleep periods), excessive movement, and "got up count" (e.g., the sum of all got ups (when the user gets out of bed) detected during different sleep periods).
[0088] The "REM sleep" contributor may refer to the sum of REM sleep durations across all sleep periods of a sleep day, including REM sleep. Similarly, the "deep sleep" contributor may refer to the sum of deep sleep durations across all sleep periods of a sleep day, including deep sleep. The "latency" contributor may refer to the time it takes a user to fall asleep (e.g., average, median, longest) and may be calculated using an average of long sleep periods throughout a sleep day, weighted by the duration of each period and the number of such periods (e.g., a given sleep stage or the integration of multiple sleep stages may be its own contributor or may weight other contributors). Finally, the "timing" contributor may refer to the relative timing of sleep periods within a sleep day and / or calendar day and may be calculated using an average of all sleep periods of a sleep day, weighted by the duration of each period.
[0089] As another example, a user's overall readiness score may be calculated based on a set of contributing factors including sleep, sleep balance, heart rate, HRV balance, recovery index, body temperature, activity, activity balance, or any combination thereof. The readiness score may include any amount of contributing factors. The "sleep" contributing factor may refer to the combined sleep score of all sleep periods within a sleep day. The "sleep balance" contributing factor may refer to the cumulative duration of all sleep periods within a sleep day. In particular, sleep balance may indicate to a user whether the sleep a user has been getting over a period of time (e.g., the past two weeks) is in balance with the user's needs. Typically, adults need 7-9 hours of sleep per night to stay healthy, alert, and perform at their best mentally and physically. However, because it is normal to have occasional bad nights, the sleep balance contributing factor takes into account long-term sleep patterns to determine whether each user's sleep needs are being met. The "resting heart rate" contributor may represent the minimum heart rate from the longest sleep period (eg, the main sleep period) of a sleep day and / or the minimum heart rate from a nap occurring after the main sleep period.
[0090] Continuing with the "contributors" (e.g., factors, contributors) of the readiness score, the "HRV balance" contributor may indicate the highest HRV average from the main sleep period and the naps that occur after the main sleep period. The HRV balance contributor may help the user track their recovery status by comparing the user's HRV trend over a first period (e.g., 2 weeks) with the average HRV over some longer second period (e.g., 3 months). The "Recovery Index" contributor may be calculated based on the longest sleep period. The recovery index measures how long it takes for the user's resting heart rate to stabilize during the night. A sign of very good recovery is when the user's resting heart rate stabilizes in the first half of the night, at least 6 hours before the user wakes up, leaving time for the body to recover for the next day. The "Temperature" contributor may be calculated based on the longest sleep period (e.g., main sleep period) or based on the naps that occur after the longest sleep period if the user's maximum body temperature during the nap is at least 0.5°C higher than the maximum body temperature during the longest period. In some embodiments, the ring may measure the user's temperature while the user is asleep, and the system 200 may display the user's average temperature against the user's baseline temperature. If the user's temperature is outside of the normal range (e.g., significantly above or below 0.0), the temperature contributor may be highlighted (e.g., in a "Pay attention" state) or may otherwise generate an alert to the user.
[0091] In some aspects, each device of the system 200 (e.g., the ring 104, the user device 106, the server 110) may support techniques for location-based activity tracking. In particular, the system 200 shown in FIG. 2 may support techniques for identifying when the user 102 is engaged in a physical activity based on physiological data collected via the ring 104 and utilizing the location data of the user 102 to determine one or more parameters / characteristics of the detected physical activity. In some aspects, the user's detected activity segments (e.g., detected time intervals during which the user was engaged in a physical activity) may be used to update the user's respective scores, such as an activity score, a readiness score, etc.
[0092] For example, as shown in FIG. 2, the ring 104 may collect physiological data from the user 102-a, including body temperature data, heart rate data, etc. The physiological data collected by the ring 104 may be used to determine a period during which the user 102-a is engaged in a physical activity (e.g., an "activity segment"). In other words, the system 200 may identify the user's activity segments (e.g., time intervals during which the user is engaged in a physical activity) based on the received physiological data. For example, the system 200 may determine that the user exhibits an elevated body temperature reading, an elevated heart rate, and elevated respiration, and thus determine that the user 102 is engaged in a physical activity (e.g., identify the user's activity segments). Additionally, the system 200 may be configured to search the collected location data to determine the exact start and end locations / locations of the identified activity segments.
[0093] In some aspects, the system 200 may be configured to train one or more algorithms or classifiers (e.g., machine learning classifiers, neural networks, machine learning algorithms) to identify activity segments. For example, the acquired physiological data may be input into a machine learning classifier to train the machine learning classifier to identify activity segments for the user. In some aspects, classifiers may be trained for each respective user such that the classifiers are "tuned" to identify activity segments based on the user's own unique physiological characteristics.
[0094] It should be noted here that the various processes and operations described herein may be performed by any of the components of the system 200. For example, the identification of an activity segment may be performed by any of the components of the system 200, including the ring 104, the user device 106, the server 110, or any combination thereof. For example, physiological data collected by the ring 104 may be transmitted to the user device 106, where the user device 106 forwards or relays the physiological data to the server 110 for identification of the activity segment.
[0095] In some implementations, the system 200 may utilize location data (e.g., GPS data) associated with the user to more accurately identify activity segments and / or determine parameters associated with the identified activity segments. In some aspects, the user's location data may be generated, received, or otherwise obtained via the user device 106. For example, if the user device 106 is enabled with GPS functionality, the user's location data may be determined based on data generated / received via the user device 106. Additionally or alternatively, the ring 104 may be enabled with GPS or other positioning functionality. Furthermore, in some implementations, the user's location data may be obtained from another wearable device corresponding to the user, such as a wearable watch device.
[0096] The location data may be used to determine one or more parameters associated with the identified activity segment or physical activity. For example, if the system 200 detects that the user has gone for a run (e.g., a running activity segment), the user's location data may be used to determine the start / end point of the run, the duration of the run, a route map of the run, etc. Additionally, the location data may be used to determine the elevation change, pace, elevation adjustment pace, etc. of the run. In this regard, utilizing the location data along with physiological data collected via the ring 104 may be used to improve activity tracking of the user 102. In some aspects, the location data may also be input into one or more classifiers to further improve the activity tracking techniques described herein.
[0097] Parameters / characteristics associated with an identified activity segment / physical activity that may be determined using the acquired physiological and / or location data may include the type / classification of physical activity (e.g., walking, running, cycling, swimming), duration of the activity segment, distance traveled by the user during the activity segment, the user's elevation change during the activity segment, amount of calories burned by the user during the activity segment, pace, speed, route map, split times / pace, elevation adjusted pace, etc.
[0098] For example, the system 200 may identify that a user is engaged in a physical activity (e.g., identify the start of an activity segment) based on the acquired physiological data and / or the acquired location data, and may determine a first geographic location of the user at the start of the activity segment based on the acquired location data of the user. In this example, the system 200 may utilize the user's location information collected throughout the activity segment to determine parameters / characteristics of the activity segment, such as pace, distance, speed, route map, etc. Similarly, the system 200 may identify completion of the identified physical activity (e.g., identify completion of an activity segment) based on the acquired physiological data and / or the acquired location data, and may determine a second geographic location of the user at the end of the activity segment based on the acquired location data of the user. The system 200 may utilize the user's first and second geographic locations (e.g., starting / ending geographic locations) to further determine parameters / characteristics of the physical activity / activity segment (e.g., route map, distance traveled, etc.).
[0099] In some cases, the parameters / characteristics of the identified activity segment / physical activity may depend on the classification (e.g., type) of the physical activity. For example, if the system 200 detects that the user traveled two miles during the physical activity, the calculated calorie burn for the physical activity may vary significantly based on whether the user was walking, running, cycling, or swimming. In this regard, the system 200 may receive / generate activity classification data for the identified activity segment and may determine the parameters / characteristics of the identified activity segment based on the activity classification data. The activity classification data may include the classified activity type (e.g., walking, running, cycling, swimming) as well as a confidence level (e.g., confidence value / metric) associated with each respective classified activity type.
[0100] For example, the user device 106 may receive physiological data from the ring 104 and may transmit the physiological data to the server 110 for processing. The user device 106 may additionally transmit the user's location data to the server 110. In this example, the server 110 may identify that the user is engaged in a physical activity (e.g., identify an activity segment) based on the physiological data and / or the location data. The server 110 may additionally generate activity classification data for the activity segment based on the physiological data and / or the location data. That is, the server 110 may determine relative confidence levels that the user is engaged in different classified activity types based on the physiological data and / or the location data. For example, the server 110 may determine a 90% confidence level that the user is walking, a 74% confidence level that the user is cycling, and a 10% confidence level that the user is swimming. In this regard, the system 200 may determine parameters for the activity segment based on the activity classification data. In some cases, server 110 may utilize one or more trained classifiers configured to identify activity segments, activity segment classifications, etc. based on the received physiological and location data. In some cases, system 200 may determine activity segment parameters / characteristics (e.g., calories burned, intensity) based on the classified activity type with the highest confidence level (e.g., based on the most likely activity type).
[0101] System 200 may utilize both physiological data and location data to determine activity classification data. For example, system 200 may identify that a user is engaged in a physical activity based on acquired physiological data. In this example, if system 200 uses the user's location data to identify that the user is moving at a pace of 18 mph, system 200 may determine that the user is more likely cycling compared to walking or running, and may generate activity classification data (e.g., a classified activity type and corresponding confidence level) based on the location data and the determined pace accordingly. In this regard, the location-based activity tracking techniques described herein may enable more efficient and accurate activity classification compared to some conventional activity tracking techniques.
[0102] As another example, system 200 may identify that a user is engaged in a physical activity based on acquired physiological data (e.g., elevated heart rate, elevated body temperature, elevated respiratory rate), but may identify that the user's location remains the same (or substantially the same). In this example, system 200 may identify that the user is running or cycling indoors, such as on a treadmill or stationary bike, as opposed to running / cycling outdoors. A determination regarding whether the physical activity is occurring indoors or outdoors may be leveraged to provide more accurate and insightful data, such as a more accurate determination of calorie expenditure, more accurate activity classification, etc. As another example, system 200 may identify that a user is engaged in a physical activity and that the user's location is continuously changing in a 50 meter long down-and-back pattern. In this example, system 200 may utilize the location data to determine that the user may be swimming. Similarly, if system 200 identifies that the user is engaged in a physical activity and that the user's elevation is substantially changing, system 200 may identify that the user is skiing or snowboarding. In this regard, the location-based activity tracking techniques described herein may enable more efficient and accurate activity classification as compared to some conventional activity tracking techniques.
[0103] In some implementations, upon identifying an activity segment for the user based on the user's acquired physiological data and / or location data, the system 200 may display an indication of the activity segment to the user. For example, the server 110 may cause the user device 106 to display an indication of the identified activity segment via the GUI 275. This may be further shown and described with reference to FIG.
[0104] 3 illustrates an example GUI 300 that supports techniques for location-based activity tracking according to aspects of the present disclosure. The GUI 300 may implement or be implemented by aspects of the system 100, the system 200, or both. For example, the GUI 300 may include an example GUI 275 of the user device 106 shown in FIG.
[0105] The GUI 300 shown in Figure 3 illustrates a series of application pages 305 that may be displayed to a user via the GUI 300 (e.g., GUI 275 shown in Figure 2). In particular, upon identifying a user's activity segment, application page 305-a may be presented to the user via the GUI 275 of the user device 106 the next time the user opens the wearable application 250.
[0106] 3, the application page 305-a may include a menu 310, an activity segment card 315, an activity goal progress card 320, and an activity list 325. The menu 310 displayed via the application page 305-a may allow the user to navigate to view various application pages of the wearable application 250 (e.g., home page, readiness score, sleep score, activity score). The activity goal progress card 320 may display the user's total calories burned for the day (e.g., the current sleep day) against the user's calorie burn goal for the respective day. The activity goal progress card 320 may also display the user's calculated activity score for the current sleep day, as well as the user's "inactive time," which indicates the period of time the user was inactive for the current sleep day.
[0107] Additionally, the GUI 300 may display an indication of the user's activity segments identified by the system 200. For example, the application page 305-a may display an indication of an activity segment card 315 of an identified activity segment (e.g., a walking activity segment). As shown in FIG. 3, the activity segment card may include the time the activity segment started (7:09 PM), the time the activity segment ended, the duration of the identified activity segment (52 minutes), and the estimated calorie expenditure during the identified activity segment. In some cases, the activity segment card 315 may display the activity classification / type (e.g., walking) associated with the highest confidence level, as previously described herein; in other words, the data displayed within the activity segment card 315 (e.g., classified activity type, calories expended, intensity) may be based on the most likely classified activity type for the identified activity segment. The parameters / characteristics of the identified activity segment displayed via the activity segment card 315 may be determined based on physiological data acquired from the user during the activity segment, the user's position data during the activity segment, or both.
[0108] In some implementations, a user may be able to confirm, reject, and / or edit the identified activity segment via the activity segment card 315. For example, as shown in application page 305-a, a user may select a "confirm" user interface element, in which case the identified activity segment (e.g., a walking activity segment) may be added to an activity list 325 within application page 305-a. In this regard, a user may be able to enter confirmation of the activity segment. Upon confirmation of the identified activity segment, the activity segment may be added to the activity list 325, where the user may view and / or edit additional parameters / characteristics of the activity segment.
[0109] In some aspects, the system 200 may receive input received from a user to further train and improve a classifier used for activity tracking. For example, upon receiving confirmation of an activity segment (e.g., by the user selecting "Confirm"), the system 200 may input the received confirmation into the classifier (e.g., supervised learning) to further train the classifier. Similarly, if a user edits characteristics of an activity segment (e.g., edits the activity segment duration, edits the route, edits the activity segment classification), the received user edits can be input into the classifier to further train the classifier and improve future identification of future activity segments.
[0110] In some cases, data associated with activity segments included in activity list 325 may be used to adjust the user's scores (e.g., activity score, readiness score), adjust data displayed in activity goal progress card 320 (e.g., active calories burned, activity score), etc. For example, upon reviewing a walking activity segment displayed via activity segment card 315, data associated with the walking activity segment (e.g., calories burned, walking time) may be used to update the user's activity score, readiness score, inactive time, and other scores / parameters of the user for each sleep day.
[0111] In other cases, the user may select an "edit" user interface element, which may enable the user to edit one or more characteristics of the identified activity segment, such as start / end time, duration, intensity (e.g., easy, moderate, hard), classification of the identified activity segment (e.g., classified activity type), etc. In other words, the user may be able to selectively modify parameters / characteristics of the identified activity segment (e.g., detected physical activity).
[0112] Upon selection of, for example, an “Edit” button on an activity segment card 315 or selection of an activity segment in the activity list 315, the GUI 300 may display one or more potential classified activity types for the selected activity segment, and the user may select the correct classified activity type. If the classified activity type selected by the user is different from the displayed activity type (e.g., different from the classified activity type with the highest confidence level), the system 200 may recalculate the parameters / characteristics of the activity segment based on the selected activity type and display the recalculated parameters via the GUI 300.
[0113] In additional or alternative cases, system 200 may automatically identify that a user is engaged in a physical activity without input from the user. For example, system 200 may identify activity segments for a user based on physiological data and / or location data and without receiving any user input from the user. In such cases, the identified activity segments may be added directly to a confirmed activities list 325, as shown on application page 305-a. In other words, system 200 may be configured to identify and track activity segments for a user without receiving manual user input from the user.
[0114] When a user manually confirms an activity segment (e.g., by selecting "Confirm" on the activity segment card 315), the system 200 may be configured to determine parameters / characteristics of the identified activity segment based on the time the activity segment was originally identified, rather than the time the user confirmed the activity segment. That is, the system 200 may calculate distance, time, calorie burn, and other parameters for the identified activity segment from the time the activity segment began, rather than the time the user confirmed the activity segment. Additionally, as previously described herein, confirmation of a detected activity segment may be used to further train a classifier (e.g., a machine learning classifier) configured to identify activity segments and determine characteristics of the activity segments.
[0115] For example, the system 200 may identify that the user is walking and may display an activity segment card 315 on the application page 305-a. In this example, the user may open the wearable application 250 of the user device 106 after 10 minutes of walking and confirm the walking (e.g., via the activity segment card 315), and may walk for another 20 minutes (e.g., a 30-minute walking activity segment). In this example, the system 200 may be configured to determine the duration of the walk (e.g., 30 minutes), the calorie expenditure of the walk, and other parameters of the walk based on the time the system 200 first identified the walk compared to the time the user confirmed the walk. That is, the system 200 may calculate the parameters of the 30-minute walk based on the time the user started walking, rather than 20 minutes of walking from the time the user confirmed the walk. In other words, the system 200 may calculate the parameters of the activity segment using physiological and location data collected between the start of the activity segment and the time the confirmation was received.
[0116] In comparison, some other activity tracking devices only calculate parameters / characteristics of identified activity segments from the time the user confirms each activity segment. Such techniques can lead to inaccurate activity tracking as these techniques may omit or otherwise ignore physical activity that occurred prior to confirmation of the activity segment. Thus, the activity tracking techniques described herein can lead to more accurate and efficient activity tracking.
[0117] In some implementations, the system 200 may also automatically detect the completion of an identified activity segment without input from the user. For example, in some cases, the system 200 may identify that the user's body temperature and heart rate are both decreasing, and therefore may automatically identify the completion of the activity segment. In other words, the system 200 may utilize physiological data collected from the ring 104 to automatically determine that the user is no longer engaged in a physical activity. As another example, the system 200 may identify that the user is running (e.g., a running activity segment) and then determine that the user's position remains unchanged (e.g., the user is not moving) for a threshold time or that the rate of change of the user's position is below some threshold (e.g., the user is moving at a slow pace). In this example, the system 200 may determine that the user is no longer running based on the location data, and therefore may automatically identify the completion of the activity segment. Thus, the system 200 may utilize physiological data, location data, or both to automatically identify the completion of an identified activity segment.
[0118] In comparison, some conventional wearable devices may require the user to manually indicate the end of a workout. For example, upon completing a run with some conventional wearable devices, the user may have to manually select “Finish Running” to complete and confirm the workout. However, users often forget to manually indicate the completion of a workout. In such cases, some conventional wearable devices may continuously track the user's movements, etc., and may erroneously attribute collected data as part of a “workout” even long after the user has actually completed the workout. Such erroneous activity tracking may continue until the user realizes that their “workout” is still being tracked. This may result in inaccurate activity tracking, such as the device significantly overestimating the duration of the workout or the calories burned during the workout, or underestimating the average pace. In this manner, by automatically identifying the completion of a workout (e.g., completion of an activity segment) based on collected physiological and / or location data, aspects of the present disclosure may provide more efficient and accurate activity monitoring.
[0119] In some aspects, a user may select an activity segment in the activity segment card 315 and / or activity list 325 to view additional information associated with the selected activity segment. For example, upon selecting a running activity segment displayed in the activity list 325 of application page 305-a, the GUI 300 (e.g., GUI 275 of user device 106 of FIG. 2) may display application page 305 showing “Workout Details” for the selected activity segment.
[0120] Application page 305-b may display one or more parameters or characteristics associated with the running activity segment. For example, application page 305-b may include an activity segment summary card 330 that displays a categorized activity type (e.g., running) and the timing of the activity segment (e.g., start time, end time). Application page 305-b may further include activity parameter cards 335 that display various parameters / characteristics of the activity segment. For example, activity parameter card 335-a indicates the duration of the activity segment, activity parameter card 335-b indicates the amount of calories burned during the activity segment (e.g., active calories burned), activity parameter card 335-c indicates the distance the user ran during the running activity segment, and activity parameter card 335-d indicates the average pace throughout the activity segment.
[0121] The application page 305-b may further include a route map card 340 showing the user's route through the activity segment. The route map may show the user's starting and ending geographic locations as well as the user's overall route, which may be determined based on the user's location data. In some cases, the route map may be overlaid or otherwise combined with a geographic map of the activity segment locations. For example, the route map may be overlaid on top of a geographic map generated or obtained from Google® Maps or another map application.
[0122] In some aspects, location information (e.g., route map card 340) can be input to an activity tracking classifier described herein to improve identification of future activity segments. In particular, location information can be used to train the classifier, which can be utilized by the classifier to improve identification of activity segments, resulting in a more accurate determination of activity segment characteristics (e.g., more accurate determination of calories burned, type of activity segment, workout route, etc.). For example, a user may go running every day and typically run along three different routes. In this example, the system 200 may train a machine learning classifier to identify the user's workouts (e.g., identify when the user is running) based on the acquired physiological data and location data. Additionally, confirmations and edits received by the user (e.g., the user selecting "confirm" for a detected run) may be used to further train and refine the classifier to improve activity tracking. In this example, the classifier may be configured to associate the user's location and route with a running activity segment. That is, the machine learning classifier may "learn" that the user typically runs when the user's location moves along one of these three routes. Furthermore, by identifying that learned routes are commonly associated with a user's running workouts, the classifier is able to predict running workouts along these routes with greater accuracy and / or confidence score.
[0123] Similarly, for a user who typically performs indoor cycling workouts, the system 200 may be configured to train a classifier to identify the user's workout. The classifier may be trained using the acquired physiological data, location data, and input received from the user (e.g., workout confirmation, edits to the workout). In this example, the classifier may "learn" that if the user's location remains constant (e.g., remains constant at the user's home) and the user's physiological data indicates that the user is engaged in a physiological activity, then the user is likely engaged in a cycling workout. In this regard, the classifier may be able to more accurately identify the user's activity segments, may be able to better distinguish activity segments from non-activity segments, and may be able to more accurately classify and identify parameters of the identified activity segments.
[0124] The application page 305-b may further include an activity intensity card 345, which may indicate the relative intensity of the physical activity throughout the identified activity segments. The activity intensity card 345 may also indicate the relative intensity of the activity segments. For example, the activity intensity card 345 shown on the application page 305-b indicates a "medium" intensity for a running activity segment, which may be determined based on acquired physiological data, location data, or both.
[0125] Various parameters / characteristics determined for each respective activity segment and displayed to the user via application page 305 may vary based on the respective classified activity type. For example, for a running activity segment, application page 305-b may display the duration, active calories burned, distance, and average pace of the running activity segment via activity parameter card 335 as well as route map card 340. In comparison, for a hiking activity segment, application page 305-b may display the elevation gain of the activity segment instead of the average pace or other parameters. For example, GUI 300 may display an elevation map of the hiking activity segment showing the user's elevation over time throughout the activity segment.
[0126] Additionally, in some implementations, a user may be able to customize the "Workout Details" shown on application page 305-b for different types of categorized activity types. In particular, a user may be able to select which parameters / characteristics to display for each respective categorized activity type. For example, a user may select a first set of parameters to be displayed for a running activity segment (e.g., duration, calories burned, distance, average pace, top speed, split time / pace, elevation adjusted pace) and a second set of parameters to be displayed for a hiking activity segment (e.g., duration, distance, elevation gained).
[0127] The collection and utilization of location data in system 200 can enable improved activity tracking and can enable other unique features and use cases. When location data for a given user is collected and analyzed over time (e.g., in the context of location-based activity tracking), system 200 may be able to improve the quality of activity segment predictions and activity segment analysis by supplementing accelerometer data with more context (e.g., is the user cycling on a local road or driving on a busy highway?) and by adding a semantic understanding of the user's location (e.g., is the user at home or at the gym?). Additionally, when system 200 collects user location data, system 200 may be able to more efficiently distinguish between indoor workouts and outdoor workouts, such as an indoor spin class and cycling to the office.
[0128] Additionally, collection and analysis of user location data may enable a wide range of additional functionality and use cases that may be used to improve other functions performed by system 200, such as sleep tracking. Additional functionality that may be enabled by collecting location data for a user may include jet lag prediction and preparation, daylight saving time prediction and preparation, altitude / elevation sickness prediction and preparation, sun / sunset determination (which may be used to adjust bedtime and wake-up time recommendations), air quality alerts, weather alerts and impacts, etc.
[0129] Additionally, in some aspects, the collection and analysis of a user's location data may enable useful, more insightful insights and guidance regarding a user's activity score, readiness score, exercise, and overall health. In particular, by leveraging location data, system 200 may be able to more accurately determine whether a given user's physiological data and scores (e.g., sleep score, readiness score, activity score) are attributable to the user's overall activity and sleep, or whether characteristics associated with location (e.g., altitude, time change, jet lag) played a role in the user's physiological data and respective scores.
[0130] For example, a user may travel from their home at a low to moderate elevation to a mountain (e.g., high elevation) and exercise in the mountains. In this example, the user's physiological data (e.g., HRV, heart rate, respiration rate) may suggest or otherwise lead to a decrease in sleep and readiness scores due to the high elevation and low oxygen content at the high elevation. Even if the user has been sleeping or otherwise fully recovered, the abnormal physiological data may indicate that the user's body is suffering due to external factors (e.g., higher elevation) rather than internal factors. Thus, by analyzing the user's location along with other data (e.g., physiological data collected from the user), the system 200 may determine that the user's abnormal physiological data (and thus the decrease in sleep / readiness scores) is likely due to the user's travel from a low / moderate elevation to a high elevation, rather than due to, for example, overtraining, insufficient recovery, or other internal factors. Additionally, at higher elevations, a user may have to work harder compared to lower elevations (e.g., it is more difficult to run a mile at a higher elevation compared to a lower elevation). In such cases, the system 200 may selectively adjust the sleep / readiness score based on the user's location data (e.g., selectively increase the user's activity score based on the user performing the activity at a higher elevation).
[0131] Additionally or alternatively, system 200 may be configured to provide more insightful messages to the user regarding the potential impact of higher elevations on the user's physiological data and / or scores. For example, system 200 may display a message indicating, "Your sleep and readiness scores are lower than normal, this may be due to traveling to a higher elevation." The location analysis techniques described herein may also provide more insightful messages related to activity and exercise, such as messages acknowledging that activities performed at higher elevations may result in higher calorie expenditures, higher activity scores, etc.
[0132] In some implementations, the system 200 may request permission to access users' location data and may only begin tracking users' location data upon the respective users confirming or approving the location tracking, which may be further shown and explained with reference to FIG.
[0133] 4 illustrates an example GUI 400 that supports techniques for location-based activity tracking according to aspects of the present disclosure. GUI 400 may implement or be implemented by aspects of system 100, system 200, or both. For example, GUI 400 may include an example GUI 275 of user device 106 shown in FIG.
[0134] The GUI 400 of Figure 4 illustrates a series of application pages 405 that may be displayed to a user via the GUI 400 (e.g., the GUI 275 shown in Figure 2 ). In particular, the application pages 405 shown in Figure 4 may represent application pages that are displayed to a user via the GUI 275 of the user device 106 when requesting access to track the user's location data.
[0135] For example, a user may update the wearable application 250 on the user device 106 to a version of the wearable application 250 that supports location tracking and may then perform a workout (e.g., an activity segment). Upon opening the wearable application 250 after the workout, the user may be presented with application page 405-a, which indicates that a workout (e.g., an activity segment) has been detected. Upon confirming the activity segment / workout displayed on application page 405-a, GUI 400 may display application page 405-b. Additionally or alternatively, if the activity segment / workout is automatically detected by system 200, application page 405-b may be displayed to the user the first time they open wearable application 250 after the workout.
[0136] Application page 405-b shows an information card that explains how location tracking can be used to supplement and improve the activity tracking functionality performed by system 200. Through application page 405, the user may be able to opt out of or confirm / confirm (e.g., select "No thanks" or "Continue") the location tracking functionality.
[0137] If the user approves the location tracking feature (e.g., by selecting “Continue” on application page 405), GUI 400 may display application page 405-c. Application page 405-c may include a system-level permission prompt associated with user device 106 where the user may choose to opt out or again confirm / approve the location tracking feature. In comparison to the prompt shown on application page 405-b, which may request permission for wearable application 250 to track the user's location, the prompt shown on application page 405-c may include a request generated by the operating system of user device 106. In some implementations, system 200 may start tracking the user's location data only if the user confirms / approves use of the location tracking feature via application page 405-b, application page 405-c, or both.
[0138] In some aspects, the use of application pages 405-a, 405-b, and 405-c may ensure user privacy by allowing users to know exactly how their location data may be used. Application page 405 may include information stating that the user's location data will not be shared with third parties or other users, along with other information regarding how the user's location data will be used. For example, application page 405 may include an additional prompt or request that the user's location data be used in anonymized surveys to improve various functions and features performed by system 200. If a user declines to have system 200 track their location data, the user may be able to later opt-in to the location tracking feature via user device 106 (e.g., via wearable application 250). Conversely, a user who opts-in to the location tracking feature may be able to later opt-out via user device 106.
[0139] 5 illustrates a block diagram 500 of a device 505 supporting techniques for location-based activity tracking according to an embodiment of the disclosure. In some embodiments, the device 505 may include an example of a user device 106 shown and described with reference to FIGS. 1-4. The device 505 may include an input module 510, an output module 515, and a wearable application 520. The device 505 may also include a processor. Each of these components may communicate with each other (e.g., via one or more buses).
[0140] The input module 510 may provide a means for receiving information such as packets associated with various information channels (e.g., a control channel, a data channel, an information channel related to disease detection techniques), user data, control information, or any combination thereof. The information may be passed to other components of the device 505. The input module 510 may utilize a single antenna or a set of multiple antennas.
[0141] The output module 515 may provide a means for transmitting signals generated by other components of the device 505. For example, the output module 515 may transmit information such as packets associated with various information channels (e.g., control channels, data channels, information channels related to disease detection techniques), user data, control information, or any combination thereof. In some examples, the output module 515 may be co-located with the input module 510 within the transceiver module. The output module 515 may utilize a single antenna or a set of multiple antennas.
[0142] For example, the wearable application 520 may include a data acquisition component 525, an activity segments component 530, a location data component 535, a user interface component 540, or any combination thereof. In some examples, the wearable application 520 or its various components may be configured to perform various operations (e.g., receive, monitor, transmit) using or otherwise cooperating with the input module 510, the output module 515, or both. For example, the wearable application 520 may receive information from the input module 510, transmit information to the output module 515, or be integrated in combination with the input module 510, the output module 515, or both to receive information, transmit information, or perform various other operations as described herein.
[0143] The wearable application 520 may support automatic activity detection according to examples disclosed herein. The data acquisition component 525 may be configured as or otherwise support a means for receiving physiological data associated with a user from the wearable device. The activity segments component 530 may be configured as or otherwise support a means for identifying an activity segment in which a user is engaged in a physical activity based at least in part on the physiological data. The location data component 535 may be configured as or otherwise support a means for identifying location data associated with a user for at least a portion of an activity segment. The activity segments component 530 may be configured as or otherwise support a means for identifying one or more parameters associated with a physical activity based at least in part on the physiological data and the location data. The user interface component 540 may be configured as or otherwise support a means for causing a GUI of the user device to display one or more parameters associated with a physical activity.
[0144] 6 illustrates a block diagram 600 of a wearable application 620 supporting techniques for location-based activity tracking according to aspects of the disclosure. The wearable application 620 may be an example of aspects of the wearable application and / or wearable application 520 described herein. The wearable application 620 or various components thereof may be examples of means for performing various aspects of location-based activity tracking as described herein. For example, the wearable application 620 may include a data acquisition component 625, an activity segments component 630, a location data component 635, a user interface component 640, a user input component 645, or any combination thereof. Each of these components may communicate with each other (e.g., via one or more buses) directly or indirectly.
[0145] The wearable application 620 may support automatic activity detection according to examples disclosed herein. The data acquisition component 625 may be configured as or otherwise support a means for receiving physiological data associated with a user from the wearable device. The activity segments component 630 may be configured as or otherwise support a means for identifying an activity segment in which a user is engaged in a physical activity based at least in part on the physiological data. The location data component 635 may be configured as or otherwise support a means for identifying location data associated with a user for at least a portion of an activity segment. In some examples, the activity segments component 630 may be configured as or otherwise support a means for identifying one or more parameters associated with a physical activity based at least in part on the physiological data and the location data. The user interface component 640 may be configured as or otherwise support a means for causing a GUI of the user device to display one or more parameters associated with a physical activity.
[0146] In some examples, the user interface component 640 may be configured as or otherwise support a means for causing a GUI of a user device to display an indication of an activity segment. In some examples, the user input component 645 may be configured as or otherwise support a means for receiving, via a user device and in response to the indication of an activity segment, a confirmation of the activity segment, where causing the GUI to display one or more parameters associated with the physical activity is based at least in part on receiving the confirmation.
[0147] In some examples, to support identifying one or more parameters associated with the physical activity, the activity segment component 630 may be configured as or may otherwise support a means for identifying one or more parameters associated with the physical activity based at least in part on physiological and location data associated with a portion of the activity segment between the start of the activity segment and receipt of the confirmation.
[0148] In some examples, the activity segment component 630 may be configured as or otherwise support a means for automatically identifying completion of an activity segment based at least in part on the received physiological data, where causing the GUI to display one or more parameters associated with the physical activity is based at least in part on automatically identifying completion of the activity segment.
[0149] In some examples, the user input component 645 may be configured as or otherwise support a means for receiving, via a user device, user input that selectively modifies at least one of the one or more parameters associated with the physical activity.
[0150] In some examples, the one or more parameters associated with the physical activity include a type of physical activity, a duration of an activity segment, a distance traveled by the user during the activity segment, an elevation change of the user during the activity segment, an amount of calories burned by the user during the activity segment, or any combination thereof. In some examples, the one or more parameters associated with the physical activity include pace, speed, elevation, a route map, split times, elevation adjusted pace, or any combination thereof.
[0151] In some examples, the location data component 635 may be configured as or otherwise support a means for identifying a first geographic location of the user at the start of an activity segment and a second geographic location of the user at the end of the activity segment, where identifying one or more parameters associated with the physical activity is based at least in part on the first geographic location, the second geographic location, or both.
[0152] In some examples, the activity segment component 630 may be configured as or otherwise support receiving, from a server, activity classification data associated with the activity segment, the activity classification data including a plurality of classified activity types and corresponding confidence values, the confidence values indicating a confidence level associated with the corresponding classified activity type, and where identifying one or more parameters associated with the physical activity is based at least in part on receiving the activity classification data.
[0153] In some examples, the user interface component 640 may be configured as or otherwise support a means for causing a GUI of a user device to display one or more classified activity types of the plurality of classified activity types based at least in part on receiving the activity classification data. In some examples, the user input component 645 may be configured as or otherwise support a means for receiving, via a user device and in response to displaying the one or more classified activity types, a selection of a classified activity type of the one or more classified activity types, where identifying one or more parameters associated with the physical activity is based at least in part on receiving the selection.
[0154] In some examples, the physiological data includes temperature data, accelerometer data, heart rate data, respiration rate data, or any combination thereof. In some examples, the wearable device includes a wearable ring device. In some examples, the wearable device collects the physiological data from the user based on arterial blood flow.
[0155] FIG. 7 illustrates a diagram of a system 700 including a device 705 supporting location-based activity tracking, according to an embodiment of the disclosure. The device 705 may be or include an example of the components of a device 505 as described herein. The device 705 may include an example of a user device 106 as described herein above in connection with FIGS. 1-6. The device 705 may include components for bidirectional communication with the wearable device (e.g., ring 104) and server 110, including components for sending and receiving communications, such as a wearable application 720, a communication module 710, an antenna 715, a user interface component 725, a database (application data) 730, a memory 735, and a processor 740. These components may be in electronic communication or otherwise coupled (e.g., operatively, communicatively, functionally, electronically, electrically) via one or more buses (e.g., bus 745).
[0156] The communication module 710 may manage input and output signals for the device 705 via the antenna 715. The communication module 710 may include an example of the communication module 220-b of the user device 106 shown and described in FIG. 2. In this regard, the communication module 710 may manage communications with the ring 104 and the server 110 as illustrated in FIG. 2. The communication module 710 may also manage peripherals that are not integrated into the device 705. In some cases, the communication module 710 may represent a physical connection or port to an external peripheral. In some cases, the communication module 710 may utilize an operating system such as iOS®, ANDROID®, MS-DOS®, MS-WINDOWS®, OS / 2®, UNIX®, LINUX®, or another known operating system. In other cases, the communication module 710 may represent or interact with a wearable device (e.g., the ring 104), a modem, a keyboard, a mouse, a touch screen, or similar devices. In some cases, the communications module 710 may be implemented as part of the processor 740. In some examples, a user may interact with the device 705 via the communications module 710, a user interface component 725, or via a hardware component controlled by the communications module 710.
[0157] In some cases, the device 705 may include a single antenna 715. However, in other cases, the device 705 may have two or more antennas 715 that can simultaneously transmit or receive multiple wireless transmissions. The communications module 710 may communicate bidirectionally via one or more antennas 715, as described herein, via a wired or wireless link. For example, the communications module 710 may represent a wireless transceiver and may communicate bidirectionally with another wireless transceiver. The communications module 710 may also include a modem for modulating packets and providing the modulated packets to one or more antennas 715 for transmission and demodulating packets received from the one or more antennas 715.
[0158] The user interface component 725 may manage data storage and processing in the database 730. In some cases, a user may interact with the user interface component 725. In other cases, the user interface component 725 may operate automatically without user interaction. The database 730 may be an example of a single database, a distributed database, multiple distributed databases, a data store, a data lake, or an emergency backup database.
[0159] Memory 735 may include RAM and ROM. Memory 735 may store computer-readable, computer-executable software that includes instructions that, when executed, cause processor 740 to perform various functions described herein. In some cases, memory 735 may include a basic I / O system (BIOS), which may control basic hardware or software operations, such as interaction with peripheral components or devices, among other things.
[0160] The processor 740 may include intelligent hardware devices (e.g., a general purpose processor, a digital signal processor (DSP), a central processing unit (CPU), a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic device, discrete gate or transistor logic components, discrete hardware components, or any combination thereof). In some cases, the processor 740 may be configured to operate a memory array using a memory controller. In other cases, the memory controller may be incorporated into the processor 740. The processor 740 may be configured to execute computer readable instructions stored in the memory 735 to perform various functions (e.g., functions or tasks supporting the methods and systems for sleep staging algorithms).
[0161] The wearable application 720 may support automatic activity detection according to examples disclosed herein. For example, the wearable application 720 may be configured as or otherwise support a means for receiving physiological data associated with a user from a wearable device. The wearable application 720 may be configured as or otherwise support a means for identifying an activity segment in which a user is engaged in a physical activity based at least in part on the physiological data. The wearable application 720 may be configured as or otherwise support a means for identifying location data associated with a user for at least a portion of an activity segment. The wearable application 720 may be configured as or otherwise support a means for identifying one or more parameters associated with a physical activity based at least in part on the physiological data and the location data. The wearable application 720 may be configured as or otherwise support a means for causing a GUI of the user device to display one or more parameters associated with a physical activity.
[0162] By including or configuring a wearable application 720 according to examples described herein, the device 705 may support techniques for improved activity detection. In particular, the techniques described herein can facilitate improved activity data tracking by utilizing location data associated with detected activities. By utilizing location data to improve activity tracking, the techniques described herein can provide a user with more accurate and useful information regarding the user's activity, which can encourage increased user activity and engagement and promote more efficient activity training programs.
[0163] The wearable applications 720 may include applications (e.g., "apps"), programs, software, or other components configured to facilitate communication with the ring 104, the server 110, other user devices 106, etc. For example, the wearable applications 720 may include applications executable on the user device 106 configured to receive data (e.g., physiological data) from the ring 104, perform processing operations on the received data, transmit data to and receive data from the server 110, and present the data to the user 102.
[0164] 8 is a flow chart illustrating a method 800 supporting techniques for location-based activity tracking according to aspects of the disclosure. The operations of method 800 may be implemented by a user device or components thereof as described herein. For example, the operations of method 800 may be performed by a user device such as those described with reference to FIGS. 1-7. In some examples, the user device may execute a set of instructions that control functional elements of the user device to perform the described functions. Additionally or alternatively, the user device may use dedicated hardware to perform aspects of the described functions.
[0165] At 805, the method may include receiving physiological data associated with the user from the wearable device. The operations of 805 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 805 may be performed by a data acquisition component 625, as described with reference to FIG.
[0166] At 810, the method may include identifying an activity segment in which the user is engaged in a physical activity based at least in part on the physiological data. The operations of 810 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 810 may be performed by the activity segments component 630, as described with reference to FIG.
[0167] At 815, the method may include identifying location data associated with the user for at least a portion of the activity segment. The operations of 815 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 815 may be performed by the location data component 635, as described with reference to FIG.
[0168] At 820, the method may include identifying one or more parameters associated with the physical activity based at least in part on the physiological data and the location data. The operations of 820 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 820 may be performed by the activity segments component 630, as described with reference to FIG.
[0169] At 825, the method may include causing a GUI of the user device to display one or more parameters associated with the physical activity. The operations of 825 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 825 may be performed by a user interface component 640, as described with reference to FIG.
[0170] 9 is a flow chart illustrating a method 900 supporting techniques for location-based activity tracking according to aspects of the disclosure. The operations of method 900 may be implemented by a user device or components thereof as described herein. For example, the operations of method 900 may be performed by a user device such as those described with reference to FIGS. 1-7. In some examples, the user device may execute a set of instructions that control functional elements of the user device to perform the described functions. Additionally or alternatively, the user device may use dedicated hardware to perform aspects of the described functions.
[0171] At 905, the method may include receiving physiological data associated with the user from the wearable device. The operations of 905 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 905 may be performed by a data acquisition component 625, as described with reference to FIG.
[0172] At 910, the method may include identifying an activity segment in which the user is engaged in a physical activity based at least in part on the physiological data. The operations of 910 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 910 may be performed by activity segments component 630, as described with reference to FIG.
[0173] At 915, the method may include identifying location data associated with the user for at least a portion of the activity segment. The operations of 915 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 915 may be performed by the location data component 635, as described with reference to FIG.
[0174] At 920, the method may include identifying one or more parameters associated with the physical activity based at least in part on the physiological data and the location data. The operations of 920 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 920 may be performed by the activity segments component 630, as described with reference to FIG.
[0175] At 925, the method may include causing a GUI of the user device to display an indication of the activity segment. The operations of 925 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 925 may be performed by a user interface component 640, as described with reference to FIG.
[0176] At 930, the method may include receiving, via the user device and in response to indicating the activity segment, a confirmation of the activity segment. The operations of 930 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 930 may be performed by user input component 645, as described with reference to FIG.
[0177] At 935, the method may include causing a GUI of the user device to display one or more parameters associated with the physical activity, where causing the GUI to display the one or more parameters associated with the physical activity is based at least in part on receiving the confirmation. The operations of 935 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 935 may be performed by a user interface component 640, as described with reference to FIG. 6.
[0178] 10 is a flow chart illustrating a method 1000 supporting techniques for location-based activity tracking according to aspects of the disclosure. The operations of method 1000 may be implemented by a user device or components thereof as described herein. For example, the operations of method 1000 may be performed by a user device such as those described with reference to FIGS. 1-7. In some examples, the user device may execute a set of instructions that control functional elements of the user device to perform the described functions. Additionally or alternatively, the user device may use dedicated hardware to perform aspects of the described functions.
[0179] At 1005, the method may include receiving physiological data associated with the user from a wearable ring device. The operations of 1005 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 1005 may be performed by a data acquisition component 625, as described with reference to FIG.
[0180] At 1010, the method may include identifying an activity segment in which a user is engaged in a physical activity based at least in part on the physiological data. The operations of 1010 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 1010 may be performed by activity segments component 630, as described with reference to FIG.
[0181] At 1015, the method may include identifying location data associated with the user for at least a portion of the activity segment. The operations of 1015 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 1015 may be performed by location data component 635, as described with reference to FIG.
[0182] At 1020, the method may include identifying one or more parameters associated with the physical activity based at least in part on the physiological data and the location data. The operations of 1020 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 1020 may be performed by the activity segments component 630, as described with reference to FIG.
[0183] At 1025, the method may include automatically identifying completion of an activity segment based at least in part on the received physiological data. The operations of 1025 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 1025 may be performed by the activity segment component 630, as described with reference to FIG.
[0184] At 1030, the method may include causing a GUI of the user device to display one or more parameters associated with the physical activity, where causing the GUI to display the one or more parameters associated with the physical activity is based at least in part on automatically identifying completion of the activity segment. The operations of 1030 may be performed according to examples disclosed herein. In some examples, aspects of the operations of 1030 may be performed by a user interface component 640, as described with reference to FIG. 6.
[0185] A method for automatic activity detection is described that may include receiving physiological data associated with a user from a wearable device, identifying activity segments in which a user is engaged in a physical activity based at least in part on the physiological data, identifying location data associated with the user for at least some of the activity segments, identifying one or more parameters associated with the physical activity based at least in part on the physiological data and the location data, and causing a GUI of the user device to display the one or more parameters associated with the physical activity.
[0186] An apparatus for automatic activity detection is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions may be instructions executable by the processor to cause the apparatus to receive physiological data associated with a user from a wearable device, identify activity segments in which the user is engaged in a physical activity based at least in part on the physiological data, identify location data associated with the user for at least a portion of the activity segments, identify one or more parameters associated with the physical activity based at least in part on the physiological data and the location data, and display the one or more parameters associated with the physical activity on a GUI of the user device.
[0187] Another apparatus for automatic activity detection is described that may include means for receiving physiological data associated with a user from a wearable device, means for identifying activity segments in which a user is engaged in a physical activity based at least in part on the physiological data, means for identifying location data associated with the user for at least a portion of the activity segments, means for identifying one or more parameters associated with the physical activity based at least in part on the physiological data and the location data, and means for causing a GUI of the user device to display the one or more parameters associated with the physical activity.
[0188] A non-transitory computer-readable medium storing code for automatic activity detection is described, which may include instructions executable by a processor to receive physiological data associated with a user from a wearable device, identify activity segments in which the user is engaged in a physical activity based at least in part on the physiological data, identify location data associated with the user for at least a portion of the activity segments, identify one or more parameters associated with the physical activity based at least in part on the physiological data and the location data, and cause a graphical user interface of the user device to display the one or more parameters associated with the physical activity.
[0189] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may further include operations, functions, means, or instructions for causing a GUI of the user device to display an indication of the activity segment and receiving, via the user device and in response to the indication of the activity segment, a confirmation of the activity segment, where causing the GUI to display one or more parameters associated with the physical activity may be based at least in part on receiving the confirmation.
[0190] In some examples of the methods, devices, and non-transitory computer-readable media described herein, identifying one or more parameters associated with the physical activity may further include operations, functions, means, or instructions for identifying one or more parameters associated with the physical activity based at least in part on physiological and location data associated with a portion of the activity segment between the start of the activity segment and receipt of the confirmation.
[0191] In some examples of the methods, devices, and non-transitory computer-readable media described herein, automatically identifying completion of an activity segment based at least in part on the received physiological data and causing the GUI to display one or more parameters associated with the physical activity may be based at least in part on automatically identifying completion of the activity segment.
[0192] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may further include operations, functions, means, or instructions for receiving user input via a user device that selectively modifies at least one parameter of the one or more parameters associated with the physical activity.
[0193] In some examples of the methods, devices, and non-transitory computer-readable media described herein, the one or more parameters associated with the physical activity include a type of physical activity, a duration of an activity segment, a distance traveled by the user during an activity segment, an elevation change of the user during an activity segment, an amount of calories burned by the user during an activity segment, or any combination thereof.
[0194] In some examples of the methods, devices, and non-transitory computer-readable media described herein, the one or more parameters associated with the physical activity include pace, speed, elevation, route map, split times, elevation adjusted pace, or any combination thereof.
[0195] Some examples of the methods, devices, and non-transitory computer-readable media described herein may further include operations, functions, means, or instructions for identifying a first geographic location of the user at a start of the activity segment and a second geographic location of the user at an end of the activity segment, and identifying one or more parameters associated with the physical activity may be based at least in part on the first geographic location, the second geographic location, or both.
[0196] Some examples of the methods, devices, and non-transitory computer-readable media described herein may further include an operation, function, means, or instructions for receiving, from a server, activity classification data associated with the activity segment, the activity classification data including a plurality of classified activity types and corresponding confidence values, the confidence values indicating a confidence level associated with the corresponding classified activity types, and identifying the one or more parameters associated with the physical activity may be based at least in part on receiving the activity classification data.
[0197] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may further include operations, functions, means, or instructions for causing a GUI of the user device to display one or more classified activity types of the plurality of classified activity types based at least in part on receiving the activity classification data, and receiving via the user device and in response to displaying the one or more classified activity types a selection of a classified activity type of the one or more classified activity types, where identifying one or more parameters associated with the physical activity may be based at least in part on receiving the selection.
[0198] In some examples of the methods, devices, and non-transitory computer-readable media described herein, the physiological data includes temperature data, accelerometer data, heart rate data, respiration rate data, or any combination thereof.
[0199] In some examples of the methods, apparatus and non-transitory computer-readable media described herein, the wearable device includes a wearable ring device.
[0200] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, a wearable device collects physiological data from a user based on arterial blood flow.
[0201] It should be noted that the above methods describe possible implementations, and that the acts and steps may be rearranged or otherwise modified, and other implementations are possible. Furthermore, aspects from two or more of the above methods may be combined.
[0202] The description set forth herein in connection with the accompanying drawings describes exemplary configurations and does not represent every example that may be implemented or fall within the scope of the claims. The term "exemplary" as used herein means "serving as an example, illustration, or illustration" and does not mean "preferred" or "advantageous over other examples." The detailed description includes specific details for the purpose of providing an understanding of the described technology. However, these technologies may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described examples.
[0203] In the accompanying drawings, similar components or features may have the same reference label. Furthermore, various components of the same type may be distinguished by a second label following the reference label by a hyphen and distinguishing between the similar components. When only a first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label, regardless of the second reference label.
[0204] The information and signals described herein may be represented using any of a variety of different technologies and techniques. For example, the data, instructions, commands, information, signals, bits, symbols and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0205] The various example blocks and modules described in connection with the disclosure herein may be implemented or performed with a general purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration).
[0206] The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. When implemented in software executed by a processor, the functions may be stored or transmitted as one or more instructions or codes on a computer-readable medium. Other examples and implementations are within the scope of this disclosure and the appended claims. For example, due to the nature of the software, the functions described above may be implemented using software executed by a processor, hardware, firmware, hardwiring, or any combination thereof. Features implementing the functions may also be located in various physical locations, including being distributed such that some of the functions are implemented in different physical locations. Also, as used herein, including in the claims, "or" used in a list of items (e.g., a list of items preceded by a phrase such as "at least one of" or "one or more of") indicates an inclusive list, such as a list of at least one of A, B, or C meaning A or B or C or AB or AC or BC or ABC (i.e., A and B and C). Also, as used herein, the phrase "based on" is not to be construed to refer to a closed set of conditions. For example, an example step described as "based on condition A" may be based on both condition A and condition B without departing from the scope of the present disclosure. In other words, as used herein, the phrase "based on" is intended to be interpreted in the same manner as the phrase "based at least in part on."
[0207] Computer-readable media includes both non-transitory computer storage media and communication media, including any medium that facilitates transfer of a computer program from one place to another. Non-transitory storage media may be any available medium that can be accessed by a general purpose or special purpose computer. By way of example and not limitation, non-transitory computer-readable media may include RAM, ROM, Electrically Erasable Programmable Read Only Memory (EEPROM), Compact Disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to carry or store desired program code means in the form of instructions or data structures and that can be accessed by a general purpose or special purpose computer or a general purpose or special purpose processor. Also, any connection is properly referred to as a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology such as infrared, radio, or microwave, the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technology such as infrared, radio, or microwave are included in the definition of medium. As used herein, disk or disc includes CDs, laser discs, optical discs, digital versatile discs (DVDs), floppy disks and Blu-ray discs, where disks typically reproduce data magnetically while discs reproduce data optically using lasers. Combinations of the above are also included within the scope of computer readable media.
[0208] The description herein is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not limited to the embodiments and designs described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for automatic activity detection, comprising: Receiving physiological data associated with a user from a wearable device; Identifying an activity segment in which the user is engaged in a physical activity, based at least in part on the physiological data; Identifying location data associated with the user for at least a portion of the activity segment; Automatically identifying completion of the activity segment, based at least in part on the location data; Identifying one or more parameters associated with the physical activity, based at least in part on the physiological data and the location data and based on automatically identifying the completion of the activity segment; Displaying the one or more parameters associated with the physical activity on a graphical user interface of a user device; A method comprising the above steps.
2. Displaying an indication of the activity segment on the graphical user interface of the user device; Receiving confirmation of the activity segment via the user device in response to the indication of the activity segment; The method further comprising: the step of displaying the one or more parameters associated with the physical activity on the graphical user interface is based at least in part on receiving the confirmation, The method according to claim 1.
3. The confirmation is received after the start of the identified activity segment, and the step of identifying the one or more parameters associated with the physical activity comprises: Identifying the one or more parameters associated with the physical activity, based at least in part on physiological data and location data associated with a portion of the activity segment between the start of the activity segment and the receipt of the confirmation; The method according to claim 2, comprising the above steps.
4. The completion of the activity segment is automatically identified at a first time, and the method comprises: Further including the step of receiving a user input for confirming the completion of the activity segment at a second time following the first time via the user device, wherein the one or more parameters of the physical activity are identified at least partially based on the completion of the activity segment occurring at the first time. The method according to claim 1.
5. The step of receiving, via the user device, an additional user input for selectively modifying at least one parameter of the one or more parameters associated with the physical activity. The method according to claim 1, further including this step.
6. The one or more parameters associated with the physical activity include the type of the physical activity, the duration of the activity segment, the distance the user moved during the activity segment, the elevation change of the user during the activity segment, the amount of calories consumed by the user during the activity segment, or any combination thereof. The method according to claim 1.
7. The one or more parameters associated with the physical activity include pace, speed, elevation, route map, split time, elevation-adjusted pace, or any combination thereof. The method according to claim 1.
8. Further including the step of identifying a first geographical location of the user at the start of the activity segment and a second geographical location of the user at the end of the activity segment, wherein the step of identifying the one or more parameters associated with the physical activity is at least partially based on the first geographical location, the second geographical location, or both. The method according to claim 1.
9. Further including the step of receiving, from a server, activity classification data associated with the activity segment, wherein the activity classification data includes a plurality of classified activity types and corresponding confidence values, and the confidence values indicate confidence levels associated with the corresponding classified activity types, and the step of identifying the one or more parameters associated with the physical activity is at least partially based on receiving the activity classification data. The method according to claim 1.
10. Based at least in part on receiving the activity classification data, causing one or more of the plurality of classified activity types to be displayed on the graphical user interface of the user device; Receiving a selection of one of the one or more classified activity types in response to displaying the one or more classified activity types via the user device; Further comprising, wherein the step of identifying the one or more parameters associated with the physical activity is based at least in part on receiving the selection; The method according to claim 9.
11. The physiological data includes body temperature data, accelerometer data, heart rate data, respiration rate data, or any combination thereof. The method according to claim 1.
12. The wearable device includes a wearable ring device. The method according to claim 1.
13. The step of automatically identifying the completion of the activity segment includes identifying the completion of the activity segment without receiving user input from the user. The method according to claim 1.
14. An apparatus for automatic activity detection, comprising: a processor; a memory coupled to the processor; instructions stored in the memory, which cause the apparatus to: receive physiological data associated with a user from a wearable device; identify an activity segment during which the user is engaged in a physical activity based at least in part on the physiological data; identify location data associated with the user for at least a portion of the activity segment; automatically identify the completion of the activity segment based at least in part on the location data; identify one or more parameters associated with the physical activity based at least in part on the physiological data and the location data and based on automatically identifying the completion of the activity segment; Causing the graphical user interface of the user device to display the one or more parameters associated with the physical activity For this purpose, instructions executable by the processor, and An apparatus comprising
15. The instructions cause the apparatus to Cause the graphical user interface of the user device to display an indication of the activity segment, Receive confirmation of the activity segment via the user device and in response to the indication of the activity segment, For this purpose, being further executable by the processor, causing the graphical user interface to display the one or more parameters associated with the physical activity is at least partially based on receiving the confirmation The apparatus according to claim 14
16. To identify the one or more parameters associated with the physical activity, the instructions cause the apparatus to Based at least in part on physiological data and location data associated with a portion of the activity segment between the start of the activity segment and the receipt of the confirmation, being further executable by the processor to identify the one or more parameters associated with the physical activity The apparatus according to claim 15
17. The completion of the activity segment is automatically identified at a first time, and the instructions cause the apparatus to Receive, via the user device, a user input to confirm the completion of the activity segment at a second time following the first time, being further executable by the processor, and the one or more parameters of the physical activity are identified at least partially based on the completion of the activity segment occurring at the first time The apparatus according to claim 14
18. The instructions cause the apparatus to Receive, via the user device, an additional user input for selectively modifying at least one of the one or more parameters associated with the physical activity, being further executable by the processor The apparatus according to claim 14
19. The one or more parameters associated with the physical activity include the type of the physical activity, the duration of the activity segment, the distance the user has moved during the activity segment, the elevation change of the user during the activity segment, the amount of calories consumed by the user during the activity segment, or any combination thereof. The apparatus according to claim 14. **Claim 20** The one or more parameters associated with the physical activity include pace, speed, elevation, route map, split time, elevation-adjusted pace, or any combination thereof. The apparatus according to claim 14.