Step counting device, step counting method, and program
Patent Information
- Application Number
- JP2025031109
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-28
- Publication Date
- 2026-09-09
AI Technical Summary
【0007】 本発明によれば、消費電力を低減するとともに、歩数をより正確に計測することを可能にする。
Smart Images

Figure 2026144048000001_ABST
Abstract
Description
[[Technical Field]]
[0001] The present invention relates to a step counting device, a step counting method, and a program. [[Background Art]]
[0002] Conventionally, step counting devices (pedometers) that count the number of steps when a user is walking have been developed. Since most step counting devices are battery-powered, technical developments have also been carried out to reduce power consumption so that they can be used for long periods of time. For example, Patent Document 1 discloses a pedometer capable of improving step counting accuracy while reducing power consumption through intermittent driving. [[Prior Art Document]] [[Patent Document]]
[0003] [[Patent Document 1]] Japanese Unexamined Patent Application Publication No. 2009-98947 [[Summary of the Invention]] [[Problem to be Solved by the Invention]]
[0004] The pedometer disclosed in Patent Document 1 determines that walking has stopped when no walking signal is detected for a predetermined period of time, and reduces power consumption by switching from continuous driving to intermittent driving (driving that alternately repeats a rest period and a detection period). However, with such conventional pedometers, the number of steps during the rest period has to be estimated from the step pitch detected in the time before and after the rest period, so there was room for improvement in order to accurately count steps.
[0005] The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a step counting device, a step counting method, and a program that reduce power consumption and enable more accurate step counting. [[Means for Solving the Problem]]
[0006] To achieve the above objective, one embodiment of the step counting device according to the present invention includes a motion detection unit that operates in either a motion detection mode that determines whether an acquired sensor value exceeds a predetermined threshold, or a sensor value output mode that outputs the sensor value at predetermined intervals, and the operation mode transitions from the motion detection mode to the sensor value output mode when it is determined in the motion detection mode that the sensor value exceeds the threshold, and a control unit, wherein the control unit extracts a data group from a plurality of sensor values output in the sensor value output mode, and when it is determined that the extracted data group satisfies the step count condition, it increases the step count by the number of times the condition is satisfied, and when it is determined that the step count interpolation condition is satisfied when the step count condition is satisfied and the step count is increased, it further increases the step count by 1. [Effects of the Invention]
[0007] According to the present invention, it is possible to reduce power consumption and measure the number of steps more accurately. [Brief explanation of the drawing]
[0008] [Figure 1] This is a block diagram showing an example of the functional configuration of a step counting device according to an embodiment. [Figure 2] This figure shows an example of the relationship between periodic processing and FIFO buffer read processing when using an interrupt notification method. [Figure 3] This figure shows an example of the relationship between periodic processing and FIFO buffer reading processing when using a periodic reading method. [Figure 4] This diagram illustrates the transitions in the operating modes of the motion detection unit. [Figure 5] This diagram illustrates the data set read out when the motion detection unit transitions from motion detection mode to sensor value output mode. [Figure 6] This is an example of a flowchart for the step counting process according to the embodiment. [Modes for carrying out the invention]
[0009] The step counting device and the like according to the embodiment will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals. The step counting device according to this embodiment is an information processing device that is attached to the user's body (e.g., arm) or clothing (e.g., belt) and can count the number of steps taken by the user using a motion sensor, and is an example of a pedometer, digital watch, or smartwatch. As shown in Figure 1, the step counting device 100 includes a control unit 110, a storage unit 120, an input unit 130, an output unit 140, and a body movement detection unit 150.
[0010] The control unit 110 is composed of a processor, such as a CPU (Central Processing Unit). The control unit 110 executes processes that realize various functions of the step counting device 100, as well as step counting processes described later, based on programs stored in the memory unit 120. The control unit 110 also has a timer function and can measure time and keep track of time. Furthermore, the control unit 110 supports multithreading and can execute multiple processes in parallel. The storage unit 120 stores programs executed by the control unit 110 and necessary data. The storage unit 120 may include, but is not limited to, RAM (Random Access Memory), ROM (Read Only Memory), flash memory, etc. The storage unit 120 may also be located inside the control unit 110.
[0011] The input unit 130 is a user interface such as a push-button switch or a touch panel, and accepts user input. If the input unit 130 is equipped with a touch panel, it may be a touch panel integrated with the display of the output unit 140. The output unit 140 is equipped with a display such as a liquid crystal display or an organic EL (Electro-Luminescence) display, and displays a display screen, operation screen, etc., that provides the functions of the pedometer 100.
[0012] The motion detection unit 150 is a motion sensor that detects the user's body movements and acquires their magnitude as a sensor value. In this embodiment, the motion detection unit 150 is equipped with an acceleration sensor that detects acceleration in each of the three mutually orthogonal axes (x-axis, y-axis, and z-axis). The motion detection unit 150 is also equipped with a FIFO (First In First Out) buffer of a predetermined size (e.g., 1 kilobyte), and stores the acceleration data (values in each of the three axes) acquired at predetermined sampling intervals (e.g., 0.1 seconds) as sensor values in this FIFO buffer. However, the motion detection unit 150 may be equipped with an angular velocity sensor (gyro sensor) that detects angular velocity in place of or in addition to acceleration, or a geomagnetic sensor that detects the Earth's magnetic field. In this case, the FIFO buffer will store angular velocity data or geomagnetic data as sensor values in place of or in addition to acceleration data. Because the FIFO buffer has a limited size, the control unit 110 needs to read the data stored in the buffer before it overflows (the FIFO buffer is cleared when the control unit 110 reads all the data stored in it, and it becomes possible to store data up to its maximum capacity again).
[0013] The motion detection unit 150 has a function to prevent the FIFO buffer from overflowing by generating an interrupt (FIFO interrupt) and notifying the control unit 110 when a predetermined number (e.g., 20 sets) of acceleration data have been accumulated. However, normally the control unit 110 performs periodic processing to measure the number of steps, and a FIFO interrupt may disrupt this periodic processing. For example, the control unit 110 may perform periodic processing every second and read data from the FIFO buffer each time this FIFO interrupt occurs (this type of processing method is called an interrupt notification method). When using this interrupt notification method, the periodic processing and the FIFO buffer reading process may conflict, as shown in Figure 2. In Figures 2 and 3, the section labeled "Control Unit Periodic Processing" indicates that the control unit 110 is performing periodic processing, and the section labeled "FIFO Reading" indicates that the control unit 110 is reading data from the FIFO buffer. In the example shown in Figure 2, a FIFO interrupt occurs at timing A2 during the periodic processing at 2 seconds, delaying the start of the FIFO buffer read process until timing x. Furthermore, because the FIFO buffer read process, which was started by a FIFO interrupt at timing A3, is still in progress when timing 3 seconds arrives, the start of the periodic processing at 3 seconds is delayed until timing y. For the sake of clarity, Figure 2 illustrates the case where the control unit 110 does not use the multithreading function, but even if the multithreading function is used, more overhead will be incurred due to thread switching, further increasing processing time and power consumption.
[0014] As shown in Figure 2, using FIFO interrupts introduces overhead to the control unit 110, increasing power consumption. Therefore, from the perspective of reducing power consumption, it is considered better to disable FIFO interrupts and perform FIFO buffer read processing within the periodic processing of the control unit 110 (this processing method is called the periodic read method). By using the periodic read method, as shown in Figure 3, the control unit 110 can stably perform FIFO buffer read processing within its periodic processing, reducing unnecessary processing and thus lowering power consumption. However, in this case, the control unit 110 performs FIFO buffer read processing regardless of the number of data accumulated in the FIFO buffer, so the number of read data may become unstable (significantly increase or decrease). In order to detect an abnormality related to this, there is a method in which upper and lower limits are set for the number of data read from the FIFO buffer, and when the number of data does not fall within the upper and lower limits, the control unit 110 determines that an abnormality has occurred and executes error processing. In the present embodiment, from the viewpoints of processing efficiency and power consumption, the control unit 110 prohibits FIFO interrupts and performs processing using a periodic reading method, and executes error processing when the number of data read from the FIFO buffer does not fall within the upper and lower limits.
[0015] Further, the body motion detection unit 150 has two operation modes: a mode capable of only motion detection with low power consumption (motion detection mode), and a mode (sensor value output mode) in which sensor values detected at predetermined time intervals are accumulated in a FIFO buffer and can be read by the control unit 110. Note that the sensor value output mode is a mode for performing normal operation as a sensor, so it is also called a normal operation mode. Further, the motion detection mode is a mode for operating with power saving, so it is also called a power saving operation mode. As shown in FIG. 4, in the motion detection mode, the body motion detection unit 150 internally compares a predetermined threshold with a current sensor value, and maintains the motion detection mode as long as the sensor value does not exceed the threshold. When the sensor value exceeds the threshold, the body motion detection unit 150 itself switches the operation mode to the sensor value output mode, and thereafter maintains the sensor value output mode regardless of the sensor value. Further, when the body motion detection unit 150 itself switches the operation mode from the motion detection mode to the sensor value output mode, it can generate an operation mode transition interrupt to notify the control unit 110 that the operation mode has transitioned. As shown in FIG. 4, the body motion detection unit 150 can switch an operation mode depending on whether a sensor value exceeds a threshold value without control by the control unit 110 in a motion detection mode. As shown in FIG. 4, switching of the operation mode and power ON / OFF of the body motion detection unit 150 can also be performed under control from the control unit 110.
[0016] From the above, in order to reduce the power consumption of the step counting device 100, it is found that it is preferable to activate the body motion detection unit 150 in the motion detection mode, and the control unit 110 reads data from the FIFO buffer of the body motion detection unit 150 by a periodic reading method. However, if an operation mode transition interrupt is used to notify the control unit 110 that the operation mode of the body motion detection unit 150 has transitioned to the sensor value output mode, periodic processing of the control unit 110 is disturbed by this operation mode transition interrupt. Actually, the body motion detection unit 150 includes a terminal (operation mode notification terminal) for notifying the current operation mode, and the control unit 110 can know the current operation mode of the body motion detection unit 150 by checking the state (for example, High / Low) of the operation mode notification terminal without using an operation mode transition interrupt. Therefore, in the present embodiment, the operation mode transition interrupt is also prohibited, and the control unit 110 checks the state of the operation mode notification terminal to know the current operation mode of the body motion detection unit 150.
[0017] In the motion detection mode, the body motion detection unit 150 only performs processing for determining whether a sensor value exceeds a threshold value, and cannot output the sensor value. Therefore, for example, assuming that the user starts moving the body at time (X), as shown in FIG. 5, the sensor value data up to time (X), which is the timing when the sensor value exceeds the threshold value, is discarded, and only the sensor value data after time (X) is output. Therefore, when step counting is performed using such a sensor value data group, the first step that the user starts walking may not be counted. For example, if a user starts walking from a stationary position, the initial acceleration data at the start of walking is discarded, so the first step is almost certainly not counted. Therefore, in this embodiment, when it is determined that the user has started walking from a stationary position (when the acceleration data set for a predetermined time (e.g., 20 seconds) after transitioning to the sensor value output mode indicates walking), the step count calculated from the sensor value is incremented by 1. Note that this step count increment may be performed at the timing when the operation mode of the body motion detection unit 150 switches from motion detection mode to sensor value output mode (for example, at some point between time (X) and time (2) shown in Figure 5).
[0018] Based on the concepts described above, the process for measuring the number of steps (step counting process) will be explained with reference to Figure 6. The control unit 110 basically starts executing the step counting process when the power to the step counting device 100 is turned on, but the control unit 110 may also be configured to start executing the step counting process when it receives an instruction from the input unit 130 to start step counting.
[0019] First, the control unit 110 performs initial setup processing for the step counting device 100 (step S101). In the initial setup processing, the step count is initialized, the timer is initialized, and interrupt settings are configured (FIFO interrupts are disabled, and operation mode transition interrupts are disabled). The step count is initialized, and the step count value, which indicates the number of steps taken, is cleared to 0. The timer is used to periodically read data from the FIFO buffer (to determine whether it is time to read data in step S105, which will be described later), but it may also generate a timing interrupt periodically (for example, every second) to notify the control unit 110 of the data reading timing. In this case, during this initial setup processing, the interrupt settings are configured so that a timing interrupt is generated, for example, every second that has elapsed.
[0020] Next, the control unit 110 sets the operating mode of the body motion detection unit 150 to motion detection mode and sets the value of mode, a variable indicating the internal mode state of the step counting process, to 1 (step S102). A value of 1 for mode means that "the operating mode of the body motion detection unit 150 is set to motion detection mode." The control unit 110 then determines whether the operating mode of the motion detection unit 150 has transitioned to the sensor value output mode (step S103). As described above, this can be determined by the control unit 110 checking the status of the operating mode notification terminal of the motion detection unit 150. If the operating mode of the motion detection unit 150 has not transitioned to the sensor value output mode (step S103; No), return to step S103. If the operating mode of the motion detection unit 150 transitions to the sensor value output mode (step S103; Yes), the control unit 110 sets the value of mode to 2 and initializes the variable count to 0 (step S104). Note that count is a counter variable used to count the number of times the timing for the control unit 110 to read data accumulated in the FIFO buffer of the motion detection unit 150 (the data reading timing determined in step S105) has arrived since the operating mode of the motion detection unit 150 transitioned to the sensor value output mode. A value of mode of 2 means that "a predetermined time (20 seconds in this embodiment) has not yet elapsed since the operating mode of the motion detection unit 150 was set to the sensor value output mode." This predetermined time is called the step counting buffer period and is a buffer period to prevent the control unit 110 from counting steps due to actions other than the user's walking.
[0021] Next, the control unit 110 determines whether it is time to read the data stored in the FIFO buffer of the motion detection unit 150 (data reading timing) (step S105). In this embodiment, the control unit 110 reads data from the FIFO buffer of the motion detection unit 150 every second, so in step S105, it determines whether one second has passed since the previous data reading timing. For this determination, the control unit 110 may check the timer value sequentially, or it may determine that "it is time to read the data" when an interrupt occurs using the timing interrupt described above. If it is not time to read data (step S105; No), return to step S105. When it's time to read the data (step S105; Yes), the control unit 110 adds 1 to the variable count (step S106) and determines whether the value of count has become 1 or not (step S107). If the value of the variable count is 1 (step S107; Yes), the process returns to step S105.
[0022] If the value of the variable `count` is not 1 (step S107; No), the control unit 110 reads all the data stored in the FIFO buffer of the motion detection unit 150 and extracts it as a data group (step S108). Through the processing in steps S107 and S108, when the value of `count` is 1, the data group stored in the FIFO buffer is not read, and when the value of `count` is 2, the data group that has been stored since transitioning to the sensor value output mode is read all at once. In other words, the timing when the value of `count` is 2 is the timing when the data stored in the FIFO buffer is read all at once, and is therefore called the batch read timing. Here, we will explain why the control unit 110 does not read the data stored in the FIFO buffer when the value of count is 1. If the data stored in the FIFO buffer is read when the value of count is 1, depending on the timing, it may not be possible to read any data at all, or even if data can be read, it may be a significantly smaller number than usual. In this case, even if data can be read, there is a possibility that it will be too few to be used for step counting and will be discarded. Furthermore, the lower limit in step S109 must be set to 0, which makes the error judgment based on whether the number of data is above or below the lower limit meaningless. On the other hand, by not reading data when the value of the variable `count` is 1, and reading all the data accumulated in the FIFO buffer at once when the value of the variable `count` is 2, it is guaranteed that more data than the amount of data that can normally be read can be read, thus avoiding the aforementioned problem. For the reasons stated above, when the value of count is 1, the control unit 110 refrains from reading the data stored in the FIFO buffer.
[0023] Returning to Figure 6, the control unit 110 determines whether the number of data read in step S108 is above the lower limit and below the upper limit (step S109). As mentioned above, these lower and upper limits are thresholds for determining abnormalities in the sensors of the motion detection unit 150 or communication errors between the control unit 110 and the motion detection unit 150. For example, if the sampling period of the motion detection unit 150 is 0.1 seconds and the data reading timing period of the control unit 110 is 1 second, the average number of data read is considered to be 10. Even if there is a discrepancy between the sampling period of the motion detection unit 150 and the data reading timing period of the control unit 110 due to low timer accuracy, the number of data read is expected to fall between 7 and 15. In this case, the lower limit is set to 7 and the upper limit to 15, and if the number does not fall within this range, the control unit 110 determines that some kind of abnormality has occurred. However, this upper limit must be set to twice the normal upper limit (default value) during batch readout. This is because data where the count value is 1 will also be read out in a batch. By changing the upper limit in this way, the control unit 110 can perform error detection without problems even during batch readout.
[0024] If the number of data read by the control unit 110 from the FIFO buffer is less than the lower limit or exceeds the upper limit (step S109; No), the control unit 110 determines that some kind of abnormality has occurred, displays an error on the display of the output unit 140 (step S110), and terminates the step counting process. If the number of data read is greater than or equal to the lower limit and less than or equal to the upper limit (step S109; Yes), the control unit 110 performs a step counting process based on the data read (step counting process) (step S111). The step counting process is the same as that of conventional pedometers, so we will omit the details. For example, the control unit 110 detects the user's periodic movements based on the data set it reads, and if the period falls within a predetermined value (for example, between 0.2 seconds and 1.5 seconds), it calculates the difference between the maximum and minimum values of the data within that period. If this value is greater than or equal to the step count threshold, the step counting condition is met, and the step count is increased by the number of times this step counting condition is met. As a result, when the motion detection unit 150 is in sensor value output mode, the control unit 110 can accurately count steps with simple processing. The control unit 110 then stores the step count value in the storage unit 120, but stores it as a temporary value while the mode value is 2 (during the step count pre-measurement period). This is a process to prevent steps from being counted due to actions other than walking. In this embodiment, the step count pre-measurement period is 20 seconds, and during this period the control unit 110 does not show the step count to the user. After the step count pre-measurement period has elapsed, it adds the steps taken during the pre-measurement period to the total number of steps taken so far and displays it on the output unit 140. From then on, it counts the steps each time and displays them on the output unit 140.
[0025] Next, the control unit 110 determines whether the user's actions are continuing (step S112). This determination method is arbitrary, but the control unit 110 may, for example, determine whether the user's actions are continuing based on whether or not the number of steps was counted in step S111. If the user's action is not continuing (step S112; No), return to step S102. If the user's actions are continuing (step S112; Yes), the control unit 110 determines whether the value of count is 20 or less (step S113). Here, count is compared with 20, but this value of 20 is just an example; in this embodiment, the step count measurement reserve period is 20 seconds, so the value being compared with count is 20. In other words, in step S113, the control unit 110 determines whether or not it is the step count measurement reserve period. If the value of count is 20 or less (step counting reserve period) (step S113; Yes), return to step S105. If the value of count exceeds 20 (the step count measurement period has elapsed) (step S113; No), the control unit 110 determines whether the value of mode is 2 or not (step S114). If the value of the variable mode is not 2 (step S114; No), return to step S105. If the value of the variable `mode` is 2 (step S114; Yes), the control unit 110 sets the value of `mode` to 3 (step S115). A value of 3 for `mode` means that "the operating mode of the motion detection unit 150 has been set to the sensor value output mode, and the step counting preparatory period (20 seconds in this embodiment) has elapsed." When the value of `mode` is 3, the control unit 110 counts the steps normally in step S111.
[0026] Then, the control unit 110 corrects the step count (step S116) and returns to step S105. More specifically, in step S116, if the control unit 110 determines that the step count interpolation condition is met, it corrects the step count by increasing the step count that has been counted up to that point by 1. In this embodiment, the step count interpolation condition is met when the timing of the step count is the timing when the step count is first increased after the step measurement preparatory period has elapsed. In the flowchart shown in Figure 6, the process in step S116 is executed immediately after the value of the variable mode becomes 3 in step S115, so the step count interpolation condition is always met when step S116 is executed, and the step count correction in step S116 is always performed.
[0027] Through the step counting process described above, the control unit 110 reduces power consumption by setting the operation mode of the body movement detection unit 150 to motion detection mode when the user is not walking, and corrects the step count that is likely to be missed the moment the user starts walking, thereby enabling more accurate step counting.
[0028] Furthermore, there is a relatively high degree of flexibility regarding the timing of the step count correction process. In Figure 6, the step count is corrected at the first time the value of the variable `count` exceeds 20, but for example, the step count could be corrected when the value of the variable `count` becomes 2. In this case, the step count interpolation condition is satisfied when the timing of increasing the step count is the first time the step count is increased after the operating mode of the body motion detection unit 150 transitions from motion detection mode to sensor value output mode. In addition, the step count can be corrected not only when the value of the variable `count` becomes 2, but also when the value of the variable `count` becomes any number between 1 and 21. In evaluation experiments conducted by the inventor, it was found that the motion detection unit 150 almost certainly misses counting one step when its operating mode transitions from motion detection mode to sensor value output mode. Therefore, the above process, despite being a simple process, makes it possible to measure steps more accurately when using motion detection mode.
[0029] However, more precisely, a step count error does not necessarily occur when the operating mode of the body motion detection unit 150 transitions from motion detection mode to sensor value output mode. To account for cases where a count error does not occur, a first modified example is described in which the control unit 110 corrects the step count based on the increase in the step count during the step measurement reserve period. For example, as shown in Figure 5, if the user starts walking at time (X), the data up to the sampling period including time (X) is discarded, and only the data from there onward is read. When comparing the data set before time (2) (data set (1) and data set (2)) with the data set after time (2) (data set (3) to data set (20)), the step count calculated based on the data set before time (2) is likely to contain missing values because sensor values during motion detection mode are discarded. However, the step count calculated based on the data set after time (2) is always calculated using only data obtained in sensor value output mode, so the possibility of missing values can be considered to be 0.
[0030] Here, data group (1) and data group (2) are designated as the first data group, and data group (3) through data group (20) are designated as the second data group. Then, Steps per data point calculated from the first data group = (Steps counted up to time (2)) / (Total number of data points in data group (1) and data group (2)) And so, Steps per data point calculated from the second data group = (Steps counted from time (2) to time (20)) / (Total number of data points from data group (3) to data group (20)) This is the result. And, as a condition for step count completion, Steps per data point calculated from the second data set > Steps per data point calculated from the first data set By setting these conditions, you can measure your steps more accurately. For example, consider a scenario where eight data points are read out every second, one step is counted every second, and the number of data points in group (1) is three. Then, in Figure 5, if two steps are counted in data group (1) and data group (2), 18 / (8×18)<2 / (3+8) Since the above step count completion condition is not met, the process of incrementing the step count by 1 is not performed. On the other hand, in Figure 5, if one step is counted in both data group (1) and data group (2), 18 / (8×18)>1 / (3+8) Since the above step count completion condition is met, the process of incrementing the step count by 1 is performed. In this way, a more accurate count of steps can be achieved based on how steps are counted during the preliminary step counting period.
[0031] Furthermore, in the first modified example described above, the decision to increase the step count was simply based on the number of steps per data point during the step count measurement preliminary period. However, in the second modified example, the control unit 110 may analyze the relationship between the increase and decrease in data values in data groups (2) to (20) and the timing of step counts, and decide whether to increase or not increase the step count based on whether data group (1) contains data for the timing of step counts. In this case, the step count interpolation condition is met when the data group acquired immediately after the operation mode of the body motion detection unit 150 transitions from motion detection mode to sensor value output mode (i.e., data group (1)) does not satisfy the step count condition within the data group. The step count condition within the data group is met when data group (1) contains data for the timing of step counts. For example, suppose data group (1) contains four data points, and in data groups (2) to (20), eight data points each repeat the pattern "increase, increase, increase, increase, decrease, decrease, decrease, decrease," and the control unit 110's analysis reveals that the step count occurs immediately after the switch from increase to decrease (in this example, at the timing of the fifth data point). In this case, if the data in data group (1) is "0 increase, increase, decrease," the control unit 110 does not increase the step count because it contains data for the timing when the step count occurs. However, if the data in data group (1) is "0 decrease, decrease, increase," the control unit 110 increases the step count because it does not contain data for the timing when the step count occurs. Note that the first data point in data group (1) cannot be determined as to whether it is an increase or decrease, so it is written as "0."
[0032] In the second modified example described above, the control unit 110 determined whether or not to increase the step count based on the increase or decrease in the values of the data included in each data group. However, in a third modified example, the control unit 110 may analyze the relationship between the shape of the waveform obtained from the data group and the timing at which steps are counted, and determine whether or not to increase the step count based on whether or not the timing at which steps are counted is included in the shape of the waveform of data group (1). In this case as well, the step count interpolation condition is met when the data group acquired immediately after the operation mode of the body motion detection unit 150 transitions from motion detection mode to sensor value output mode (i.e., data group (1)) does not satisfy the step count condition within the data group, but the step count condition within the data group is met when the timing at which steps are counted is included in the shape of the waveform of data group (1). In the second and third modified examples, the control unit 110 analyzes the relationship between how the data values in the data group (1) change and the timing of when the steps are counted, so that the number of steps can be measured more accurately.
[0033] As described above, the step counting device 100 operates in either a motion detection mode, which determines whether the acquired sensor value exceeds a predetermined threshold, or a sensor value output mode, which outputs the sensor value at predetermined intervals. The motion detection unit 150 transitions from the motion detection mode to the sensor value output mode when it is determined in the motion detection mode that the sensor value exceeds the threshold. The control unit 110 extracts a data group from a plurality of sensor values output in the sensor value output mode. If it determines that the extracted data group satisfies the step count condition, it increases the step count by the number of times the condition is met. When increasing the step count after satisfying the step count condition, if it determines that the step completion condition is also met, it further increases the step count by 1. This corrects the step count that is likely to be missed when the user starts walking, allowing for more accurate step count measurement.
[0034] Furthermore, the step counting condition is met when the difference between the maximum and minimum values of the sensor within a predetermined period is greater than or equal to a step counting threshold. By setting the step counting condition in this way, the number of steps can be accurately counted with a simple process.
[0035] Furthermore, the step count interpolation condition is satisfied when the timing of increasing the step count is the first time the step count is increased after the operating mode of the body motion detection unit transitions from the motion detection mode to the sensor value output mode. In evaluation experiments conducted by the inventor, it was found that the body motion detection unit 150 almost certainly misses counting one step at the timing when the operating mode transitions from the motion detection mode to the sensor value output mode. By setting the step count interpolation condition in this way, step count measurement using the motion detection mode can be made more accurate despite the simple processing.
[0036] Furthermore, the step count interpolation condition is met when the number of steps per data point calculated from the first data group is smaller than the number of steps per data point calculated from the second data group, which includes data points output after the first data group. By setting the step count interpolation condition in this way, it is possible to measure the number of steps more accurately based on how steps are counted during the step count measurement preliminary period.
[0037] Furthermore, the step count interpolation condition is met when the data set acquired immediately after the motion detection unit transitions from the motion detection mode to the sensor value output mode does not satisfy the step count condition within the data set. By setting the step count interpolation condition in this way, it is possible to determine whether or not to correct the step count by considering how the data values of the data set immediately after the transition to the sensor value output mode change and the timing of when the step count is counted, thereby enabling more accurate step count measurement.
[0038] Furthermore, the motion detection unit 150 includes a FIFO buffer that stores the sensor values output at predetermined time intervals in the sensor value output mode. The control unit 110 reads the sensor values stored in the FIFO buffer at predetermined periodic readout timings in the sensor value output mode. However, at the readout timing immediately following the transition of the motion detection unit 150's operating mode from the motion detection mode to the sensor value output mode, the sensor values are not read from the FIFO buffer. Instead, at the next readout timing, the batch readout timing, all the sensor values stored in the FIFO buffer are read at once. This prevents situations where no data can be read from the FIFO buffer, or where only a significantly smaller number of data than usual can be read. As a result, it is possible to prevent data from being discarded because the number of data read from the FIFO buffer is too small to be used for step counting, and error detection based on whether the number of read data is above or below the lower limit can be performed without problems.
[0039] Furthermore, the control unit 110 determines whether the number of sensor values read at the readout timing is less than or equal to the upper limit and greater than or equal to the lower limit. However, at the batch readout timing, the upper limit is set to twice the default value. This allows for error detection based on whether the number of read data is less than or equal to the upper limit without any problems.
[0040] Furthermore, the step counting device 100 is not limited to smartwatches or electronic watches; it can also be implemented using a smartphone, portable tablet, or PC (Personal Computer). Specifically, in the above embodiment, the program for step counting processing and other operations executed by the control unit 110 was described as being pre-stored in the memory unit 120. However, the program may be stored and distributed on a non-temporary computer-readable recording medium such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), DVD (Digital Versatile Disc), MO (Magneto-Optical disc), memory card, or USB memory, and a computer capable of executing the above-mentioned operations may be configured by loading and installing the program onto the computer.
[0041] Furthermore, the program can be superimposed on a carrier wave and applied via a communication medium such as the Internet. For example, the program could be posted and distributed on a bulletin board system (BBS) on a communication network. This program could then be launched and executed under the control of the operating system (OS), just like any other application program, to perform the aforementioned processes.
[0042] Furthermore, the control unit 110 may consist of any single processor, such as a single processor, multi-processor, or multi-core processor, or it may be configured by combining any of these processors with processing circuits such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array).
[0043] Although preferred embodiments of the present invention have been described above, the present invention is not limited to these specific embodiments, and the present invention includes the invention described in the claims and its equivalents. [Explanation of symbols]
[0044] 100...Step counting device, 110...Control unit, 120...Storage unit, 130...Input unit, 140...Output unit, 150...Body movement detection unit
Claims
1. A motion detection unit operates in either a motion detection mode, which determines whether the acquired sensor value exceeds a predetermined threshold, or a sensor value output mode, which outputs the sensor value at predetermined intervals, and when it is determined in the motion detection mode that the sensor value exceeds the threshold, the operation mode transitions from the motion detection mode to the sensor value output mode. It comprises a control unit and, The control unit, A data set is extracted from the multiple sensor values output in the aforementioned sensor value output mode. If it is determined that the extracted data set satisfies the step count condition, the step count is increased by the number of times the condition is met. When the step count condition is met and the step count is increased, if it is determined that the step completion condition is also met, the step count is further increased by 1. Step counter.
2. The step counting condition is met when the difference between the maximum and minimum values of the sensor within a predetermined period is equal to or greater than the step counting threshold. The step counting device according to claim 1.
3. The step count interpolation condition is satisfied when the timing for increasing the step count is the first time the step count is increased after the operating mode of the body motion detection unit transitions from the motion detection mode to the sensor value output mode. The step counting device according to claim 1.
4. The step count interpolation condition is satisfied when the number of steps per data point calculated from the first data set is less than the number of steps per data point calculated from the second data set, which includes data sets output after the first data set. The step counting device according to claim 1.
5. The step count interpolation condition is met when the data set acquired immediately after the motion detection unit transitions from the motion detection mode to the sensor value output mode does not satisfy the step count condition within the data set. The step counting device according to claim 1.
6. The motion detection unit includes a FIFO buffer that stores the sensor values output at predetermined time intervals in the sensor value output mode. The control unit, In the sensor value output mode, the sensor values stored in the FIFO buffer are read out at predetermined periodic reading timings. At the readout timing immediately following the transition of the motion detection unit's operating mode from the motion detection mode to the sensor value output mode, the sensor value is not read from the FIFO buffer. Instead, at the next readout timing, the batch readout timing, the sensor values stored in the FIFO buffer are read all at once. The step counting device according to claim 1.
7. The control unit, At the aforementioned reading timing, it is determined whether the number of sensor values read is less than or equal to the upper limit and greater than or equal to the lower limit, but at the aforementioned batch reading timing, the upper limit value is set to twice the default value. The step counting device according to claim 6.
8. The control unit, The motion detection unit extracts a data set from multiple sensor values output, If it is determined that the extracted data set satisfies the step count condition, the step count is increased by the number of times the condition is met. When the step count condition is met and the step count is increased, if it is determined that the step completion condition is also met, the step count is further increased by 1. Step counting method.
9. In the control unit, The motion detection unit extracts a data set from multiple sensor values output, If it is determined that the extracted data set satisfies the step count condition, the step count is increased by the number of times the condition is met. When the step count condition is met and the step count is increased, if it is determined that the step completion condition is also met, the step count is further increased by 1. A program that executes a process.
Citation Information
Patent Citations
pedometer
JP2009098947A