SENSOR-BASED CONTEXT MANAGEMENT

By combining sensor data from multiple types of sensors and utilizing machine-readable instructions, the system effectively addresses the challenge of accurately determining user activity types on personal devices with limited resources, enhancing both accuracy and user-friendliness.

DE102016014756B4Active Publication Date: 2025-06-26SUUNTO OY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE102016014756
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2015-12-21
Filing Date
2016-12-13
Publication Date
2025-06-26
Estimated Expiration
2036-12-13

AI Technical Summary

Technical Problem

Existing technologies face challenges in accurately determining user activity types using sensor data from personal devices, especially when resources such as processor power, memory, and battery life are limited.

Method used

The proposed solution involves an apparatus and method that utilize a combination of sensor data from multiple types of sensors, such as acceleration and sound sensors, to estimate activity types. This is achieved by compiling messages based on sensor data, transmitting them to a server, and receiving machine-readable instructions to derive the estimated activity type, which can be verified by the user.

Benefits of technology

This approach enhances the accuracy and user-friendliness of personal devices by leveraging multiple sensor types and distributed processing, allowing devices with limited resources to effectively determine activity types.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

According to an exemplary aspect of the present invention, an apparatus is provided comprising a memory configured to store data from a sensor of the first type, at least one processing core configured to compile a message based at least in part on the data from the sensor of the first type, to cause the message to be transmitted from the apparatus, to cause a machine-readable instruction to be received at the apparatus, and to derive an estimated activity type using the machine-readable instruction based at least in part on sensor data.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELDThe present invention relates to identifying user activity based on sensor information.BACKGROUNDUser sessions, such as training sessions, may be recorded, for example, in notebooks, spreadsheets, or other suitable media. More systematic training is possible through recorded training sessions, and the progress to set targets can be evaluated and tracked by means of the records thus produced. Such records can be stored for future reference, for example, to evaluate the progress made by an individual as a result of training. An activity session may include a training session or other type of session.Personal devices, such as smart watches (smart watches), smart phones or smart sharing (smart ornaments), may be configured to produce recorded sessions of user activity. Such recorded sessions may be useful for managing physical training, children's security, or in professional applications. Recorded sessions or general activity management based on sensors may be of different types, such as running, walking, skiing, canking, walking, or assistance for seniors.Recorded sessions may be displayed on a personal computer (PC), for example, records may be copied from the personal device to the PC. Files on a PC can be protected, for example, with password and / or encryption.Personal devices can be equipped with sensors, which can be used, for example, to determine a position of the personal device. A satellite position sensor can, for example, receive position information from a satellite constellation and infer from where the personal device is located. A recorded training session may include a distance determined by repeatedly determining the location of the personal device during the training session. Such a route may be viewed later using, for example, a PC. From DE 102014107571 A1 a method and a system for creating and refining rules for personalizing content based on physical activities of users is known. A mobile unit is provided which records sensor data relating to an activity with a processor. The sensor data is in part transmitted to an external server or cloud service provider and a type of activity is determined. US 2013 / 019903 A1 further discloses that an activity type is determined on the basis of stored sensor data.Alternatively to a satellite position sensor, a person-bound device can also be configured in such a way that it determines its position, for example using a determination method which is based on a mobile radio network, wherein a mobile radio network is used to support the determination of the position. A cell that holds the connection of the personal device to the mobile radio network can have a known position, for example, whereby a position estimate of the personal device is provided on the basis of the connection and a finite geographical extent of the cell.SUMMARY OF THE INVENTIONThe invention is defined by the features of the independent claims. Some specific embodiments are defined in the dependent claims.According to a first aspect of the present invention there is provided an apparatus comprising a memory configured to store data of a first type sensor, at least one processing core configured to compile a message based at least in part on the data of the first type sensor, cause the message to be transmitted from the apparatus, cause a machine readable instruction to be received in the apparatus, and derive an estimated activity type using the machine readable instruction based at least in part on sensor data.Various embodiments of the first aspect may comprise at least one feature from the following list of enumerations:• The machine readable instruction comprises at least one of the following: an executable program, an executable script, and a set of at least two machine readable characteristics, each of the characteristics characterizing sensor data produced during a predefined activity type• the at least one processing core is configured to at least partially derive the estimated activity type by comparing the data of the first type sensor or a processed form of the data of the first type sensor with reference data using the machine readable instruction• The data of the first type sensor comprises acceleration sensor data• The memory is further configured to store data of a second type sensor, and the at least one processing core is configured to derive the estimated activity type using the machine readable instruction based at least in part on data of the second type sensor• The data of the second type sensor is of a different type than the data of the first type sensor• The data of the second type sensor comprises at least one of sound sensor data, microphone derived data and vibration sensor data• the at least one processing core is configured to derive the estimated activity type at least in part by comparing the data of the second type sensor or a processed form of the data of the second type sensor with reference data, wherein the reference data comprises reference data of a first type and a second type• the at least one processing core is configured to present the estimated activity type to a user for verification• the at least one processing core is configured to cause the memory to store, in a sequence of estimated activity types, the estimated activity type and a second estimated activity type• the at least one processing core is configured to cause the memory to erase the machine readable instruction in response to a determination that an activity session is completed.According to a second aspect of the present invention there is provided an apparatus comprising at least one processing core, at least one memory including computer program code, the at least one memory and the computer program code being configured to cause the apparatus to receive at least one message from a user device with the at least one processing core, the message comprising information characterizing data of a first type sensor, determining an activity context based at least in part on the data of the first type sensor, and transmitting to the user device a machine readable instruction configured to cause the activity type determination in the activity context.According to a third aspect of the present invention, there is provided a method comprising storing data of a first type sensor in a device, compiling a message based at least in part on the data of the first type sensor, causing the message to be transmitted from the device, causing a machine readable instruction to be received in the device, and deriving an estimated activity type based at least in part on sensor data using the machine readable instruction.Various embodiments of the third aspect may include at least one feature corresponding to a feature in the foregoing enumeration list mentioned in connection with the first aspect.According to a fourth aspect of the present invention, there is provided a method comprising receiving a message from a user device, the message comprising information characterizing data of a first type sensor, determining an activity context based at least in part on the data of the first type sensor, and transmitting to the user device a machine readable instruction configured to cause activity type determination in the activity context.According to a fifth aspect of the present invention there is provided an apparatus comprising means for storing data of a first type sensor in an apparatus, means for compiling a message based at least in part on the data of the first type sensor, means for causing the message to be transmitted from the apparatus, means for causing a machine readable instruction to be received in the apparatus, and means for deriving an estimated activity type based at least in part on sensor data using the machine readable instruction.According to a sixth aspect of the present invention, there is provided a non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause a device to store at least data of a first type sensor, compiles a message based at least in part on the data of the first type sensor, causes the message to be transmitted from the device, causes a machine readable instruction to be received in the device, and derives, using the machine readable instruction, an estimated activity type based at least in part on sensor data.According to a seventh aspect of the present invention, there is provided a computer program configured to cause a method according to at least one of the third and fourth aspects to be performed.BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 illustrates an example system in accordance with at least some embodiments of the present invention; FIG. 2 illustrates an example timing sequence with multiple sensors; FIG. 2B illustrates a second example timing sequence with multiple sensors; FIG. 3 illustrates an example device that may support at least some embodiments of the present invention; FIG. 4 illustrates signaling in accordance with at least some embodiments of the present invention; and FIG. 5 is a flow diagram of a method in accordance with at least some embodiments of the present invention.EMBODIMENTSUsing sensor data to determine an activity type enhances user-friendliness (USABlability) of personal devices. For example, a user may suffer from partial restrictions that complicate its use of the device without support. By using sensor data from more than one sensor, the accuracy of the activity type estimation may be further increased. In order for a device of a user with reduced capabilities to be able to ascertain an activity type, a machine-readable instruction for the user device may be selected by and provided to a back-end server. The selection may be based on sensor data captured by the user device such that the machine readable instruction enables the user device to derive an estimated type of activity in the user context in which the user device is located. The derivation is thus performed partially in the back-end server, whereby the user device may provide a good estimate with only limited processor, power and / or memory resources.FIG. 1 illustrates an example system in accordance with at least some embodiments of the present invention. The system includes device 110, which may include, for example, a smart watch, digital watch, smart phone, phablet (smart) device, tablet device, or other suitable type of device. Device 110 may include a display, which may include, for example, a touch screen display. This display may be of limited size. Device 110 may be powered by, for example, a rechargeable battery. An example of a limited size display is an arm-worn display.The device 110 may be communicatively coupled to a communication network. In FIG. 1, device 110 is coupled to a base station 120, for example, via wireless link 112. Base station 120 may comprise a cellular or non-cellular base station, wherein a non-cellular base station may be referred to as an access point. Examples of cellular technologies include wideband code division multiple access (WCDMA) and long term evolution (LTE), while examples of non-cellular technologies include wireless local area network (WLAN) and worldwide interoperability for microwave access (WiMAX). Base station 120 may be coupled to network node 130 via link 123. Connection 123 may be, for example, a wired connection. Network node 130 may include, for example, a controller or gateway device. Network node 130 may interface to network 140 over link 134, which may comprise, for example, the Internet or an enterprise network. Network 140 may be coupled to other networks via connection 141. Device 110 is not configured to couple to base station 120, in some embodiments. Network 140 may include, for example, or be communicatively coupled to a back-end server.Device 110 may be configured to receive satellite position information from satellite constellation 150 via satellite link 151. The satellite constellation may include, for example, the global positioning system (GPS) or the galileo constellation. Satellite constellation 150 may include more than one satellite, although only one satellite is shown in FIG. 1 for clarity. Similarly, receiving the position information over satellite link 151 may include receiving data from more than one satellite.Device 110 may alternatively or additionally receive data via a satellite constellation, obtain position information by interacting with a network that includes base station 120. Mobile radio networks may use, for example, various ways of tracking a device's position, such as trilateration, multilateration, or position tracking based on the identity of a base station with which the connection is possible or is running. A non-cellular base station or access point may likewise know its own location and provide it to device 110, allowing device 110 to track its location even within the communication range of that access point.For example, device 110 may be configured to obtain a current time from satellite constellation 150, base station 120, or by querying it from a user. For example, after device 110 has the current time and an estimate of its position, device 110 may consult a look-up table to determine the time remaining to sunset or sunrise, for example. Device 110 may similarly acquire knowledge of the season.Device 110 may include or be coupled to at least one sensor, such as an accelerometer, humidity sensor, temperature sensor, pulse sensor, or blood oxygen content sensor. Device 110 may be configured to produce and store sensor data using at least one sensor, for example in a time sequence comprising a plurality of samples taken in a time sequence.Device 110 may be configured to provide an activity session. An activity session may be associated with an activity type. Examples of activity types include rudders, paddles, cycling, joggle, walking, jagen, swimming, and paragliding (paragliding). An activity session may include, in one simple form, device 110 storing sensor data produced with sensors included in device 110 or in another device with which device 110 is associated or paired. It can be determined that an activity session has been started and ended at certain times, such that the determination takes place subsequently or simultaneously with the starting and / or ending. In other words, device 110 may store sensor data to enable subsequent identification of activity sessions based at least in part on the stored sensor data.An activity session in device 110 may increase a benefit a user may obtain from the activity, for example, if the activity includes movement out, the activity session may provide a record of the activity session. Device 110 may provide the user with context information in some embodiments. Such context information may include, for example, locally relevant weather information received via, for example, base station 120. Such contextual information may include at least one of the following: a rain warning, a temperature warning, an indication of time to sunset, an indication of a nearby service relevant to the activity, a safety warning, an indication of nearby users, and an indication of a nearby location where multiple other users have photographed. Contextual information may be presented during an activity session.A record of an activity session may include information about at least one of a distance travelled during the activity session, a metabolic rate or effect of the activity session, a time the activity session has taken, an amount of energy consumed during the activity session, a sound record obtained during the activity session, and a height profile map along the length of the distance travelled during the activity session. A route can be determined, for example, based on position information. Metabolic effect and energy consumed may be determined based at least in part on information regarding the user to whom device 110 has access. A record may be stored in device 110, a facilitating device or server, or a cloud storage service for data. A record stored in a server or cloud may be encrypted prior to transmission to the server or cloud to protect the user's privacy. A record may be produced even if the user has not indicated that an activity session has been started, as a beginning and an end of an activity session may be determined after the session has ended, for example based at least in part on sensor data.Device 110 may have access to a backhaul communication link to provide indications related to ongoing activity. Search and rescue services can, for example, receive access to information about joggers in a specific area of a forest in order to enable their rescue if, for example, the forest can no longer be used safely by humans as a result of a chemical leak. Other users may alternatively or additionally be enabled to obtain information about ongoing activity sessions. Such further users can be preconfigured, for example, as users enabled for the reception of such information, wherein non-enabled users are not provided with such information. Users on a friend list may be able to obtain information about a current activity session, as a specific example. The friend list may be maintained in a social media service, for example. The information regarding the current activity sessions may be provided by device 110 as periodic updates, for example.After activity is completed, device 110 or a memory accessible to device 110 may store sensor data. The stored sensor data may be stored as a time sequence spanning the activity session as well as a time preceding and / or following the activity session. The start and end times of the activity session may be selected from the time sequence by the user. The start and end points may be preselected by device 110 or a PC to allow a user to accept or discard them, the preselection being based on changes in the time sequence. For example, if accelerometer data begins to indicate more active movements of device 110 in the timing sequence, a starting point of an activity session may be preselected. Such a change may correspond to, for example, a time in the time series at which the user has finished driving and started jogging. A phase in the time sequence where the more active movements end may similarly be preselected as the end point of the activity session.Sensor data may include information from more than one sensor, wherein the more than one sensor may include sensors of at least two own types. Sensor data may include, for example, accelerometer data and barometric sensor data. Further examples are sound volume sensor data, moisture sensor data and electromagnetic sensor data. Sensor data from a first type sensor may be generally referred to as first type sensor data, and sensor data from a second type sensor may be referred to as second type sensor data. One type of sensor may be defined by a physical property that a sensor may measure according to its configuration. All temperature sensors can be regarded, for example, as sensors of the temperature type, irrespective of the physical principle used for measuring the temperature in the temperature sensor.Preselection of the start and / or end points in the time sequence may comprise detecting that sensor data characteristics of more than one sensor type change in approximately the same phase of the time sequence. The use of more than one type of sensor data may increase the accuracy of the preselection of start and / or end time points if the sensors in question are influenced by the activity performed during the activity session.An activity type may be determined based at least in part on the sensor data. This determination may take place when the activity takes place or thereafter when the sensor data is analyzed. The activity type may be determined, for example, by device 110 or a PC having access to the sensor data, or a server given access to the sensor data. When a server is given access to the sensor data, the sensor data may be anonymous. The determination of the activity type may comprise comparing the sensor data with reference data. The reference data may include reference data sets, each reference data set being associated with an activity type. The determination can comprise the determination of the reference data set which is most similar to the sensor data, for example in the sense of the smallest squares. Alternatively to the sensor data itself, a processed form of the sensor data can be compared with the reference data. The processed shape may include, for example, a frequency spectrum obtained from the sensor data. The processed shape may include, for example, a set of local minima and / or maxima of the time sequence of the sensor data. The determined activity type may be selected as the activity type associated with the reference data set most similar to the processed or original sensor data.Different types of activity may be associated with different characteristic frequencies. For example, when the user has walked, accelerometer data may reflect a higher characteristic frequency compared to walking. The determination of the activity type can thus be based, in some embodiments, at least in part on the decision as to which reference data set has a characteristic frequency which corresponds most closely to a characteristic frequency of a section of the information derived from the sensor in the time sequence under consideration. Acceleration sensor data may alternatively or additionally be used to determine a characteristic amplitude of motion.When device 110 is configured to store a time sequence of more than one type of sensor data, multiple types of sensor data may be used to determine the type of activity. The reference data may include reference data sets that are of multiple sensory nature in that each reference data set includes data that can be compared to each type of sensor data that is available. For example, if device 110 is configured to compile a time sequence of acceleration and acoustic sensor data types, the reference data may include reference data sets, each reference data set corresponding to an activity type, each reference data set including data that can be compared to the acceleration data and data that can be compared to the acoustic data. The determined activity type may be determined as the activity type associated with the multisensor reference dataset that most closely corresponds to the sensor data stored by device 110. In turn, original sensor data or processed sensor data can be compared to the reference data sets. For example, if device 110 includes a smartphone, it may include multiple sensors to accomplish the smartphone function. Examples of such sensors include microphones to enable voice calls and cameras to enable video calls. Further, in some cases, a radio receiver may be configurable to measure the characteristics of electric or magnetic fields. Device 110 may comprise a radio receiver, generally device 110 being equipped with wireless communication capability.A first example of multisensor activity type determination is Jagen, where device 110 stores first type sensor data comprising accelerometer data and second type sensor data comprising sound data. The reference data would include a background reference data set that would include acceleration reference data and sound reference data to enable comparison with sensor data stored by device 110. Jagen may include periods of low sound and low acceleration and intervening combinations of loud short sound and high frequency low amplitude acceleration corresponding to a shot of rifle and impact.A second example of multisensor activity type detection is swimming, where device 110 stores data of a first type sensor comprising moisture sensor data and data of a second type sensor comprising magnetic field data from a compass sensor. The reference data would include a float reference data set that would include humidity reference data and magnetic field reference data to enable comparison with sensor data stored by device 110. Swimming may involve high humidity, as it involves immersion in water, and elliptical movements of an arm, which may be attached to the device 110, which may be detectable as periodically varying magnetic field data. In other words, the direction of the earth's magnetic field may vary periodically in time sequence from the viewpoint of the magnetic compass sensor.A determined or inferred activity type may be considered an overall estimated activity type until the user has confirmed that the determination is correct. In some embodiments, few, for example two or three most likely activity types may be presented to the user in order for the user to select the correct activity type therefrom. Using two or more types of sensor data increases the likelihood that the estimated activity type is correct.A context process may be used to derive an estimated activity type based on sensor data. A context process may comprise first determining a context in which the sensor data has been produced. The context process may include, for example, using the sensor data to determine the context, such as a user context, and then deriving an activity type within that context. For example, a context may include outdoor activity, and deriving an estimated activity type may first include determining, based on the sensor data, that the user is in an outdoor context, selecting a machine readable instruction for outdoor context, and using the machine readable instruction to differentiate between different activity types in the outdoor context, such as jogging and orientationing. As another example, a context may include indoor activity, and deriving an estimated activity type may first include determining, based on the sensor data, that the user is in an indoor context, selecting a machine readable instruction for indoor context, and using the machine readable instruction to differentiate between different activity types in the indoor context, such as 100 meter runs and ring battle.The machine readable instruction may include, for example, a script, such as an executable or compilable script, an executable computer program, a software plugin, or non-executable computer readable descriptor that enables device 110 to differentiate between at least two activity types within the determined context. The machine-readable instruction may include information as to which type or types of sensor data, and in which format, to use in the derivation of the activity type using the machine-readable instruction.Determining an outdoor context may include determining that the sensor data indicates a wide range of geographic motion, thereby indicating that the user is striated outside. Determining an indoor context may include determining that the sensor data indicates a narrower range of geographic motion, thereby indicating that the user has remained within a small area during the activity session. When data from temperature type sensors is available, a lower temperature may be associated with an outdoor activity and a higher temperature may be associated with an indoor activity. The temperature may be particularly indicative of when the user is located in a geographic area where winter, autumn, or spring conditions cause an outdoor temperature to be lower than an indoor temperature. The geographic area may be available in position data.Thus, in some embodiments, deriving an estimated activity type is a biphasic process in which a context is first determined based on the sensor data and then an estimated activity type within that context is derived using a machine readable instruction specific to that context. Selecting the context and / or activity type within the context may include comparing sensor data or processed sensor data to reference data. The biphasic process may use two types of reference data, context type reference data and activity type reference data, respectively.The context process may adaptively learn how contexts and / or activity types may be more accurately determined based on previous activity sessions recorded by a plurality of users. The determining context may be based on context type reference data, wherein the context type reference data is adaptively updated depending on, for example, the previous sessions recorded by the plurality of users. The adaptation of the context type reference data may take place in a server, wherein the server is configured, for example, to provide updated context type reference data to a device such as device 110 or a PC associated therewith. A server may have access to information and high processing capabilities through the plurality of users and may therefore be capable of updating context-type reference data rather than device 110, for example.The biphasic process described above may be performed in a distributed manner, where a user device, such as device 110, initially obtains sensor data from at least one, and in some embodiments at least two types. This sensor data is used to compile a message, the message comprising the sensor data at least partially in a raw or processed format, the message being transmitted from the user device to a back-end server. The server may use the sensor data in the message to determine a context in which device 110 appears to be located. This determination can be based on reference data, for example. The server may then provide a machine readable instruction to the user device, thereby enabling the user device to derive an activity type within the context. This derivation can also be based at least in part on reference data. The reference data used in the server need not be the same as the reference data used in the user device.The selection of the machine readable instruction in the server may be based on capabilities of device 110 in addition to the sensor data. The machine readable instruction may be selected so that sensor data device 110 may produce it, in particular, so that it may be accepted as input to the machine readable instruction. To enable this selection, the message transmitted from device 110 to the server may include an indication relating to device 110. Examples of such an indication include a model and manufacturer of device 110, a serial number of device 110, and an indication of the sensor types arranged in device 110. Device 110 may also provide the indication to the server in a different message, alternatively to being included in the same message.An advantage of the distributed biphasic process is that the user equipment need not be able to detect a wide range of potential activity types with different characteristics. The size of the reference data used in the user equipment can be reduced, for example, by performing context detection in a server. The machine readable instruction may at least partially include the reference data used in the user device. As the size of the reference data may thus be reduced, the user device may be built with less memory and / or the derivation of the activity type may consume less memory in the user device.The machine readable instruction may enable detecting events within the context. An example is detecting a number of fired shots at the jagd. Further examples include a number of times a slope has been lowered onto skiers, a number of rounds that have been run on a course, a number of golf clubs played, and, where applicable, initial speeds of golf balls immediately after a club. Further examples of detecting events are detecting a number of steps during running or trains during swimming.Although an activity type is generally selectable within a context, an activity type itself may be considered a context within which further selection may be possible. An initial context may include, for example, indoor activity, wherein an activity type may be identified as a water port. Within this type of activity, swimming can be deduced as one type of activity. Breast swimming may also be inferred as an activity type where swimming is considered context. Although the terms "context" and "activity type" are used herein for convenience, the relevant one is the hierarchical relationship between the two.A user interface of device 110 may be modified based on context or activity type. For example, if hunting is derived as the type of activity, a user interface may display the number of shots detected. As another example, when swabbing, the number of lanes or distance traveled may be displayed. In some embodiments, the user interface adaptations are hierarchical such that initially, for example, an outdoor user interface is activated in response to a determination that the current context is an outdoor context. If an activity type has been identified within the context, the user interface may be further adapted to serve that particular activity type. Device 110, in some embodiments, is configured to receive user interface information from a server to enable device 110 to adapt to a large number of situations without requiring all of these user interface adaptations to have been previously stored in device 110.A server, in some embodiments, may transmit a request message to device 110, the request message configured to cause device 110 to perform at least one measurement, such as sensing sensor data, and return a result of the measurement to the server. In this way, the server may be enabled to detect what is being played in the environment of device 110.The machine readable instructions may be adapted by the server. For example, a user first obtaining a device 110 may be initially provided with machine readable instructions that reflect an average user population in response to messages sent from device 110. When the user participates in activity sessions, the machine readable instructions may then be adapted to more accurately reflect use by that particular user. The length of the extremity may, for example, affect periodic characteristics of sensor data that is captured while the user is swimming. To enable the adaptation, the server may request sensor data from device 110, for example periodically, and compare the sensor data so obtained with the machine readable instructions to fine tune the instructions for future application with that particular user.FIG. 2 illustrates an example timing sequence with multiple sensors. On the upper axis, 201, a humidity sensor timing 210 is shown, while the lower axis, 202, is a magnetic north deviation timing 220 from an axis of device 110.The humidity timing 210 shows an initial low humidity portion followed by a rapid increase in humidity, which then remains at a relatively constant elevated level before beginning to decrease at a lower rate than the increase when the device 110 dries.The magnetic deviation timing 220 shows an initial erroneous sequence of deviation changes due to movement of the user as he operates a lock in a casing room, for example followed by a period of approximately periodic movements before another time the erroneous sequence begins. The wavelength of the periodically repeating motion is exaggerated in Fig. 2 to make the illustration clearer.A swimming activity type may be determined as an estimated activity type beginning at point 203 and ending at point 205 of the time sequence based on a comparison with a reference dataset included in a machine readable instruction associated with, for example, a waterport context. Swimming can be linked via the reference data set as activity type with simultaneously high humidity and periodic movements.FIG. 2B illustrates a second example timing sequence with multiple sensors. Similar numerals in FIG. 2B show similar elements to FIG. 2A, unlike FIG. 2, not one, but two activity sessions are detected in the timing sequence of FIG. 2B. Namely, it has been determined that a wheel-riding session begins at start point 207 and ends at point 203 where the swimming session begins. The composite activity session can thus relate, for example, to a triadhlon. During cycling, moisture remains low and the magnetic deviation changes only slowly, for example when the user is driving in a Velodrom wheel.FIG. 3 illustrates an example device that may support at least some embodiments of the present invention. Illustrated is device 300 which may comprise, for example, a mobile communication device, such as mobile device 110 of FIG. 1 or FIG. 2 In device 300 processor 310 is included which may comprise, for example, a single core or multi-core processor, wherein a single core processor comprises a processing core and a multi-core processor comprises more than one processing core. Processor 310 may include more than one processor. A processing core may include, for example, a cortex-A8 processing core manufactured by ARM Holdings or a steamroller processing core manufactured by Advanced Micro Devices Corporation. Processor 310 may include at least one Qualcomm snapdragon and / or Intel atomic processor. Processor 310 may include at least one application specific integrated circuit, ASIC. Processor 310 may include at least one field-programmable gate array, FPGA. Processor 310 may be means for performing method steps in device 300. Processor 310 may be configured, at least in part, by computer instructions to perform actions.Device 300 may include memory 320. Memory 320 may include random access memory (RAM) and / or permanent memory. Memory 320 may include at least one RAM chip. Memory 320 may include, for example, solid-state, magnetic, optical, and / or holographic memories. Memory 320 may be at least partially accessible by processor 310. Memory 320 may be at least partially included in processor 310. Memory 320 may be means for storing information. Memory 320 may include computer instructions for execution of which processor 310 is configured. When computer instructions configured to cause processor 310 to perform certain actions are stored in memory 320 and device 300 as a whole is configured to run under the direction of processor 310 using computer instructions from memory 320, processor 310 and / or its at least one processing core may be considered configured to perform the certain actions. Memory 320 may be at least partially included in processor 310. Memory 320 may be at least partially external to device 300 but accessible by device 300.Device 300 may include a transmitter 330. Device 300 may include a receiver 340. Transmitter 330 and receiver 340 may be configured to transmit and receive information, respectively, according to at least one cellular or non-cellular standard. Transmitter 330 may include more than one transmitter. Receiver 340 may include more than one receiver. Transmitters 330 and / or receivers 340 may be configured to operate in accordance with, for example, Global System for Mobile Communication (GSM), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), IS-95, Wireless Local Area Network (WLAN), Ethernet, and / or Worldwide Interoperability for Microwave Access, WiMAX, standards.Device 300 may include a near field communication (NFC) transceiver 350. NFC transceiver 350 may support at least one NFC technology, such as NFC, Bluetooth, Wibree, or similar technologies.Device 300 may include a user interface 360. UI 360 may include at least one of a display, a keyboard, a touch screen, a vibrator arranged to signal a user by causing device 300 to vibrate, a speaker, and a microphone. A user may be able to operate device 300 using UI 360, for example, to manage activity sessions.Device 300 may include or be arranged to accept a user identity module 370. User identity module 370 may comprise, for example, a subscriber identity (SIM) card installable in device 300. A user identity module 370 may include information identifying participation of a user of device 300. A user identity module 370 may include cryptographic information useful to verify the identity of a user of device 300 and / or facilitate encryption of communicated information and accounting of the user of device 300 for communication performed by device 300.Processor 310 may be equipped with a transmitter arranged to output information from processor 310 to other devices included in device 300 via electrical lines located in device 300. Such a transmitter may comprise a serial bus transmitter arranged, for example, for outputting information to memory 320 by means of at least one electrical line for storage therein. The transmitter may alternatively comprise a parallel bus transmitter as an alternative to a serial bus. Processor 310 may likewise include a receiver arranged to receive information in processor 310 via electrical lines located in device 300 from other devices included in device 300. Such a receiver may comprise a serial bus transmitter arranged, for example, to receive information by means of at least one electrical line of receiver 340 for processing in processor 310. The receiver may alternatively comprise a parallel bus receiver as an alternative to a serial bus.Device 300 may further include devices not illustrated in FIG. 3. For example, if device 300 comprises a smartphone, it may comprise at least one digital camera. Some devices 300 may include a rear-facing camera and a front-facing camera, wherein the rear-facing camera may be for digital photography and the front-facing camera may be for video telephony. Device 300 may include a fingerprint sensor that at least partially authenticates a user of device 300. Device 300 lacks at least one device described above in some embodiments. For example, some devices 300 may lack an NFC transceiver 350 and / or a user identity module 370.Processor 310, memory 320, transmitter 330, receiver 340, NFC transceiver 350, UI 360, and / or user identity module 370 may be interconnected by electrical lines internal to device 300 in many different ways. Each of the aforementioned devices may be separately connected to a master bus located inside device 300, for example, to allow the devices to exchange information. However, as those skilled in the art will appreciate, this is only an example and depends on the embodiment. Various ways of interconnecting at least two said devices may be selected without departing from the scope of the present invention.FIG. 4 illustrates signaling in accordance with at least some embodiments of the present invention. On the vertical axes, device 110 of FIG. 1 is arranged on the left side and a server SNR is arranged on the right side. The time proceeds from top to bottom. In stage 410, device 110 initially obtains sensor data from at least one, and in some embodiments, from at least two sensors. The sensor data may include data of a first type sensor, and in some embodiments, data of a second type sensor as well. The sensor or sensors may be included in device 110, for example. The sensor data may be stored in time sequences, for example with a sampling frequency of 1 Hz, 10 Hz, 1 kHz or indeed another sampling interval. The sampling interval does not need to be the same as in the data of the first type sensor and the data of the second type sensor.Phase 410 may comprise one or more activity sessions of at least one activity type. If multiple activity sessions are present, they may be of the same activity type or different activity types. The user need not indicate to the device 110 that activity sessions are in progress, at least in some embodiments. Device 110 may identify activity types or sessions during phase 410, but need not be so in all embodiments. The time sequence compiled during stage 410 may last, for example, 10 or 24 hours. The time sequences may, as a concrete example, go from the previous time when sensor data was downloaded from device 110 to another device, such as personal computer PC1.The sensor data is provided at least partially to servers SNR in raw or processed format in phase 420. This phase may further comprise providing servers SNR with optional activity and / or event reference data. The provision can proceed, for example, via base station 120. The schedules may be encrypted during download to protect the user's privacy.Server SNR may determine a context and an associated machine readable instruction at stage 430 based at least in part on the sensor data in the message of stage 420. If activity and / or event reference data is provided in stage 420, that data may be used in stage 430.The machine-readable instruction determined in phase 430 is provided to device 110 in phase 440, thereby enabling a derivation of an estimated activity type within this context based on sensor data in phase 450. The derivative of phase 450 may be based on sensor data included in the message of phase 420, or device 110 may acquire and use new sensor data with the machine readable instruction in the derivative of phase 450.FIG. 5 is a flow diagram of a method in accordance with at least some embodiments of the present invention. The phases of the illustrated method may be performed, for example, in device 110, an auxiliary device, or a PC, or in a controller configured to control its function when implanted therein.Phase 510 includes storing data of a first type sensor in a device. Stage 520 includes compiling a message based at least in part on the data of the first type sensor. Phase 530 includes causing the device to transmit the message. Stage 540 includes causing a machine readable instruction to be received in the device. Finally, phase 550 includes deriving an estimated activity type using the machine readable instruction based at least in part on sensor data. The message of stage 510 may include activity and / or event reference data.It should be understood that the embodiments of the disclosed invention are not limited to particular structures, method steps, or materials disclosed herein, but extend to equivalents thereof, as will be known to those skilled in the relevant arts. It is also to be understood that the terminology used herein is used for the purpose of describing particular embodiments only and is not intended to be limiting.References throughout this specification to "one (1) embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the teachings. The appearances of the phrases "in one (1) embodiment" or "in one embodiment" in various places in this specification are not necessarily all referring to the same embodiment. When referring to a numerical value with a term such as, for example, or substantially, the exact numerical value is also disclosed.For convenience, many items, structural elements, compositional elements, and / or materials may be presented herein in a common list. However, these lists should be considered as if each element of the list is individually identified as a separate and unique element. Therefore, no individual element of this list should be considered a de facto equivalent to any other element of the same list, only because they are presented in a common group unless indicated to the contrary. In addition, various embodiments and examples of the present invention may be mentioned herein together with alternatives for the various components thereof. It should be understood that such embodiments, examples, and alternatives should not be construed as de facto equivalents to each other, but should be construed as separate and autonomous representations of the present invention.The described features, structures, or characteristics may be further combined in any suitable manner in one or more embodiments. In the foregoing description, numerous specific details are provided, such as examples of lengths, widths, shapes, etc., in order to provide a thorough understanding of embodiments of the invention. However, one skilled in the art will recognize that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail in order to avoid aspects of the invention losing clarity.Although the foregoing examples illustrate the principles of the present invention in one or more specific applications, it will be apparent to those skilled in the art that numerous modifications in form, utilization, and details of implementation may be made without claiming the inventive capability and without departing from the principles and concepts of the invention. Accordingly, it is not intended that the invention be limited except as by the claims hereinafter described.The verbs "comprise" and "include" are used herein as open barriers that neither exclude nor require the presence of features not mentioned either. The features mentioned in the dependent claims can be freely combined with one another, unless expressly stated otherwise. It should also be noted that the use of "a, an, an, an" or a singular form in this document does not exclude a plural form.INDUSTRIAL APPLICABILITYAt least some embodiments of the present invention find industrial application in facilitating analysis of sensor data.LIST OF ACRONYMSGPS Global Positioning System LTE Long Term Evolution NFC Near Field Communication WCDMA Wideband Code Division Multiple Access WiMAX Worldwide Interoperability For Microwave Access WLAN Wireless Local Area NetworkLIST OF REFERENCE CHARACTER 110 device 120 base station 130 network node 140 network 150 satellite constellation 201, 202 axes in FIG. 2 203, 205, 207 end points of the activity session in FIG. 2 and FIG. 2B 210, 220 time sequences of the sensor data in FIGS. 2 and 2B 310-370 Structure 410-430 illustrated in FIG. 3 of the method of FIG. 4 510-530 phases of the method of FIG. 5

Claims

An apparatus for identifying user activity, comprising: a memory configured to store data of a first type sensor relating to activity; at least one processing core configured to: compile a message based at least in part on the data of the first type sensor, cause the message to be transmitted from the apparatus to a server external to the apparatus, cause, in the apparatus, a server external to the apparatus to receive a response to the message as a machine readable instruction comprising an executable program or an executable script, and derive an estimated activity type based at least in part on sensor data using the machine readable instruction.The apparatus of claim 1, wherein the response comprises a set of at least two machine readable characteristics, each of the characteristics characterizing sensor data produced during a predefined activity type.The apparatus of claim 1 or 2, wherein the at least one processing core is configured to derive the estimated activity type at least in part by comparing the data of the first type sensor or a processed form of the data of the first type sensor with reference data using the machine readable instruction.The apparatus of any of claims 1 to 3, wherein the data of the first type sensor comprises accelerometer data.The apparatus of any of claims 1 to 4, wherein the memory is further configured to store data of a second type sensor, and wherein the at least one processing core is configured to derive the estimated activity type using the machine readable instruction based at least in part on data of the second type sensor.The apparatus of claim 4, wherein the data of the second type sensor is of a different type than the data of the first type sensor.The apparatus of any of claims 5 to 6, wherein the data of the second type sensor comprises at least one of sound sensor data, microphone derived data, and vibration sensor data.The apparatus of any of claims 5 to 7, wherein the at least one processing core is configured to derive the estimated activity type at least in part by comparing the data of the second type sensor or a processed form of the data of the second type sensor with reference data, wherein the reference data comprises reference data of a first type and a second type.The apparatus of any one of claims 1 to 8, wherein the at least one processing core is configured to present the estimated activity type to a user for verification.The apparatus of any of claims 1 to 9, wherein the at least one processing core is configured to cause the memory to store, in a sequence of estimated activity types, the estimated activity type and a second estimated activity type.The apparatus of any of claims 1 to 10, wherein the at least one processing core is configured to cause the memory to clear the machine readable instruction in response to a determination that an activity session is completed.A server comprising at least one processing core, at least one memory including computer program code, the at least one memory and the computer program code being configured to cause, with the at least one processing core, the server to perform at least: - receiving a message from a user device, the message comprising information characterizing data of the first type sensor relating to an activity; - determining an activity context based at least in part on the data of the first type sensor, and - transmitting a response to a user device comprising a machine readable instruction comprising an executable program or an executable script configured to cause a determination of the activity type in the activity context.A method performed in an apparatus for identifying user activity, comprising: storing data of a first type sensor relating to activity in the apparatus; compiling a message based at least in part on the data of the first type sensor; causing the message to be transmitted from the apparatus; causing a server external to the apparatus to receive in the apparatus a response to the message as a machine readable instruction comprising an executable program or script; and deriving an estimated activity type using the machine readable instruction based at least in part on sensor data.The method of claim 13, wherein the response comprises a set of at least two machine readable characteristics, each of the characteristics characterizing sensor data produced during a predefined activity type.The method of claim 13 or 14, wherein the estimated activity type is derived at least in part by comparing the data of the first type sensor or a processed form of the data of the first type sensor with reference data using the machine readable instruction.The method of any of claims 13 to 15, wherein the data of the first type sensor comprises accelerometer data.The method of any of claims 13 to 16, further comprising storing data of a second type sensor, and wherein the estimated activity type is derived using the machine readable instruction based at least in part on data of the second type sensor.The method of claim 17, wherein the data of the second type sensor is of a different type than the data of the first type sensor.The method of any of claims 17 to 18, wherein the data of the second type sensor comprises at least one of acoustic sensor data, microphone derived data, and vibration sensor data.The method of any one of claims 17 to 19, wherein the estimated activity type is derived at least in part by comparing the data of the second type sensor or a processed form of the data of the second type sensor with reference data, wherein the reference data comprises reference data of a first type and a second type.The method of any of claims 13 to 20, further comprising presenting the estimated activity type to a user for verification.The method of any of claims 13 to 21, further comprising storing the estimated activity type and a second estimated activity type in a sequence of estimated activity types.The method of any of claims 13 to 22, further comprising deleting the machine readable instruction in response to a determination that an activity session is completed.A method performed at a server, comprising: - receiving a message from a user device, the message comprising information characterizing data of the first type sensor relating to an activity; - determining an activity context based at least in part on the data of the first type sensor, and - transmitting a response to a user device comprising a machine readable instruction comprising an executable program or executable script configured to cause a determination of the activity type in the activity context.A non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause a server to cause at least one of: - storing data of a first type sensor relating to activity, - compiling a message based at least in part on the data of the first type sensor; - causing the message to be transmitted from the device; - causing, in the device, a server external to the device to receive a response to the message as a machine readable instruction comprising an executable program or an executable script, and - deriving an estimated activity type using the machine readable instruction based at least in part on sensor data.A non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause a server to cause at least one of: - receive a message from a user device, the message comprising information characterizing data of the first type sensor relating to activity; - determine an activity context based at least in part on the data of the first type sensor, and - transmit a response to a user device comprising a machine readable instruction comprising an executable program or an executable script configured to cause a determination of the activity type in the activity context.

Citation Information

Patent Citations

  • Method and system for generating and refining rules for personalized content delivery based on users' physical activities

    DE102014107571A1

  • Action Detection and Activity Classification

    US20130190903A1